make all sheets on the main body

fix crash when backgrounding the app
This commit is contained in:
Trey t
2022-03-17 14:57:32 -05:00
parent 0113e2304a
commit f87d216e65
6 changed files with 46 additions and 47 deletions

View File

@@ -15,7 +15,9 @@ enum PercViewType {
struct HeaderPercView: View { struct HeaderPercView: View {
@AppStorage(UserDefaultsStore.Keys.moodTint.rawValue, store: GroupUserDefaults.groupDefaults) private var moodTint: MoodTints = .Default @AppStorage(UserDefaultsStore.Keys.moodTint.rawValue, store: GroupUserDefaults.groupDefaults) private var moodTint: MoodTints = .Default
var entries = [MoodMetrics]() @AppStorage(UserDefaultsStore.Keys.textColor.rawValue, store: GroupUserDefaults.groupDefaults) private var textColor: Color = .black
@State private var entries = [MoodMetrics]()
let backDays: Int let backDays: Int
let type: PercViewType let type: PercViewType
@@ -34,11 +36,11 @@ struct HeaderPercView: View {
} }
if let moodEntries = moodEntries { if let moodEntries = moodEntries {
entries = Random.createTotalPerc(fromEntries: moodEntries) let moodMetrics = Random.createTotalPerc(fromEntries: moodEntries)
entries = entries.sorted(by: { _entries = State(initialValue: moodMetrics.sorted(by: {
$0.mood.rawValue > $1.mood.rawValue $0.mood.rawValue > $1.mood.rawValue
}) }))
} }
} }
@@ -76,11 +78,9 @@ struct HeaderPercView: View {
Text("\(model.percent, specifier: "%.0f")%") Text("\(model.percent, specifier: "%.0f")%")
.font(.title2) .font(.title2)
.fontWeight(.bold) .fontWeight(.bold)
.multilineTextAlignment(.center)
.padding() .padding()
.frame(maxWidth: .infinity)
.background(Circle().fill(moodTint.color(forMood: model.mood))) .background(Circle().fill(moodTint.color(forMood: model.mood)))
.foregroundColor(Color(UIColor.white)) .frame(maxWidth: .infinity)
} }
} }
Spacer() Spacer()
@@ -89,15 +89,14 @@ struct HeaderPercView: View {
Text("\(model.percent, specifier: "%.0f")%") Text("\(model.percent, specifier: "%.0f")%")
.font(.title2) .font(.title2)
.fontWeight(.bold) .fontWeight(.bold)
.multilineTextAlignment(.center)
.padding() .padding()
.frame(maxWidth: .infinity)
.background(Circle().fill(moodTint.color(forMood: model.mood))) .background(Circle().fill(moodTint.color(forMood: model.mood)))
.foregroundColor(Color(UIColor.white)) .frame(maxWidth: .infinity)
} }
} }
Spacer() Spacer()
} }
.foregroundColor(textColor)
} }
var body: some View { var body: some View {

View File

@@ -55,7 +55,13 @@ struct HomeView: View {
@ObservedObject var viewModel = HomeViewViewModel(addMonthStartWeekdayPadding: false) @ObservedObject var viewModel = HomeViewViewModel(addMonthStartWeekdayPadding: false)
var body: some View { var body: some View {
mainView mainView
.onAppear(perform: {
EventLogger.log(event: "show_home_view")
})
.sheet(isPresented: $showingSheet) {
SettingsView()
}
.alert(HomeViewViewModel.updateTitleHeader(forEntry: selectedEntry), .alert(HomeViewViewModel.updateTitleHeader(forEntry: selectedEntry),
isPresented: $showUpdateEntryAlert) { isPresented: $showUpdateEntryAlert) {
ForEach(Mood.allValues) { mood in ForEach(Mood.allValues) { mood in
@@ -82,9 +88,6 @@ struct HomeView: View {
showUpdateEntryAlert = false showUpdateEntryAlert = false
}) })
} }
.onAppear(perform: {
EventLogger.log(event: "show_home_view")
})
} }
// MARK: functions that do view type work // MARK: functions that do view type work
@@ -177,9 +180,7 @@ struct HomeView: View {
Image(systemName: "gear") Image(systemName: "gear")
.foregroundColor(Color(UIColor.darkGray)) .foregroundColor(Color(UIColor.darkGray))
.font(.system(size: 20)) .font(.system(size: 20))
}).sheet(isPresented: $showingSheet) { }).padding(.trailing)
SettingsView()
}.padding(.trailing)
} }
} }

View File

