"use client";

import { Languages } from "lucide-react";
import { usePathname, useRouter, useSearchParams } from "next/navigation";

import { Button } from "@/components/ui/button";
import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip";

/**
 * Yii1 countries list: Arabic/Dutch Bulk Update links set
 * `bulk_update=1&lan=ar|dt` while keeping the same filtered grid.
 */
export function CountriesBulkTranslateActions() {
  const router = useRouter();
  const pathname = usePathname();
  const searchParams = useSearchParams();

  const goBulk = (lan: "ar" | "dt") => {
    const params = new URLSearchParams(searchParams.toString());
    params.set("bulk_update", "1");
    params.set("lan", lan);
    params.set("page", "1");
    router.push(`${pathname}?${params.toString()}`);
  };

  const exitBulk = () => {
    const params = new URLSearchParams(searchParams.toString());
    params.delete("bulk_update");
    params.delete("lan");
    params.set("page", "1");
    const query = params.toString();
    router.push(query ? `${pathname}?${query}` : pathname);
  };

  const activeLan = searchParams.get("bulk_update") === "1" ? searchParams.get("lan") : null;

  return (
    <>
      <Tooltip>
        <TooltipTrigger asChild>
          <Button
            variant={activeLan === "ar" ? "default" : "outline"}
            size="sm"
            className="gap-1.5"
            onClick={() => (activeLan === "ar" ? exitBulk() : goBulk("ar"))}
          >
            <Languages className="size-4" />
            Arabic bulk
          </Button>
        </TooltipTrigger>
        <TooltipContent>
          {activeLan === "ar"
            ? "Exit Arabic bulk mode (filters kept)"
            : "Bulk translate — Arabic (keeps current filters)"}
        </TooltipContent>
      </Tooltip>
      <Tooltip>
        <TooltipTrigger asChild>
          <Button
            variant={activeLan === "dt" ? "default" : "outline"}
            size="sm"
            className="gap-1.5"
            onClick={() => (activeLan === "dt" ? exitBulk() : goBulk("dt"))}
          >
            <Languages className="size-4" />
            Dutch bulk
          </Button>
        </TooltipTrigger>
        <TooltipContent>
          {activeLan === "dt"
            ? "Exit Dutch bulk mode (filters kept)"
            : "Bulk translate — Dutch (keeps current filters)"}
        </TooltipContent>
      </Tooltip>
    </>
  );
}
