59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
"use client";
|
||
|
||
import {
|
||
Dialog,
|
||
DialogContent,
|
||
DialogDescription,
|
||
DialogTitle,
|
||
} from "@/components/ui/dialog";
|
||
import { SihirbazAdimlarLazy } from "@/components/sihirbaz-adimlar-lazy";
|
||
import type { SihirbazFacetleri } from "@/lib/db";
|
||
import type { SihirbazSecimleri } from "@/lib/sihirbaz";
|
||
|
||
/**
|
||
* Sihirbaz modalı artık yalnızca adımları toplar; üretim, önizleme ve liste
|
||
* sonuç sayfası gövdesinde yaşar (bkz. liste-paneli.tsx). Akış yönetimi
|
||
* sihirbaz-cagri-karti.tsx'teki SihirbazBolumu'ndadır.
|
||
*/
|
||
export function SihirbazModal({
|
||
acik,
|
||
onAcikDegisti,
|
||
sira,
|
||
tur,
|
||
facetler,
|
||
baslangicSecimler,
|
||
sonButonEtiketi,
|
||
onTamamla,
|
||
}: {
|
||
acik: boolean;
|
||
onAcikDegisti: (acik: boolean) => void;
|
||
sira: number;
|
||
tur: string;
|
||
facetler: SihirbazFacetleri;
|
||
baslangicSecimler?: SihirbazSecimleri | null;
|
||
sonButonEtiketi: string;
|
||
onTamamla: (secimler: SihirbazSecimleri) => void;
|
||
}) {
|
||
return (
|
||
<Dialog open={acik} onOpenChange={onAcikDegisti}>
|
||
<DialogContent
|
||
data-sihirbaz-modal
|
||
className="max-h-[92dvh] gap-0 overflow-y-auto p-6 sm:max-w-3xl"
|
||
>
|
||
<DialogTitle className="sr-only">Tercih listesi sihirbazı</DialogTitle>
|
||
<DialogDescription className="sr-only">
|
||
Sıralamana uygun 24 tercihlik listeni oluştur.
|
||
</DialogDescription>
|
||
<SihirbazAdimlarLazy
|
||
sira={sira}
|
||
tur={tur}
|
||
facetler={facetler}
|
||
baslangicSecimler={baslangicSecimler}
|
||
sonButonEtiketi={sonButonEtiketi}
|
||
onTamamla={onTamamla}
|
||
/>
|
||
</DialogContent>
|
||
</Dialog>
|
||
);
|
||
}
|