fix
This commit is contained in:
parent
fb74a686e1
commit
d2aeacd8b8
@ -10,13 +10,13 @@ import SwiftUI
|
|||||||
import Observation
|
import Observation
|
||||||
|
|
||||||
struct DateNavView: View {
|
struct DateNavView: View {
|
||||||
//@AppStorage("selectedDate") var selectedDate: String = ""
|
@AppStorage("selectedDate") var selectedDate: String = ""
|
||||||
|
|
||||||
@State var navData = DateNavData(dateCells: [])
|
@State var navData = DateNavData(dateCells: [])
|
||||||
@Binding var showDateNavPopover: Bool
|
@Binding var showDateNavPopover: Bool
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
let _ = Self._printChanges()
|
//let _ = Self._printChanges()
|
||||||
VStack(alignment: .center) {
|
VStack(alignment: .center) {
|
||||||
ForEach(navData.dateCells, id: \.year) { cell in
|
ForEach(navData.dateCells, id: \.year) { cell in
|
||||||
VStack(alignment: .leading, spacing: 10) {
|
VStack(alignment: .leading, spacing: 10) {
|
||||||
@ -26,7 +26,7 @@ struct DateNavView: View {
|
|||||||
if item.disabled {
|
if item.disabled {
|
||||||
DateDisabledItemView(datetime: item.name)
|
DateDisabledItemView(datetime: item.name)
|
||||||
} else {
|
} 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 {
|
extension DateNavView {
|
||||||
|
|
||||||
struct DateItemView: View {
|
struct DateItemView: View {
|
||||||
|
let id: String
|
||||||
let datetime: String
|
let datetime: String
|
||||||
@State var selected: Bool
|
@State var selected: Bool
|
||||||
@Binding var showDateNavPopover: Bool
|
@Binding var showDateNavPopover: Bool
|
||||||
@ -81,6 +82,7 @@ extension DateNavView {
|
|||||||
.onTapGesture {
|
.onTapGesture {
|
||||||
self.selected = true
|
self.selected = true
|
||||||
self.showDateNavPopover = false
|
self.showDateNavPopover = false
|
||||||
|
UserDefaults.standard.set(id, forKey: "navSelectedDate")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,18 +130,19 @@ final class DateNavData {
|
|||||||
|
|
||||||
@MainActor
|
@MainActor
|
||||||
func loadDateCells() async {
|
func loadDateCells() async {
|
||||||
let models = await getDateModelData()
|
let selectedDate = UserDefaults.standard.value(forKey: "navSelectedDate") as? String ?? ""
|
||||||
|
|
||||||
|
let models = await getDateModelData()
|
||||||
var cells: [DateCell] = []
|
var cells: [DateCell] = []
|
||||||
for model in models {
|
for model in models {
|
||||||
let items = model.months.map { month in
|
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))
|
cells.append(DateCell(year: model.year, items: items))
|
||||||
}
|
}
|
||||||
|
|
||||||
self.dateCells = cells
|
self.dateCells = cells
|
||||||
print(self.dateCells)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private func getDateModelData() async -> [DateModel] {
|
private func getDateModelData() async -> [DateModel] {
|
||||||
|
|||||||
@ -94,7 +94,6 @@ struct IndexView: View {
|
|||||||
let screenBounds = UIScreen.main.bounds
|
let screenBounds = UIScreen.main.bounds
|
||||||
|
|
||||||
if screenBounds.height - frame.minY > 50 && !isLoading {
|
if screenBounds.height - frame.minY > 50 && !isLoading {
|
||||||
print("call me here")
|
|
||||||
Task {
|
Task {
|
||||||
await self.loadMoreUpdateDramas()
|
await self.loadMoreUpdateDramas()
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user