/*
  page.tsx
  spboucher.ai Web
  Author: Simon-Pierre Boucher
  Mail: contact@spboucher.ai
*/

import type { Metadata } from "next";
import { Globe, Sparkles } from "lucide-react";

import { AppCard } from "@/components/app-card";
import { ProjectCard } from "@/components/project-card";
import { Reveal } from "@/components/reveal";
import { SectionHeading } from "@/components/section-heading";
import { openSourceProjects, zyquoApps } from "@/lib/apps";

export const metadata: Metadata = {
  title: "Apps — Zyquo macOS Suite & Open Source",
  description:
    "The Zyquo suite: six native macOS applications for AI and local LLMs — plus open-source platforms and research: VQuant, AI Risk Index, Metrika, Forge, and more.",
};

export default function AppsPage() {
  return (
    <div className="mx-auto max-w-5xl px-4 py-16 sm:px-6">
      <Reveal>
        <SectionHeading
          as="h1"
          eyebrow="Portfolio"
          title="Zyquo macOS Suite"
          icon={Sparkles}
          description="Six native macOS applications focused on AI and local LLMs — built with Swift/SwiftUI for Apple Silicon."
        />
      </Reveal>

      <div className="mt-10 grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
        {zyquoApps.map((app, i) => (
          <Reveal key={app.slug} delay={i * 0.06} className="h-full">
            <AppCard app={app} />
          </Reveal>
        ))}
      </div>

      <Reveal className="mt-20">
        <SectionHeading
          title="Web Platforms & Open Source"
          icon={Globe}
          description="Open-source platforms, research code, and teaching material — from an AI-powered financial analysis platform to LLM training in pure C++ on Apple Silicon."
        />
      </Reveal>

      <div className="mt-10 grid gap-6 sm:grid-cols-2 lg:grid-cols-3">
        {openSourceProjects.map((project, i) => (
          <Reveal key={project.slug} delay={i * 0.06} className="h-full">
            <ProjectCard project={project} />
          </Reveal>
        ))}
      </div>
    </div>
  );
}
