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/lib/gif-alt-text.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/lib/gif-alt-text.ts (limited to 'src/lib') diff --git a/src/lib/gif-alt-text.ts b/src/lib/gif-alt-text.ts new file mode 100644 index 000000000..41738c506 --- /dev/null +++ b/src/lib/gif-alt-text.ts @@ -0,0 +1,36 @@ +// Kind of a hack. We needed some way to distinguish these. +const USER_ALT_PREFIX = 'Alt: ' +const DEFAULT_ALT_PREFIX = 'ALT: ' + +export function createGIFDescription( + tenorDescription: string, + preferredAlt: string = '', +) { + preferredAlt = preferredAlt.trim() + if (preferredAlt !== '') { + return USER_ALT_PREFIX + preferredAlt + } else { + return DEFAULT_ALT_PREFIX + tenorDescription + } +} + +export function parseAltFromGIFDescription(description: string): { + isPreferred: boolean + alt: string +} { + if (description.startsWith(USER_ALT_PREFIX)) { + return { + isPreferred: true, + alt: description.replace(USER_ALT_PREFIX, ''), + } + } else if (description.startsWith(DEFAULT_ALT_PREFIX)) { + return { + isPreferred: false, + alt: description.replace(DEFAULT_ALT_PREFIX, ''), + } + } + return { + isPreferred: false, + alt: description, + } +} -- cgit 1.4.1