fix view
This commit is contained in:
parent
436b4c1256
commit
ba775af7b9
@ -92,10 +92,8 @@ struct DateNavView: View {
|
||||
}
|
||||
}
|
||||
.padding(15)
|
||||
.frame(height: 600)
|
||||
.task {
|
||||
await self.navModel.loadDateCells(userId: self.userId)
|
||||
print(UIScreen.main.bounds.height)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -56,6 +56,9 @@ final class IndexModel {
|
||||
// 保存原始的更新数据
|
||||
var updateDramaGroups: [UpdateDramaGroup] = []
|
||||
|
||||
@ObservationIgnored
|
||||
private var isLoaded = false
|
||||
|
||||
init() {
|
||||
self.dramas = []
|
||||
self.selectedDate = ""
|
||||
@ -63,6 +66,10 @@ final class IndexModel {
|
||||
|
||||
@MainActor
|
||||
func loadData(userId: String) async {
|
||||
guard !isLoaded else {
|
||||
return
|
||||
}
|
||||
|
||||
let response = await API.getIndexData(userId: userId, as: IndexResponse.self)
|
||||
switch response {
|
||||
case .error(let code, let message):
|
||||
@ -71,6 +78,7 @@ final class IndexModel {
|
||||
self.dramas = result.dramas
|
||||
self.updateDramaGroups = result.update_dramas
|
||||
}
|
||||
self.isLoaded = true
|
||||
}
|
||||
|
||||
@MainActor
|
||||
@ -196,6 +204,7 @@ struct IndexView: View {
|
||||
}
|
||||
case .satisfied:
|
||||
IndexMainView()
|
||||
.id("indexMainView")
|
||||
}
|
||||
}
|
||||
.onAppear {
|
||||
@ -338,15 +347,8 @@ extension IndexView {
|
||||
}
|
||||
}
|
||||
.coordinateSpace(name: "scrollView")
|
||||
.popover(isPresented: $showDateNavPopover) {
|
||||
DateNavView(selectGroupId: self.$selectGroupId, showDateNavPopover: $showDateNavPopover) { selectedDate in
|
||||
Task {
|
||||
await indexModel.loadDateUpdateDramas(userId: self.userId, date: selectedDate)
|
||||
}
|
||||
}
|
||||
}
|
||||
.refreshable {
|
||||
guard !self.isPrevLoading else {
|
||||
guard !self.isPrevLoading && !self.showDateNavPopover else {
|
||||
return
|
||||
}
|
||||
|
||||
@ -360,12 +362,23 @@ extension IndexView {
|
||||
.frame(width: 370)
|
||||
}
|
||||
.ignoresSafeArea(edges: .bottom)
|
||||
.popover(isPresented: $showDateNavPopover) {
|
||||
DateNavView(selectGroupId: self.$selectGroupId, showDateNavPopover: $showDateNavPopover) { selectedDate in
|
||||
Task {
|
||||
await indexModel.loadDateUpdateDramas(userId: self.userId, date: selectedDate)
|
||||
}
|
||||
}
|
||||
}
|
||||
.alert(isPresented: $showPrompt) {
|
||||
Alert(title: Text("提示"), message: Text(self.promptMessage), dismissButton: .default(Text("OK")))
|
||||
}
|
||||
.task {
|
||||
await self.indexModel.loadData(userId: self.userId)
|
||||
print(UIScreen.main.bounds.width)
|
||||
.onAppear {
|
||||
Task {
|
||||
await self.indexModel.loadData(userId: self.userId)
|
||||
}
|
||||
withUnsafePointer(to: indexModel) { pointer in
|
||||
print(pointer)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user