Load previous state in alt text modal (#546)

zio/stable
Ollie Hsieh 2023-04-27 07:51:47 -07:00 committed by GitHub
parent c8e51a7d48
commit 7a2c21026d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 5 deletions

View File

@ -1,9 +1,13 @@
import {RootStoreModel} from 'state/index'
export async function openAltTextModal(store: RootStoreModel): Promise<string> {
export async function openAltTextModal(
store: RootStoreModel,
prevAltText: string,
): Promise<string> {
return new Promise((resolve, reject) => {
store.shell.openModal({
name: 'alt-text-image',
prevAltText,
onAltTextSet: (altText?: string) => {
if (altText) {
resolve(altText)

View File

@ -15,7 +15,7 @@ export class ImageModel implements RNImage {
width: number
height: number
size: number
altText?: string = undefined
altText = ''
cropped?: RNImage = undefined
compressed?: RNImage = undefined
scaledWidth: number = POST_IMG_MAX.width
@ -45,7 +45,7 @@ export class ImageModel implements RNImage {
async setAltText() {
try {
const altText = await openAltTextModal(this.rootStore)
const altText = await openAltTextModal(this.rootStore, this.altText)
runInAction(() => {
this.altText = altText

View File

@ -43,6 +43,7 @@ export interface CropImageModal {
export interface AltTextImageModal {
name: 'alt-text-image'
prevAltText: string
onAltTextSet: (altText?: string) => void
}

View File

@ -15,14 +15,15 @@ import {isDesktopWeb} from 'platform/detection'
export const snapPoints = ['80%']
interface Props {
prevAltText: string
onAltTextSet: (altText?: string | undefined) => void
}
export function Component({onAltTextSet}: Props) {
export function Component({prevAltText, onAltTextSet}: Props) {
const pal = usePalette('default')
const store = useStores()
const theme = useTheme()
const [altText, setAltText] = useState('')
const [altText, setAltText] = useState(prevAltText)
const onPressSave = useCallback(() => {
onAltTextSet(altText)