2021-07-05 10:07:17 +02:00
|
|
|
//
|
|
|
|
// Theme.swift
|
|
|
|
// Mastodon
|
|
|
|
//
|
|
|
|
// Created by MainasuK Cirno on 2021-7-5.
|
|
|
|
//
|
|
|
|
|
|
|
|
import UIKit
|
|
|
|
|
2021-07-19 11:12:45 +02:00
|
|
|
public protocol Theme {
|
2021-07-20 13:24:24 +02:00
|
|
|
|
2021-07-05 10:07:17 +02:00
|
|
|
var systemBackgroundColor: UIColor { get }
|
|
|
|
var secondarySystemBackgroundColor: UIColor { get }
|
|
|
|
var tertiarySystemBackgroundColor: UIColor { get }
|
|
|
|
|
|
|
|
var systemElevatedBackgroundColor: UIColor { get }
|
|
|
|
|
|
|
|
var systemGroupedBackgroundColor: UIColor { get }
|
|
|
|
var secondarySystemGroupedBackgroundColor: UIColor { get }
|
|
|
|
var tertiarySystemGroupedBackgroundColor: UIColor { get }
|
|
|
|
|
|
|
|
var navigationBarBackgroundColor: UIColor { get }
|
|
|
|
|
|
|
|
var tabBarBackgroundColor: UIColor { get }
|
|
|
|
var tabBarItemSelectedIconColor: UIColor { get }
|
|
|
|
var tabBarItemFocusedIconColor: UIColor { get }
|
|
|
|
var tabBarItemNormalIconColor: UIColor { get }
|
|
|
|
var tabBarItemDisabledIconColor: UIColor { get }
|
|
|
|
|
|
|
|
var separator: UIColor { get }
|
|
|
|
|
|
|
|
var tableViewCellBackgroundColor: UIColor { get }
|
|
|
|
var tableViewCellSelectionBackgroundColor: UIColor { get }
|
|
|
|
|
|
|
|
var contentWarningOverlayBackgroundColor: UIColor { get }
|
|
|
|
var profileFieldCollectionViewBackgroundColor: UIColor { get }
|
2021-07-20 13:24:24 +02:00
|
|
|
var composeToolbarBackgroundColor: UIColor { get }
|
2021-07-05 10:07:17 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2021-07-19 11:12:45 +02:00
|
|
|
public enum ThemeName: String, CaseIterable {
|
2021-07-05 10:07:17 +02:00
|
|
|
case system
|
|
|
|
case mastodon
|
|
|
|
}
|
|
|
|
|
|
|
|
extension ThemeName {
|
2021-07-19 11:12:45 +02:00
|
|
|
public var theme: Theme {
|
2021-07-05 10:07:17 +02:00
|
|
|
switch self {
|
|
|
|
case .system: return SystemTheme()
|
|
|
|
case .mastodon: return MastodonTheme()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|