"use client"
import Link from "next/link"
import { Icon } from "@iconify/react"
import { LandingReveal } from "@/components/landing/landing-reveal"
import { LANDING_APPS, LANDING_APP_DEMO_TAB } from "@/components/landing/landing-data"
import { useChromeIdentity } from "@/lib/hooks/use-chrome-identity"
import { getSignupUrl } from "@/lib/auth/oidc-config"
function HeroDock({
authenticated,
onOpenDemo,
}: {
authenticated: boolean
onOpenDemo: (demoTabId: string | null) => void
}) {
const apps = LANDING_APPS.filter((app) => app.href)
return (
{apps.map((app, index) => {
const tileClass =
"landing-dock-tile landing-glass group flex size-14 items-center justify-center rounded-2xl transition-transform hover:scale-110 sm:size-16"
const tileStyle = { "--float-delay": `${index * 0.55}s` } as React.CSSProperties
const icon = (
)
if (authenticated) {
return (
{icon}
)
}
return (
{
const demoTab = app.href ? (LANDING_APP_DEMO_TAB[app.href] ?? null) : null
onOpenDemo(demoTab)
}}
>
{icon}
)
})}
)
}
export function LandingHero({ onOpenDemo }: { onOpenDemo: (demoTabId: string | null) => void }) {
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
>
) : (
<>
ou essayez la démo interactive, sans compte
>
)}
)
}