import { Sparkles } from "lucide-react";

import type { ToolAccent, ToolDefinitionInput } from "@/types/tools";

export const starterAccentPresets: Record<
  "sky" | "emerald" | "amber" | "violet",
  ToolAccent
> = {
  sky: {
    borderClass: "border-sky-400/45",
    glowClass: "shadow-[0_20px_45px_rgba(38,145,224,0.22)]",
    badgeClass: "bg-sky-500/18 text-sky-200 border-sky-400/40"
  },
  emerald: {
    borderClass: "border-emerald-400/45",
    glowClass: "shadow-[0_20px_45px_rgba(31,167,132,0.22)]",
    badgeClass: "bg-emerald-500/18 text-emerald-200 border-emerald-400/40"
  },
  amber: {
    borderClass: "border-amber-300/45",
    glowClass: "shadow-[0_20px_45px_rgba(211,141,43,0.2)]",
    badgeClass: "bg-amber-400/20 text-amber-100 border-amber-300/40"
  },
  violet: {
    borderClass: "border-violet-300/45",
    glowClass: "shadow-[0_20px_45px_rgba(123,107,255,0.22)]",
    badgeClass: "bg-violet-400/18 text-violet-100 border-violet-300/40"
  }
};

export const newToolDefinitionTemplate: ToolDefinitionInput = {
  slug: "new-tool-slug",
  title: "New Tool Title",
  description: "One-line value prop describing the tool outcome.",
  icon: Sparkles,
  status: "available",
  accent: starterAccentPresets.sky
};

export const newToolChecklist = [
  "Add tool definition in lib/tools-registry.ts",
  "Add UI component in components/tools/<slug>-tool.tsx",
  "Register page component in lib/tool-page-components.ts",
  "Add route handlers in app/api/tools/<slug>/ as needed",
  "Add shared media helpers in lib/media-processing/ when workflow is reusable",
  "Document behavior and environment notes in README"
] as const;
