/**
 * Single source of truth for the 25 tool catalog.
 * Used by:
 *   - components/home/tools-section.tsx (home grid)
 *   - app/(group landing pages)/<group>/page.tsx (Sprint 3.3)
 *   - app/sitemap.ts (Sprint 3.4)
 */

import {
  Sparkles,
  BrainCircuit,
  Columns3,
  BookOpen,
  CalendarDays,
  Star,
  Home,
  Palette,
  Moon,
  CalendarCheck2,
  Rabbit,
  Hash,
  Heart,
  Users,
  Dices,
  Phone,
  Baby,
  Building2,
  Hammer,
  Hand,
  HeartHandshake,
  Library,
  type LucideIcon,
} from "lucide-react";

export type ToolCategoryKey =
  | "tu-vi"
  | "phong-thuy"
  | "lich"
  | "hop-tuoi"
  | "dat-ten"
  | "ai"
  | "khac";

export type ToolEntry = {
  slug: string;
  title: string;
  desc: string;
  Icon: LucideIcon;
  category: ToolCategoryKey;
  badge?: { label: string; tone: "popular" | "new" };
  iconAccent: "red" | "gold";
  available?: boolean;
};

export const TOOLS: ToolEntry[] = [
  // ───── Tử Vi ─────
  {
    slug: "tu-vi-tron-doi",
    title: "Tử Vi Trọn Đời",
    desc: "Lá số 12 cung, an sao",
    Icon: Sparkles,
    category: "tu-vi",
    badge: { label: "Phổ biến", tone: "popular" },
    iconAccent: "red",
    available: true,
  },
  {
    slug: "tu-tru",
    title: "Tứ Trụ",
    desc: "Bát Tự năm-tháng-ngày-giờ",
    Icon: Columns3,
    category: "tu-vi",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "so-mang-60-tuoi",
    title: "Sơ Mệnh 60 Tuổi",
    desc: "Mệnh nạp âm",
    Icon: BookOpen,
    category: "tu-vi",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "tu-vi-nam",
    title: "Tử Vi Năm",
    desc: "Vận năm 12 con giáp",
    Icon: CalendarDays,
    category: "tu-vi",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "tu-vi-ngay",
    title: "Tử Vi Hôm Nay",
    desc: "Vận ngày 12 con giáp",
    Icon: CalendarCheck2,
    category: "tu-vi",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "12-con-giap",
    title: "12 Con Giáp",
    desc: "Tử vi theo tuổi",
    Icon: Rabbit,
    category: "tu-vi",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "cung-hoang-dao",
    title: "Cung Hoàng Đạo",
    desc: "Tính cách 12 cung",
    Icon: Star,
    category: "tu-vi",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "than-so-hoc",
    title: "Thần Số Học",
    desc: "Numerology Pythagore",
    Icon: Hash,
    category: "tu-vi",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "giai-mong",
    title: "Giải Mộng",
    desc: "Ý nghĩa giấc mơ",
    Icon: Moon,
    category: "tu-vi",
    iconAccent: "gold",
    available: true,
  },

  // ───── Phong Thuỷ ─────
  {
    slug: "phong-thuy-nha",
    title: "Phong Thủy Nhà",
    desc: "Hướng nhà theo mệnh",
    Icon: Home,
    category: "phong-thuy",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "mau-sac-phong-thuy",
    title: "Màu Sắc Phong Thủy",
    desc: "Hợp ngũ hành cá nhân",
    Icon: Palette,
    category: "phong-thuy",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "so-dien-thoai",
    title: "Số Điện Thoại",
    desc: "Hợp Mệnh — cát hung",
    Icon: Phone,
    category: "phong-thuy",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "nam-xay-nha",
    title: "Năm Xây Nhà",
    desc: "Kim Lâu — Hoang Ốc",
    Icon: Hammer,
    category: "phong-thuy",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "ban-tay-hinh-long",
    title: "Bàn Tay Hình Long",
    desc: "Chỉ tay — vân tay",
    Icon: Hand,
    category: "phong-thuy",
    iconAccent: "gold",
    available: true,
  },

  // ───── Lịch & Ngày ─────
  {
    slug: "lich-am-duong",
    title: "Lịch Âm Dương",
    desc: "Tra ngày âm dương",
    Icon: Moon,
    category: "lich",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "xem-ngay-tot",
    title: "Xem Ngày Tốt",
    desc: "Khai trương · cưới · động thổ",
    Icon: CalendarCheck2,
    category: "lich",
    iconAccent: "red",
    available: true,
  },

  // ───── Hợp Tuổi ─────
  {
    slug: "hop-tuoi-lam-an",
    title: "Hợp Tuổi Làm Ăn",
    desc: "Đối tác kinh doanh",
    Icon: Users,
    category: "hop-tuoi",
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "tuoi-ket-hon",
    title: "Tuổi Kết Hôn",
    desc: "Năm tốt cưới hỏi",
    Icon: Heart,
    category: "hop-tuoi",
    iconAccent: "red",
    available: true,
  },

  // ───── Đặt Tên ─────
  {
    slug: "dat-ten-con",
    title: "Đặt Tên Con",
    desc: "Tên đẹp – hợp Mệnh",
    Icon: Baby,
    category: "dat-ten",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "ten-cong-ty",
    title: "Tên Công Ty",
    desc: "Thương hiệu hợp tuổi",
    Icon: Building2,
    category: "dat-ten",
    iconAccent: "gold",
    available: true,
  },

  // ───── AI ─────
  {
    slug: "van-menh",
    title: 'Vận Mệnh "Thầy"',
    desc: 'Hỏi tự do, "Thầy" luận giải',
    Icon: BrainCircuit,
    category: "ai",
    badge: { label: "Mới", tone: "new" },
    iconAccent: "gold",
    available: true,
  },
  {
    slug: "kinh-dich-ai",
    title: 'Kinh Dịch "Thầy"',
    desc: "Gieo quẻ — 64 quẻ",
    Icon: Dices,
    category: "ai",
    iconAccent: "red",
    available: true,
  },
  {
    slug: "thu-vien-ai",
    title: "Thư Viện AI",
    desc: "Cẩm nang tử vi",
    Icon: Library,
    category: "ai",
    iconAccent: "gold",
    available: true,
  },
];

