@@ -10,84 +10,93 @@ import CoreData
1010
1111struct ContentView : View {
1212
13- @State var showMenu = false
13+ // @State var showMenu = false
1414 @EnvironmentObject var pageSwitcher : PageSwitcher
1515 @EnvironmentObject var bleManager : BLEManager
16+ @AppStorage ( " autoconnect " ) var autoconnect : Bool = false
17+ @AppStorage ( " autoconnectUUID " ) var autoconnectUUID : String = " "
1618
1719 init ( ) {
18- UINavigationBar . appearance ( ) . setBackgroundImage ( UIImage ( ) , for: UIBarMetrics . default)
19- UINavigationBar . appearance ( ) . shadowImage = UIImage ( )
20- UINavigationBar . appearance ( ) . isTranslucent = true
21- UINavigationBar . appearance ( ) . tintColor = . clear
22- UINavigationBar . appearance ( ) . backgroundColor = . clear
20+ UINavigationBar . appearance ( ) . setBackgroundImage ( UIImage ( ) , for: UIBarMetrics . default)
21+ UINavigationBar . appearance ( ) . shadowImage = UIImage ( )
22+ UINavigationBar . appearance ( ) . isTranslucent = true
23+ UINavigationBar . appearance ( ) . tintColor = . clear
24+ UINavigationBar . appearance ( ) . backgroundColor = . clear
2325 }
24-
26+
27+
2528
2629 var body : some View {
2730 let drag = DragGesture ( )
2831 . onEnded {
2932 if $0. translation. width < - 100 {
3033 withAnimation {
31- self . showMenu = false
34+ self . pageSwitcher . showMenu = false
3235 }
3336 } else if $0. translation. width > 100 {
3437 withAnimation {
35- self . showMenu = true
38+ self . pageSwitcher . showMenu = true
3639 }
40+ //} else if $0.translation.height < -300 {
41+ // pageSwitcher.connectViewLoad = true
3742 }
3843 }
39- if bleManager. batteryLevel == " 20 " {
40- let batNotification = UserDefaults . standard. object ( forKey: " batteryNotification " ) as? Bool ?? false
41- if batNotification {
42- bleManager. sendNotification ( notification: " Battery at 20% " )
43- print ( " 20 " )
44- }
45- }
46-
4744 return NavigationView {
4845 GeometryReader { geometry in
4946 ZStack ( alignment: . leading) {
50- MainView ( showMenu: self . $showMenu)
47+ MainView ( )
48+ . sheet ( isPresented: $pageSwitcher. connectViewLoad, content: {
49+ Connect ( ) . environmentObject ( self . bleManager)
50+ } )
5151 . frame ( width: geometry. size. width, height: geometry. size. height)
52- . offset ( x: self . showMenu ? geometry. size. width/ 2 : 0 )
53- . disabled ( self . showMenu ? true : false )
54- if self . showMenu {
55- SideMenu ( isOpen: self . $showMenu)
52+ . offset ( x: self . pageSwitcher. showMenu ? geometry. size. width/ 2 : 0 )
53+ . disabled ( self . pageSwitcher. showMenu ? true : false )
54+ . onAppear ( ) {
55+ if autoconnect && bleManager. isSwitchedOn {
56+ self . bleManager. startScanning ( )
57+ }
58+ if ( autoconnect && autoconnectUUID == " " ) || ( !autoconnect && !bleManager. isConnectedToPinetime) {
59+ DispatchQueue . main. asyncAfter ( deadline: . now( ) + 0.5 , execute: {
60+ withAnimation {
61+ pageSwitcher. connectViewLoad = true
62+ }
63+ } )
64+ }
65+ }
66+ if self . pageSwitcher. showMenu {
67+ SideMenu ( isOpen: self . $pageSwitcher. showMenu)
5668 . frame ( width: geometry. size. width/ 2 )
5769 . transition ( . move( edge: . leading) )
5870 . ignoresSafeArea ( )
5971 }
6072 }
61- }
62- . navigationBarItems ( leading: (
63- Button ( action: {
64- withAnimation {
65- self . showMenu. toggle ( )
73+ . navigationBarItems ( leading: (
74+ Button ( action: {
75+ withAnimation {
76+ self . pageSwitcher. showMenu. toggle ( )
77+ }
78+ } ) {
79+ Image ( systemName: " line.horizontal.3 " )
80+ . imageScale ( . large)
81+ . foregroundColor ( Color . gray)
6682 }
67- } ) {
68- Image ( systemName: " line.horizontal.3 " )
69- . imageScale ( . large)
70- . foregroundColor ( Color . gray)
71- }
72- ) )
73- . background ( Color . black)
74- . navigationBarTitleDisplayMode ( . inline)
83+ ) )
84+ . background ( Color . black)
85+ . navigationBarTitleDisplayMode ( . inline)
86+ }
87+ . gesture ( drag)
7588 }
76- . gesture ( drag)
7789 }
7890}
79-
80- struct MainView : View {
8191
82- @ Binding var showMenu : Bool
83- @ State var currentPage : Page = . connect
92+ struct MainView : View {
93+
8494 @EnvironmentObject var pageSwitcher : PageSwitcher
8595 @EnvironmentObject var bleManager : BLEManager
8696
97+
8798 var body : some View {
8899 switch pageSwitcher. currentPage {
89- case . connect:
90- Connect ( )
91100 case . dfu:
92101 DFU_Page ( dfuUpdater: DFU_Updater ( ble: bleManager) )
93102 case . status:
@@ -98,6 +107,7 @@ struct MainView: View {
98107 }
99108}
100109
110+
101111struct ContentView_Previews : PreviewProvider {
102112 static var previews : some View {
103113 ContentView ( )
0 commit comments