fix: more bug fixes

This commit is contained in:
Maya 2026-03-10 16:28:00 +03:00
parent 55b67ec046
commit 9201f1e92f
No known key found for this signature in database
3 changed files with 24 additions and 17 deletions

View File

@ -9,6 +9,7 @@
import { sanitize } from "$lib/store/index.svelte"; import { sanitize } from "$lib/store/index.svelte";
import { log } from "$lib/util/logger"; import { log } from "$lib/util/logger";
import { type ConversionSettings } from "$lib/types/conversion-settings"; import { type ConversionSettings } from "$lib/types/conversion-settings";
import { onMount } from "svelte";
type Props = { type Props = {
file: VertFile | null; file: VertFile | null;
@ -29,9 +30,7 @@
return available.find((c) => c.name === name) || available[0]; return available.find((c) => c.name === name) || available[0];
}; };
let settings = $derived<ConversionSettings>({ let settings = $state<ConversionSettings>({});
converter: file ? getValidConverter(file)?.name : undefined,
});
const handleSettingChange = (key: string, value: any) => { const handleSettingChange = (key: string, value: any) => {
if (!file) return; if (!file) return;
@ -59,6 +58,13 @@
`Applied settings for ${file.name}: ${JSON.stringify(file.conversionSettings, null, 2)}`, `Applied settings for ${file.name}: ${JSON.stringify(file.conversionSettings, null, 2)}`,
); );
}; };
onMount(() => {
if (!file) return;
// always have a converter initialized so we can show its settings
settings.converter = getValidConverter(file)?.name;
});
</script> </script>
<Modal <Modal
@ -109,7 +115,7 @@
selected={validConverter?.name} selected={validConverter?.name}
settingsStyle settingsStyle
onselect={(value) => { onselect={(value) => {
settings = { converter: value }; // TODO: dont think i need to add the converter here settings.converter = value;
}} }}
/> />
</div> </div>

View File

@ -392,21 +392,27 @@ export class VertdConverter extends Converter {
const qualityOptions = [ const qualityOptions = [
{ {
value: "verySlow", value: 0, // very slow
label: m["convert.settings.video.speed_very_slow"](), label: m["convert.settings.video.speed_very_slow"](),
}, },
{ {
value: "slower", value: 1, // slower
label: m["convert.settings.video.speed_slower"](), label: m["convert.settings.video.speed_slower"](),
}, },
{ value: "slow", label: m["convert.settings.video.speed_slow"]() },
{ {
value: "medium", value: 2, // slow
label: m["convert.settings.video.speed_slow"](),
},
{
value: 3, // medium
label: m["convert.settings.video.speed_medium"](), label: m["convert.settings.video.speed_medium"](),
}, },
{ value: "fast", label: m["convert.settings.video.speed_fast"]() },
{ {
value: "ultraFast", value: 4, // faster
label: m["convert.settings.video.speed_fast"](),
},
{
value: 5, // fastest
label: m["convert.settings.video.speed_ultra_fast"](), label: m["convert.settings.video.speed_ultra_fast"](),
}, },
]; ];
@ -415,7 +421,7 @@ export class VertdConverter extends Converter {
const defaultSpeed = Settings.instance.settings.vertdSpeed; const defaultSpeed = Settings.instance.settings.vertdSpeed;
const defaultSpeedIndex = vertdSpeedValues.indexOf(defaultSpeed); const defaultSpeedIndex = vertdSpeedValues.indexOf(defaultSpeed);
const qualitySpeedRange: SettingDefinition = { const qualitySpeedRange: SettingDefinition = {
key: "vertdSpeedSlider", key: "vertdSpeed",
label: m["convert.settings.video.speed"](), label: m["convert.settings.video.speed"](),
description: m["convert.settings.video.speed_description"](), description: m["convert.settings.video.speed_description"](),
type: "range", type: "range",
@ -426,7 +432,6 @@ export class VertdConverter extends Converter {
options: qualityOptions.map((option, index) => ({ options: qualityOptions.map((option, index) => ({
value: index, value: index,
label: option.label, label: option.label,
speedValue: option.value,
})), })),
forceFullWidth: true, forceFullWidth: true,
}; };
@ -573,10 +578,6 @@ export class VertdConverter extends Converter {
defaults[setting.key] = setting.default; defaults[setting.key] = setting.default;
}); });
if (defaults.vertdSpeedSlider !== undefined) {
const sliderIndex = defaults.vertdSpeedSlider as number;
defaults.vertdSpeed = vertdSpeedValues[sliderIndex];
}
return defaults; return defaults;
} }

View File

@ -11,7 +11,7 @@ export interface SettingDefinition {
min?: number; min?: number;
max?: number; max?: number;
step?: number; step?: number;
options?: Array<{ value: any; label: any; speedValue?: any }>; // for select/range types options?: Array<{ value: any; label: any; }>; // for select/range types
description?: string; description?: string;
hasCustomInput?: boolean; // for select types with a "custom" option hasCustomInput?: boolean; // for select types with a "custom" option
customInputKey?: string; // key to use for custom input value in settings object customInputKey?: string; // key to use for custom input value in settings object