ultisuite-client/components/demo/demo-mail-data.ts
R3D347HR4Y d6d18f911b
Some checks failed
E2E / Playwright e2e (push) Has been cancelled
Lots of stuff and mobile app
2026-06-17 00:13:28 +02:00

508 lines
17 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

export type DemoFolder =
| "inbox"
| "starred"
| "sent"
| "archive"
| "trash"
| "drafts"
export type DemoEmail = {
id: string
fromName: string
fromEmail: string
subject: string
preview: string
/** Paragraphes du corps du message. */
body: string[]
time: string
unread: boolean
starred: boolean
important?: boolean
hasAttachment?: boolean
folder: Exclude<DemoFolder, "starred">
/** Pastille principale en liste (couleur explicite). */
label?: { text: string; color: string }
/** Libellés de tri et dossiers (texte nav exact). */
tags?: string[]
}
export const DEMO_USER = {
name: "Camille Visiteur",
email: "camille@demo.ulti",
}
/** Fixed calendar day for demo relative times ("09:42", "Mer.", …). Wednesday 2026-06-17. */
export const DEMO_REFERENCE_DATE_UTC = {
year: 2026,
month: 5,
day: 17,
} as const
export const DEMO_EMAILS: DemoEmail[] = [
{
id: "m1",
fromName: "Léa Fontaine",
fromEmail: "lea.fontaine@atelier-nord.fr",
subject: "Compte rendu — comité produit du 9 juin",
preview:
"Bonjour Camille, voici le compte rendu de notre comité produit. Les décisions clés sont en gras…",
body: [
"Bonjour Camille,",
"Voici le compte rendu de notre comité produit de mardi. Les décisions clés : lancement de la version 2.4 au 1er juillet, gel des nouvelles fonctionnalités à partir du 20 juin, et revue sécurité planifiée la semaine prochaine.",
"Le document complet est partagé dans UltiDrive (dossier Produit > Comités). N'hésite pas à commenter directement dedans, la co-édition est active.",
"Bonne journée,\nLéa",
],
time: "09:42",
unread: true,
starred: false,
folder: "inbox",
label: { text: "Produit", color: "#4f6df5" },
tags: ["Produit"],
},
{
id: "m2",
fromName: "UltiAI",
fromEmail: "assistant@demo.ulti",
subject: "Votre résumé du matin — 7 mails traités",
preview:
"Pendant la nuit : 2 mails urgents détectés, 4 newsletters archivées automatiquement, 1 facture classée…",
body: [
"Bonjour Camille,",
"Voici ce que j'ai préparé pour vous ce matin :",
"• 2 mails marqués urgents (réponse attendue avant midi)\n• 4 newsletters archivées selon vos règles\n• 1 facture détectée et classée dans Comptabilité\n• 1 invitation agenda en attente de réponse",
"Astuce : vous pouvez ajuster mes règles de tri dans Réglages > Tri IA.",
],
time: "08:15",
unread: true,
starred: true,
folder: "inbox",
label: { text: "IA", color: "#9a5cf0" },
tags: ["IA"],
},
{
id: "m3",
fromName: "Marc Delcourt",
fromEmail: "marc@delcourt-conseil.com",
subject: "Re: Proposition de partenariat — version finale",
preview:
"Parfait pour moi. J'ai signé la dernière version dans le document partagé, on peut avancer…",
body: [
"Bonjour,",
"Parfait pour moi. J'ai relu la dernière version dans le document partagé et tout est bon — on peut avancer sur la signature cette semaine.",
"Merci pour la réactivité !",
"Marc",
],
time: "Hier",
unread: false,
starred: true,
important: true,
folder: "inbox",
tags: ["Partenaires"],
},
{
id: "m4",
fromName: "Notifications UltiDrive",
fromEmail: "drive@demo.ulti",
subject: "Sarah a commenté « Budget 2026.ultidoc »",
preview:
"« Je propose qu'on revoie la ligne infrastructure à la hausse, le trafic a doublé depuis janvier »…",
body: [
"Sarah Lemoine a ajouté un commentaire sur le document Budget 2026 :",
"« Je propose qu'on revoie la ligne infrastructure à la hausse, le trafic a doublé depuis janvier. »",
"Ouvrez le document pour répondre ou résoudre le commentaire.",
],
time: "Hier",
unread: false,
starred: false,
folder: "inbox",
label: { text: "Drive", color: "#1fb6c9" },
tags: ["Drive", "Comptabilité"],
},
{
id: "m5",
fromName: "Anaïs Rivet",
fromEmail: "anais.rivet@coop-numerique.org",
subject: "Migration terminée 🎉 — retour d'expérience",
preview:
"On a finalisé la migration des 40 comptes la semaine dernière. Bilan : aucune perte, équipe ravie…",
body: [
"Salut Camille,",
"On a finalisé la migration des 40 comptes la semaine dernière. Bilan : aucune perte de données, l'équipe a retrouvé ses habitudes en une journée grâce à l'interface familière.",
"Je te prépare un retour d'expérience complet pour le blog si ça t'intéresse.",
"Anaïs",
],
time: "Lun.",
unread: false,
starred: false,
folder: "inbox",
tags: ["Clients"],
},
{
id: "m6",
fromName: "Camille Visiteur",
fromEmail: "camille@demo.ulti",
subject: "Ordre du jour — réunion d'équipe jeudi",
preview:
"Bonjour à tous, voici l'ordre du jour pour jeudi : avancement sprint, démo des nouveautés, points bloquants…",
body: [
"Bonjour à tous,",
"Voici l'ordre du jour pour la réunion de jeudi 10h :",
"1. Avancement du sprint en cours\n2. Démo des nouveautés UltiDocs\n3. Points bloquants et arbitrages\n4. Divers",
"À jeudi !",
],
time: "Lun.",
unread: false,
starred: false,
folder: "sent",
},
{
id: "m7",
fromName: "Infra Ulti",
fromEmail: "infra@demo.ulti",
subject: "Sauvegarde hebdomadaire effectuée ✓",
preview:
"La sauvegarde chiffrée de votre instance s'est terminée sans erreur (durée : 4 min 12 s)…",
body: [
"La sauvegarde chiffrée de votre instance s'est terminée sans erreur.",
"Durée : 4 min 12 s — 18,4 Go — intégrité vérifiée.",
"Prochaine sauvegarde planifiée : dimanche 03:00.",
],
time: "Dim.",
unread: false,
starred: false,
folder: "archive",
tags: ["Mises à jour"],
},
{
id: "m8",
fromName: "Open Source Weekly",
fromEmail: "newsletter@opensource-weekly.io",
subject: "Cette semaine : PostgreSQL 17, Rust 1.88, et 3 outils souverains",
preview:
"Bonjour Camille, voici la sélection de la semaine : nouveautés bases de données, écosystème Rust…",
body: [
"Bonjour Camille,",
"Voici la sélection de la semaine dans l'écosystème open source :",
"• PostgreSQL 17 : améliorations du partitionnement\n• Rust 1.88 : async en stabilisation\n• 3 suites souveraines à surveiller pour remplacer Google Workspace",
"Bonne lecture !",
],
time: "07:30",
unread: true,
starred: false,
folder: "inbox",
tags: ["Newsletters"],
},
{
id: "m9",
fromName: "Ultimail",
fromEmail: "promo@demo.ulti",
subject: "20 % sur Ultimail Pro — offre de lancement",
preview:
"Passez à Ultimail Pro avant le 30 juin : stockage illimité, UltiMeet intégré, agents IA avancés…",
body: [
"Bonjour Camille,",
"Pour fêter le lancement public, profitez de 20 % sur Ultimail Pro jusqu'au 30 juin.",
"Inclus : stockage Drive illimité, salles UltiMeet persistantes, règles de tri IA illimitées et support prioritaire.",
"Code : LAUNCH20",
],
time: "06:55",
unread: true,
starred: false,
folder: "inbox",
tags: ["Promotions"],
},
{
id: "m10",
fromName: "LinkedIn",
fromEmail: "notifications@linkedin.com",
subject: "Thomas Martin a commenté votre publication",
preview:
"« Belle initiative sur la souveraineté numérique — on en parle au prochain meetup ? »…",
body: [
"Thomas Martin a commenté votre publication :",
"« Belle initiative sur la souveraineté numérique — on en parle au prochain meetup ? »",
"Voir la conversation sur LinkedIn.",
],
time: "Hier",
unread: false,
starred: false,
folder: "inbox",
tags: ["Réseaux sociaux"],
},
{
id: "m11",
fromName: "GitHub",
fromEmail: "noreply@github.com",
subject: "[ulti-backend] Dependabot : 2 mises à jour de sécurité",
preview:
"Dependabot a ouvert 2 PR sur ulti-backend : golang.org/x/crypto et github.com/lib/pq…",
body: [
"Dependabot a détecté 2 vulnérabilités corrigeables sur ulti-backend :",
"• golang.org/x/crypto — CVE-2026-0142\n• github.com/lib/pq — mise à jour mineure recommandée",
"Consultez les pull requests ou activez l'auto-merge si vos checks CI passent.",
],
time: "Mar.",
unread: false,
starred: false,
folder: "inbox",
tags: ["Mises à jour", "Produit"],
label: { text: "Produit", color: "#4f6df5" },
},
{
id: "m12",
fromName: "Communauté Ultimail",
fromEmail: "forum@demo.ulti",
subject: "Nouvelle réponse : « Webhooks agenda — bonnes pratiques »",
preview:
"Julien a répondu à votre fil : « Nous utilisons des templates JSON avec variables $event.title… »",
body: [
"Julien a répondu à votre fil sur le forum :",
"« Nous utilisons des templates JSON avec variables $event.title et $event.attendees pour brancher Slack et n8n sans code custom. »",
"Voir la discussion complète sur forum.demo.ulti.",
],
time: "Mar.",
unread: true,
starred: false,
folder: "inbox",
tags: ["Forums"],
},
{
id: "m13",
fromName: "Amazon Business",
fromEmail: "order-update@amazon.fr",
subject: "Commande n° 402-8819203-7720156 — expédiée",
preview:
"Votre commande (clavier Keychron K3, hub USB-C) a été expédiée. Livraison prévue demain…",
body: [
"Bonjour Camille,",
"Votre commande a été expédiée.",
"Articles : Keychron K3 (AZERTY), hub USB-C 7 ports\nLivraison estimée : demain avant 20h",
],
time: "Mer.",
unread: false,
starred: false,
folder: "inbox",
tags: ["Achats"],
},
{
id: "m14",
fromName: "SNCF Connect",
fromEmail: "billetterie@sncf.com",
subject: "Votre billet Paris → Lyon — vendredi 14 juin",
preview:
"Trajet TGV 6641, départ 08:12 gare de Lyon, place 42 voiture 7. Billet disponible dans l'app…",
body: [
"Bonjour Camille,",
"Voici le récapitulatif de votre trajet :",
"TGV 6641 — Paris Gare de Lyon → Lyon Part-Dieu\nVendredi 14 juin, départ 08:12 — arrivée 10:04\nPlace 42, voiture 7",
"Votre billet est disponible dans l'application SNCF Connect.",
],
time: "Mer.",
unread: false,
starred: false,
hasAttachment: true,
folder: "inbox",
tags: ["Déplacements", "Voyages"],
},
{
id: "m15",
fromName: "Stripe",
fromEmail: "billing@stripe.com",
subject: "Facture Ultimail Pro — juin 2026",
preview:
"Montant : 79,00 € TTC. Paiement par carte se terminant par 4242. PDF joint…",
body: [
"Bonjour,",
"Votre facture Ultimail Pro pour juin 2026 est disponible.",
"Montant : 79,00 € TTC\nPériode : 130 juin 2026\nMoyen de paiement : carte •••• 4242",
"Le PDF est joint à ce message.",
],
time: "Jeu.",
unread: false,
starred: false,
hasAttachment: true,
folder: "inbox",
tags: ["Finance", "Factures", "Comptabilité"],
},
{
id: "m16",
fromName: "RH Ultimail",
fromEmail: "rh@demo.ulti",
subject: "Documents d'onboarding — à compléter avant lundi",
preview:
"Bonjour Camille, merci de signer le règlement intérieur et la fiche mutuelle dans UltiSign…",
body: [
"Bonjour Camille,",
"Pour finaliser votre dossier administratif, merci de compléter dans UltiSign :",
"• Règlement intérieur\n• Fiche mutuelle\n• Attestation de télétravail",
"Deadline : lundi 17 juin.",
],
time: "Jeu.",
unread: true,
starred: false,
folder: "inbox",
tags: ["RH"],
},
{
id: "m17",
fromName: "Maman",
fromEmail: "maman.visiteur@gmail.com",
subject: "Repas de famille dimanche — qui amène le dessert ?",
preview:
"Salut ma chérie, on confirme dimanche 12h chez tata Claire. Tu peux amener la tarte aux fraises ?",
body: [
"Salut ma chérie,",
"On confirme le repas dimanche 12h chez tata Claire. Tu peux amener la tarte aux fraises comme l'an dernier ?",
"Gros bisous,\nMaman",
],
time: "Ven.",
unread: false,
starred: false,
folder: "inbox",
tags: ["Famille"],
},
{
id: "m18",
fromName: "Airbnb",
fromEmail: "automated@airbnb.com",
subject: "Rappel : séjour à Annecy dans 10 jours",
preview:
"Check-in le 22 juin à partir de 16h. Code d'accès et instructions dans l'application…",
body: [
"Bonjour Camille,",
"Votre séjour à Annecy approche (2229 juin).",
"Check-in : 16h\nAdresse et code d'accès disponibles dans l'application 24 h avant l'arrivée.",
],
time: "Sam.",
unread: false,
starred: false,
folder: "inbox",
tags: ["Voyages", "Déplacements"],
},
{
id: "m19",
fromName: "Support ACME Corp",
fromEmail: "support@acme-corp.fr",
subject: "Ticket #8842 — déploiement Ultimail en production",
preview:
"Bonjour, nous avons validé le cutover DNS pour lundi 6h. Merci de confirmer la fenêtre de maintenance…",
body: [
"Bonjour Camille,",
"Nous avons validé le cutover DNS pour lundi 6h00 (TTL réduit à 300 s).",
"Merci de confirmer la fenêtre de maintenance et la personne de contact sur site.",
"Support ACME — ticket #8842",
],
time: "09:10",
unread: true,
starred: false,
important: true,
folder: "inbox",
tags: ["Clients"],
},
{
id: "m20",
fromName: "Camille Visiteur",
fromEmail: "camille@demo.ulti",
subject: "Re: Roadmap Q3 — points à clarifier",
preview:
"Merci Léa, je reviens vers toi demain avec une proposition sur UltiMeet et les webhooks agenda…",
body: [
"Merci Léa pour le CR.",
"Je reviens vers toi demain avec une proposition consolidée sur UltiMeet et les webhooks agenda.",
],
time: "10:05",
unread: false,
starred: false,
folder: "drafts",
},
{
id: "m21",
fromName: "OldPromo",
fromEmail: "deals@spammy-shop.net",
subject: "Dernière chance — 90 % sur tout le site",
preview: "Ne manquez pas cette offre exceptionnelle…",
body: [
"Ne manquez pas cette offre exceptionnelle valable 24 h seulement.",
"Cliquez ici pour en profiter.",
],
time: "Dim.",
unread: false,
starred: false,
folder: "trash",
},
{
id: "m22",
fromName: "Camille Visiteur",
fromEmail: "camille@demo.ulti",
subject: "Compte-rendu migration ACME — version client",
preview:
"Bonjour Marc, comme convenu voici la version client du CR de migration. N'hésitez pas à annoter…",
body: [
"Bonjour Marc,",
"Comme convenu, voici la version client du compte-rendu de migration.",
"Le document est sur UltiDrive (dossier Clients > ACME). N'hésitez pas à annoter directement.",
"Camille",
],
time: "Mar.",
unread: false,
starred: false,
folder: "sent",
},
{
id: "m23",
fromName: "Sophie Bernard",
fromEmail: "sophie@startup-io.fr",
subject: "Intro investisseurs — suite à UltiMeet",
preview:
"Merci pour la démo hier. Nos partners seraient intéressés par un call la semaine prochaine…",
body: [
"Bonjour Camille,",
"Merci pour la démo UltiMeet hier — l'interface a vraiment bluffé l'équipe.",
"Nos partners seraient intéressés par un call la semaine prochaine. Tu es dispo mardi ou jeudi ?",
"Sophie",
],
time: "11:20",
unread: true,
starred: true,
folder: "inbox",
tags: ["Partenaires"],
},
{
id: "m24",
fromName: "OVHcloud",
fromEmail: "facturation@ovh.com",
subject: "Facture hébergement — mai 2026",
preview: "Montant : 142,80 € HT. Services : 2 instances, backup object storage…",
body: [
"Bonjour,",
"Votre facture OVHcloud de mai 2026 est disponible.",
"Montant : 142,80 € HT\nServices : 2 instances VPS, backup object storage",
],
time: "Lun.",
unread: false,
starred: false,
hasAttachment: true,
folder: "archive",
tags: ["Factures", "Finance", "Comptabilité"],
},
{
id: "m25",
fromName: "Notion",
fromEmail: "team@mail.notion.so",
subject: "Camille vous a mentionné dans « Sprint board Q2 »",
preview:
"@Camille peux-tu valider les specs webhooks avant la review de vendredi ?",
body: [
"Camille vous a mentionné dans « Sprint board Q2 » :",
"@Camille peux-tu valider les specs webhooks avant la review de vendredi ?",
"Ouvrir dans Notion",
],
time: "08:48",
unread: true,
starred: false,
folder: "inbox",
tags: ["Produit"],
label: { text: "Produit", color: "#4f6df5" },
},
]