export type ToolGroup = {
  key: ToolCategoryKey;
  slug: string; // URL slug (matches key for now)
  label: string;
  title: string; // long title for landing page H1
  intro: string; // 1-paragraph SEO intro
  ornament: string; // small caps line above H1
};

export const TOOL_GROUPS: ToolGroup[] = [
  {
    key: "tu-vi",
    slug: "tu-vi",
    label: "Tử vi",
    title: "Bộ công cụ Tử Vi",
    intro:
      "Lập lá số tử vi 12 cung, tra cứu Tứ Trụ, Mệnh nạp âm, vận năm — vận ngày, tính cách 12 con giáp, cung hoàng đạo và Thần Số Học. Tất cả thuật toán chạy trên server, an sao theo phái Tử Vi Đẩu Số truyền thống.",
    ornament: "Tử Vi · 9 công cụ",
  },
  {
    key: "phong-thuy",
    slug: "phong-thuy",
    label: "Phong thủy",
    title: "Bộ công cụ Phong Thủy",
    intro:
      "Phong thủy nhà theo Bát Trạch (Đông Tứ Mệnh / Tây Tứ Mệnh), màu sắc hợp Mệnh ngũ hành, số điện thoại theo Bát Tinh, năm xây nhà tránh Kim Lâu — Hoang Ốc — Tam Tai, và đọc bàn tay theo phương pháp truyền thống.",
    ornament: "Phong Thủy · 5 công cụ",
  },
  {
    key: "lich",
    slug: "lich",
    label: "Lịch & Ngày",
    title: "Lịch âm dương · Xem ngày tốt",
    intro:
      "Tra cứu lịch âm dương đối chiếu, xem ngày Hoàng Đạo — Hắc Đạo — Trực — Sao, và chọn ngày giờ tốt cho khai trương, cưới hỏi, động thổ, xuất hành theo Trực và Nhị Thập Bát Tú.",
    ornament: "Lịch · 2 công cụ",
  },
  {
    key: "hop-tuoi",
    slug: "hop-tuoi",
    label: "Hợp tuổi",
    title: "Bộ công cụ Hợp Tuổi",
    intro:
      "Hợp tuổi vợ chồng theo 8 tiêu chí Cung — Mệnh — Niên, hợp tuổi làm ăn đối tác kinh doanh, so sánh duyên phận và xem tuổi kết hôn năm nào tốt.",
    ornament: "Hợp Tuổi · 4 công cụ",
  },
  {
    key: "dat-ten",
    slug: "dat-ten",
    label: "Đặt tên",
    title: "Đặt tên con · Tên công ty",
    intro:
      "Phân tích tên dự kiến theo Mệnh ngũ hành, Số chủ đạo Thần Số Học và âm điệu — gợi ý chỉnh tên cho con và đặt tên thương hiệu công ty hợp tuổi chủ.",
    ornament: "Đặt Tên · 2 công cụ",
  },
  {
    key: "ai",
    slug: "ai",
    label: "Hỏi Thầy",
    title: 'Vận Mệnh "Thầy" · Kinh Dịch · Thư viện',
    intro:
      'Hỏi "Thầy" luận giải vận mệnh tự do, gieo quẻ Kinh Dịch 64 quẻ và tra cứu Thư viện cẩm nang tử vi — phong thủy với hơn 30 chủ đề căn bản.',
    ornament: '"Thầy" · 3 công cụ',
  },
];

export function toolsByGroup(group: ToolCategoryKey): ToolEntry[] {
  return TOOLS.filter((t) => t.category === group);
}

export function findGroup(slug: string): ToolGroup | undefined {
  return TOOL_GROUPS.find((g) => g.slug === slug);
}
