diff --git a/web/src/lib/components/collections/EditCollectionModal.svelte b/web/src/lib/components/collections/EditCollectionModal.svelte index c0ccda0f..34d3b014 100644 --- a/web/src/lib/components/collections/EditCollectionModal.svelte +++ b/web/src/lib/components/collections/EditCollectionModal.svelte @@ -3,6 +3,7 @@ import type { Collection, CollectionUpdate, CollectionSettings, FieldDef, FieldMigration, QuickAction } from '$lib/types'; import { parseSchema, parseSettings } from '$lib/types'; import EmojiPicker from '$lib/components/common/EmojiPicker.svelte'; + import EmojiPickerButton from '$lib/components/common/EmojiPickerButton.svelte'; import { toastStore } from '$lib/stores/toast.svelte'; interface Props { @@ -602,14 +603,7 @@ {#each itemActions as { action, index } (index)}
- +
- + + import EmojiPicker from '$lib/components/common/EmojiPicker.svelte'; + + interface Props { + value: string; + placeholder?: string; + size?: 'sm' | 'md'; + } + + let { value = $bindable(), placeholder = '⚡', size = 'sm' }: Props = $props(); + + let open = $state(false); + + function handleWindowClick(e: MouseEvent) { + if (open && !(e.target as HTMLElement)?.closest('.emoji-picker-button')) { + open = false; + } + } + + function handleSelect(emoji: string) { + value = emoji; + open = false; + } + + + + +
+ + + {#if open} + + {/if} +
+ + diff --git a/web/src/routes/[workspace]/roles/+page.svelte b/web/src/routes/[workspace]/roles/+page.svelte index 5b2156f6..111cc5a9 100644 --- a/web/src/routes/[workspace]/roles/+page.svelte +++ b/web/src/routes/[workspace]/roles/+page.svelte @@ -8,6 +8,7 @@ import { itemUrlId } from '$lib/types'; import type { Item, Collection, RoleBoardLane, AgentRole } from '$lib/types'; import ItemCard from '$lib/components/collections/ItemCard.svelte'; + import EmojiPickerButton from '$lib/components/common/EmojiPickerButton.svelte'; import { dndzone, TRIGGERS, SHADOW_ITEM_MARKER_PROPERTY_NAME } from 'svelte-dnd-action'; import type { DndEvent } from 'svelte-dnd-action'; @@ -449,7 +450,7 @@
- +