diff options
author | Hailey <me@haileyok.com> | 2024-10-25 14:52:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-25 22:52:37 +0100 |
commit | e05b4a910f1108905bfe0837619547282e3eefea (patch) | |
tree | 1a20c61aa02f0b7dd40d6a47d0ba1e558710072f /src/view/com/composer/state/composer.ts | |
parent | d520dd95b9aaba4850645382a71cb38bb2c2d23a (diff) | |
download | voidsky-e05b4a910f1108905bfe0837619547282e3eefea.tar.zst |
Conditionally render labels button when media exists in post (#5942)
* conditionally render button * update labels on remove * tweak
Diffstat (limited to 'src/view/com/composer/state/composer.ts')
-rw-r--r-- | src/view/com/composer/state/composer.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/view/com/composer/state/composer.ts b/src/view/com/composer/state/composer.ts index 049488f3a..3c1edb6bd 100644 --- a/src/view/com/composer/state/composer.ts +++ b/src/view/com/composer/state/composer.ts @@ -158,6 +158,7 @@ export function composerReducer( } case 'embed_remove_image': { const prevMedia = state.embed.media + let nextLabels = state.labels if (prevMedia?.type === 'images') { const removedImage = action.image let nextMedia: ImagesMedia | undefined = { @@ -168,9 +169,13 @@ export function composerReducer( } if (nextMedia.images.length === 0) { nextMedia = undefined + if (!state.embed.link) { + nextLabels = [] + } } return { ...state, + labels: nextLabels, embed: { ...state.embed, media: nextMedia, @@ -220,8 +225,13 @@ export function composerReducer( if (prevMedia?.type === 'video') { nextMedia = undefined } + let nextLabels = state.labels + if (!state.embed.link) { + nextLabels = [] + } return { ...state, + labels: nextLabels, embed: { ...state.embed, media: nextMedia, @@ -258,8 +268,13 @@ export function composerReducer( } } case 'embed_remove_link': { + let nextLabels = state.labels + if (!state.embed.media) { + nextLabels = [] + } return { ...state, + labels: nextLabels, embed: { ...state.embed, link: undefined, |