[dyad] Einstellungen bei Preset-Nutzung gesperrt - wrote 5 file(s)

This commit is contained in:
[dyad]
2026-01-19 10:36:38 +01:00
parent 917a8b5d48
commit ed032d247a
5 changed files with 43 additions and 23 deletions

View File

@@ -1,5 +1,6 @@
"use client";
import { useState } from "react";
import { ConversionSettings } from "@/types";
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";
import { ImageSettings } from "./settings/image-settings";
@@ -24,11 +25,17 @@ export function SettingsPanel({
onApplyDefaultBaseNameToAll,
hasImages,
}: SettingsPanelProps) {
const [presetsEnabled, setPresetsEnabled] = useState(false);
return (
<div className="space-y-4">
<PresetSettings onSettingsChange={onSettingsChange} />
<PresetSettings
onSettingsChange={onSettingsChange}
enabled={presetsEnabled}
onEnabledChange={setPresetsEnabled}
/>
<Accordion type="single" collapsible defaultValue="image-settings" className="w-full space-y-4">
<AccordionItem value="image-settings" className="border rounded-lg bg-card">
<AccordionItem value="image-settings" className="border rounded-lg bg-card" disabled={presetsEnabled}>
<AccordionTrigger className="p-6 hover:no-underline">
<div className="text-left">
<h3 className="text-lg font-medium leading-none">Bildeinstellungen</h3>
@@ -41,6 +48,7 @@ export function SettingsPanel({
onSettingsChange={onSettingsChange}
onAspectRatioChange={onAspectRatioChange}
onSwapDimensions={onSwapDimensions}
disabled={presetsEnabled}
/>
</AccordionContent>
</AccordionItem>
@@ -62,7 +70,7 @@ export function SettingsPanel({
</AccordionContent>
</AccordionItem>
<AccordionItem value="quality-settings" className="border rounded-lg bg-card">
<AccordionItem value="quality-settings" className="border rounded-lg bg-card" disabled={presetsEnabled}>
<AccordionTrigger className="p-6 hover:no-underline">
<div className="text-left">
<h3 className="text-lg font-medium leading-none">Qualitätseinstellungen</h3>
@@ -70,7 +78,11 @@ export function SettingsPanel({
</div>
</AccordionTrigger>
<AccordionContent className="px-6 pb-6">
<QualitySettings settings={settings} onSettingsChange={onSettingsChange} />
<QualitySettings
settings={settings}
onSettingsChange={onSettingsChange}
disabled={presetsEnabled}
/>
</AccordionContent>
</AccordionItem>
</Accordion>