From 1fde3708906cc8c7951e0f56844745b7139bf9ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Kr=C4=8Dek?= Date: Tue, 29 Jul 2025 15:56:42 +0200 Subject: [PATCH] Rework generation page and settings --- src/fontkit.d.ts | 1 + src/lib/components/wizard/StepGenerate.svelte | 1042 +++++++++-------- .../wizard/subcomponents/PhotoCard.svelte | 6 +- src/lib/pdfLayout.ts | 202 ++-- src/lib/pdfSettings.ts | 96 ++ 5 files changed, 711 insertions(+), 636 deletions(-) create mode 100644 src/fontkit.d.ts create mode 100644 src/lib/pdfSettings.ts diff --git a/src/fontkit.d.ts b/src/fontkit.d.ts new file mode 100644 index 0000000..04e531f --- /dev/null +++ b/src/fontkit.d.ts @@ -0,0 +1 @@ +declare module 'fontkit'; diff --git a/src/lib/components/wizard/StepGenerate.svelte b/src/lib/components/wizard/StepGenerate.svelte index cffde98..82ddfdf 100644 --- a/src/lib/components/wizard/StepGenerate.svelte +++ b/src/lib/components/wizard/StepGenerate.svelte @@ -1,523 +1,561 @@
-
-
-

- Generate PDFs -

- -

- Create two PDF documents: one with text data and one with photos. -

-
+
+
+

+ Generating PDFs +

+ +

+ Create two PDF documents: one with text data and one with photos. +

+
- -
-

Generation Summary

- -
-
-
- {$filteredSheetData.filter(row => row._isValid).length} -
-
Records to Process
-
- -
-
2
-
PDFs to Generate
-
- -
-
- {generatedFiles.length} -
-
Files Ready
-
-
-
- - - {#if isGenerating} -
-
-
-
- {progress.stage} -
- - {progress.current} / {progress.total} - -
- -
-
-
-
- {/if} + +
+

Generation Summary

- - {#if !isGenerating && generatedFiles.length === 0} -
- -
- {/if} +
+
+
+ {$filteredSheetData.filter((row) => row._isValid).length} +
+
Records to Process
+
- - {#if generatedFiles.length > 0} -
-
-

Generated Files

-
- -
- {#each generatedFiles as file} -
-
- - - -
-

{file.name}

-

{formatFileSize(file.size)}

-
-
- - -
- {/each} -
-
- {/if} +
+
{files.length}
+
PDFs to Generate
+
- -
- - - {#if generatedFiles.length > 0} - - {/if} -
-
+
+
+ {files.filter((f) => f.state === 'done').length} +
+
Files Ready
+
+
+
+ + +
+
+

Available Downloads

+
+ +
+ {#each files as file (file.name)} +
+
+ {#if file.displayName === 'Text PDF'} + + + + + + + {:else if file.displayName === 'Photos PDF'} + + + + + + + {/if} +
+

{file.displayName}

+ {#if file.state === 'done' && file.size} +

{formatFileSize(file.size)}

+ {:else if file.state === 'error'} +

Error: {file.error}

+ {/if} +
+
+ + {#if file.state === 'idle'} + + {:else if file.state === 'generating'} + + {:else if file.state === 'done'} + + {:else if file.state === 'error'} + + {/if} +
+ {/each} +
+
+ + +
+ + + {#if files.some((f) => f.state === 'done' || f.state === 'error')} + + {/if} +
+
diff --git a/src/lib/components/wizard/subcomponents/PhotoCard.svelte b/src/lib/components/wizard/subcomponents/PhotoCard.svelte index d84201c..78e54b3 100644 --- a/src/lib/components/wizard/subcomponents/PhotoCard.svelte +++ b/src/lib/components/wizard/subcomponents/PhotoCard.svelte @@ -78,7 +78,7 @@ {#if photo.status === 'loading'}
-
+
{:else if photo.status === 'error'}
-
+