-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathMyApp.swift
98 lines (84 loc) · 3.26 KB
/
MyApp.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import SwiftUI
import SherlockDebugForms
private let isDebug = false
@main
struct MyApp: App
{
var body: some Scene
{
WindowGroup {
NavigationView {
if isDebug {
// DEBUG: Shortcut presentation.
UserDefaultsListView(
editConfiguration: .init(
boolKeys: Array(UserDefaultsBoolKey.allCases.map(\.rawValue)),
stringKeys: Array(UserDefaultsStringKey.allCases.map(\.rawValue)),
dateKeys: Array(UserDefaultsDateKey.allCases.map(\.rawValue)),
intKeys: Array(UserDefaultsIntKey.allCases.map(\.rawValue)),
doubleKeys: Array(UserDefaultsDoubleKey.allCases.map(\.rawValue))
)
)
}
else {
RootView()
}
}
.onAppear {
guard isDebug else { return }
// DEBUG: Insert intial UserDefaults values.
UserDefaults.standard.set(
"John Appleseed",
forKey: UserDefaultsStringKey.username.rawValue
)
UserDefaults.standard.set(
forKey: UserDefaultsStringKey.email.rawValue
)
UserDefaults.standard.set(
"admin",
forKey: UserDefaultsStringKey.password.rawValue
)
UserDefaults.standard.set(
Constant.languages[0],
forKey: UserDefaultsStringKey.languageSelection.rawValue
)
// Index of `Constant.languages`.
UserDefaults.standard.set(
0,
forKey: UserDefaultsIntKey.languageIntSelection.rawValue
)
UserDefaults.standard.set(
Constant.Status.away.rawValue,
forKey: UserDefaultsStringKey.status.rawValue
)
UserDefaults.standard.set(
true,
forKey: UserDefaultsBoolKey.lowPowerMode.rawValue
)
UserDefaults.standard.set(
1.0,
forKey: UserDefaultsDoubleKey.speed.rawValue
)
UserDefaults.standard.set(
12.0,
forKey: UserDefaultsDoubleKey.fontSize.rawValue
)
UserDefaults.standard.set(
Date().addingTimeInterval(-86400 * 365 * 20),
forKey: UserDefaultsDateKey.birthday.rawValue
)
UserDefaults.standard.set(
Date(),
forKey: UserDefaultsDateKey.alarm.rawValue
)
// For testing long string in UserDefaults.
UserDefaults.standard.set(
Array(repeating: Constant.loremIpsum, count: 10).joined(separator: "\n"),
forKey: UserDefaultsStringKey.testLongUserDefaults.rawValue
)
}
.enableSherlockHUD(true)
}
}
}