diff options
Diffstat (limited to 'src/state/models')
-rw-r--r-- | src/state/models/media/gallery.ts | 4 | ||||
-rw-r--r-- | src/state/models/ui/preferences.ts | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/state/models/media/gallery.ts b/src/state/models/media/gallery.ts index e53e861e2..1b22fadbd 100644 --- a/src/state/models/media/gallery.ts +++ b/src/state/models/media/gallery.ts @@ -23,6 +23,10 @@ export class GalleryModel { return this.images.length } + get needsAltText() { + return this.images.some(image => image.altText.trim() === '') + } + async add(image_: Omit<RNImage, 'size'>) { if (this.size >= 4) { return diff --git a/src/state/models/ui/preferences.ts b/src/state/models/ui/preferences.ts index 28c7c5666..858225a6f 100644 --- a/src/state/models/ui/preferences.ts +++ b/src/state/models/ui/preferences.ts @@ -53,6 +53,7 @@ export class PreferencesModel { homeFeedRepliesThreshold: number = 2 homeFeedRepostsEnabled: boolean = true homeFeedQuotePostsEnabled: boolean = true + requireAltTextEnabled: boolean = false // used to linearize async modifications to state lock = new AwaitLock() @@ -72,6 +73,7 @@ export class PreferencesModel { homeFeedRepliesThreshold: this.homeFeedRepliesThreshold, homeFeedRepostsEnabled: this.homeFeedRepostsEnabled, homeFeedQuotePostsEnabled: this.homeFeedQuotePostsEnabled, + requireAltTextEnabled: this.requireAltTextEnabled, } } @@ -152,6 +154,13 @@ export class PreferencesModel { ) { this.homeFeedQuotePostsEnabled = v.homeFeedQuotePostsEnabled } + // check if requiring alt text is enabled in preferences, then hydrate + if ( + hasProp(v, 'requireAltTextEnabled') && + typeof v.requireAltTextEnabled === 'boolean' + ) { + this.requireAltTextEnabled = v.requireAltTextEnabled + } } } @@ -467,4 +476,8 @@ export class PreferencesModel { toggleHomeFeedQuotePostsEnabled() { this.homeFeedQuotePostsEnabled = !this.homeFeedQuotePostsEnabled } + + toggleRequireAltTextEnabled() { + this.requireAltTextEnabled = !this.requireAltTextEnabled + } } |