import { User, Task, Medication, Appointment, Presence, CarouselMessage } from './types';

export const INITIAL_USERS: User[] = [
  { id: 1, nom: 'Marie', role: 'membre', actif: true },
  { id: 2, nom: 'Thomas', role: 'membre', actif: true },
  { id: 3, nom: 'Claire', role: 'membre', actif: true },
  { id: 4, nom: 'Julien', role: 'membre', actif: true },
  { id: 5, nom: 'Sophie', role: 'membre', actif: true },
  { id: 6, nom: 'Nicolas', role: 'membre', actif: true },
  { id: 7, nom: 'Camille', role: 'membre', actif: true },
  { id: 8, nom: 'Admin Famille', role: 'admin', code_pin: '1234', actif: true },
  { id: 9, nom: 'Kiosk Mural', role: 'kiosk', actif: true },
];

export const INITIAL_TASKS: Task[] = [
  {
    id: 1,
    nom: 'Sortir la poubelle',
    frequence: 'hebdomadaire',
    jours_semaine: [1, 2, 3, 4, 5, 6, 7], // quotidien pour la démo
    categorie: 'maison',
    afficher_alerte: true,
    afficher_carrousel: false,
  },
  {
    id: 2,
    nom: 'Arroser les plantes',
    frequence: 'quotidien',
    jours_semaine: [1, 2, 3, 4, 5, 6, 7],
    categorie: 'maison',
    afficher_alerte: false,
    afficher_carrousel: true,
  },
  {
    id: 3,
    nom: 'Aérer la chambre de papa (15 min)',
    frequence: 'quotidien',
    jours_semaine: [1, 2, 3, 4, 5, 6, 7],
    categorie: 'soins',
    afficher_alerte: true,
    afficher_carrousel: true,
  },
  {
    id: 4,
    nom: 'Vérifier réserve compresses & sérum phy',
    frequence: 'quotidien',
    jours_semaine: [1, 2, 3, 4, 5, 6, 7],
    categorie: 'logistique',
    afficher_alerte: true,
    afficher_carrousel: false,
  },
  {
    id: 5,
    nom: 'Changer l’eau du bouquet du salon',
    frequence: 'quotidien',
    jours_semaine: [1, 2, 3, 4, 5, 6, 7],
    categorie: 'bienveillance',
    afficher_alerte: false,
    afficher_carrousel: true,
  },
];

export const INITIAL_MEDICATIONS: Medication[] = [
  {
    id: 1,
    patient: 'papa',
    nom: 'Morphine gouttes (0.5ml)',
    dosage: '0.5ml sublingual',
    moment: 'midi',
    heure_prevue: '12:00',
  },
  {
    id: 2,
    patient: 'maman',
    nom: 'Collyre yeux',
    dosage: '2 gouttes chaque œil',
    moment: 'midi',
    heure_prevue: '14:00',
  },
  {
    id: 3,
    patient: 'papa',
    nom: 'Paracétamol sirop',
    dosage: '1 dose-poids',
    moment: 'soir',
    heure_prevue: '18:30',
  },
  {
    id: 4,
    patient: 'maman',
    nom: 'Traitement tension (Kardegic)',
    dosage: '75mg sachet',
    moment: 'matin',
    heure_prevue: '08:30',
  },
  {
    id: 5,
    patient: 'papa',
    nom: 'Gouttes hydratation confort bouche',
    dosage: 'Spray buccal',
    moment: 'soir',
    heure_prevue: '20:00',
  },
];

export const getTodayDateString = (offsetDays = 0): string => {
  const d = new Date();
  d.setDate(d.getDate() + offsetDays);
  return d.toISOString().split('T')[0];
};

export const INITIAL_APPOINTMENTS: Appointment[] = [
  {
    id: 1,
    titre: 'Passage infirmier — ce matin',
    patient: 'papa',
    type: 'recurrent',
    moment: 'matin',
    date_debut: `${getTodayDateString(0)} 09:30`,
    lieu: 'Domicile parents',
    notes: 'Changement pansement & vérification constante',
  },
  {
    id: 2,
    titre: 'Kiné respiratoire',
    patient: 'papa',
    type: 'ponctuel',
    moment: 'matin',
    date_debut: `${getTodayDateString(0)} 15:00`,
    lieu: 'Domicile parents',
    notes: 'Mobilisation douce et désencombrement',
  },
  {
    id: 3,
    titre: 'RDV Ophtalmo maman',
    patient: 'maman',
    type: 'ponctuel',
    moment: 'matin',
    date_debut: `${getTodayDateString(1)} 14:00`,
    lieu: 'Cabinet Dr Martin, 14 rue Victor Hugo',
    notes: 'Contrôle tension oculaire — Thomas accompagne',
  },
  {
    id: 4,
    titre: 'Visite médecin coordinateur soins de support',
    patient: 'papa',
    type: 'ponctuel',
    moment: 'matin',
    date_debut: `${getTodayDateString(3)} 11:30`,
    lieu: 'Domicile parents',
    notes: 'Point sur l’adaptation des antalgiques',
  },
];

export const INITIAL_PRESENCES: Presence[] = [
  {
    id: 1,
    utilisateur_id: 2,
    utilisateur_nom: 'Thomas',
    date: getTodayDateString(-1),
    heure_debut: '09:00',
    heure_fin: '17:00',
  },
  {
    id: 2,
    utilisateur_id: 1,
    utilisateur_nom: 'Marie',
    date: getTodayDateString(0),
    heure_debut: '16:00',
    heure_fin: '20:00',
  },
  {
    id: 3,
    utilisateur_id: 3,
    utilisateur_nom: 'Claire',
    date: getTodayDateString(1),
    heure_debut: '10:00',
    heure_fin: '18:00',
  },
  // Day +2 has no presence initially to trigger and showcase "Trou de planning" detection!
  {
    id: 4,
    utilisateur_id: 4,
    utilisateur_nom: 'Julien',
    date: getTodayDateString(3),
    heure_debut: '14:00',
    heure_fin: '19:00',
  },
  {
    id: 5,
    utilisateur_id: 5,
    utilisateur_nom: 'Sophie',
    date: getTodayDateString(4),
    heure_debut: '09:00',
    heure_fin: '16:00',
  },
];

export const INITIAL_CAROUSEL_MESSAGES: CarouselMessage[] = [
  {
    id: 1,
    texte: 'Penser à faire boire papa régulièrement (petites gorgées fraîches ou compote)',
    actif: true,
  },
  {
    id: 2,
    texte: 'Les ordonnances renouvelées sont rangées dans le classeur bleu du salon',
    actif: true,
  },
  {
    id: 3,
    texte: 'Maman a besoin de son chapeau et ses lunettes de soleil pour la terrasse',
    actif: true,
  },
  {
    id: 4,
    texte: 'Kinésithérapie : penser à surélever les jambes de papa après la séance',
    actif: true,
  },
];
