update strings

update empty views
take out headers on customize views
make refresh on sample row go through moods great->horrible
other small UI changes
This commit is contained in:
Trey t
2022-04-11 23:05:59 -04:00
parent 1e5b02858e
commit 26fffc1b74
13 changed files with 128 additions and 131 deletions

View File

@@ -17,6 +17,15 @@ enum Mood: Int {
case missing
case placeholder
var next: Mood {
var moodValue = self.rawValue
moodValue -= 1
if moodValue < 0 {
moodValue = 4
}
return Mood.init(rawValue: moodValue) ?? Mood.horrible
}
var strValue: String {
switch self {
case .horrible:

View File

@@ -35,13 +35,13 @@ struct OnboardingCustomizeOne: View {
.font(.title)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.black)
Text(String(localized: "onboarding_title_customize_one_section_one_title"))
.font(.title3)
.fixedSize(horizontal: false, vertical: true)
.padding()
.foregroundColor(Color(UIColor.white))
.foregroundColor(.black)
.multilineTextAlignment(.leading)
IconPickerView()
@@ -49,7 +49,7 @@ struct OnboardingCustomizeOne: View {
.font(.title3)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.black)
DayFilterPickerView()
@@ -57,7 +57,7 @@ struct OnboardingCustomizeOne: View {
.font(.title3)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.black)
}
}
.padding()

View File

@@ -28,31 +28,30 @@ struct OnboardingCustomizeTwo: View {
Spacer()
}
VStack {
VStack(alignment: .leading) {
Text(String(localized: "onboarding_title_customize_two_title"))
.font(.title)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(.white)
SampleEntryView()
.padding([.top])
ScrollView {
VStack(alignment: .leading) {
Text(String(localized: "onboarding_title_customize_two_title"))
.font(.title)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
Text(String(localized: "onboarding_title_customize_two_section_one_title"))
.font(.title3)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
ImagePackPickerView()
Text(String(localized: "onboarding_title_customize_two_section_two_title"))
.font(.title3)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
TintPickerView()
@@ -61,7 +60,7 @@ struct OnboardingCustomizeTwo: View {
.font(.title3)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
TextColorPickerView()

View File

@@ -52,7 +52,7 @@ struct OnboardingDay: View {
.font(.title)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(.black)
.foregroundColor(.white)
Picker(selection: $onboardingData.inputDay,
@@ -61,15 +61,17 @@ struct OnboardingDay: View {
Text(day.localizedValue)
}
}
.labelsHidden()
.frame(minWidth: 0, maxWidth: .infinity)
.padding()
.padding([.trailing, .leading], 55)
.pickerStyle(SegmentedPickerStyle())
.colorScheme(.dark)
Text(previewText)
.font(.title3)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(.black)
.foregroundColor(.white)
}
}
.padding()

View File

@@ -36,6 +36,7 @@ struct OnboardingWrapup: View {
Spacer()
Text(String(localized: "onboarding_wrap_up_1"))
.padding(.top)
.padding()
.font(.title)
.foregroundColor(Color(UIColor.white))
@@ -66,7 +67,7 @@ struct OnboardingWrapup: View {
Text(String(localized: "onboarding_wrap_up_complete_button"))
.font(.title)
.fontWeight(.bold)
.foregroundColor(.yellow)
.foregroundColor(Color(hex: "31d158"))
.padding()
.background(RoundedRectangle(cornerRadius: 10).fill().foregroundColor(Color.white))
.cornerRadius(10)

View File

@@ -105,8 +105,8 @@ struct CreateWidgetView: View {
}, label: {
Image(systemName: "shuffle")
.font(.title)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
.padding([.top, .bottom])
})
.frame(minWidth: 0, maxWidth: .infinity)
.frame(minHeight: 40, maxHeight: .infinity)
@@ -122,7 +122,8 @@ struct CreateWidgetView: View {
Text(String(localized: "create_widget_save"))
.font(.title)
.fontWeight(.bold)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
.padding([.top, .bottom])
})
.frame(minWidth: 0, maxWidth: .infinity)
@@ -139,7 +140,8 @@ struct CreateWidgetView: View {
Text(String(localized: "create_widget_use"))
.font(.title)
.fontWeight(.bold)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
.padding([.top, .bottom])
})
.frame(minWidth: 0, maxWidth: .infinity)
@@ -156,7 +158,8 @@ struct CreateWidgetView: View {
}, label: {
Image(systemName: "trash")
.font(.title)
.foregroundColor(Color(UIColor.white))
.foregroundColor(.white)
.padding([.top, .bottom])
})
.frame(minWidth: 0, maxWidth: .infinity)

View File

@@ -18,29 +18,23 @@ struct ShapePickerView: View {
ZStack {
theme.currentTheme.secondaryBGColor
VStack {
HStack {
Spacer()
Text(shapeRefreshToggleThing.description.localizedLowercase)
.hidden()
Image(systemName: "arrow.triangle.2.circlepath.circle")
.resizable()
.frame(width: 20, height: 20, alignment: .trailing)
.foregroundColor(Color(UIColor.systemGray))
.onTapGesture {
shapeRefreshToggleThing.toggle()
}
}
Spacer()
}
.padding()
VStack(alignment:.leading) {
Text(String(localized: "customize_view_view_pick_shape"))
.padding([.leading])
.foregroundColor(textColor)
Divider()
VStack {
HStack {
Spacer()
Text(shapeRefreshToggleThing.description.localizedLowercase)
.hidden()
Image(systemName: "arrow.triangle.2.circlepath.circle")
.resizable()
.frame(width: 20, height: 20, alignment: .trailing)
.foregroundColor(Color(UIColor.systemGray))
.onTapGesture {
shapeRefreshToggleThing.toggle()
}
}
}
HStack {
ForEach(BGShape.allCases, id: \.rawValue) { ashape in

View File

@@ -126,7 +126,7 @@ struct DayView: View {
settingsButtonView
if viewModel.hasNoData {
Spacer()
EmptyHomeView(viewModel: viewModel)
EmptyHomeView(showVote: true, viewModel: viewModel)
Spacer()
} else {
ZStack {

View File

@@ -11,18 +11,31 @@ struct EmptyHomeView: View {
@AppStorage(UserDefaultsStore.Keys.theme.rawValue, store: GroupUserDefaults.groupDefaults) private var theme: Theme = .system
@AppStorage(UserDefaultsStore.Keys.textColor.rawValue, store: GroupUserDefaults.groupDefaults) private var textColor: Color = DefaultTextColor.textColor
let viewModel: DayViewViewModel
let showVote: Bool
let viewModel: DayViewViewModel?
var body: some View {
ZStack {
theme.currentTheme.secondaryBGColor
VStack {
AddMoodHeaderView(addItemHeaderClosure: { (mood, date) in
withAnimation {
viewModel.add(mood: mood, forDate: date, entryType: .header)
if showVote {
AddMoodHeaderView(addItemHeaderClosure: { (mood, date) in
withAnimation {
viewModel?.add(mood: mood, forDate: date, entryType: .header)
}
})
} else {
VStack {
Spacer()
Text(String(localized: "view_no_data"))
.font(.title)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(textColor)
Spacer()
}
})
}
}
}
.fixedSize(horizontal: false, vertical: true)
@@ -32,6 +45,10 @@ struct EmptyHomeView: View {
struct EmptyHomeView_Previews: PreviewProvider {
static var previews: some View {
EmptyHomeView(viewModel: DayViewViewModel(addMonthStartWeekdayPadding: false))
Group {
EmptyHomeView(showVote: true, viewModel: DayViewViewModel(addMonthStartWeekdayPadding: false))
EmptyHomeView(showVote: false, viewModel: nil)
}
}
}

View File

@@ -48,15 +48,8 @@ struct MonthView: View {
var body: some View {
ZStack {
if viewModel.hasNoData {
VStack {
Spacer()
Text(String(localized: "month_view_no_data"))
.font(.title)
.padding()
.fixedSize(horizontal: false, vertical: true)
.foregroundColor(textColor)
Spacer()
}
EmptyHomeView(showVote: false, viewModel: nil)
.padding()
} else {
ScrollView {
VStack(spacing: 5) {
@@ -178,17 +171,6 @@ extension MonthView {
VStack {
HStack {
homeViewTwoSectionHeaderView(month: month, year: year)
// Image(systemName: "square.and.arrow.up")
// .foregroundColor(textColor)
// .onTapGesture {
// let impactMed = UIImpactFeedbackGenerator(style: .heavy)
// impactMed.impactOccurred()
//
// let _image = shareViewImage(month: month, year: year, entries: entries).asImage(size: CGSize(width: 400, height: 260))
// self.shareImage.showFuckingSheet = true
// self.shareImage.fuckingWrappedShrable = _image
// }
}
Divider()
LazyVGrid(columns: columns, spacing: 15) {

View File

@@ -8,7 +8,7 @@
import SwiftUI
struct SampleEntryView: View {
@State private var sampleListEntry = PersistenceController.shared.randomEntries(count: 1).first!
@State private var sampleListEntry = PersistenceController.shared.generateObjectNotInArray(forDate: Date(), withMood: Mood.great)
@AppStorage(UserDefaultsStore.Keys.theme.rawValue, store: GroupUserDefaults.groupDefaults) private var theme: Theme = .system
@AppStorage(UserDefaultsStore.Keys.textColor.rawValue, store: GroupUserDefaults.groupDefaults) private var textColor: Color = DefaultTextColor.textColor
@@ -24,17 +24,13 @@ struct SampleEntryView: View {
.frame(width: 20, height: 20, alignment: .trailing)
.foregroundColor(Color(UIColor.systemGray))
.onTapGesture {
sampleListEntry = PersistenceController.shared.randomEntries(count: 1).first!
sampleListEntry = PersistenceController.shared.generateObjectNotInArray(forDate: Date(), withMood: sampleListEntry.mood.next)
}
}
Spacer()
}.padding()
VStack(alignment:.leading) {
Text(String(localized: "customize_view_view_example_row"))
.padding([.leading, .top])
.foregroundColor(textColor)
Divider()
EntryListView(entry: sampleListEntry)
.padding()
}

View File

@@ -44,13 +44,20 @@ struct YearView: View {
]
var body: some View {
ScrollView {
gridView
.onAppear(perform: {
self.viewModel.filterEntries(startDate: Date(timeIntervalSince1970: 0), endDate: Date())
})
ZStack {
if self.viewModel.data.keys.isEmpty {
EmptyHomeView(showVote: false, viewModel: nil)
.padding()
} else {
ScrollView {
gridView
}
.padding(.bottom, 5)
}
}
.padding(.bottom, 5)
.onAppear(perform: {
self.viewModel.filterEntries(startDate: Date(timeIntervalSince1970: 0), endDate: Date())
})
.background(
theme.currentTheme.bg
.edgesIgnoringSafeArea(.all)

View File

@@ -6,35 +6,27 @@
*/
"onboarding_time_title" = "What time do you want to unlock your rating";
"onboarding_time_body" = "Voting will be unlocked at %@ daily, you will also recieve a notification at this time";
"onboarding_time_title" = "What time do you want to unlock your rating?";
"onboarding_time_body" = "Voting will be unlocked at %@ daily, you will also recieve a notification at this time as a reminder.";
"onboarding_day_title" = "Will this rating be for current day or previous day";
"onboarding_day_body" = "When you vote your vote will be for the %@";
"onboarding_day_preview_text_today" = "Example: If you pick on a Tuesday, the value will be recorded for Tuesday";
"onboarding_day_preview_text_yesterday" = "Example: If you pick on a Tuesday, the value will be recorded for Monday, the day before.";
"onboarding_day_title" = "Will this rating be for the current day or the previous day?";
"onboarding_day_preview_text_today" = "If you pick on a Tuesday, the value will be recorded for that Tuesday.";
"onboarding_day_preview_text_yesterday" = "If you pick on a Tuesday, the value will be recorded for Monday, the previous day.";
"onboarding_day_options_today" = "Current Day";
"onboarding_day_options_yesterday" = "Previous Day";
"onboarding_title_title" = "What would you like the reminder to say?";
"onboarding_title_type_your_own" = "-- or type your own--";
"onboarding_title_title_option_1" = "Its time to select.";
"onboarding_title_title_option_2" = "Pick your shit!";
"onboarding_title_title_option_3" = "How was your day?";
"onboarding_title_customize_one_title" = "Lets make ifeel yours";
"onboarding_title_customize_one_section_one_title" = "Pick an app icon";
"onboarding_title_customize_one_title" = "";
"onboarding_title_customize_one_section_one_title" = "Pick an app icon.";
"onboarding_title_customize_one_section_two_title" = "What days would you like to see on the charts?";
"onboarding_title_customize_one_section_two_note" = "Note: you will still be asked to pick a feeling for every day";
"onboarding_title_customize_two_title" = "";
"onboarding_title_customize_two_title" = "Pick your style.";
"onboarding_title_customize_two_section_one_title" = "What icon set would you like to use?";
"onboarding_title_customize_two_section_two_title" = "Pick colors for each feeling or create your own";
"onboarding_title_customize_two_section_three_title" = "Pick a text color";
"onboarding_title_customize_two_section_two_title" = "Pick colors for each feeling or create your own.";
"onboarding_title_customize_two_section_three_title" = "Pick a text color.";
"onboarding_wrap_up_1" = "At";
"onboarding_wrap_up_2" = "you will get notified that";
"onboarding_wrap_up_3" = "you'll be notified its time to pick a mood for the";
"onboarding_wrap_up_complete_button" = "Complete";
@@ -43,33 +35,21 @@
"add_mood_header_view_title" = "How was %@?";
"content_view_tab_main" = "Day";
"content_view_tab_month" = "Months";
"content_view_tab_month" = "Month";
"content_view_tab_filter" = "Year";
"content_view_tab_share" = "Share";
"content_view_tab_customize" = "Customize";
"content_view_fill_in_missing_entry" = "Update %@";
"content_view_fill_in_missing_entry_cancel" = "Cancel";
"content_view_delete_entry" = "Delete this entry";
"content_view_header_title" = "Past %d days";
"content_view_empty_title" = "There are no entries to display.";
"filter_view_total" = "Total";
"filter_view_show_filters" = "Show Filters";
"filter_view_hide_filters" = "Hide Filters";
"filter_view_begin_date" = "Begin Date";
"filter_view_end_date" = "End Date";
"settings_view_exit" = "Exit";
"settings_view_special_thanks_to_title" = "Special thanks";
"settings_view_special_thanks_to_body" = "Special body";
"settings_view_why_bg_mode_title" = "What do we use background task for?";
"settings_view_why_bg_mode_body" = "We use it to update the database for any missing day. For example: if you rate Monday and Wednesday you'll see that Tuesday will show on the view as missing, and by tapping that row you can then rate the day that is missing. We need a time to search for and add missing days, we do this nightly and while your device is not being used. It's a quick process and doesn't impact battery life.";
"settings_view_show_onboarding" = "Show onboarding";
"settings_use_cloudkit_title" = "Use CloudKit";
"settings_use_cloudkit_body" = "CloudKit fucking sucks";
"settings_use_delete_enable" = "Allow deletion of entry";
"mood_value_great" = "Great";
"mood_value_good" = "Good";
"mood_value_average" = "Average";
@@ -78,22 +58,11 @@
"mood_value_missing" = "Missing";
"mood_value_missing_tap_to_add" = "Missing - Tap to add";
"share_view_all_moods_total_template_title" = "Total Entries: %d";
"share_view_month_moods_total_template_title" = "Total Entries for %@ - %d";
"share_view_current_streak_template_title" = "Last 10 Days";
"share_view_longest_streak_template_title" = "Longest consecutive days I was %@";
"customize_view_title" = "Make ifeel yours!!!";
"customize_view_custom_widget_title" = "Custom Widgets";
"customize_view_background_title" = "Pick a theme";
"customize_view_view_change_icon" = "Change App Icon";
"customize_view_view_text_color" = "Text Color";
"customize_view_view_example_row" = "Example row";
"customize_view_over18alert_title" = "Are you over 18?";
"customize_view_over18alert_body" = "Some of this is explicit, are you over 18?";
"customize_view_over18alert_ok" = "Sure";
"customize_view_over18alert_no" = "Nah, I'm good";
"customize_view_view_pick_shape" = "Pick a shape";
"customize_view_over18alert_body" = "Some of the text might be explicit.";
"customize_view_over18alert_ok" = "Yes";
"customize_view_over18alert_no" = "No";
"create_widget_view_left_eye" = "Left Eye";
"create_widget_view_right_eye" = "Right Eye";
@@ -107,5 +76,23 @@
"create_widget_save" = "Save";
"create_widget_use" = "Use";
"month_view_no_data" = "There are no entries to display.";
"day_picker_view_text" = "Only shows these days";
"view_no_data" = "There are no entries.";
"day_picker_view_text" = "Only shows these days on the Day, Month, Year views.";
/* not used */
"onboarding_title_title" = "What would you like the reminder to say?";
"onboarding_title_type_your_own" = "-- or type your own--";
"onboarding_title_title_option_1" = "Its time to select.";
"onboarding_title_title_option_2" = "Pick your shit!";
"onboarding_title_title_option_3" = "How was your day?";
"settings_use_cloudkit_title" = "Use CloudKit";
"settings_use_cloudkit_body" = "CloudKit fucking sucks";
"settings_view_why_bg_mode_title" = "What do we use background task for?";
"settings_view_why_bg_mode_body" = "We use it to update the database for any missing day. For example: if you rate Monday and Wednesday you'll see that Tuesday will show on the view as missing, and by tapping that row you can then rate the day that is missing. We need a time to search for and add missing days, we do this nightly and while your device is not being used. It's a quick process and doesn't impact battery life.";
"share_view_all_moods_total_template_title" = "Total Entries: %d";
"share_view_month_moods_total_template_title" = "Total Entries for %@ - %d";
"share_view_current_streak_template_title" = "Last 10 Days";
"share_view_longest_streak_template_title" = "Longest consecutive days I was %@";
/* end not used */