mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2024-12-22 23:58:36 +01:00
41 lines
760 B
Swift
41 lines
760 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
|
|
import Images
|
|
|
|
protocol SmallIconProvider {
|
|
|
|
@MainActor var smallIcon: IconImage? { get }
|
|
}
|
|
|
|
extension Account: SmallIconProvider {
|
|
var smallIcon: IconImage? {
|
|
let image = AppAsset.Account.image(for: accountType)
|
|
return IconImage(image)
|
|
}
|
|
}
|
|
|
|
extension Feed: SmallIconProvider {
|
|
|
|
@MainActor var smallIcon: IconImage? {
|
|
if let iconImage = FaviconDownloader.shared.favicon(for: self) {
|
|
return iconImage
|
|
}
|
|
return FaviconGenerator.favicon(self)
|
|
}
|
|
}
|
|
|
|
extension Folder: SmallIconProvider {
|
|
var smallIcon: IconImage? {
|
|
AppAsset.folder
|
|
}
|
|
}
|