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
ScrollView(.vertical, showsIndicators: false) {
LazyVGrid(
columns: Array(
repeating: GridItem(
.flexible(),
spacing: gridSpacing,
alignment: .topLeading
VStack(spacing: 12) {
YandexInlineBannerView(
placement: .chatOriginalTabTop,
horizontalPadding: horizontalPadding
)
LazyVGrid(
columns: Array(
repeating: GridItem(
.flexible(),
spacing: gridSpacing,
alignment: .topLeading
),
count: 3
),
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))
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)
if viewModel.isLoadingMore {
HStack {
Spacer()
ProgressView()
.progressViewStyle(CircularProgressViewStyle(tint: .white))
.padding(.vertical, 16)
Spacer()
.padding(.horizontal, horizontalPadding)
if viewModel.isLoadingMore {
HStack {
Spacer()
ProgressView()
.progressViewStyle(CircularProgressViewStyle(tint: .white))
.padding(.vertical, 16)
Spacer()
}
}
}
}