From 006e8ca7dc7c3d23d862734a29307b8a1c537e56 Mon Sep 17 00:00:00 2001 From: triesap Date: Tue, 17 Feb 2026 20:36:10 +0000 Subject: [PATCH] Add topics to classifieds --- src/app/components/ClassifiedActions.svelte | 12 +- src/app/components/ClassifiedEdit.svelte | 3 +- src/app/components/ClassifiedForm.svelte | 18 ++- src/app/components/CurrencyInput.svelte | 4 + src/app/components/ProfileMultiSelect.svelte | 13 +- src/app/components/TopicMultiSelect.svelte | 119 +++++++++++++++++++ src/app/components/TopicSuggestion.svelte | 9 ++ src/lib/util.ts | 2 + 8 files changed, 172 insertions(+), 8 deletions(-) create mode 100644 src/app/components/TopicMultiSelect.svelte create mode 100644 src/app/components/TopicSuggestion.svelte diff --git a/src/app/components/ClassifiedActions.svelte b/src/app/components/ClassifiedActions.svelte index e991fd67..d01a0b8a 100644 --- a/src/app/components/ClassifiedActions.svelte +++ b/src/app/components/ClassifiedActions.svelte @@ -1,8 +1,10 @@ diff --git a/src/app/components/ClassifiedForm.svelte b/src/app/components/ClassifiedForm.svelte index 5b72c564..4e9fcbf6 100644 --- a/src/app/components/ClassifiedForm.svelte +++ b/src/app/components/ClassifiedForm.svelte @@ -1,9 +1,10 @@ @@ -150,6 +158,14 @@ {/snippet} + + {#snippet label()} +

Topics

+ {/snippet} + {#snippet input()} + + {/snippet} +
{#snippet label()}

Price*

diff --git a/src/app/components/CurrencyInput.svelte b/src/app/components/CurrencyInput.svelte index 455d0695..646441ed 100644 --- a/src/app/components/CurrencyInput.svelte +++ b/src/app/components/CurrencyInput.svelte @@ -96,6 +96,10 @@ params={{ trigger: "manual", interactive: true, + placement: "bottom", getReferenceClientRect: () => wrapper!.getBoundingClientRect(), + onShow: (instance: Instance) => { + instance.popper.style.width = `${wrapper!.getBoundingClientRect().width + 8}px` + }, }} /> diff --git a/src/app/components/ProfileMultiSelect.svelte b/src/app/components/ProfileMultiSelect.svelte index 87cfd310..e5154bf6 100644 --- a/src/app/components/ProfileMultiSelect.svelte +++ b/src/app/components/ProfileMultiSelect.svelte @@ -62,7 +62,7 @@ } } - let input: Element | undefined = $state() + let label: Element | undefined = $state() let popover: Instance | undefined = $state() let instance: any = $state() @@ -92,7 +92,7 @@ {/each} -