From 4b7c64cbc637ed025a97b476a6b1b9ed8fab6e95 Mon Sep 17 00:00:00 2001 From: Trey t Date: Sat, 26 Feb 2022 13:19:19 -0600 Subject: [PATCH] closed #90 --- Shared/LocalNotification.swift | 7 ++- Shared/Models/PersonalityPackable.swift | 46 +++++++++++++------ .../views/CustomizeView/CustomizeView.swift | 7 +-- 3 files changed, 40 insertions(+), 20 deletions(-) diff --git a/Shared/LocalNotification.swift b/Shared/LocalNotification.swift index 86a6536..2f47bf7 100644 --- a/Shared/LocalNotification.swift +++ b/Shared/LocalNotification.swift @@ -45,7 +45,9 @@ class LocalNotification { let _ = LocalNotification.createNotificationCategory() let notificationContent = UNMutableNotificationContent() - notificationContent.title = UserDefaultsStore.personalityPackable().randomPushNotificationTitle() + let strings = UserDefaultsStore.personalityPackable().randomPushNotificationStrings() + notificationContent.title = strings.title + notificationContent.body = strings.body notificationContent.badge = NSNumber(value: 1) notificationContent.sound = .default @@ -65,7 +67,8 @@ class LocalNotification { print(theError.localizedDescription) } } - case .failure(_): + case .failure(let error): + print(error) // Todo: show enable this break } diff --git a/Shared/Models/PersonalityPackable.swift b/Shared/Models/PersonalityPackable.swift index 193b9c1..9502438 100644 --- a/Shared/Models/PersonalityPackable.swift +++ b/Shared/Models/PersonalityPackable.swift @@ -8,9 +8,10 @@ import Foundation protocol PersonalityPackable { - static var notificationTitlesToday: [String] { get } - static var notificationTitlesYesterday: [String] { get } - static var notificationTitlesTwoDaysAgo: [String] { get } + static var notificationTitles: [String] { get } + static var notificationBodyToday: [String] { get } + static var notificationBodyYesterday: [String] { get } + static var notificationBodyTwoDaysAgo: [String] { get } static var title: String { get } } @@ -19,12 +20,12 @@ enum PersonalityPack: Int, CaseIterable { case Default case Rude - func randomPushNotificationTitle() -> String { + func randomPushNotificationStrings() -> (title: String, body: String) { switch self { case .Default: - return DefaultTitles.notificationTitlesToday.randomElement()! + return (DefaultTitles.notificationTitles.randomElement()!, DefaultTitles.notificationBodyToday.randomElement()!) case .Rude: - return RudeTitles.notificationTitlesToday.randomElement()! + return (RudeTitles.notificationTitles.randomElement()!, RudeTitles.notificationBodyToday.randomElement()!) } } @@ -41,7 +42,7 @@ enum PersonalityPack: Int, CaseIterable { final class DefaultTitles: PersonalityPackable { static var title = "Nice" - static var notificationTitlesToday: [String] { + static var notificationTitles: [String] { [ "How was your day", "Don't forget to rate your day", @@ -49,14 +50,22 @@ final class DefaultTitles: PersonalityPackable { ] } - static var notificationTitlesYesterday: [String] { + static var notificationBodyToday: [String] { + [ + "How was your day", + "Don't forget to rate your day", + "Please rate your day" + ] + } + + static var notificationBodyYesterday: [String] { [ "How was your day", "Don't forget to rate your day" ] } - static var notificationTitlesTwoDaysAgo: [String] { + static var notificationBodyTwoDaysAgo: [String] { [ "How was your day", "Don't forget to rate your day" @@ -67,22 +76,29 @@ final class DefaultTitles: PersonalityPackable { final class RudeTitles: PersonalityPackable { static var title = "Rude" - static var notificationTitlesToday: [String] { + static var notificationTitles: [String] { [ - "How the fuck was your day", - "Hey asshat, tell me how your day was", - "Hey, lazy dickbag, rate your day" + "Hey asshat", + "Hey lazy dickbag, " ] } - static var notificationTitlesYesterday: [String] { + static var notificationBodyToday: [String] { + [ + "How the fuck was your day", + "tell me how your day was", + "rate your day" + ] + } + + static var notificationBodyYesterday: [String] { [ "How was your day", "Don't forget to rate your day" ] } - static var notificationTitlesTwoDaysAgo: [String] { + static var notificationBodyTwoDaysAgo: [String] { [ "How was your day", "Don't forget to rate your day" diff --git a/Shared/views/CustomizeView/CustomizeView.swift b/Shared/views/CustomizeView/CustomizeView.swift index 4781a0e..7bcb65b 100644 --- a/Shared/views/CustomizeView/CustomizeView.swift +++ b/Shared/views/CustomizeView/CustomizeView.swift @@ -267,8 +267,10 @@ struct CustomizeView: View { .font(.body) .foregroundColor(theme.currentTheme.labelColor) - - Text(aPack.randomPushNotificationTitle()) + Text(aPack.randomPushNotificationStrings().title) + .font(.body) + .foregroundColor(Color(UIColor.systemGray)) + Text(aPack.randomPushNotificationStrings().body) .font(.body) .foregroundColor(Color(UIColor.systemGray)) } @@ -279,7 +281,6 @@ struct CustomizeView: View { RoundedRectangle(cornerRadius: 10, style: .continuous) .fill(personalityPack == aPack ? theme.currentTheme.bgColor : .clear) .padding(5) - ) .onTapGesture { let impactMed = UIImpactFeedbackGenerator(style: .heavy)