From 6dc1c3c6eb15caab46aee1fc597eae1f31548980 Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Tue, 8 Apr 2025 16:27:00 +0800 Subject: [PATCH] fix index view --- dimensionhub/Views/Index/IndexMainView.swift | 58 ++++++-------------- 1 file changed, 17 insertions(+), 41 deletions(-) diff --git a/dimensionhub/Views/Index/IndexMainView.swift b/dimensionhub/Views/Index/IndexMainView.swift index 0e776f8..528da89 100644 --- a/dimensionhub/Views/Index/IndexMainView.swift +++ b/dimensionhub/Views/Index/IndexMainView.swift @@ -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 {