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:
@@ -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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user