From 7d72dfb1cb514a9ab8ee2874390c667d49a78e8b Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 7 May 2024 20:05:40 +0100 Subject: [GIFs] Restore default alt text (#3893) * restore default alt text * factor out gif alt logic + enable require alt text setting * rm console.log * don't prefill input + esc handling * typo * Nits * shorten user alt prefix * Remove unnecessary condition, rename for clarity * Add comment --------- Co-authored-by: Dan Abramov --- src/view/com/composer/GifAltText.tsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src/view/com/composer/GifAltText.tsx') diff --git a/src/view/com/composer/GifAltText.tsx b/src/view/com/composer/GifAltText.tsx index 9e41a328f..b049bbcf7 100644 --- a/src/view/com/composer/GifAltText.tsx +++ b/src/view/com/composer/GifAltText.tsx @@ -6,6 +6,7 @@ import {useLingui} from '@lingui/react' import {ExternalEmbedDraft} from '#/lib/api' import {HITSLOP_10, MAX_ALT_TEXT} from '#/lib/constants' +import {parseAltFromGIFDescription} from '#/lib/gif-alt-text' import { EmbedPlayerParams, parseEmbedPlayerFromUrl, @@ -59,6 +60,7 @@ export function GifAltText({ if (!gif || !params) return null + const parsedAlt = parseAltFromGIFDescription(link.description) return ( <> - {link.description ? ( + {parsedAlt.isPreferred ? ( ) : ( @@ -102,7 +104,7 @@ export function GifAltText({ onSubmit={onPressSubmit} link={link} params={params} - initalValue={link.description.replace('Alt text: ', '')} + initialValue={parsedAlt.isPreferred ? parsedAlt.alt : ''} key={link.uri} /> @@ -114,15 +116,16 @@ function AltTextInner({ onSubmit, link, params, - initalValue, + initialValue: initalValue, }: { onSubmit: (text: string) => void link: AppBskyEmbedExternal.ViewExternal params: EmbedPlayerParams - initalValue: string + initialValue: string }) { const {_} = useLingui() const [altText, setAltText] = useState(initalValue) + const control = Dialog.useDialogContext() const onPressSubmit = useCallback(() => { onSubmit(altText) @@ -147,6 +150,11 @@ function AltTextInner({ multiline numberOfLines={3} autoFocus + onKeyPress={({nativeEvent}) => { + if (nativeEvent.key === 'Escape') { + control.close() + } + }} /> -- cgit 1.4.1