diff options
author | Ollie Hsieh <renahlee@outlook.com> | 2023-04-21 14:20:06 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-21 16:20:06 -0500 |
commit | f0706dbe9ffb758d2aa1f75c51cfa0c61cc84482 (patch) | |
tree | 40c644c4c256154660be85c9c583028ebaaedaef /src/state/models/media/image.ts | |
parent | 0f5735b616e3565c1c739e4c8007f4ea4aedba92 (diff) | |
download | voidsky-f0706dbe9ffb758d2aa1f75c51cfa0c61cc84482.tar.zst |
Add alt text support and rework image layout (#503)
* Add alt text support and rework image layout * Add additional BottomSheet implementation to account for nested Composer modal * Use mobile gallery layout on mobile web * Missing key * Fix lint * Move altimage modal into the standard modal system * Fix overflow wrapping of images * Fixes to the alt-image modal * Remove unnecessary switch * Restore old imagelayoutgrid code --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/state/models/media/image.ts')
-rw-r--r-- | src/state/models/media/image.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/state/models/media/image.ts b/src/state/models/media/image.ts index 584bf90cc..3585bb083 100644 --- a/src/state/models/media/image.ts +++ b/src/state/models/media/image.ts @@ -5,6 +5,7 @@ import {makeAutoObservable, runInAction} from 'mobx' import {openCropper} from 'lib/media/picker' import {POST_IMG_MAX} from 'lib/constants' import {scaleDownDimensions} from 'lib/media/util' +import {openAltTextModal} from 'lib/media/alt-text' // TODO: EXIF embed // Cases to consider: ExternalEmbed @@ -14,6 +15,7 @@ export class ImageModel implements RNImage { width: number height: number size: number + altText?: string = undefined cropped?: RNImage = undefined compressed?: RNImage = undefined scaledWidth: number = POST_IMG_MAX.width @@ -41,6 +43,18 @@ export class ImageModel implements RNImage { this.scaledHeight = height } + async setAltText() { + try { + const altText = await openAltTextModal(this.rootStore) + + runInAction(() => { + this.altText = altText + }) + } catch (err) { + this.rootStore.log.error('Failed to set alt text', err) + } + } + async crop() { try { const cropped = await openCropper(this.rootStore, { |