NetNewsWire/iOS/AppAssets.swift

203 lines
4.8 KiB
Swift

//
// AppAssets.swift
// NetNewsWire
//
// Created by Maurice Parker on 4/8/19.
// Copyright © 2019 Ranchero Software. All rights reserved.
//
import UIKit
import RSCore
import Account
struct AppAssets {
static var accountLocalPadImage: UIImage = {
return UIImage(named: "accountLocalPad")!
}()
static var accountLocalPhoneImage: UIImage = {
return UIImage(named: "accountLocalPhone")!
}()
static var accountFeedbinImage: UIImage = {
return UIImage(named: "accountFeedbin")!
}()
static var accountFreshRSSImage: UIImage = {
return UIImage(named: "accountFreshRSS")!
}()
static var articleExtractorError: UIImage = {
return UIImage(named: "articleExtractorError")!
}()
static var articleExtractorOff: UIImage = {
return UIImage(named: "articleExtractorOff")!
}()
static var articleExtractorOffTinted: UIImage = {
let image = UIImage(named: "articleExtractorOff")!
return image.maskWithColor(color: AppAssets.primaryAccentColor.cgColor)!
}()
static var articleExtractorOn: UIImage = {
return UIImage(named: "articleExtractorOn")!
}()
static var articleExtractorOnTinted: UIImage = {
let image = UIImage(named: "articleExtractorOn")!
return image.maskWithColor(color: AppAssets.primaryAccentColor.cgColor)!
}()
static var avatarBackgroundColor: UIColor = {
return UIColor(named: "avatarBackgroundColor")!
}()
static var barBackgroundColor: UIColor = {
return UIColor(named: "barBackgroundColor")!
}()
static var circleClosedImage: UIImage = {
return UIImage(systemName: "largecircle.fill.circle")!
}()
static var circleOpenImage: UIImage = {
return UIImage(systemName: "circle")!
}()
static var chevronSmallImage: UIImage = {
return UIImage(named: "chevronSmall")!
}()
static var chevronBaseImage: UIImage = {
return UIImage(named: "chevronBase")!
}()
static var copyImage: UIImage = {
return UIImage(systemName: "doc.on.doc")!
}()
static var deactivateImage: UIImage = {
UIImage(systemName: "minus.circle")!
}()
static var editImage: UIImage = {
UIImage(systemName: "square.and.pencil")!
}()
static var faviconTemplateImage: RSImage = {
return RSImage(named: "faviconTemplateImage")!
}()
static var fullScreenBackgroundColor: UIColor = {
return UIColor(named: "fullScreenBackgroundColor")!
}()
static var infoImage: UIImage = {
UIImage(systemName: "info.circle")!
}()
static var markAllInFeedAsReadImage: UIImage = {
return UIImage(systemName: "asterisk.circle")!
}()
static var markOlderAsReadDownImage: UIImage = {
return UIImage(systemName: "arrowtriangle.down.circle")!
}()
static var markOlderAsReadUpImage: UIImage = {
return UIImage(systemName: "arrowtriangle.up.circle")!
}()
static var masterFolderImage: UIImage = {
return UIImage(systemName: "folder.fill")!
}()
static var moreImage: UIImage = {
return UIImage(systemName: "ellipsis.circle")!
}()
static var openInSidebarImage: UIImage = {
return UIImage(systemName: "arrow.turn.down.left")!
}()
static var primaryAccentColor: UIColor = {
return UIColor(named: "primaryAccentColor")!
}()
static var safariImage: UIImage = {
return UIImage(systemName: "safari")!
}()
static var searchFeedImage: UIImage = {
return UIImage(systemName: "magnifyingglass")!
}()
static var secondaryAccentColor: UIColor = {
return UIColor(named: "secondaryAccentColor")!
}()
static var shareImage: UIImage = {
return UIImage(systemName: "square.and.arrow.up")!
}()
static var smartFeedImage: UIImage = {
return UIImage(systemName: "gear")!
}()
static var starColor: UIColor = {
return UIColor(named: "starColor")!
}()
static var starClosedImage: UIImage = {
return UIImage(systemName: "star.fill")!
}()
static var starOpenImage: UIImage = {
return UIImage(systemName: "star")!
}()
static var starredFeedImage: UIImage = {
return UIImage(systemName: "star.fill")!
}()
static var timelineStarImage: UIImage = {
let image = UIImage(systemName: "star.fill")!
return image.withTintColor(AppAssets.starColor, renderingMode: .alwaysOriginal)
}()
static var todayFeedImage: UIImage = {
return UIImage(systemName: "sun.max.fill")!
}()
static var trashImage: UIImage = {
return UIImage(systemName: "trash")!
}()
static var unreadFeedImage: UIImage = {
return UIImage(systemName: "largecircle.fill.circle")!
}()
static var vibrantTextColor: UIColor = {
return UIColor(named: "vibrantTextColor")!
}()
static func image(for accountType: AccountType) -> UIImage? {
switch accountType {
case .onMyMac:
if UIDevice.current.userInterfaceIdiom == .pad {
return AppAssets.accountLocalPadImage
} else {
return AppAssets.accountLocalPhoneImage
}
case .feedbin:
return AppAssets.accountFeedbinImage
case .freshRSS:
return AppAssets.accountFreshRSSImage
default:
return nil
}
}
}