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 { log } from "$lib/util/logger";
import { type ConversionSettings } from "$lib/types/conversion-settings";
import { onMount } from "svelte";
type Props = {
file: VertFile | null;
@ -29,9 +30,7 @@
return available.find((c) => c.name === name) || available[0];
};
let settings = $derived<ConversionSettings>({
converter: file ? getValidConverter(file)?.name : undefined,
});
let settings = $state<ConversionSettings>({});
const handleSettingChange = (key: string, value: any) => {
if (!file) return;
@ -59,6 +58,13 @@
`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>
<Modal
@ -109,7 +115,7 @@
selected={validConverter?.name}
settingsStyle
onselect={(value) => {
settings = { converter: value }; // TODO: dont think i need to add the converter here
settings.converter = value;
}}
/>
</div>

View File

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

View File

@ -11,7 +11,7 @@ export interface SettingDefinition {
min?: number;
max?: 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;
hasCustomInput?: boolean; // for select types with a "custom" option
customInputKey?: string; // key to use for custom input value in settings object