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 {
@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 type: PercViewType
@@ -34,11 +36,11 @@ struct HeaderPercView: View {
}
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
})
}))
}
}
@@ -76,11 +78,9 @@ struct HeaderPercView: View {
Text("\(model.percent, specifier: "%.0f")%")
.font(.title2)
.fontWeight(.bold)
.multilineTextAlignment(.center)
.padding()
.frame(maxWidth: .infinity)
.background(Circle().fill(moodTint.color(forMood: model.mood)))
.foregroundColor(Color(UIColor.white))
.frame(maxWidth: .infinity)
}
}
Spacer()
@@ -89,15 +89,14 @@ struct HeaderPercView: View {
Text("\(model.percent, specifier: "%.0f")%")
.font(.title2)
.fontWeight(.bold)
.multilineTextAlignment(.center)
.padding()
.frame(maxWidth: .infinity)
.background(Circle().fill(moodTint.color(forMood: model.mood)))
.foregroundColor(Color(UIColor.white))
.frame(maxWidth: .infinity)
}
}
Spacer()
}
.foregroundColor(textColor)
}
var body: some View {

View File

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

View File

@@ -75,8 +75,18 @@ struct MonthDetailView: View {
theme.currentTheme.secondaryBGColor
)
}
.alert(HomeViewViewModel.updateTitleHeader(forEntry: selectedEntry),
isPresented: $showUpdateEntryAlert) {
.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)
}
}
.alert(HomeViewViewModel.updateTitleHeader(forEntry: selectedEntry), isPresented: $showUpdateEntryAlert) {
ForEach(Mood.allValues) { mood in
Button(mood.strValue, action: {
if let selectedEntry = selectedEntry {
@@ -103,18 +113,7 @@ struct MonthDetailView: View {
selectedEntry = nil
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 {

View File

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

View File

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

View File

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