From d2aeacd8b842c2f1cf0a236d8cf90af1ed568127 Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Thu, 20 Feb 2025 22:12:22 +0800 Subject: [PATCH] fix --- dimensionhub/Views/DateNavView.swift | 15 +++++++++------ dimensionhub/Views/IndexView.swift | 1 - 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/dimensionhub/Views/DateNavView.swift b/dimensionhub/Views/DateNavView.swift index c441894..1e9dd76 100644 --- a/dimensionhub/Views/DateNavView.swift +++ b/dimensionhub/Views/DateNavView.swift @@ -10,13 +10,13 @@ import SwiftUI import Observation struct DateNavView: View { - //@AppStorage("selectedDate") var selectedDate: String = "" + @AppStorage("selectedDate") var selectedDate: String = "" @State var navData = DateNavData(dateCells: []) @Binding var showDateNavPopover: Bool var body: some View { - let _ = Self._printChanges() + //let _ = Self._printChanges() VStack(alignment: .center) { ForEach(navData.dateCells, id: \.year) { cell in VStack(alignment: .leading, spacing: 10) { @@ -26,7 +26,7 @@ struct DateNavView: View { if item.disabled { DateDisabledItemView(datetime: item.name) } else { - DateItemView(datetime: item.name, selected: false, showDateNavPopover: $showDateNavPopover) + DateItemView(id: item.id, datetime: item.name, selected: false, showDateNavPopover: $showDateNavPopover) } } } @@ -61,6 +61,7 @@ struct DateNavView: View { extension DateNavView { struct DateItemView: View { + let id: String let datetime: String @State var selected: Bool @Binding var showDateNavPopover: Bool @@ -81,6 +82,7 @@ extension DateNavView { .onTapGesture { self.selected = true self.showDateNavPopover = false + UserDefaults.standard.set(id, forKey: "navSelectedDate") } } } @@ -128,18 +130,19 @@ final class DateNavData { @MainActor func loadDateCells() async { - let models = await getDateModelData() + let selectedDate = UserDefaults.standard.value(forKey: "navSelectedDate") as? String ?? "" + let models = await getDateModelData() var cells: [DateCell] = [] for model in models { let items = model.months.map { month in - DateCell.Item(id: "\(model.year)-\(month.name)", name: month.name, disabled: month.disabled, selected: false) + let id = "\(model.year)-\(month.name)" + return DateCell.Item(id: id, name: month.name, disabled: month.disabled, selected: id == selectedDate ? true : false) } cells.append(DateCell(year: model.year, items: items)) } self.dateCells = cells - print(self.dateCells) } private func getDateModelData() async -> [DateModel] { diff --git a/dimensionhub/Views/IndexView.swift b/dimensionhub/Views/IndexView.swift index 5c562aa..a3bb737 100644 --- a/dimensionhub/Views/IndexView.swift +++ b/dimensionhub/Views/IndexView.swift @@ -94,7 +94,6 @@ struct IndexView: View { let screenBounds = UIScreen.main.bounds if screenBounds.height - frame.minY > 50 && !isLoading { - print("call me here") Task { await self.loadMoreUpdateDramas() }