mirror of
				https://github.com/yattee/yattee.git
				synced 2025-10-31 12:41:57 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			911 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			911 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
 | |
| 
 | |
|     // swiftlint:disable empty_count
 | |
|     var unwatchedText: Text? {
 | |
|         if let account = accounts.current,
 | |
|            !account.anonymous,
 | |
|            let count = unwatched[account],
 | |
|            count > 0
 | |
|         {
 | |
|             return Text(String(count))
 | |
|         }
 | |
| 
 | |
|         return nil
 | |
|     }
 | |
| 
 | |
|     func unwatchedByChannelText(_ channel: Channel) -> Text? {
 | |
|         if let account = accounts.current,
 | |
|            !account.anonymous,
 | |
|            let count = unwatchedByChannel[account]?[channel.id],
 | |
|            count > 0
 | |
|         {
 | |
|             return Text(String(count))
 | |
|         }
 | |
|         return nil
 | |
|     }
 | |
| }
 | 
