change: hiding timeline media has three options

This commit is contained in:
Mauro Romito
2025-04-09 17:03:47 +02:00
committed by Mauro
parent 3a51db4400
commit eb98606201
5 changed files with 56 additions and 10 deletions

View File

@@ -18,7 +18,7 @@ protocol CommonSettingsProtocol {
var traceLogPacks: Set<TraceLogPack> { get }
var enableOnlySignedDeviceIsolationMode: Bool { get }
var hideInviteAvatars: Bool { get }
var hideTimelineMedia: Bool { get }
var timelineMediaVisibility: TimelineMediaVisibility { get }
}
/// Store Element specific app settings.
@@ -47,7 +47,7 @@ final class AppSettings {
case sharePresence
case hideUnreadMessagesBadge
case hideInviteAvatars
case hideTimelineMedia
case timelineMediaVisibility
case elementCallBaseURLOverride
@@ -353,8 +353,14 @@ final class AppSettings {
@UserPreference(key: UserDefaultsKeys.hideInviteAvatars, defaultValue: false, storageType: .userDefaults(store))
var hideInviteAvatars
@UserPreference(key: UserDefaultsKeys.hideTimelineMedia, defaultValue: false, storageType: .userDefaults(store))
var hideTimelineMedia
@UserPreference(key: UserDefaultsKeys.timelineMediaVisibility, defaultValue: TimelineMediaVisibility.always, storageType: .userDefaults(store))
var timelineMediaVisibility
}
extension AppSettings: CommonSettingsProtocol { }
enum TimelineMediaVisibility: Codable {
case always
case privateOnly
case never
}