mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2024-12-24 00:30:51 +01:00
42 lines
766 B
Swift
42 lines
766 B
Swift
//
|
|
// SmallIconProvider.swift
|
|
// NetNewsWire
|
|
//
|
|
// Created by Brent Simmons on 12/16/17.
|
|
// Copyright © 2017 Ranchero Software. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import Articles
|
|
import Account
|
|
|
|
protocol SmallIconProvider {
|
|
|
|
@MainActor var smallIcon: IconImage? { get }
|
|
}
|
|
|
|
extension Account: SmallIconProvider {
|
|
var smallIcon: IconImage? {
|
|
if let image = AppAssets.image(for: type) {
|
|
return IconImage(image)
|
|
}
|
|
return nil
|
|
}
|
|
}
|
|
|
|
extension Feed: SmallIconProvider {
|
|
|
|
@MainActor var smallIcon: IconImage? {
|
|
if let iconImage = appDelegate.faviconDownloader.favicon(for: self) {
|
|
return iconImage
|
|
}
|
|
return FaviconGenerator.favicon(self)
|
|
}
|
|
}
|
|
|
|
extension Folder: SmallIconProvider {
|
|
var smallIcon: IconImage? {
|
|
AppAssets.folderImage
|
|
}
|
|
}
|