From 3a9f5566b2d33c3d7c41335cc246c1d250c4705e Mon Sep 17 00:00:00 2001 From: valerio Date: Wed, 11 Mar 2026 22:20:42 +0100 Subject: [PATCH] FEAT: Custom dialog and popup FEAT: Set as Default and Delete --- src/lib/components/Dialog.svelte | 324 ++++++++++++++++++++++++++ src/lib/components/Popup.svelte | 38 +++ src/lib/components/Release.svelte | 18 +- src/lib/components/Settings.svelte | 12 +- src/lib/components/VersionCard.svelte | 53 +++-- src/lib/library.js | 8 - src/routes/+page.svelte | 5 + 7 files changed, 430 insertions(+), 28 deletions(-) create mode 100644 src/lib/components/Dialog.svelte create mode 100644 src/lib/components/Popup.svelte diff --git a/src/lib/components/Dialog.svelte b/src/lib/components/Dialog.svelte new file mode 100644 index 0000000..c45c5e1 --- /dev/null +++ b/src/lib/components/Dialog.svelte @@ -0,0 +1,324 @@ + + + + +{#if currentOpen} + +{/if} + + diff --git a/src/lib/components/Popup.svelte b/src/lib/components/Popup.svelte new file mode 100644 index 0000000..1ae1026 --- /dev/null +++ b/src/lib/components/Popup.svelte @@ -0,0 +1,38 @@ + + +{#if open} + +{/if} + + diff --git a/src/lib/components/Release.svelte b/src/lib/components/Release.svelte index bd495a0..574030f 100644 --- a/src/lib/components/Release.svelte +++ b/src/lib/components/Release.svelte @@ -3,6 +3,7 @@ import Progress from '$lib/components/Progress.svelte'; import { downloadBlenderVersion } from '$lib/download.js'; import { onMount } from 'svelte'; + import Popup from '$lib/components/Popup.svelte'; let { release, installedVersions = [], downloadTasks } = $props(); let linkIndex = $state(0); @@ -10,6 +11,13 @@ let installed = $derived(installedVersions.some((v) => v.version === selectedLink.version)); + async function handleDownload() { + let result = await downloadBlenderVersion(selectedLink); + if (result.success) { + popup?.pop(2000); + } + } + let percent = $derived( downloadTasks.find((task) => task.version === selectedLink.version)?.percent ?? 0 ); @@ -18,8 +26,11 @@ onMount(() => { linkIndex = release.links.length - 1; }); + let popup = $state(); +