mirror of
https://github.com/yattee/yattee.git
synced 2024-11-15 02:28:23 +00:00
33 lines
830 B
Swift
33 lines
830 B
Swift
|
import Foundation
|
||
|
import SwiftUI
|
||
|
|
||
|
final class UnwatchedFeedCountModel: ObservableObject {
|
||
|
static let shared = UnwatchedFeedCountModel()
|
||
|
|
||
|
@Published var unwatched = [Account: Int]()
|
||
|
@Published var unwatchedByChannel = [Account: [Channel.ID: Int]]()
|
||
|
|
||
|
private var accounts = AccountsModel.shared
|
||
|
|
||
|
var unwatchedText: Text? {
|
||
|
if let account = accounts.current,
|
||
|
!account.anonymous,
|
||
|
let count = unwatched[account]
|
||
|
{
|
||
|
return Text(String(count))
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func unwatchedByChannelText(_ channel: Channel) -> Text? {
|
||
|
if let account = accounts.current,
|
||
|
!account.anonymous,
|
||
|
let count = unwatchedByChannel[account]?[channel.id]
|
||
|
{
|
||
|
return Text(String(count))
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
}
|