From 2dbdd18483a6cfbda7c965e8f7b4df89d39d5432 Mon Sep 17 00:00:00 2001 From: David Hill Date: Mon, 19 Jan 2026 17:01:56 +0000 Subject: add hover overlay with upload/trash icons to project icon in edit dialog --- .../app/src/components/dialog-edit-project.tsx | 65 +++++++++++++++++----- 1 file changed, 52 insertions(+), 13 deletions(-) (limited to 'packages/app/src') diff --git a/packages/app/src/components/dialog-edit-project.tsx b/packages/app/src/components/dialog-edit-project.tsx index f6e07df60..091f00702 100644 --- a/packages/app/src/components/dialog-edit-project.tsx +++ b/packages/app/src/components/dialog-edit-project.tsx @@ -27,11 +27,15 @@ export function DialogEditProject(props: { project: LocalProject }) { }) const [dragOver, setDragOver] = createSignal(false) + const [iconHover, setIconHover] = createSignal(false) function handleFileSelect(file: File) { if (!file.type.startsWith("image/")) return const reader = new FileReader() - reader.onload = (e) => setStore("iconUrl", e.target?.result as string) + reader.onload = (e) => { + setStore("iconUrl", e.target?.result as string) + setIconHover(false) + } reader.readAsDataURL(file) } @@ -92,9 +96,9 @@ export function DialogEditProject(props: { project: LocalProject }) {
-
+
setIconHover(true)} onMouseLeave={() => setIconHover(false)}>
document.getElementById("icon-upload")?.click()} + onClick={() => { + if (store.iconUrl && iconHover()) { + clearIcon() + } else { + document.getElementById("icon-upload")?.click() + } + }} >
- - - +
+ +
+
+ +
-- cgit v1.2.3