import { getSession } from "@/lib/session";
import { kullanicininRaporu } from "@/features/rapor/rapor-queries";
import { getSihirbazFacetleri } from "../sihirbaz-queries";
import { SihirbazBolumu } from "./sihirbaz-cagri-karti";
import type { PuanTuruKey } from "@/types/yokatlas";

// /sonuc'taki sihirbaz funnel'ının sunucu sarmalayıcısı: session, rapor-var-mı
// ve SSR facetleri burada okunur; client orkestratör (SihirbazBolumu,
// sihirbaz-cagri-karti.tsx) yalnızca çözülmüş değerleri alır. Üretim ve
// listenin kendisi /listem'de yaşar.
export async function SonucSihirbazi({
  sira,
  tur,
  otomatikAc,
  secimlerHazir,
}: {
  sira: number;
  tur: PuanTuruKey;
  otomatikAc: boolean;
  secimlerHazir: boolean;
}) {
  // Kullanıcının kayıtlı raporu var mı? Yalnızca CTA'nın hangi hâlde render
  // edileceği için varlık bilgisi gerekir.
  const session = await getSession();
  const raporSatiri = session
    ? await kullanicininRaporu(session.user.id)
    : null;
  const facetler = getSihirbazFacetleri(sira, tur);

  return (
    <SihirbazBolumu
      sira={sira}
      tur={tur}
      facetler={facetler}
      girisliMi={Boolean(session)}
      raporVar={Boolean(raporSatiri?.result)}
      otomatikAc={otomatikAc}
      secimlerHazir={secimlerHazir}
    />
  );
}
