112 lines
3.7 KiB
Swift
112 lines
3.7 KiB
Swift
import Foundation
|
|
import Shared
|
|
|
|
enum AppIcon: String, CaseIterable {
|
|
case Release = "release"
|
|
case Beta = "beta"
|
|
case Dev = "dev"
|
|
case Black = "black"
|
|
case Blue = "blue"
|
|
case CaribbeanGreen = "caribbean-green"
|
|
case CornflowerBlue = "cornflower-blue"
|
|
case Crimson = "crimson"
|
|
case ElectricViolet = "electric-violet"
|
|
case FireOrange = "fire-orange"
|
|
case Green = "green"
|
|
case Classic = "classic"
|
|
case OldBeta = "old-beta"
|
|
case OldDev = "old-dev"
|
|
case OldRelease = "old-release"
|
|
case Orange = "orange"
|
|
case Pink = "pink"
|
|
case Purple = "purple"
|
|
case Red = "red"
|
|
case White = "white"
|
|
case BiPride = "bi_pride"
|
|
case POCPride = "POC_pride"
|
|
case NonBinary = "non-binary"
|
|
case Rainbow = "rainbow"
|
|
case Trans = "trans"
|
|
|
|
var title: String {
|
|
switch self {
|
|
case .Release:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.release
|
|
case .Beta:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.beta
|
|
case .Dev:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.dev
|
|
case .Black:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.black
|
|
case .Blue:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.blue
|
|
case .CaribbeanGreen:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.caribbeanGreen
|
|
case .CornflowerBlue:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.cornflowerBlue
|
|
case .Crimson:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.crimson
|
|
case .ElectricViolet:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.electricViolet
|
|
case .FireOrange:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.fireOrange
|
|
case .Green:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.green
|
|
case .Classic:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.classic
|
|
case .OldBeta:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.oldBeta
|
|
case .OldDev:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.oldDev
|
|
case .OldRelease:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.oldRelease
|
|
case .Orange:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.orange
|
|
case .Pink:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.pink
|
|
case .Purple:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.purple
|
|
case .Red:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.red
|
|
case .White:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.white
|
|
case .BiPride:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.prideBi
|
|
case .POCPride:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.pridePoc
|
|
case .Rainbow:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.prideRainbow
|
|
case .Trans:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.prideTrans
|
|
case .NonBinary:
|
|
return L10n.SettingsDetails.General.AppIcon.Enum.prideNonBinary
|
|
}
|
|
}
|
|
|
|
var darkIcon: String {
|
|
switch self {
|
|
case .Release, .White, .Beta:
|
|
return "icon-dark-mode"
|
|
default:
|
|
return "icon-\(rawValue)"
|
|
}
|
|
}
|
|
|
|
var isDefault: Bool {
|
|
switch Current.appConfiguration {
|
|
case .debug where self == .Dev: return true
|
|
case .beta where self == .Beta: return true
|
|
case .release where self == .Release: return true
|
|
default: return false
|
|
}
|
|
}
|
|
|
|
var iconName: String? {
|
|
if isDefault {
|
|
return nil
|
|
} else {
|
|
return rawValue
|
|
}
|
|
}
|
|
}
|