From 2eab18569efe1b42d7bf5b0541a769764e98dc72 Mon Sep 17 00:00:00 2001 From: Ku6epXBOCTuK Date: Sat, 7 Feb 2026 18:23:12 +0500 Subject: [PATCH] feat: implement save all --- src/components/panel/Preview.svelte | 69 ++++++----------- src/components/panel/PreviewAll.svelte | 22 ++++++ src/components/panel/PreviewControls.svelte | 3 + src/components/panel/PreviewManager.svelte | 50 +++++++++++-- src/lib/error.types.ts | 36 +++++++++ src/lib/utils/errorUtils.ts | 26 +++++++ src/services/downloadService.ts | 83 +++++++++++++++++++++ src/states/konvaAllStages.svelte.ts | 3 + src/states/konvaStage.svelte.ts | 16 ++++ 9 files changed, 258 insertions(+), 50 deletions(-) create mode 100644 src/components/panel/PreviewAll.svelte create mode 100644 src/lib/error.types.ts create mode 100644 src/lib/utils/errorUtils.ts create mode 100644 src/services/downloadService.ts create mode 100644 src/states/konvaAllStages.svelte.ts create mode 100644 src/states/konvaStage.svelte.ts diff --git a/src/components/panel/Preview.svelte b/src/components/panel/Preview.svelte index fe9d55b..538f0b8 100644 --- a/src/components/panel/Preview.svelte +++ b/src/components/panel/Preview.svelte @@ -1,60 +1,39 @@ -
- - - - {$inspect(paddingX)} - - - -
- - + + + + + + diff --git a/src/components/panel/PreviewAll.svelte b/src/components/panel/PreviewAll.svelte new file mode 100644 index 0000000..dc3d1ad --- /dev/null +++ b/src/components/panel/PreviewAll.svelte @@ -0,0 +1,22 @@ + + +
+ {#each textsState.texts as { text, id }, idx (id)} + + {:else} +

No texts to preview

+ {/each} +
+ + diff --git a/src/components/panel/PreviewControls.svelte b/src/components/panel/PreviewControls.svelte index 6e4d335..c6ba9b1 100644 --- a/src/components/panel/PreviewControls.svelte +++ b/src/components/panel/PreviewControls.svelte @@ -3,6 +3,7 @@ import IconArrowLeft from "$components/ui/Icons/IconArrowLeft.svelte"; import IconArrowRight from "$components/ui/Icons/IconArrowRight.svelte"; import type { SlideDirectionType } from "$lib/constants"; + import { PANEL_SETTINGS } from "$lib/constants"; interface Props { current: number; @@ -24,6 +25,8 @@ if (current < max - 1) current++; direction = "next"; } + + let xDirection = $derived(direction == "next" ? PANEL_SETTINGS.PANEL_WIDTH : -PANEL_SETTINGS.PANEL_WIDTH);