add text to day picker
This commit is contained in:
@@ -9,6 +9,7 @@ import SwiftUI
|
|||||||
|
|
||||||
struct DayFilterPickerView: View {
|
struct DayFilterPickerView: View {
|
||||||
@AppStorage(UserDefaultsStore.Keys.theme.rawValue, store: GroupUserDefaults.groupDefaults) private var theme: Theme = .system
|
@AppStorage(UserDefaultsStore.Keys.theme.rawValue, store: GroupUserDefaults.groupDefaults) private var theme: Theme = .system
|
||||||
|
@AppStorage(UserDefaultsStore.Keys.textColor.rawValue, store: GroupUserDefaults.groupDefaults) private var textColor: Color = DefaultTextColor.textColor
|
||||||
@StateObject private var filteredDays = DaysFilterClass.shared
|
@StateObject private var filteredDays = DaysFilterClass.shared
|
||||||
|
|
||||||
let weekdays = [("Sun", 1),
|
let weekdays = [("Sun", 1),
|
||||||
@@ -23,22 +24,27 @@ struct DayFilterPickerView: View {
|
|||||||
ZStack {
|
ZStack {
|
||||||
theme.currentTheme.secondaryBGColor
|
theme.currentTheme.secondaryBGColor
|
||||||
|
|
||||||
HStack {
|
VStack {
|
||||||
ForEach(weekdays.indices, id: \.self) { dayIdx in
|
HStack {
|
||||||
let day = String(weekdays[dayIdx].0)
|
ForEach(weekdays.indices, id: \.self) { dayIdx in
|
||||||
let value = weekdays[dayIdx].1
|
let day = String(weekdays[dayIdx].0)
|
||||||
Button(day.capitalized, action: {
|
let value = weekdays[dayIdx].1
|
||||||
if filteredDays.currentFilters.contains(value) {
|
Button(day.capitalized, action: {
|
||||||
filteredDays.removeFilter(filter: value)
|
if filteredDays.currentFilters.contains(value) {
|
||||||
} else {
|
filteredDays.removeFilter(filter: value)
|
||||||
filteredDays.addFilter(newFilter: value)
|
} else {
|
||||||
}
|
filteredDays.addFilter(newFilter: value)
|
||||||
let impactMed = UIImpactFeedbackGenerator(style: .heavy)
|
}
|
||||||
impactMed.impactOccurred()
|
let impactMed = UIImpactFeedbackGenerator(style: .heavy)
|
||||||
})
|
impactMed.impactOccurred()
|
||||||
.frame(maxWidth: .infinity)
|
})
|
||||||
.foregroundColor(filteredDays.currentFilters.contains(value) ? .green : .red)
|
.frame(maxWidth: .infinity)
|
||||||
|
.foregroundColor(filteredDays.currentFilters.contains(value) ? .green : .red)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Text(String(localized: "day_picker_view_text"))
|
||||||
|
.padding(.top)
|
||||||
|
.foregroundColor(textColor)
|
||||||
}
|
}
|
||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,3 +97,4 @@
|
|||||||
"create_widget_use" = "Use";
|
"create_widget_use" = "Use";
|
||||||
|
|
||||||
"month_view_no_data" = "There are no entries to display.";
|
"month_view_no_data" = "There are no entries to display.";
|
||||||
|
"day_picker_view_text" = "Only shows these days";
|
||||||
|
|||||||
Reference in New Issue
Block a user