Skip to content

Commit 865880a

Browse files
committed
refac: allow emoji unselect from folder
1 parent 3a6b5eb commit 865880a

2 files changed

Lines changed: 12 additions & 4 deletions

File tree

src/lib/components/chat/Placeholder/FolderTitle.svelte

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,15 @@
7676
const updateIconHandler = async (iconName) => {
7777
const res = await updateFolderById(localStorage.token, folder.id, {
7878
meta: {
79-
icon: iconName
79+
icon: iconName ?? ''
8080
}
8181
}).catch((error) => {
8282
toast.error(`${error}`);
8383
return null;
8484
});
8585
8686
if (res) {
87-
folder.meta = { ...folder.meta, icon: iconName };
87+
folder.meta = { ...folder.meta, icon: iconName ?? '' };
8888
8989
toast.success($i18n.t('Folder updated successfully'));
9090
@@ -167,6 +167,7 @@
167167
<div class="text-center flex gap-3.5 items-center">
168168
<EmojiPicker
169169
onClose={() => {}}
170+
selected={folder?.meta?.icon ?? null}
170171
onSubmit={(name) => {
171172
console.log(name);
172173
updateIconHandler(name);

src/lib/components/common/EmojiPicker.svelte

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
export let side = 'top';
2020
export let align = 'start';
2121
export let user = null;
22+
export let selected = null;
2223
2324
let show = false;
2425
let emojis = emojiShortCodes;
@@ -97,7 +98,11 @@
9798
// Handle emoji selection
9899
function selectEmoji(emoji) {
99100
const selectedCode = emoji.shortCodes[0];
100-
onSubmit(selectedCode);
101+
if (selected === selectedCode) {
102+
onSubmit(null);
103+
} else {
104+
onSubmit(selectedCode);
105+
}
101106
show = false;
102107
}
103108
</script>
@@ -131,6 +136,8 @@
131136
bind:value={search}
132137
/>
133138
</div>
139+
140+
134141
<!-- Virtualized Emoji List -->
135142
<div class="w-full flex justify-start h-96 overflow-y-auto px-3 pb-3 text-sm">
136143
{#if emojiRows.length === 0}
@@ -155,7 +162,7 @@
155162
placement="top"
156163
>
157164
<button
158-
class="p-1.5 rounded-lg cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition"
165+
class="p-1.5 rounded-lg cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700 transition {selected === emojiItem.shortCodes[0] ? 'bg-gray-200 dark:bg-gray-700' : ''}"
159166
on:click={() => selectEmoji(emojiItem)}
160167
>
161168
<img

0 commit comments

Comments
 (0)