diff options
author | Samuel Newman <mozzius@protonmail.com> | 2024-04-19 03:42:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-19 03:42:26 +0100 |
commit | ba1c4834ab23726c065aff31ef09e3578210ff01 (patch) | |
tree | 7c3335e22daf3b21e2e315d170b0936e0e26b5e6 /src/state/preferences/external-embeds-prefs.tsx | |
parent | 20907381858b61fec61249c6ef836b9696e1ab05 (diff) | |
download | voidsky-ba1c4834ab23726c065aff31ef09e3578210ff01.tar.zst |
Add GIF select to composer (#3600)
* create dialog with flatlist in it * use alf for composer photos/camera/gif buttons * add gif icons * focus textinput on gif dialog close * add giphy API + gif grid * web support * add consent confirmation * track gif select * desktop web consent styles * use InlineLinkText instead of Link * add error/loading state * hide sideborders on web * disable composer buttons where necessary * skip cardyb and set thumbnail directly * switch legacy analytics to statsig * remove autoplay prop * disable photo/gif buttons if external media is present * memoize listmaybeplaceholder * fix pagination * don't set `value` of TextInput, clear via ref * remove console.log * close modal if press escape * pass alt text in the description * Fix typo * Rm dialog --------- Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
Diffstat (limited to 'src/state/preferences/external-embeds-prefs.tsx')
-rw-r--r-- | src/state/preferences/external-embeds-prefs.tsx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/state/preferences/external-embeds-prefs.tsx b/src/state/preferences/external-embeds-prefs.tsx index 0f6385fe8..9ace5d940 100644 --- a/src/state/preferences/external-embeds-prefs.tsx +++ b/src/state/preferences/external-embeds-prefs.tsx @@ -1,9 +1,13 @@ import React from 'react' + import * as persisted from '#/state/persisted' import {EmbedPlayerSource} from 'lib/strings/embed-player' type StateContext = persisted.Schema['externalEmbeds'] -type SetContext = (source: EmbedPlayerSource, value: 'show' | 'hide') => void +type SetContext = ( + source: EmbedPlayerSource, + value: 'show' | 'hide' | undefined, +) => void const stateContext = React.createContext<StateContext>( persisted.defaults.externalEmbeds, @@ -14,7 +18,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { const [state, setState] = React.useState(persisted.get('externalEmbeds')) const setStateWrapped = React.useCallback( - (source: EmbedPlayerSource, value: 'show' | 'hide') => { + (source: EmbedPlayerSource, value: 'show' | 'hide' | undefined) => { setState(prev => { persisted.write('externalEmbeds', { ...prev, |