"use client";
import Link from "next/link";
import type { Locale } from "@/i18n/routes";
import { switchLocale } from "@/i18n/routes";

export function LanguageSwitcher({
  currentLocale,
  className = "",
}: {
  currentLocale: Locale;
  className?: string;
}) {
  // Die aktuelle Path wird über die Server-Komponente nicht direkt übergeben;
  // stattdessen rendern wir einen Link, der die aktuelle URL auf die andere
  // Locale umschreibt. Da der Switcher in jeder Page gesetzt wird, geben wir
  // ein kleines Client-Skript mit, das die URL window.location.pathname
  // zur Laufzeit austauscht.
  const target: Locale = currentLocale === "de" ? "en" : "de";
  return (
    <Link
      href="#"
      data-locale-target={target}
      data-locale-from={currentLocale}
      aria-label={`Switch language to ${target}`}
      className={`font-mono text-xs uppercase text-muted hover:text-accent ${className}`}
      onClick={(e) => {
        // Fallback, falls JS aus ist: statischer Link auf die andere Locale der Homepage.
        e.preventDefault();
        if (typeof window === "undefined") return;
        const path = window.location.pathname;
        const next = switchLocale(path, target) ?? (target === "en" ? "/en" : "/");
        window.location.href = next;
      }}
    >
      [{target}]
    </Link>
  );
}