@@ -75,8 +75,18 @@ struct MonthDetailView: View {
theme.currentTheme.secondaryBGColor theme.currentTheme.secondaryBGColor
) )
} }
.alert(HomeViewViewModel.updateTitleHeader(forEntry: selectedEntry), .onAppear(perform: {
isPresented: $showUpdateEntryAlert) { EventLogger.log(event: "show_month_detail_view")
})
.background(
theme.currentTheme.bg
)
.sheet(isPresented: self.$shareImage.showFuckingSheet) {
if let uiImage = self.shareImage.fuckingWrappedShrable {
ShareSheet(photo: uiImage)
}
}
.alert(HomeViewViewModel.updateTitleHeader(forEntry: selectedEntry), isPresented: $showUpdateEntryAlert) {
ForEach(Mood.allValues) { mood in ForEach(Mood.allValues) { mood in
Button(mood.strValue, action: { Button(mood.strValue, action: {
if let selectedEntry = selectedEntry { if let selectedEntry = selectedEntry {
@@ -103,18 +113,7 @@ struct MonthDetailView: View {
selectedEntry = nil selectedEntry = nil
showUpdateEntryAlert = false showUpdateEntryAlert = false
}) })
} }
.onAppear(perform: {
EventLogger.log(event: "show_month_detail_view")
})
.background(
theme.currentTheme.bg
)
.sheet(isPresented: self.$shareImage.showFuckingSheet) {
if let uiImage = self.shareImage.fuckingWrappedShrable {
ShareSheet(photo: uiImage)
}
}
} }
private var shareView: some View { private var shareView: some View {

View File

@@ -72,9 +72,6 @@ struct MonthView: View {
) )
} }
.padding([.leading, .trailing]) .padding([.leading, .trailing])
}.sheet(isPresented: $selectedDetail.showFuckingSheet,
onDismiss: didDismiss) {
selectedDetail.fuckingWrapped
} }
} }
} }
@@ -86,6 +83,10 @@ struct MonthView: View {
theme.currentTheme.bg theme.currentTheme.bg
.edgesIgnoringSafeArea(.all) .edgesIgnoringSafeArea(.all)
) )
.sheet(isPresented: $selectedDetail.showFuckingSheet,
onDismiss: didDismiss) {
selectedDetail.fuckingWrapped
}
.sheet(isPresented: self.$shareImage.showFuckingSheet) { .sheet(isPresented: self.$shareImage.showFuckingSheet) {
if let uiImage = self.shareImage.fuckingWrappedShrable { if let uiImage = self.shareImage.fuckingWrappedShrable {
ShareSheet(photo: uiImage) ShareSheet(photo: uiImage)

View File

@@ -133,16 +133,15 @@ struct SharingListView: View {
} }
} }
.padding([.top, .bottom])
.background( .background(
theme.currentTheme.bg theme.currentTheme.bg
.edgesIgnoringSafeArea(.top) .edgesIgnoringSafeArea(.top)
) )
.sheet(isPresented: $selectedShare.showFuckingSheet, .sheet(isPresented: $selectedShare.showFuckingSheet,
onDismiss: didDismiss) { onDismiss: didDismiss) {
selectedShare.fuckingWrappedShrable?.destination selectedShare.fuckingWrappedShrable?.destination
} }
.padding([.top, .bottom])
} }
func share(image: UIImage) { func share(image: UIImage) {

View File

@@ -174,16 +174,11 @@ struct AllMoodsTotalTemplate: View, SharingTemplate {
.foregroundColor(Color.white) .foregroundColor(Color.white)
.padding(.top, 20) .padding(.top, 20)
}) })
.sheet(isPresented: self.$shareImage.showFuckingSheet) { .frame(maxWidth: .infinity, alignment: .center)
if let uiImage = self.shareImage.fuckingWrappedShrable { .background(
ShareSheet(photo: uiImage) Color.green
} )
} .padding(.trailing, -5)
.frame(maxWidth: .infinity, alignment: .center)
.background(
Color.green
)
.padding(.trailing, -5)
Button(action: { Button(action: {
presentationMode.wrappedValue.dismiss() presentationMode.wrappedValue.dismiss()
@@ -210,6 +205,11 @@ struct AllMoodsTotalTemplate: View, SharingTemplate {
.scaleEffect(2) .scaleEffect(2)
} else { } else {
mainView mainView
.sheet(isPresented: self.$shareImage.showFuckingSheet) {
if let uiImage = self.shareImage.fuckingWrappedShrable {
ShareSheet(photo: uiImage)
}
}
} }
} }
} }