NetNewsWire/Shared/SmartFeeds/SmartFeedsController.swift

48 lines
1.2 KiB
Swift
Raw Normal View History

//
// SmartFeedsController.swift
2018-08-29 07:18:24 +02:00
// NetNewsWire
//
// Created by Brent Simmons on 12/16/17.
// Copyright © 2017 Ranchero Software. All rights reserved.
//
import Foundation
import Account
import Core
2024-03-24 20:37:55 +01:00
@MainActor final class SmartFeedsController: DisplayNameProvider, ContainerIdentifiable {
let containerID: ContainerIdentifier? = ContainerIdentifier.smartFeedController
public static let shared = SmartFeedsController()
let nameForDisplay = NSLocalizedString("Smart Feeds", comment: "Smart Feeds group title")
2024-03-24 20:37:55 +01:00
let smartFeeds: [SidebarItem]
let todayFeed = SmartFeed(delegate: TodayFeedDelegate())
let unreadFeed = UnreadFeed()
let starredFeed = SmartFeed(delegate: StarredFeedDelegate())
private init() {
self.smartFeeds = [todayFeed, unreadFeed, starredFeed]
}
func find(by identifier: SidebarItemIdentifier) -> PseudoFeed? {
switch identifier {
case .smartFeed(let stringIdentifer):
switch stringIdentifer {
case String(describing: TodayFeedDelegate.self):
return todayFeed
case String(describing: UnreadFeed.self):
return unreadFeed
case String(describing: StarredFeedDelegate.self):
return starredFeed
default:
return nil
}
default:
return nil
}
}
}