Просмотр исходного кода

UI
* nav titles -> .inline, note: with an upcoming 'real' tab bar it change be changed to .large as it is common in iOS
* fix for spacing and padding in home root view

polscm32 2 лет назад
Родитель
Сommit
78d8e96e6f
25 измененных файлов с 128 добавлено и 88 удалено
  1. 1 1
      Dependencies/LoopKit/LoopKitUI/Views/Settings Editors/InsulinModelSelection.swift
  2. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/BeepPreferenceSelectionView.swift
  3. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/LowReservoirReminderEditView.swift
  4. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/PlayTestBeepsView.swift
  5. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/PumpManagerDetailsView.swift
  6. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/ReadPodInfoView.swift
  7. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/ReadPodStatusView.swift
  8. 1 1
      Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/SilencePodSelectionView.swift
  9. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/BeepPreferenceSelectionView.swift
  10. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/LowReservoirReminderEditView.swift
  11. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/PlayTestBeepsView.swift
  12. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/PumpManagerDetailsView.swift
  13. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/ReadPodInfoView.swift
  14. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/ReadPodStatusView.swift
  15. 1 1
      Dependencies/OmniKit/OmniKitUI/Views/SilencePodSelectionView.swift
  16. 10 1
      FreeAPS/Sources/Modules/AddCarbs/View/AddCarbsRootView.swift
  17. 1 1
      FreeAPS/Sources/Modules/AddTempTarget/View/AddTempTargetRootView.swift
  18. 24 16
      FreeAPS/Sources/Modules/Bolus/View/AlternativeBolusCalcRootView.swift
  19. 9 1
      FreeAPS/Sources/Modules/Bolus/View/DefaultBolusCalcRootView.swift
  20. 1 1
      FreeAPS/Sources/Modules/ConfigEditor/View/ConfigEditorRootView.swift
  21. 9 1
      FreeAPS/Sources/Modules/DataTable/View/DataTableRootView.swift
  22. 46 49
      FreeAPS/Sources/Modules/Home/View/HomeRootView.swift
  23. 11 1
      FreeAPS/Sources/Modules/OverrideProfilesConfig/View/OverrideProfilesRootView.swift
  24. 1 1
      FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift
  25. 1 1
      FreeAPS/Sources/Modules/Stat/View/StatRootView.swift

+ 1 - 1
Dependencies/LoopKit/LoopKitUI/Views/Settings Editors/InsulinModelSelection.swift

@@ -84,7 +84,7 @@ public struct InsulinModelSelection: View {
             content
         case .settings:
             contentWithCancel
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.automatic)
         }
     }
     

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/BeepPreferenceSelectionView.swift

@@ -88,7 +88,7 @@ struct BeepPreferenceSelectionView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(LocalizedString("Confidence Reminders", comment: "navigation title for confidence reminders"))
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
     }
 

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/LowReservoirReminderEditView.swift

@@ -75,7 +75,7 @@ struct LowReservoirReminderEditView: View {
             .disabled(saving || !valueChanged)
         }
         .navigationTitle("")
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
     }
 

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/PlayTestBeepsView.swift

@@ -49,7 +49,7 @@ struct PlayTestBeepsView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
         .onFirstAppear {
             asyncAction()

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/PumpManagerDetailsView.swift

@@ -66,7 +66,7 @@ struct PumpManagerDetailsView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .onFirstAppear {
             asyncAction()
         }

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/ReadPodInfoView.swift

@@ -63,7 +63,7 @@ struct ReadPodInfoView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
         .onFirstAppear {
             asyncAction()

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/ReadPodStatusView.swift

@@ -59,7 +59,7 @@ struct ReadPodStatusView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
         .onFirstAppear {
             asyncAction()

+ 1 - 1
Dependencies/OmniBLE/OmniBLE/PumpManagerUI/Views/SilencePodSelectionView.swift

@@ -86,7 +86,7 @@ struct SilencePodSelectionView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(LocalizedString("Silence Pod", comment: "navigation title for Silnce Pod"))
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
     }
 

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/BeepPreferenceSelectionView.swift

@@ -89,7 +89,7 @@ struct BeepPreferenceSelectionView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(LocalizedString("Confidence Reminders", comment: "navigation title for confidence reminders"))
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
     }
 

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/LowReservoirReminderEditView.swift

@@ -76,7 +76,7 @@ struct LowReservoirReminderEditView: View {
             .disabled(saving || !valueChanged)
         }
         .navigationTitle("")
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
     }
 

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/PlayTestBeepsView.swift

