From 575f444abc6b6b9c256ff9a1a7642029b4b315a1 Mon Sep 17 00:00:00 2001 From: Maya Date: Sat, 14 Feb 2026 00:01:02 +0300 Subject: [PATCH] feat: start how settings is defined god kill me i fought with paraglide for a while --- messages/en.json | 21 ++- .../functional/FormatDropdown.svelte | 70 +--------- .../functional/SettingsModal.svelte | 125 ++++++++++++++++++ src/lib/converters/converter.svelte.ts | 32 ++++- src/lib/converters/magick.svelte.ts | 79 +++++++++++ src/lib/types/conversion-settings.ts | 18 +++ src/lib/types/file.svelte.ts | 18 ++- 7 files changed, 293 insertions(+), 70 deletions(-) create mode 100644 src/lib/components/functional/SettingsModal.svelte create mode 100644 src/lib/types/conversion-settings.ts diff --git a/messages/en.json b/messages/en.json index 26614f2..2dbbfb3 100644 --- a/messages/en.json +++ b/messages/en.json @@ -83,7 +83,26 @@ }, "settings": { "settings": "Settings", - "title": "File conversion settings" + "title": "File conversion settings", + "image": { + "quality": "Quality", + "depth": "Color depth", + "color_space": "Color space", + "transparency": "Transparency", + "metadata": "Metadata" + }, + "audio": { + "quality": "Quality", + "rate": "Sample rate", + "metadata": "Metadata" + }, + "video": { + "quality": "Quality", + "metadata": "Metadata" + }, + "document": { + "metadata": "Metadata" + } }, "tooltips": { "unknown_file": "Unknown file type", diff --git a/src/lib/components/functional/FormatDropdown.svelte b/src/lib/components/functional/FormatDropdown.svelte index e1198a4..efa8200 100644 --- a/src/lib/components/functional/FormatDropdown.svelte +++ b/src/lib/components/functional/FormatDropdown.svelte @@ -11,6 +11,7 @@ import Modal from "./Modal.svelte"; import Dropdown from "./Dropdown.svelte"; import FancyInput from "./FancyInput.svelte"; + import SettingsModal from "./SettingsModal.svelte"; type Props = { categories: Categories; @@ -335,9 +336,9 @@ }; let showSettingsModal = $state(false); + const settings = () => { if (!file) return; - // TODO: temporary - will have individual settings modals for each converter and show those instead showSettingsModal = true; }; @@ -365,66 +366,8 @@ }); -{#if showSettingsModal} - (showSettingsModal = false), - }, - { - text: "Apply", - action: () => (showSettingsModal = false), - primary: true, - }, - ]} - onclose={() => (showSettingsModal = false)} - > -
-
-
-

Format Settings

-

- Configure conversion options for {file?.name} -

-
- -
-

Example dropdown

- { - console.log("selected format", e); - selected = e; - }} - /> -
- -
-

Resolution

- -
- -
-

Frame Rate (FPS)

- -
-
-
-
+{#if showSettingsModal && file} + (showSettingsModal = false)} /> {/if}
-
- {/if} - {#if file} + {:else if file}