export interface QuestionnaireReminderMessageTemplate {
  message: string;
  sender?: string;
}

export interface QuestionnaireReminderMessageConfig {
  step1: QuestionnaireReminderMessageTemplate;
  step2: QuestionnaireReminderMessageTemplate;
  step3: QuestionnaireReminderMessageTemplate;
  step4: QuestionnaireReminderMessageTemplate;
  step5: QuestionnaireReminderMessageTemplate;
}

export const QUESTIONNAIRE_REMINDER_MESSAGES: QuestionnaireReminderMessageConfig =
  {
    step1: {
      message:
        "Bonjour [Prénom],\nVotre questionnaire n'est pas encore terminé.\nEn le complétant, vous nous permettrez d'adapter nos messages à votre propre rythme de traitement.\nCela prendra seulement quelques minutes pour le finaliser.\nVoici le lien pour le reprendre : {form}\nMerci pour le temps que vous y consacrez, il nous aide à mieux vous suivre",
      sender: 'AD+',
    },
    step2: {
      message:
        'Bonjour [Prénom],\nVous avez déjà bien avancé dans le questionnaire !\nCela ne prendra que quelques minutes pour le finaliser.\nChaque réponse nous aide à mieux comprendre vos besoins et à personnaliser votre accompagnement.\nVoici le lien pour le reprendre : {form}\nMerci pour le temps que vous y consacrez, il nous aide à mieux vous suivre.',
      sender: 'AD+',
    },
    step3: {
      message:
        'Bonjour [Prénom],\nVous avez complété la moitié du questionnaire, bravo !\nCela ne vous prendra que quelques minutes pour le finaliser.\nPlus vos réponses seront précises, plus votre accompagnement pourra s\'adapté à votre rythme.\nVous pouvez le reprendre ici : {form}\nMerci pour votre implication, elle fait toute la différence ',
      sender: 'AD+',
    },
    step4: {
      message:
        'Bonjour [Prénom],\nVous avez presque terminé !\nCela vous prendra moins de 2 minutes pour terminer le questionnaire.\nChaque réponse compte pour que votre suivi soit le plus personnalisé possible.\nVous pouvez finaliser le questionnaire ici : {form}\nMerci pour votre confiance et le temps que vous y consacrez.',
      sender: 'AD+',
    },
    step5: {
      message:
        "Bonjour [Prénom],\nVous touchez au but !\nCela ne vous prendra plus qu'une minute pour terminer le questionnaire.\nCes dernières réponses nous permettront d'adapter au mieux nos conseils à votre situation.\nVoici le lien pour le reprendre : {form}\nMerci pour votre temps, il est précieux pour finaliser votre suivi personnalisé.",
      sender: 'AD+',
    },
  };

// Fonction pour personnaliser le message avec des variables
export function personalizeQuestionnaireReminderMessage(
  template: string,
  variables: QuestionnaireReminderMessageVariables,
): string {
  let personalizedMessage = template;

  // Remplacer [Prénom] par le prénom
  if (variables.firstName !== undefined) {
    personalizedMessage = personalizedMessage.replace(
      /\[Prénom\]/g,
      variables.firstName,
    );
  }

  // Remplacer {form} par l'URL du formulaire
  if (variables.form !== undefined) {
    personalizedMessage = personalizedMessage.replace(
      /{form}/g,
      variables.form,
    );
  }

  return personalizedMessage;
}

// Variables disponibles pour la personnalisation
export interface QuestionnaireReminderMessageVariables {
  firstName?: string;
  form?: string;
}
