fix index view

This commit is contained in:
anlicheng 2025-04-08 16:27:00 +08:00
parent 5b14d559bf
commit 6dc1c3c6eb

View File

@ -13,9 +13,6 @@ struct IndexMainView: View {
@AppStorage("userId") private var userId: String = Utils.defaultUserId()
@State var indexModel = IndexModel()
@State var isMoreLoading: Bool = false
//
@State var isPrevLoading: Bool = false
//
@State var showPrompt: Bool = false
@ -58,13 +55,20 @@ struct IndexMainView: View {
.background(Color(hex: "#F2F2F2"), ignoresSafeAreaEdges: .top)
ScrollView(.vertical, showsIndicators: false) {
//
RefreshHeader(refreshing: $headerRefreshing, action: {
print("call me head headerRefreshing")
}) { progress in
print("progress is: \(progress)")
guard !self.showDateNavPopover else {
return
}
return ProgressView()
Task {
//
self.headerRefreshing = true
await self.indexModel.loadMoreUpdateDramas(userId: self.userId, mode: .prev)
self.headerRefreshing = false
}
}) { progress in
ProgressView()
}
//
@ -78,26 +82,12 @@ struct IndexMainView: View {
}
}
// Rectangle()
// .frame(height: 0)
// .background(GeometryReader { geometry in
// Color.clear.onChange(of: geometry.frame(in: .global).minY) {_, offset in
// let frame = geometry.frame(in: .global)
// let screenBounds = UIScreen.main.bounds
// let contextFrame = geometry.frame(in: .named("indexScrollView"))
//
// if screenBounds.height - frame.minY > 50 && contextFrame.minY > 0 && !isMoreLoading {
// Task {
// self.isMoreLoading = true
// await self.indexModel.loadMoreUpdateDramas(userId: self.userId, mode: .next)
// self.isMoreLoading = false
// }
// }
// }
// })
//
RefreshFooter(refreshing: $footerRefreshing, action: {
print("call me here $footerRefreshing")
guard !self.showDateNavPopover else {
return
}
Task {
self.footerRefreshing = true
await self.indexModel.loadMoreUpdateDramas(userId: self.userId, mode: .next)
@ -108,24 +98,10 @@ struct IndexMainView: View {
}
.noMore(noMore)
.preload(offset: 50)
if self.isMoreLoading {
ProgressView()
}
}
.enableRefresh()
.frame(width: 370)
.coordinateSpace(name: "indexScrollView")
// .refreshable {
// guard !self.isPrevLoading && !self.showDateNavPopover else {
// return
// }
//
// //
// self.isPrevLoading = true
// await self.indexModel.loadMoreUpdateDramas(userId: self.userId, mode: .prev)
// self.isPrevLoading = false
// }
.overlay(alignment: .topTrailing) {
HStack(alignment: .center) {
NavigationLink {