diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-05-07 20:05:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-07 20:05:40 +0100 |
commit | 7d72dfb1cb514a9ab8ee2874390c667d49a78e8b (patch) | |
tree | a1ee8e198fe9654b0ca1899e85cf47e2e6397019 /src/lib/gif-alt-text.ts | |
parent | 77e6c75a2ca3c1389965c142e367d8c3b9faff81 (diff) | |
download | voidsky-7d72dfb1cb514a9ab8ee2874390c667d49a78e8b.tar.zst |
[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 <dan.abramov@gmail.com>
Diffstat (limited to 'src/lib/gif-alt-text.ts')
-rw-r--r-- | src/lib/gif-alt-text.ts | 36 |
1 files changed, 36 insertions, 0 deletions
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, + } +} |