From 72d5fce9213680830274d56d7629244fa59ee7f3 Mon Sep 17 00:00:00 2001 From: TraceLumen Date: Mon, 14 Sep 2026 08:59:58 +0300 Subject: [PATCH] UI update --- src/lib/common/utils/file.util.js | 2 +- src/lib/common/utils/pricing.util.js | 4 +- src/lib/pages/print/FormatPicker.svelte | 79 ++++++ src/lib/pages/print/GearOption.svelte | 111 +++++++++ src/lib/pages/print/PickerOption.svelte | 80 ++++++ src/lib/pages/print/PrintUI.svelte | 141 +++++++---- src/lib/pages/print/SliderOption.svelte | 309 ++++++++++++++++++++++++ src/lib/pages/print/ToggleOption.svelte | 184 ++++++++++++++ 8 files changed, 859 insertions(+), 51 deletions(-) create mode 100644 src/lib/pages/print/FormatPicker.svelte create mode 100644 src/lib/pages/print/GearOption.svelte create mode 100644 src/lib/pages/print/PickerOption.svelte create mode 100644 src/lib/pages/print/SliderOption.svelte create mode 100644 src/lib/pages/print/ToggleOption.svelte diff --git a/src/lib/common/utils/file.util.js b/src/lib/common/utils/file.util.js index e749b4c..b45c86e 100644 --- a/src/lib/common/utils/file.util.js +++ b/src/lib/common/utils/file.util.js @@ -21,5 +21,5 @@ export function pagesLabel(entry) { if (!entry.selectedPages || entry.selectedPages.size === 0) return 'Нет'; if (entry.selectedPages.size === entry.totalPages) return 'Все'; if (entry.selectedPages.size === 1) return `стр. ${[...entry.selectedPages][0]}`; - return `${entry.selectedPages.size} из ${entry.totalPages}`; + return `${entry.selectedPages.size}/${entry.totalPages} стр.`; } diff --git a/src/lib/common/utils/pricing.util.js b/src/lib/common/utils/pricing.util.js index 9bb6d33..f7e5085 100644 --- a/src/lib/common/utils/pricing.util.js +++ b/src/lib/common/utils/pricing.util.js @@ -7,8 +7,8 @@ export const QUALITIES = [ ]; export const COLOR_MODES = [ - { id: 'bw', label: 'Чб' }, - { id: 'color', label: 'Цвет' } + { id: 'bw', label: 'Черно-белая' }, + { id: 'color', label: 'Цветная' } ]; export const FORMATS = ['A4', 'A5']; diff --git a/src/lib/pages/print/FormatPicker.svelte b/src/lib/pages/print/FormatPicker.svelte new file mode 100644 index 0000000..5d90bc1 --- /dev/null +++ b/src/lib/pages/print/FormatPicker.svelte @@ -0,0 +1,79 @@ + + + +{#if open} + +{/if} + + diff --git a/src/lib/pages/print/GearOption.svelte b/src/lib/pages/print/GearOption.svelte new file mode 100644 index 0000000..894e048 --- /dev/null +++ b/src/lib/pages/print/GearOption.svelte @@ -0,0 +1,111 @@ + + + +
+ + + {#if hint} +
+ + {#if helpOpen} + + {/if} +
+ {/if} +
+ + diff --git a/src/lib/pages/print/PickerOption.svelte b/src/lib/pages/print/PickerOption.svelte new file mode 100644 index 0000000..5ef7b67 --- /dev/null +++ b/src/lib/pages/print/PickerOption.svelte @@ -0,0 +1,80 @@ + + + +
+ + + {#if hint} +
+ + {#if helpOpen}{/if} +
+ {/if} +
+ + diff --git a/src/lib/pages/print/PrintUI.svelte b/src/lib/pages/print/PrintUI.svelte index 2c5507b..50f95ee 100644 --- a/src/lib/pages/print/PrintUI.svelte +++ b/src/lib/pages/print/PrintUI.svelte @@ -1,10 +1,38 @@ - + {#if as === 'button'} @@ -50,24 +78,6 @@ -{:else if as === 'range-slider'} -
- - props.onChange?.(parseInt(e.target.value))} - class="quality-slider" - style="--fill: {Math.round((props.value / (props.options.length - 1)) * 100)}%" - /> -
- {#each props.options as q}{q.label}{/each} -
-
- {:else if as === 'file-card'} {@const file = props.file}
@@ -83,28 +93,66 @@ {#if file.expanded}
-
@@ -138,6 +186,9 @@ {/if} diff --git a/src/lib/pages/print/ToggleOption.svelte b/src/lib/pages/print/ToggleOption.svelte new file mode 100644 index 0000000..054293c --- /dev/null +++ b/src/lib/pages/print/ToggleOption.svelte @@ -0,0 +1,184 @@ + + + +
+ + + {#if hint} +
+ + {#if helpOpen} + + {/if} +
+ {/if} +
+ +