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
LazyVGrid(
columns: Array(
repeating: GridItem(
.flexible(),
spacing: gridSpacing,
alignment: .topLeading
),
count: 3
), ),
count: 3 alignment: .leading,
), spacing: gridSpacing
alignment: .leading, ) {
spacing: gridSpacing ForEach(viewModel.items.indices, id: \.self) { idx in
) { let item = viewModel.items[idx]
ForEach(viewModel.items.indices, id: \.self) { idx in
let item = viewModel.items[idx] OriginalTabItemView(
item: item,
OriginalTabItemView( size: width
item: item, )
size: width .onAppear { viewModel.loadMoreIfNeeded(currentIndex: idx) }
) .onTapGesture {
.onAppear { viewModel.loadMoreIfNeeded(currentIndex: idx) } AppState.shared
.onTapGesture { .setAppStep(step: .originalWorkDetail(originalId: item.id))
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() }
} }
} }
} }