"use client";

// Sıra+sihirbaz kapısı ilk açılış isteğine kadar hiç inmez (bundle-conditional).
// Bir kez açıldıktan sonra mount kalır ki Dialog'un kapanış animasyonu ve
// oturum içi state'i bozulmasın.

import { useState } from "react";
import dynamic from "next/dynamic";
import { useProfilKapisi } from "../hooks/use-tercih-profili";

const TercihProfiliKapisiIc = dynamic(
  () => import("./tercih-profili-kapisi").then((m) => m.TercihProfiliKapisi),
  { ssr: false },
);

/** Kapıyı açan butonların hover/focus'unda chunk'ı önden ısıt. */
export function preloadTercihProfiliKapisi() {
  void import("./tercih-profili-kapisi");
}

export function TercihProfiliKapisiLazy() {
  const { acik } = useProfilKapisi();
  const [gerekli, setGerekli] = useState(false);
  // Render sırasında koşullu setState: ilk açılışta mandallanır (React'in
  // "adjust state during render" deseni — effect'e gerek yok).
  if (acik && !gerekli) setGerekli(true);
  return gerekli ? <TercihProfiliKapisiIc /> : null;
}
