"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é.
)
}