// // NotificationTitles.swift // Feels (iOS) // // Created by Trey Tartt on 2/19/22. // import Foundation protocol PersonalityPackable { static var notificationTitlesToday: [String] { get } static var notificationTitlesYesterday: [String] { get } static var notificationTitlesTwoDaysAgo: [String] { get } static var title: String { get } } enum PersonalityPack: Int, CaseIterable { case Default case Rude func randomPushNotificationTitle() -> String { switch self { case .Default: return DefaultTitles.notificationTitlesToday.randomElement()! case .Rude: return RudeTitles.notificationTitlesToday.randomElement()! } } func title() -> String { switch self { case .Default: return DefaultTitles.title case .Rude: return RudeTitles.title } } } final class DefaultTitles: PersonalityPackable { static var title = "Nice" static var notificationTitlesToday: [String] { [ "How was your day", "Don't forget to rate your day", "Please rate your day" ] } static var notificationTitlesYesterday: [String] { [ "How was your day", "Don't forget to rate your day" ] } static var notificationTitlesTwoDaysAgo: [String] { [ "How was your day", "Don't forget to rate your day" ] } } final class RudeTitles: PersonalityPackable { static var title = "Rude" static var notificationTitlesToday: [String] { [ "How the fuck was your day", "Hey asshat, tell me how your day was", "Hey, lazy dickbag, rate your day" ] } static var notificationTitlesYesterday: [String] { [ "How was your day", "Don't forget to rate your day" ] } static var notificationTitlesTwoDaysAgo: [String] { [ "How was your day", "Don't forget to rate your day" ] } }