Files
Reflect/Shared/Models/PersonalityPackable.swift
2022-02-20 14:33:58 -06:00

92 lines
2.1 KiB
Swift

//
// 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"
]
}
}