"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
  }
}
