ultisuite-client/lib/agenda/agenda-mail-compose.ts
R3D347HR4Y 3bbf3691b0
Some checks failed
E2E / Playwright e2e (push) Has been cancelled
bordel c'est beau
2026-06-11 10:10:39 +02:00

37 lines
997 B
TypeScript

"use client"
/**
* Passage de relais Agenda → Ultimail : on dépose un brouillon en
* sessionStorage puis on navigue vers /mail, où le shell mail le récupère
* et ouvre la fenêtre de composition.
*/
export const PENDING_COMPOSE_KEY = "ulti_pending_compose"
export interface PendingCompose {
to: { name: string; email: string }[]
subject?: string
bodyText?: string
}
export function stashPendingCompose(compose: PendingCompose): void {
try {
sessionStorage.setItem(PENDING_COMPOSE_KEY, JSON.stringify(compose))
} catch {
// sessionStorage indisponible : on navigue quand même, sans préremplissage.
}
}
export function takePendingCompose(): PendingCompose | null {
try {
const raw = sessionStorage.getItem(PENDING_COMPOSE_KEY)
if (!raw) return null
sessionStorage.removeItem(PENDING_COMPOSE_KEY)
const parsed = JSON.parse(raw) as PendingCompose
if (!Array.isArray(parsed.to)) return null
return parsed
} catch {
return null
}
}