feat(chat): 오리지널 탭 상단에 Yandex 배너를 추가한다

Ultraworked with [Sisyphus]

https://github.com/code-yeongyu/oh-my-openagent

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
Yu Sung
2026-04-28 14:29:00 +09:00
parent e5a9d4c307
commit 0f5cd8a904

View File

@@ -21,41 +21,48 @@ struct OriginalTabView: View {
let width = (geo.size.width - (horizontalPadding * 2) - totalSpacing) / 3 let width = (geo.size.width - (horizontalPadding * 2) - totalSpacing) / 3
ScrollView(.vertical, showsIndicators: false) { ScrollView(.vertical, showsIndicators: false) {
LazyVGrid( VStack(spacing: 12) {
columns: Array( YandexInlineBannerView(
repeating: GridItem( placement: .chatOriginalTabTop,
.flexible(), horizontalPadding: horizontalPadding
spacing: gridSpacing, )
alignment: .topLeading
),
count: 3
),
alignment: .leading,
spacing: gridSpacing
) {
ForEach(viewModel.items.indices, id: \.self) { idx in
let item = viewModel.items[idx]
OriginalTabItemView( LazyVGrid(
item: item, columns: Array(
size: width repeating: GridItem(
) .flexible(),
.onAppear { viewModel.loadMoreIfNeeded(currentIndex: idx) } spacing: gridSpacing,
.onTapGesture { alignment: .topLeading
AppState.shared ),
.setAppStep(step: .originalWorkDetail(originalId: item.id)) count: 3
),
alignment: .leading,
spacing: gridSpacing
) {
ForEach(viewModel.items.indices, id: \.self) { idx in
let item = viewModel.items[idx]
OriginalTabItemView(
item: item,
size: width
)
.onAppear { viewModel.loadMoreIfNeeded(currentIndex: idx) }
.onTapGesture {
AppState.shared
.setAppStep(step: .originalWorkDetail(originalId: item.id))
}
} }
} }
} .padding(.horizontal, horizontalPadding)
.padding(.horizontal, horizontalPadding)
if viewModel.isLoadingMore { if viewModel.isLoadingMore {
HStack { HStack {
Spacer() Spacer()
ProgressView() ProgressView()
.progressViewStyle(CircularProgressViewStyle(tint: .white)) .progressViewStyle(CircularProgressViewStyle(tint: .white))
.padding(.vertical, 16) .padding(.vertical, 16)
Spacer() Spacer()
}
} }
} }
} }