"use client" import Link from "next/link" import { Icon } from "@iconify/react" import { LandingReveal } from "@/components/landing/landing-reveal" import { LANDING_APPS } from "@/components/landing/landing-data" import { useChromeIdentity } from "@/lib/hooks/use-chrome-identity" import { getAuthentikEnrollmentUrl } from "@/lib/auth/oidc-config" import { cn } from "@/lib/utils" function HeroDock() { const apps = LANDING_APPS.filter((app) => app.href) return (
{apps.map((app, index) => ( {app.name} ))}
) } /** Fenêtre « produit » stylisée (pas un vrai screenshot — du pur CSS). */ function HeroPreview() { const rows = [ { from: "Conseil d'administration", subject: "Ordre du jour — revue Q3", time: "09:12", unread: true }, { from: "UltiAI", subject: "Résumé de vos 12 mails non lus", time: "08:47", ai: true }, { from: "Marie Laurent", subject: "Spécifications produit v2 (UltiDocs)", time: "08:30" }, { from: "Infra", subject: "Sauvegarde hebdomadaire effectuée ✓", time: "07:58" }, ] return (
suite.votre-domaine.fr/mail
Nouveau message
{["Boîte de réception", "Favoris", "Programmés", "Brouillons"].map( (label, i) => (
{label} {i === 0 ? 12 : null}
) )}
{rows.map((row) => (
{row.from} {row.ai ? ( IA ) : null} {row.subject} {row.time}
))}
) } export function LandingHero() { const identity = useChromeIdentity() return (
Open source · Souveraine · Prête pour l'IA

Toute votre suite de travail.
Chez vous.

Mails, fichiers, documents collaboratifs, contacts et assistant IA : l'alternative complète à Google Workspace et Microsoft 365, open source et hébergée sur votre infrastructure.

{identity ? ( <>

Bonjour {identity.firstName} — votre suite vous attend.

Ouvrir Ultimail Ouvrir UltiDrive
) : ( <>
Se connecter Créer un compte
ou essayez la démo interactive, sans compte )}
) }