diff --git a/dimensionhub/Views/DateNavView.swift b/dimensionhub/Views/DateNavView.swift index e7a8a6c..ee82a9f 100644 --- a/dimensionhub/Views/DateNavView.swift +++ b/dimensionhub/Views/DateNavView.swift @@ -15,6 +15,8 @@ struct DateNavView: View { @Binding var selectGroupId: String @Binding var showDateNavPopover: Bool + var onSelected: (String) -> Void + var body: some View { VStack(alignment: .center) { ForEach(navModel.dateModels) { model in @@ -25,7 +27,11 @@ struct DateNavView: View { if month.disabled { DateDisabledItemView(datetime: month.name) } else { - DateItemView(datetime: month.name, selected: month.id == selectGroupId, showDateNavPopover: $showDateNavPopover) + DateItemView(id: month.id, + datetime: month.name, + selected: month.id == selectGroupId, + showDateNavPopover: $showDateNavPopover, + onSelected: onSelected) } } } @@ -45,10 +51,13 @@ struct DateNavView: View { extension DateNavView { struct DateItemView: View { + let id: String let datetime: String @State var selected: Bool @Binding var showDateNavPopover: Bool + var onSelected: (String) -> Void + var body: some View { Rectangle() .frame(width: 80, height: 50) @@ -65,6 +74,7 @@ extension DateNavView { .onTapGesture { self.selected = true self.showDateNavPopover = false + onSelected(id) } } } diff --git a/dimensionhub/Views/IndexView.swift b/dimensionhub/Views/IndexView.swift index 43e59eb..86aa602 100644 --- a/dimensionhub/Views/IndexView.swift +++ b/dimensionhub/Views/IndexView.swift @@ -210,7 +210,9 @@ struct IndexView: View { } } .popover(isPresented: $showDateNavPopover) { - DateNavView(selectGroupId: self.$selectGroupId, showDateNavPopover: $showDateNavPopover) + DateNavView(selectGroupId: self.$selectGroupId, showDateNavPopover: $showDateNavPopover) { selectedDate in + print("new selected date: " + selectedDate) + } } } .task {