"use client" import { useLayoutEffect, useRef } from "react" import { Icon } from "@iconify/react" import { ComposeWindow } from "@/components/gmail/compose/compose-window" import { ProductMailDemoShell } from "@/components/landing/product/product-demos/product-mail-demo-shell" import { type ComposeOpenPreset, useComposeActions, useComposeWindows, } from "@/lib/compose-context" const COMPOSE_PRESET: ComposeOpenPreset = { from: { name: "Camille Visiteur", email: "camille@demo.ulti", defaultSignatureId: null, }, to: [{ name: "Alice Martin", email: "alice.martin@yahoo.fr" }], subject: "Proposition de rendez-vous — mardi 14h", bodyHtml: "

Bonjour Alice,

Suite à notre échange, je vous propose un créneau mardi à 14h pour finaliser le projet. Dites-moi si cela vous convient.

— Cordialement,
Jean

", autoInsertSignature: false, focusToOnMount: false, focusBodyOnMount: false, placement: "dock", } function ProductComposeDemoInner() { const { openComposeWithInitial } = useComposeActions() const { composeWindows } = useComposeWindows() const seeded = useRef(false) useLayoutEffect(() => { if (seeded.current) return seeded.current = true openComposeWithInitial(COMPOSE_PRESET) }, [openComposeWithInitial]) useLayoutEffect(() => { if (!seeded.current || composeWindows.length > 0) return openComposeWithInitial(COMPOSE_PRESET) }, [composeWindows.length, openComposeWithInitial]) const compose = composeWindows[0] if (!compose) { return (
Chargement du compositeur…
) } return (
) } export function UltimailComposeDemo() { return (

Compositeur réel — mise en forme, PJ et envoi programmé. Rien n'est envoyé.

) }