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

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 : 1–30 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 (22–29 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" },
  },
]
