mirror of
https://github.com/yattee/yattee.git
synced 2026-02-20 01:39:46 +00:00
Yattee v2 rewrite
This commit is contained in:
47
Yattee/Data/DataManagerNotifications.swift
Normal file
47
Yattee/Data/DataManagerNotifications.swift
Normal file
@@ -0,0 +1,47 @@
|
||||
//
|
||||
// DataManagerNotifications.swift
|
||||
// Yattee
|
||||
//
|
||||
// Notification definitions for data changes.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
// MARK: - Notification Names
|
||||
|
||||
extension Notification.Name {
|
||||
/// Posted when subscriptions are modified (subscribe or unsubscribe).
|
||||
static let subscriptionsDidChange = Notification.Name("subscriptionsDidChange")
|
||||
/// Posted when bookmarks are modified (add or remove).
|
||||
static let bookmarksDidChange = Notification.Name("bookmarksDidChange")
|
||||
/// Posted when watch history is modified (add, update, or remove).
|
||||
static let watchHistoryDidChange = Notification.Name("watchHistoryDidChange")
|
||||
/// Posted when playlists are modified (create, update, or delete).
|
||||
static let playlistsDidChange = Notification.Name("playlistsDidChange")
|
||||
/// Posted when media sources are modified (add, update, or delete).
|
||||
static let mediaSourcesDidChange = Notification.Name("mediaSourcesDidChange")
|
||||
/// Posted when search history is modified (add or delete).
|
||||
static let searchHistoryDidChange = Notification.Name("searchHistoryDidChange")
|
||||
/// Posted when recent channels are modified (add or delete).
|
||||
static let recentChannelsDidChange = Notification.Name("recentChannelsDidChange")
|
||||
/// Posted when recent playlists are modified (add or delete).
|
||||
static let recentPlaylistsDidChange = Notification.Name("recentPlaylistsDidChange")
|
||||
/// Posted when video details (likes, views, etc.) are loaded or updated.
|
||||
static let videoDetailsDidLoad = Notification.Name("videoDetailsDidLoad")
|
||||
/// Posted when sidebar settings (max channels, sort order, etc.) are modified.
|
||||
static let sidebarSettingsDidChange = Notification.Name("sidebarSettingsDidChange")
|
||||
}
|
||||
|
||||
// MARK: - Subscription Change
|
||||
|
||||
/// Describes what changed in subscriptions for incremental feed updates.
|
||||
struct SubscriptionChange {
|
||||
let addedSubscriptions: [Subscription]
|
||||
let removedChannelIDs: [String]
|
||||
|
||||
static let userInfoKey = "subscriptionChange"
|
||||
|
||||
var isEmpty: Bool {
|
||||
addedSubscriptions.isEmpty && removedChannelIDs.isEmpty
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user