"use client";

// SihirbazAdimlar, turkey-map-react'in ~235 KB'lık il geometrisini taşır.
// Modal kapalıyken bu yükün ilk sayfa bundle'ına girmemesi için tek noktadan
// dynamic import: hem hero-form hem sonuc/sihirbaz-modal burayı kullanır.

import dynamic from "next/dynamic";
import { Skeleton } from "@/components/ui/skeleton";

function SihirbazAdimlarSkeleton() {
  return (
    <div
      aria-busy="true"
      aria-live="polite"
      className="flex min-h-64 flex-col gap-5"
    >
      <div className="flex items-center gap-1.5">
        <Skeleton className="h-1.5 w-6 rounded-full" />
        <Skeleton className="size-1.5 rounded-full" />
        <Skeleton className="size-1.5 rounded-full" />
        <Skeleton className="ml-2 h-3 w-14" />
      </div>

      <div>
        <Skeleton className="h-6 w-64 max-w-full" />
        <Skeleton className="mt-2 h-4 w-80 max-w-full" />
        <div className="mt-4 flex flex-wrap gap-2">
          {[88, 112, 96, 128, 72, 104, 120, 84, 100].map((w, i) => (
            <Skeleton
              key={i}
              className="h-9 rounded-full"
              style={{ width: w }}
            />
          ))}
        </div>
      </div>

      <div className="flex items-center justify-between border-t border-slate-100 pt-4">
        <Skeleton className="h-9 w-20 rounded-lg" />
        <Skeleton className="h-9 w-24 rounded-lg" />
      </div>
    </div>
  );
}

export const SihirbazAdimlarLazy = dynamic(
  () =>
    import("./sihirbaz-adimlar").then((m) => m.SihirbazAdimlar),
  {
    ssr: false,
    loading: () => <SihirbazAdimlarSkeleton />,
  },
);

/** Kullanıcı forma dokunduğu anda chunk'ı arka planda indir. */
export function preloadSihirbazAdimlar() {
  void import("./sihirbaz-adimlar");
}
