Add dark mode switch
This commit is contained in:
parent
bd87a4fb6f
commit
55de8ada91
@ -3,10 +3,28 @@ import SFSafeSymbols
|
||||
|
||||
struct ContentView: View {
|
||||
|
||||
@Environment(\.colorScheme)
|
||||
var defaultColorScheme: ColorScheme
|
||||
|
||||
let info: CVInfo
|
||||
|
||||
let style: CVStyle
|
||||
|
||||
init(info: CVInfo, style: CVStyle) {
|
||||
self.info = info
|
||||
self.style = style
|
||||
}
|
||||
|
||||
@State
|
||||
var darkModeEnabled = true
|
||||
|
||||
@State
|
||||
var didReadDarkMode = false
|
||||
|
||||
var colorStyle: ColorScheme {
|
||||
darkModeEnabled ? .dark : .light
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading) {
|
||||
HStack {
|
||||
@ -14,11 +32,20 @@ struct ContentView: View {
|
||||
Label("Save", systemSymbol: .squareAndArrowUp)
|
||||
}
|
||||
.padding()
|
||||
Toggle("Dark mode", isOn: $darkModeEnabled)
|
||||
}
|
||||
ScrollView(.vertical) {
|
||||
CV(info: info, style: style)
|
||||
}.frame(width: style.pageWidth)
|
||||
}
|
||||
.preferredColorScheme(colorStyle)
|
||||
.onAppear {
|
||||
guard !didReadDarkMode else {
|
||||
return
|
||||
}
|
||||
darkModeEnabled = defaultColorScheme == .dark
|
||||
didReadDarkMode = true
|
||||
}
|
||||
}
|
||||
|
||||
private func createAndSavePDF() {
|
||||
|
Loading…
Reference in New Issue
Block a user