Continue convert AppAssets to AppAsset.

This commit is contained in:
Brent Simmons 2024-09-30 22:32:43 -07:00
parent 2ae6eaba9f
commit 6fbf8207ff
6 changed files with 65 additions and 57 deletions

View File

@ -14,26 +14,6 @@ import Images
extension AppAsset {
struct Mac {
static let iconLightBackgroundColor = NSColor(named: "iconLightBackgroundColor")!
static let iconDarkBackgroundColor = NSColor(named: "iconDarkBackgroundColor")!
static let marsEditIcon = RSImage.appImage("MarsEditIcon")
static let microblogIcon = RSImage.appImage("MicroblogIcon")
struct Toolbar {
static let addNewSidebarItem = RSImage.systemImage("plus")
static let sidebarToggle = RSImage.systemImage("sidebar.left")
static let refresh = RSImage.systemImage("arrow.clockwise")
static let articleTheme = RSImage.systemImage("doc.richtext")
static let cleanUpImage = RSImage.systemImage("wind")
static let nextUnread = RSImage.systemImage("chevron.down.circle")
static let openInBrowser = RSImage.systemImage("safari")
static let readClosed = RSImage.systemImage("largecircle.fill.circle")
static let readOpen = RSImage.systemImage("circle")
static let share = AppAsset.shareImage
}
struct PreferencesToolbar {
static let accounts = RSImage.systemImage("at")
static let general = RSImage.systemImage("gearshape")

View File

@ -54,8 +54,8 @@ final class IconView: NSView {
return imageView.frame.size.height < bounds.size.height
}
private static var lightBackgroundColor = AppAsset.Mac.iconLightBackgroundColor
private static var darkBackgroundColor = AppAsset.Mac.iconDarkBackgroundColor
private static var lightBackgroundColor = AppAsset.iconLightBackgroundColor
private static var darkBackgroundColor = AppAsset.iconDarkBackgroundColor
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)

View File

@ -796,15 +796,15 @@ extension MainWindowController: NSToolbarDelegate {
case .sidebarToggle:
let title = NSLocalizedString("Toggle Sidebar", comment: "Toggle Sidebar")
return buildToolbarButton(.toggleSidebar, title, AppAsset.Mac.Toolbar.sidebarToggle, "toggleTheSidebar:")
return buildToolbarButton(.toggleSidebar, title, AppAsset.toolbarSidebarToggleImage, "toggleTheSidebar:")
case .refresh:
let title = NSLocalizedString("Refresh", comment: "Refresh")
return buildToolbarButton(.refresh, title, AppAsset.Mac.Toolbar.refresh, "refreshAll:")
return buildToolbarButton(.refresh, title, AppAsset.toolbarRefreshImage, "refreshAll:")
case .newSidebarItemMenu:
let toolbarItem = NSMenuToolbarItem(itemIdentifier: .newSidebarItemMenu)
toolbarItem.image = AppAsset.Mac.Toolbar.addNewSidebarItem
toolbarItem.image = AppAsset.toolbarAddNewSidebarItemImage
let description = NSLocalizedString("Add Item", comment: "Add Item")
toolbarItem.toolTip = description
toolbarItem.label = description
@ -824,7 +824,7 @@ extension MainWindowController: NSToolbarDelegate {
case .markRead:
let title = NSLocalizedString("Mark Read", comment: "Mark Read")
return buildToolbarButton(.markRead, title, AppAsset.Mac.Toolbar.readClosed, "toggleRead:")
return buildToolbarButton(.markRead, title, AppAsset.toolbarReadClosedImage, "toggleRead:")
case .markStar:
let title = NSLocalizedString("Star", comment: "Star")
@ -832,7 +832,7 @@ extension MainWindowController: NSToolbarDelegate {
case .nextUnread:
let title = NSLocalizedString("Next Unread", comment: "Next Unread")
return buildToolbarButton(.nextUnread, title, AppAsset.Mac.Toolbar.nextUnread, "nextUnread:")
return buildToolbarButton(.nextUnread, title, AppAsset.toolbarNextUnreadImage, "nextUnread:")
case .readerView:
let toolbarItem = RSToolbarItem(itemIdentifier: .readerView)
@ -847,14 +847,14 @@ extension MainWindowController: NSToolbarDelegate {
case .share:
let title = NSLocalizedString("Share", comment: "Share")
return buildToolbarButton(.share, title, AppAsset.Mac.Toolbar.share, "toolbarShowShareMenu:")
return buildToolbarButton(.share, title, AppAsset.toolbarShareImage, "toolbarShowShareMenu:")
case .openInBrowser:
let title = NSLocalizedString("Open in Browser", comment: "Open in Browser")
return buildToolbarButton(.openInBrowser, title, AppAsset.Mac.Toolbar.openInBrowser, "openArticleInBrowser:")
return buildToolbarButton(.openInBrowser, title, AppAsset.toolbarOpenInBrowserImage, "openArticleInBrowser:")
case .articleThemeMenu:
articleThemeMenuToolbarItem.image = AppAsset.Mac.Toolbar.articleTheme
articleThemeMenuToolbarItem.image = AppAsset.toolbarArticleThemeImage
let description = NSLocalizedString("Article Theme", comment: "Article Theme")
articleThemeMenuToolbarItem.toolTip = description
articleThemeMenuToolbarItem.label = description
@ -869,7 +869,7 @@ extension MainWindowController: NSToolbarDelegate {
case .cleanUp:
let title = NSLocalizedString("Clean Up", comment: "Clean Up")
return buildToolbarButton(.cleanUp, title, AppAsset.Mac.Toolbar.cleanUpImage, "cleanUp:")
return buildToolbarButton(.cleanUp, title, AppAsset.toolbarCleanUpImage, "cleanUp:")
default:
break
@ -1079,7 +1079,7 @@ private extension MainWindowController {
}
if let toolbarItem = item as? NSToolbarItem, let button = toolbarItem.view as? NSButton {
button.image = markingRead ? AppAsset.Mac.Toolbar.readClosed : AppAsset.Mac.Toolbar.readOpen
button.image = markingRead ? AppAsset.toolbarReadClosedImage : AppAsset.toolbarReadOpenImage
}
return result

View File

@ -26,32 +26,44 @@ final class AppAsset {
@MainActor static let folderIcon: IconImage = {
#if os(macOS)
#if os(macOS)
let image = RSImage.systemImage("folder")
let preferredColor = NSColor(named: "AccentColor")!
let coloredImage = image.tinted(with: preferredColor)
return IconImage(coloredImage, isSymbol: true, isBackgroundSupressed: true, preferredColor: preferredColor.cgColor)
#else
#else
let image = RSImage.systemImage("folder.fill")
let preferredColor = AppAssets.secondaryAccentColor
return IconImage(image, isSymbol: true, isBackgroundSupressed: true, preferredColor: preferredColor.cgColor)
#endif
#endif
}()
@MainActor static let searchFeedImage: IconImage = {
#if os(macOS)
IconImage(NSImage(named: NSImage.smartBadgeTemplateName)!, isSymbol: true, isBackgroundSupressed: true)
#else
IconImage(UIImage(systemName: "magnifyingglass")!, isSymbol: true)
#endif
}()
// MARK: - Account
// MARK: - ArticleExtractor
static let articleExtractorErrorImage = RSImage.appImage("articleExtractorError")
static let articleExtractorOffImage = RSImage.appImage("articleExtractorOff")
static let articleExtractorOffSFImage = RSImage.systemImage("doc.plaintext")
static let articleExtractorOnImage = RSImage.appImage("articleExtractorOn")
static let articleExtractorOnSFImage = RSImage.appImage("articleExtractorOnSF")
// MARK: - Filter icon
static let filterActiveImage = RSImage.systemImage("line.horizontal.3.decrease.circle.fill")
static let filterInactiveImage = RSImage.systemImage("line.horizontal.3.decrease.circle")
}
// MARK: - Account
extension AppAsset {
static let bazQuxImage = RSImage.appImage("accountBazQux")
static let cloudKitImage = RSImage.appImage("accountCloudKit")
@ -72,14 +84,12 @@ final class AppAsset {
#if os(macOS)
return AppAsset.localAccountMacImage
#elseif os(iOS)
if UIDevice.current.userInterfaceIdiom == .pad {
return AppAsset.localAccountPadImage
} else {
return AppAsset.localAccountPhoneImage
}
#endif
case .cloudKit:
@ -100,17 +110,35 @@ final class AppAsset {
return AppAsset.theOldReaderImage
}
}
// MARK: - ArticleExtractor
static let articleExtractorErrorImage = RSImage.appImage("articleExtractorError")
static let articleExtractorOffImage = RSImage.appImage("articleExtractorOff")
static let articleExtractorOffSFImage = RSImage.systemImage("doc.plaintext")
static let articleExtractorOnImage = RSImage.appImage("articleExtractorOn")
static let articleExtractorOnSFImage = RSImage.appImage("articleExtractorOnSF")
// MARK: - Filter icon
static let filterActiveImage = RSImage.systemImage("line.horizontal.3.decrease.circle.fill")
static let filterInactiveImage = RSImage.systemImage("line.horizontal.3.decrease.circle")
}
#if os(macOS)
// MARK: - Mac
extension AppAsset {
static let iconLightBackgroundColor = NSColor(named: "iconLightBackgroundColor")!
static let iconDarkBackgroundColor = NSColor(named: "iconDarkBackgroundColor")!
// MARK: - Mac Share Menu
static let marsEditImage = RSImage.appImage("MarsEditIcon")
static let microblogImage = RSImage.appImage("MicroblogIcon")
// MARK: - Mac Toolbar
static let toolbarAddNewSidebarItemImage = RSImage.systemImage("plus")
static let toolbarSidebarToggleImage = RSImage.systemImage("sidebar.left")
static let toolbarRefreshImage = RSImage.systemImage("arrow.clockwise")
static let toolbarArticleThemeImage = RSImage.systemImage("doc.richtext")
static let toolbarCleanUpImage = RSImage.systemImage("wind")
static let toolbarNextUnreadImage = RSImage.systemImage("chevron.down.circle")
static let toolbarOpenInBrowserImage = RSImage.systemImage("safari")
static let toolbarReadClosedImage = RSImage.systemImage("largecircle.fill.circle")
static let toolbarReadOpenImage = RSImage.systemImage("circle")
static let toolbarShareImage = AppAsset.shareImage
}
#endif

View File

@ -14,7 +14,7 @@ import Core
@MainActor final class SendToMarsEditCommand: SendToCommand {
let title = "MarsEdit"
let image: RSImage? = AppAsset.Mac.marsEditIcon
let image: RSImage? = AppAsset.marsEditImage
private let marsEditApps = [UserApp(bundleID: "com.red-sweater.marsedit4"), UserApp(bundleID: "com.red-sweater.marsedit")]

View File

@ -16,7 +16,7 @@ import Core
@MainActor final class SendToMicroBlogCommand: SendToCommand {
let title = "Micro.blog"
let image: RSImage? = AppAsset.Mac.microblogIcon
let image: RSImage? = AppAsset.microblogImage
private let microBlogApp = UserApp(bundleID: "blog.micro.mac")