import { ULTICAL_APP_NAME } from "@/lib/suite/page-metadata"
import { suitePublicAsset } from "@/lib/suite/suite-public-asset"

export type LandingApp = {
  name: string
  tagline: string
  description: string
  icon: string
  iconDark?: string
  href?: string
  /** Application annoncée, pas encore disponible. */
  soon?: boolean
  accent: string
}

/** Onglet démo (#demo) associé à une app (dock hero, visiteur non connecté). */
export const LANDING_APP_DEMO_TAB: Partial<Record<string, string>> = {
  "/mail": "mail",
  "/drive": "drive",
  "/contacts": "contacts",
  "/agenda": "agenda",
}

export const LANDING_APPS: LandingApp[] = [
  {
    name: "Ultimail",
    tagline: "Messagerie",
    description:
      "Boîte unifiée multi-comptes, libellés intelligents, règles, envoi programmé et tri IA.",
    icon: suitePublicAsset("/ultimail-mark.svg"),
    href: "/mail",
    accent: "#EA4335",
  },
  {
    name: "UltiDrive",
    tagline: "Fichiers & docs",
    description:
      "Stockage, partage par lien, documents texte, dessins et co-édition en temps réel.",
    icon: suitePublicAsset("/ultidrive-mark.svg"),
    href: "/drive",
    accent: "#4285F4",
  },
  {
    name: "Contacts",
    tagline: "Carnet d'adresses",
    description:
      "Contacts unifiés sur toute la suite, synchronisés avec la messagerie et le partage.",
    icon: suitePublicAsset("/contacts-mark.svg"),
    href: "/contacts",
    accent: "#4285F4",
  },
  {
    name: "UltiAI",
    tagline: "Assistant IA",
    description:
      "Assistant connecté à vos mails et fichiers, fournisseurs OpenAI-compatibles, quotas maîtrisés.",
    icon: suitePublicAsset("/ultiai-mark.svg"),
    href: "/chat",
    accent: "#f2783c",
  },
  {
    name: "Administration",
    tagline: "Console d'admin",
    description:
      "Gestion de l'organisation, SSO, déploiement, quotas IA et réglages centralisés.",
    icon: suitePublicAsset("/admin-mark.svg"),
    href: "/admin/settings",
    accent: "#5a6172",
  },
  {
    name: ULTICAL_APP_NAME,
    tagline: "Calendrier",
    description:
      "Calendrier partagé, invitations et disponibilités, connecté au mail et aux contacts.",
    icon: suitePublicAsset("/agenda-mark.svg"),
    iconDark: suitePublicAsset("/agenda-mark-dark.svg"),
    href: "/agenda",
    accent: "#34c77b",
  },
  {
    name: "UltiMeet",
    tagline: "Visio",
    description:
      "Réunions vidéo chiffrées dans le navigateur, auto-hébergées via Jitsi et liées à UltiCal.",
    icon: suitePublicAsset("/ultimeet-mark.svg"),
    href: "/meet",
    accent: "#34A853",
  },
  {
    name: "Photos",
    tagline: "Galerie",
    description:
      "Vos photos sauvegardées et organisées, hébergées chez vous — bientôt disponible.",
    icon: suitePublicAsset("/photos-mark.svg"),
    soon: true,
    accent: "#FBBC04",
  },
]

export type LandingFeature = {
  title: string
  description: string
  icon: string
  /** Carte large dans la grille bento. */
  wide?: boolean
}

export const LANDING_FEATURES: LandingFeature[] = [
  {
    title: "Souveraineté totale",
    description:
      "Auto-hébergée sur votre infrastructure : vos mails, fichiers et identités restent chez vous. Aucun tracker, aucune télémétrie, aucune dépendance à un cloud étranger.",
    icon: "mdi:shield-lock-outline",
    wide: true,
  },
  {
    title: "100 % open source",
    description:
      "Code ouvert et auditable de bout en bout. Pas de boîte noire, pas de verrou propriétaire : vous gardez le contrôle, pour toujours.",
    icon: "mdi:source-branch",
  },
  {
    title: "SSO unifié",
    description:
      "Une seule identité (OIDC / Authentik) pour toute la suite. Connexion unique, sessions sécurisées, déconnexion centralisée.",
    icon: "mdi:key-chain-variant",
  },
  {
    title: "IA intégrée, maîtrisée",
    description:
      "Assistant UltiAI, tri de mails par LLM et agents connectés via MCP. Compatible avec tout fournisseur OpenAI-compatible — y compris vos modèles locaux.",
    icon: "mdi:creation-outline",
    wide: true,
  },
  {
    title: "Collaboration temps réel",
    description:
      "Documents, feuilles et dessins co-édités en direct, avec curseurs partagés et historique.",
    icon: "mdi:account-multiple-outline",
  },
  {
    title: "Automatisations avancées",
    description:
      "Règles de tri, webhooks à templates, tokens API à permissions fines pour vos agents et intégrations.",
    icon: "mdi:webhook",
  },
  {
    title: "Ergonomie familière",
    description:
      "Une interface que vos équipes connaissent déjà : migration depuis Google ou Microsoft sans friction ni formation.",
    icon: "mdi:gesture-tap-button",
  },
]

export type LandingIntegration = {
  label: string
  icon: string
}

export const LANDING_INTEGRATIONS: LandingIntegration[] = [
  { label: "IMAP / SMTP", icon: "mdi:email-sync-outline" },
  { label: "OIDC / Authentik", icon: "mdi:shield-key-outline" },
  { label: "OnlyOffice", icon: "mdi:file-document-edit-outline" },
  { label: "Excalidraw", icon: "mdi:draw" },
  { label: "Yjs temps réel", icon: "mdi:sync" },
  { label: "Mistral", icon: "simple-icons:mistralai" },
  { label: "OpenAI-compatible", icon: "mdi:robot-outline" },
  { label: "MCP Agents", icon: "mdi:connection" },
  { label: "Webhooks", icon: "mdi:webhook" },
  { label: "Jitsi Meet", icon: "simple-icons:jitsi" },
  { label: "PostgreSQL", icon: "simple-icons:postgresql" },
  { label: "Docker", icon: "simple-icons:docker" },
  { label: "Nextcloud", icon: "simple-icons:nextcloud" },
]
