make all sheets on the main body
fix crash when backgrounding the app
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user