@@ -49,7 +49,7 @@ struct PlayTestBeepsView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
         .onFirstAppear {
             asyncAction()

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/PumpManagerDetailsView.swift

@@ -66,7 +66,7 @@ struct PumpManagerDetailsView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .onFirstAppear {
             asyncAction()
         }

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/ReadPodInfoView.swift

@@ -64,7 +64,7 @@ struct ReadPodInfoView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
         .onFirstAppear {
             asyncAction()

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/ReadPodStatusView.swift

@@ -60,7 +60,7 @@ struct ReadPodStatusView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(title)
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
         .onFirstAppear {
             asyncAction()

+ 1 - 1
Dependencies/OmniKit/OmniKitUI/Views/SilencePodSelectionView.swift

@@ -87,7 +87,7 @@ struct SilencePodSelectionView: View {
         }
         .insetGroupedListStyle()
         .navigationTitle(LocalizedString("Silence Pod", comment: "navigation title for Silnce Pod"))
-         .navigationBarTitleDisplayMode(.large)
+         .navigationBarTitleDisplayMode(.automatic)
         .alert(isPresented: $alertIsPresented, content: { alert(error: error) })
     }
 

+ 10 - 1
FreeAPS/Sources/Modules/AddCarbs/View/AddCarbsRootView.swift

@@ -148,7 +148,16 @@ extension AddCarbs {
                     }
                 }
                 .navigationTitle("Add Meal")
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
+                 .toolbar {
+                     ToolbarItem(placement: .topBarLeading) {
+                         Button {
+                             state.hideModal()
+                         } label: {
+                             Text("Close")
+                         }
+                     }
+                 }
         }
 
         private var presetPopover: some View {

+ 1 - 1
FreeAPS/Sources/Modules/AddTempTarget/View/AddTempTargetRootView.swift

@@ -159,7 +159,7 @@ extension AddTempTarget {
                     state.hbt = isEnabledArray.first?.hbt ?? 160
                 }
                 .navigationTitle("Enact Temp Target")
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
                 .toolbar {
                     ToolbarItem(placement: .navigationBarLeading) {
                         Button("Close") {

+ 24 - 16
FreeAPS/Sources/Modules/Bolus/View/AlternativeBolusCalcRootView.swift

@@ -201,22 +201,30 @@ extension Bolus {
             }.scrollContentBackground(.hidden).background(color)
                 .blur(radius: showInfo ? 3 : 0)
                 .navigationTitle("Enact Bolus")
-                 .navigationBarTitleDisplayMode(.large)
-                .toolbar {
-                    ToolbarItem(placement: .topBarLeading) {
-                        if fetch {
-                            Button {
-                                keepForNextWiew = true
-                                state.backToCarbsView(complexEntry: true, meal, override: false)
-                            } label: {
-                                HStack {
-                                    Image(systemName: "chevron.backward")
-                                    Text("Meal")
-                                }
-                            }
-                        }
-                    }
-                }
+                 .navigationBarTitleDisplayMode(.inline)
+                 .toolbar {
+                     ToolbarItem(placement: .topBarLeading) {
+                         if fetch {
+                             Button {
+                                 keepForNextWiew = true
+                                 state.backToCarbsView(complexEntry: true, meal, override: false)
+                             } label: {
+                                 HStack {
+                                     Image(systemName: "chevron.backward")
+                                     Text("Meal")
+                                 }
+                             }
+                         }
+                         else {
+                             Button {
+                                 state.hideModal()
+                             } label: {
+                                 Text("Close")
+                             }
+
+                         }
+                     }
+                 }
 
                 .onAppear {
                     configureView {

+ 9 - 1
FreeAPS/Sources/Modules/Bolus/View/DefaultBolusCalcRootView.swift

@@ -169,7 +169,7 @@ extension Bolus {
                 }
 
                 .navigationTitle("Enact Bolus")
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
                 .toolbar {
                     ToolbarItem(placement: .topBarLeading) {
                         if fetch {
@@ -183,6 +183,14 @@ extension Bolus {
                                 }
                             }
                         }
+                        else {
+                            Button {
+                                state.hideModal()
+                            } label: {
+                                Text("Close")
+                            }
+
+                        }
                     }
                 }
                 .popup(isPresented: presentInfo, alignment: .center, direction: .bottom) {

+ 1 - 1
FreeAPS/Sources/Modules/ConfigEditor/View/ConfigEditorRootView.swift

@@ -55,7 +55,7 @@ extension ConfigEditor {
                         }
                     }
                     .navigationTitle(file)
-                     .navigationBarTitleDisplayMode(.large)
+                     .navigationBarTitleDisplayMode(.automatic)
                     .padding()
             }
             .scrollContentBackground(.hidden).background(color)

+ 9 - 1
FreeAPS/Sources/Modules/DataTable/View/DataTableRootView.swift

@@ -104,8 +104,16 @@ extension DataTable {
             }.background(color)
                 .onAppear(perform: configureView)
                 .navigationTitle("History")
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
                 .toolbar {
+                    ToolbarItem(placement: .topBarLeading) {
+                        Button {
+                            state.hideModal()
+                        } label: {
+                            Text("Close")
+                        }
+
+                    }
                     ToolbarItem(placement: .topBarTrailing) {
                         switch state.mode {
                         case .treatments: addButton({

+ 46 - 49
FreeAPS/Sources/Modules/Home/View/HomeRootView.swift

@@ -489,9 +489,9 @@ extension Home {
                     .buttonStyle(.borderless)
                     Spacer()
                     Button {
-                        isMenuPresented.toggle()
+                        state.showModal(for: .settings)
                     } label: {
-                        Image(systemName: "text.justify")
+                        Image(systemName: "gear")
                             .font(.system(size: 26))
                             .padding(8)
                     }
@@ -828,8 +828,6 @@ extension Home {
 
                             menuSymbols(action: { state.showModal(for: .addTempTarget) }, systemName: "target")
 
-                            menuSymbols(action: { state.showModal(for: .settings) }, systemName: "gear")
-
                             Spacer()
                         })
                         VStack(alignment: .leading, spacing: 25, content: {
@@ -852,8 +850,6 @@ extension Home {
 
                             menuElements(action: { state.showModal(for: .addTempTarget) }, title: "Temp targets")
 
-                            menuElements(action: { state.showModal(for: .settings) }, title: "Settings")
-
                             Spacer()
                         })
                     }
@@ -866,6 +862,8 @@ extension Home {
             GeometryReader { geo in
                 ZStack(alignment: .trailing) {
                     VStack(spacing: 0) {
+                        Spacer()
+
                         ZStack {
                             /// glucose bobble
                             glucoseView
@@ -879,10 +877,9 @@ extension Home {
                             /// left panel with pump related info
                             HStack {
                                 pumpView
-
                                 Spacer()
                             }.padding(.leading, 20)
-
+                            
                             HStack {
                                 Spacer()
                                 Button {
@@ -894,42 +891,42 @@ extension Home {
                                 }.padding(.trailing, 20).padding(.bottom, 110)
                             }
 
-                        }.padding(.top, 70)
+                        }.padding(.top, 40)
+
+                        Spacer()
 
-                        mealPanel(geo).padding(.vertical, 25)
+                        mealPanel(geo)
+
+                        Spacer()
 
                         profileView(geo).padding(.vertical)
 
                         RoundedRectangle(cornerRadius: 15)
-                            .fill(Color.chart)
+                            .fill(Color("Chart"))
                             .overlay(mainChart)
                             .clipShape(RoundedRectangle(cornerRadius: 15))
                             .shadow(
-                                color: colorScheme == .dark ? Color(
-                                    red: 0.02745098039,
-                                    green: 0.1098039216,
-                                    blue: 0.1411764706
-                                ) :
+                                color: colorScheme == .dark ? Color(red: 0.02745098039, green: 0.1098039216, blue: 0.1411764706) :
                                     Color.black.opacity(0.33),
                                 radius: 3
                             )
                             .padding(.horizontal, 10)
                             .frame(maxHeight: UIScreen.main.bounds.height / 2.1)
 
-                        timeInterval.padding(.top, 25)
+                        Spacer()
+
+                        timeInterval
 
                         Spacer()
 
                         ZStack(alignment: .bottom) {
-                            // bottomPanel(geo)
+                            bottomPanel(geo)
 
                             if let progress = state.bolusProgress {
                                 bolusProgressView(geo, progress)
                             }
                         }
                     }
-
-                    // tabbar
                 }
                 .background(color)
                 .blur(radius: isMenuPresented ? 5 : 0)
@@ -969,38 +966,38 @@ extension Home {
             }
         }
 
-        @ViewBuilder func tabBar() -> some View {
-            TabView(selection: $appState.currentTab) {
-                mainView()
-                    .tabItem { Label("Home", systemImage: "house") }
-                    .tag(Tab.home)
-
-                NavigationStack { DataTable.RootView(resolver: resolver) }
-                    .tabItem { Label("History", systemImage: historySFSymbol) }
-                    .tag(Tab.history)
-
-                NavigationStack { AddCarbs.RootView(resolver: resolver, editMode: false, override: false) }
-                    .tabItem { Label("Carbs", systemImage: "fork.knife") }
-                    .tag(Tab.carbs)
-
-                NavigationStack { Bolus.RootView(resolver: resolver, waitForSuggestion: false, fetch: false, appState: appState)
-                }
-                .tabItem { Label("Bolus", systemImage: "syringe.fill") }
-                .tag(Tab.bolus)
-
-                NavigationStack { OverrideProfilesConfig.RootView(resolver: resolver) }
-                    .tabItem {
-                        Label(
-                            "Profile",
-                            systemImage: state.isTempTargetActive || overrideString != nil ? "person.fill" : "person"
-                        ) }
-                    .tag(Tab.profile)
-            }.tint(Color.tabBar)
-        }
+//        @ViewBuilder func tabBar() -> some View {
+//            TabView(selection: $appState.currentTab) {
+//                mainView()
+//                    .tabItem { Label("Home", systemImage: "house") }
+//                    .tag(Tab.home)
+//
+//                NavigationStack { DataTable.RootView(resolver: resolver) }
+//                    .tabItem { Label("History", systemImage: historySFSymbol) }
+//                    .tag(Tab.history)
+//
+//                NavigationStack { AddCarbs.RootView(resolver: resolver, editMode: false, override: false) }
+//                    .tabItem { Label("Carbs", systemImage: "fork.knife") }
+//                    .tag(Tab.carbs)
+//
+//                NavigationStack { Bolus.RootView(resolver: resolver, waitForSuggestion: false, fetch: false, appState: appState)
+//                }
+//                .tabItem { Label("Bolus", systemImage: "syringe.fill") }
+//                .tag(Tab.bolus)
+//
+//                NavigationStack { OverrideProfilesConfig.RootView(resolver: resolver) }
+//                    .tabItem {
+//                        Label(
+//                            "Profile",
+//                            systemImage: state.isTempTargetActive || overrideString != nil ? "person.fill" : "person"
+//                        ) }
+//                    .tag(Tab.profile)
+//            }.tint(Color.tabBar)
+//        }
 
         var body: some View {
             ZStack(alignment: .trailing) {
-                tabBar()
+                mainView()
                 // burger menu
                 if isMenuPresented {
                     HStack {

+ 11 - 1
FreeAPS/Sources/Modules/OverrideProfilesConfig/View/OverrideProfilesRootView.swift

@@ -287,7 +287,17 @@ extension OverrideProfilesConfig {
                 .onAppear(perform: configureView)
                 .onAppear { state.savedSettings() }
                 .navigationBarTitle("Profiles")
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
+                 .toolbar {
+                     ToolbarItem(placement: .topBarLeading) {
+                         Button {
+                             state.hideModal()
+                         } label: {
+                             Text("Close")
+                         }
+                         
+                     }
+                 }
         }
 
         @ViewBuilder private func profilesView(for preset: OverridePresets) -> some View {

+ 1 - 1
FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift

@@ -159,7 +159,7 @@ extension Settings {
                         }
                     }
                 }
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
                 .onDisappear(perform: { state.uploadProfileAndSettings(false) })
         }
     }

+ 1 - 1
FreeAPS/Sources/Modules/Stat/View/StatRootView.swift

@@ -167,7 +167,7 @@ extension Stat {
             }.background(color)
                 .onAppear(perform: configureView)
                 .navigationBarTitle("Statistics")
-                 .navigationBarTitleDisplayMode(.large)
+                 .navigationBarTitleDisplayMode(.inline)
                 .toolbar {
                     ToolbarItem(placement: .topBarLeading) {
                         Button("Close") {