import { Button } from "@/components/ui/button";
import { Trash2, Folder, AlertTriangle } from "lucide-react";
import { cn } from "@/lib/utils";
import type { Project } from "../shared/types";

interface DangerZoneSectionProps {
  project: Project | null;
  onDeleteClick: () => void;
}

export function DangerZoneSection({
  project,
  onDeleteClick,
}: DangerZoneSectionProps) {
  if (!project) return null;

  return (
    <div
      id="danger"
      className={cn(
        "rounded-2xl overflow-hidden scroll-mt-6",
        "border border-destructive/30",
        "bg-gradient-to-br from-destructive/5 via-card/70 to-card/80 backdrop-blur-xl",
        "shadow-sm shadow-destructive/5"
      )}
    >
      <div className="p-6 border-b border-destructive/20 bg-gradient-to-r from-destructive/5 via-transparent to-transparent">
        <div className="flex items-center gap-3 mb-2">
          <div className="w-9 h-9 rounded-xl bg-gradient-to-br from-destructive/20 to-destructive/10 flex items-center justify-center border border-destructive/20">
            <AlertTriangle className="w-5 h-5 text-destructive" />
          </div>
          <h2 className="text-lg font-semibold text-foreground tracking-tight">Danger Zone</h2>
        </div>
        <p className="text-sm text-muted-foreground/80 ml-12">
          Permanently remove this project from Automaker.
        </p>
      </div>
      <div className="p-6">
        <div className="flex items-center justify-between gap-4 p-4 rounded-xl bg-destructive/5 border border-destructive/10">
          <div className="flex items-center gap-3.5 min-w-0">
            <div className="w-11 h-11 rounded-xl bg-gradient-to-br from-brand-500/15 to-brand-600/10 border border-brand-500/20 flex items-center justify-center shrink-0">
              <Folder className="w-5 h-5 text-brand-500" />
            </div>
            <div className="min-w-0">
              <p className="font-medium text-foreground truncate">
                {project.name}
              </p>
              <p className="text-xs text-muted-foreground/70 truncate mt-0.5">
                {project.path}
              </p>
            </div>
          </div>
          <Button
            variant="destructive"
            onClick={onDeleteClick}
            data-testid="delete-project-button"
            className={cn(
              "shrink-0",
              "shadow-md shadow-destructive/20 hover:shadow-lg hover:shadow-destructive/25",
              "transition-all duration-200 ease-out",
              "hover:scale-[1.02] active:scale-[0.98]"
            )}
          >
            <Trash2 className="w-4 h-4 mr-2" />
            Delete Project
          </Button>
        </div>
      </div>
    </div>
  );
}
