feat(session): track user notification settings

Same pattern as language/preferences — Notifications settings page reads
current subscribed state from here.
This commit is contained in:
2026-08-17 21:51:24 +01:00
parent 960919227b
commit c05b787bb7
+4
View File
@@ -17,6 +17,7 @@ final class SessionStore {
var userAvatarURL: URL? var userAvatarURL: URL?
var userLanguage: String? var userLanguage: String?
var userPreferences: OutlineUserPreferences? var userPreferences: OutlineUserPreferences?
var userNotificationSettings: [String: Bool]?
var teamName: String? var teamName: String?
var teamAvatarURL: URL? var teamAvatarURL: URL?
private(set) var apiClient: OutlineAPIClient? private(set) var apiClient: OutlineAPIClient?
@@ -77,6 +78,7 @@ final class SessionStore {
userAvatarURL = nil userAvatarURL = nil
userLanguage = nil userLanguage = nil
userPreferences = nil userPreferences = nil
userNotificationSettings = nil
teamName = nil teamName = nil
teamAvatarURL = nil teamAvatarURL = nil
apiClient = nil apiClient = nil
@@ -101,6 +103,7 @@ final class SessionStore {
userAvatarURL = user.avatarUrl.flatMap { URL(string: $0, relativeTo: serverURL)?.absoluteURL } userAvatarURL = user.avatarUrl.flatMap { URL(string: $0, relativeTo: serverURL)?.absoluteURL }
userLanguage = user.language userLanguage = user.language
userPreferences = user.preferences userPreferences = user.preferences
userNotificationSettings = user.notificationSettings
} }
private func apply(user: OutlineUser, team: OutlineTeam, serverURL: URL) { private func apply(user: OutlineUser, team: OutlineTeam, serverURL: URL) {
@@ -113,6 +116,7 @@ final class SessionStore {
userAvatarURL = user.avatarUrl.flatMap { URL(string: $0, relativeTo: serverURL)?.absoluteURL } userAvatarURL = user.avatarUrl.flatMap { URL(string: $0, relativeTo: serverURL)?.absoluteURL }
userLanguage = user.language userLanguage = user.language
userPreferences = user.preferences userPreferences = user.preferences
userNotificationSettings = user.notificationSettings
teamName = team.name teamName = team.name
teamAvatarURL = team.avatarUrl.flatMap { URL(string: $0, relativeTo: serverURL)?.absoluteURL } teamAvatarURL = team.avatarUrl.flatMap { URL(string: $0, relativeTo: serverURL)?.absoluteURL }
} }