diff --git a/src/components/object-position-control.tsx b/src/components/object-position-control.tsx index 05f7acc..d67cee1 100644 --- a/src/components/object-position-control.tsx +++ b/src/components/object-position-control.tsx @@ -22,15 +22,11 @@ const positions: Position[] = [ interface ObjectPositionControlProps { value: string; onChange: (value: Position) => void; - disabled?: boolean; } -export function ObjectPositionControl({ value, onChange, disabled = false }: ObjectPositionControlProps) { +export function ObjectPositionControl({ value, onChange }: ObjectPositionControlProps) { return ( -
+
{positions.map((pos) => ( @@ -80,12 +77,12 @@ export function ImageSettings({

Legen Sie die Ausgabehöhe in Pixeln fest. Leer lassen, um die Originalhöhe zu verwenden.

- { onSettingsChange({ height: e.target.value, aspectRatio: 'custom' }) }} disabled={disabled} /> + { onSettingsChange({ height: e.target.value, aspectRatio: 'custom' }) }} />
- onSettingsChange({ keepOrientation: Boolean(checked) })} disabled={disabled} /> -
- onSettingsChange({ scaleMode: value as any })}> Füllen (strecken) @@ -119,7 +116,7 @@ export function ImageSettings({

Legt den Ankerpunkt für die Skalierung 'Abdecken' oder 'Enthalten' fest.

- onSettingsChange({ objectPosition: pos as ObjectPosition })} disabled={disabled} /> + onSettingsChange({ objectPosition: pos as ObjectPosition })} /> )} diff --git a/src/components/settings/preset-settings.tsx b/src/components/settings/preset-settings.tsx index 71200dc..56ac45d 100644 --- a/src/components/settings/preset-settings.tsx +++ b/src/components/settings/preset-settings.tsx @@ -1,5 +1,6 @@ "use client"; +import { useState } from "react"; import { ConversionSettings } from "@/types"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; @@ -29,11 +30,11 @@ const presets: Preset[] = [ interface PresetSettingsProps { onSettingsChange: (settings: Partial) => void; - enabled: boolean; - onEnabledChange: (enabled: boolean) => void; } -export function PresetSettings({ onSettingsChange, enabled, onEnabledChange }: PresetSettingsProps) { +export function PresetSettings({ onSettingsChange }: PresetSettingsProps) { + const [presetsEnabled, setPresetsEnabled] = useState(false); + const handlePresetSelect = (presetName: string) => { const selectedPreset = presets.find(p => p.name === presetName); if (selectedPreset) { @@ -50,10 +51,10 @@ export function PresetSettings({ onSettingsChange, enabled, onEnabledChange }: P Presets

Schnell gängige Einstellungen anwenden.

- + - {enabled && ( + {presetsEnabled && (
diff --git a/src/components/settings/quality-settings.tsx b/src/components/settings/quality-settings.tsx index 0f4a6e7..2a3a0e4 100644 --- a/src/components/settings/quality-settings.tsx +++ b/src/components/settings/quality-settings.tsx @@ -10,10 +10,9 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip interface QualitySettingsProps { settings: ConversionSettings; onSettingsChange: (settings: Partial) => void; - disabled?: boolean; } -export function QualitySettings({ settings, onSettingsChange, disabled = false }: QualitySettingsProps) { +export function QualitySettings({ settings, onSettingsChange }: QualitySettingsProps) { return (
@@ -24,7 +23,7 @@ export function QualitySettings({ settings, onSettingsChange, disabled = false }

Wählen Sie das Ausgabedateiformat für die Bilder.

- onSettingsChange({ format: value })}> PNG @@ -51,7 +50,7 @@ export function QualitySettings({ settings, onSettingsChange, disabled = false } step={1} value={[settings.quality]} onValueChange={(value) => onSettingsChange({ quality: value[0] })} - disabled={disabled || settings.format === 'png'} + disabled={settings.format === 'png'} /> {settings.format === 'png' && (

Der Qualitätsregler ist für PNG (verlustfreies Format) deaktiviert.