From ca1ecdf84811c58e4dff372fab42e64ab1791f06 Mon Sep 17 00:00:00 2001 From: Meier Lukas Date: Sun, 4 Aug 2024 21:20:21 +0200 Subject: [PATCH] feat: add preview to icon picker (#914) --- apps/nextjs/src/components/icons/picker/icon-picker.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/nextjs/src/components/icons/picker/icon-picker.tsx b/apps/nextjs/src/components/icons/picker/icon-picker.tsx index ae11cd00a..51143cd01 100644 --- a/apps/nextjs/src/components/icons/picker/icon-picker.tsx +++ b/apps/nextjs/src/components/icons/picker/icon-picker.tsx @@ -16,6 +16,7 @@ interface IconPickerProps { export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: IconPickerProps) => { const [value, setValue] = useState(initialValue ?? ""); const [search, setSearch] = useState(initialValue ?? ""); + const [previewUrl, setPreviewUrl] = useState(initialValue ?? null); const t = useScopedI18n("common"); @@ -52,6 +53,7 @@ export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: I { setValue(value); + setPreviewUrl(value); setSearch(value); onChange(value); combobox.closeDropdown(); @@ -62,12 +64,15 @@ export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: I } + // eslint-disable-next-line @next/next/no-img-element + leftSection={previewUrl ? : null} value={search} onChange={(event) => { combobox.openDropdown(); combobox.updateSelectedOptionIndex(); setSearch(event.currentTarget.value); setValue(event.currentTarget.value); + setPreviewUrl(null); onChange(event.currentTarget.value); }} onClick={() => combobox.openDropdown()} @@ -78,6 +83,7 @@ export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: I onBlur={(event) => { onBlur?.(event); combobox.closeDropdown(); + setPreviewUrl(value); setSearch(value || ""); }} rightSectionPointerEvents="none"