/**
 * Templates pour les notifications d'abonnement
 */

module.exports.abonnementTemplates = {
    // Templates Email
    email: {
        // Abonnement activé
        abonnementActive: (parent, abonnement, offre) => ({
            subject: `🎉 Votre abonnement ${offre.nom} est activé !`,
            html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background-color: #f9fafb;">
          <div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 30px; text-align: center; color: white;">
            <h1 style="margin: 0; font-size: 24px;">🎉 Abonnement Activé !</h1>
            <p style="margin: 10px 0 0 0; opacity: 0.9;">Bienvenue dans l'expérience premium</p>
          </div>
          
          <div style="padding: 30px;">
            <p style="font-size: 16px; color: #2d3748; margin-bottom: 20px;">
              Bonjour <strong>${parent.nom}</strong>,
            </p>
            
            <p style="font-size: 16px; color: #4a5568; line-height: 1.6;">
              Félicitations ! Votre abonnement <strong>${offre.nom}</strong> a été activé avec succès.
            </p>
            
            <div style="background-color: #f7fafc; border-left: 4px solid #4299e1; padding: 20px; margin: 25px 0; border-radius: 4px;">
              <h3 style="margin: 0 0 15px 0; color: #2d3748;">📋 Détails de votre abonnement :</h3>
              <ul style="margin: 0; padding-left: 20px; color: #4a5568;">
                <li><strong>Type :</strong> ${offre.typeAbonnement}</li>
                <li><strong>Durée :</strong> ${offre.dureeJours} jours</li>
                <li><strong>Prix :</strong> ${abonnement.montantFinal} ${abonnement.devise}</li>
                <li><strong>Date de début :</strong> ${new Date(abonnement.dateDebut).toLocaleDateString('fr-FR')}</li>
                <li><strong>Date de fin :</strong> ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}</li>
              </ul>
            </div>
            
            <div style="background-color: #e6fffa; border: 1px solid #81e6d9; border-radius: 8px; padding: 20px; margin: 25px 0;">
              <h3 style="margin: 0 0 15px 0; color: #2c7a7b;">✨ Fonctionnalités incluses :</h3>
              <ul style="margin: 0; padding-left: 20px; color: #2c7a7b;">
                ${offre.fonctionnalites.map(f => `<li>${f}</li>`).join('')}
              </ul>
            </div>
            
            <div style="text-align: center; margin: 30px 0;">
              <a href="${sails.config.externalApis.baseUrl}/app" 
                 style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; 
                        padding: 15px 30px; text-decoration: none; border-radius: 6px; 
                        display: inline-block; font-weight: bold; font-size: 16px;">
                🚀 Accéder à l'application
              </a>
            </div>
            
            <p style="font-size: 14px; color: #718096; text-align: center; margin-top: 30px;">
              Merci de votre confiance !<br>
              L'équipe Corossol
            </p>
          </div>
        </div>
      `
        }),

        // Expiration proche
        expirationProche: (parent, abonnement, offre, joursRestants) => ({
            subject: `⚠️ Votre abonnement expire dans ${joursRestants} jour(s)`,
            html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background-color: #f9fafb;">
          <div style="background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); padding: 30px; text-align: center; color: white;">
            <h1 style="margin: 0; font-size: 24px;">⚠️ Expiration Proche</h1>
            <p style="margin: 10px 0 0 0; opacity: 0.9;">Renouvelez votre abonnement</p>
          </div>
          
          <div style="padding: 30px;">
            <p style="font-size: 16px; color: #2d3748; margin-bottom: 20px;">
              Bonjour <strong>${parent.nom} </strong>,
            </p>
            
            <p style="font-size: 16px; color: #4a5568; line-height: 1.6;">
              Votre abonnement <strong>${offre.nom}</strong> expire dans <strong>${joursRestants} jour(s)</strong>.
            </p>
            
            <div style="background-color: #fff5f5; border-left: 4px solid #f56565; padding: 20px; margin: 25px 0; border-radius: 4px;">
              <h3 style="margin: 0 0 15px 0; color: #c53030;">📅 Date d'expiration :</h3>
              <p style="margin: 0; color: #c53030; font-size: 18px; font-weight: bold;">
                ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}
              </p>
            </div>
            
            <p style="font-size: 16px; color: #4a5568; line-height: 1.6;">
              Pour continuer à bénéficier de toutes nos fonctionnalités premium, veuillez renouveler votre abonnement dès que possible.
            </p>
            
            <div style="text-align: center; margin: 30px 0;">
              <a href="${sails.config.externalApis.baseUrl}/app/abonnements" 
                 style="background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: white; 
                        padding: 15px 30px; text-decoration: none; border-radius: 6px; 
                        display: inline-block; font-weight: bold; font-size: 16px;">
                🔄 Renouveler mon abonnement
              </a>
            </div>
            
            <p style="font-size: 14px; color: #718096; text-align: center; margin-top: 30px;">
              L'équipe Corossol
            </p>
          </div>
        </div>
      `
        }),

        // Abonnement expiré
        abonnementExpire: (parent, abonnement, offre) => ({
            subject: `❌ Votre abonnement ${offre.nom} a expiré`,
            html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background-color: #f9fafb;">
          <div style="background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%); padding: 30px; text-align: center; color: white;">
            <h1 style="margin: 0; font-size: 24px;">❌ Abonnement Expiré</h1>
            <p style="margin: 10px 0 0 0; opacity: 0.9;">Renouvelez pour continuer</p>
          </div>
          
          <div style="padding: 30px;">
            <p style="font-size: 16px; color: #2d3748; margin-bottom: 20px;">
              Bonjour <strong>${parent.nom} </strong>,
            </p>
            
            <p style="font-size: 16px; color: #4a5568; line-height: 1.6;">
              Votre abonnement <strong>${offre.nom}</strong> a expiré le <strong>${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}</strong>.
            </p>
            
            <div style="background-color: #fed7d7; border: 1px solid #fc8181; border-radius: 8px; padding: 20px; margin: 25px 0;">
              <h3 style="margin: 0 0 15px 0; color: #c53030;">⚠️ Accès limité :</h3>
              <p style="margin: 0; color: #c53030;">
                Vous avez maintenant un accès limité aux fonctionnalités de l'application. 
                Pour retrouver l'accès complet, veuillez renouveler votre abonnement.
              </p>
            </div>
            
            <div style="text-align: center; margin: 30px 0;">
              <a href="${sails.config.externalApis.baseUrl}/app/abonnements" 
                 style="background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%); color: white; 
                        padding: 15px 30px; text-decoration: none; border-radius: 6px; 
                        display: inline-block; font-weight: bold; font-size: 16px;">
                🔄 Renouveler maintenant
              </a>
            </div>
            
            <p style="font-size: 14px; color: #718096; text-align: center; margin-top: 30px;">
              L'équipe Corossol
            </p>
          </div>
        </div>
      `
        }),

        // Paiement réussi
        paiementReussi: (parent, abonnement, offre, transaction) => ({
            subject: `✅ Paiement confirmé - ${offre.nom}`,
            html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background-color: #f9fafb;">
          <div style="background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); padding: 30px; text-align: center; color: white;">
            <h1 style="margin: 0; font-size: 24px;">✅ Paiement Confirmé</h1>
            <p style="margin: 10px 0 0 0; opacity: 0.9;">Votre abonnement est maintenant actif</p>
          </div>
          
          <div style="padding: 30px;">
            <p style="font-size: 16px; color: #2d3748; margin-bottom: 20px;">
              Bonjour <strong>${parent.nom} </strong>,
            </p>
            
            <p style="font-size: 16px; color: #4a5568; line-height: 1.6;">
              Nous confirmons la réception de votre paiement pour l'abonnement <strong>${offre.nom}</strong>.
            </p>
            
            <div style="background-color: #f0fff4; border-left: 4px solid #48bb78; padding: 20px; margin: 25px 0; border-radius: 4px;">
              <h3 style="margin: 0 0 15px 0; color: #2f855a;">💰 Détails du paiement :</h3>
              <ul style="margin: 0; padding-left: 20px; color: #2f855a;">
                <li><strong>Montant :</strong> ${transaction.montant} ${transaction.devise}</li>
                <li><strong>Méthode :</strong> ${transaction.methodePaiement}</li>
                <li><strong>Référence :</strong> ${transaction.referencePaiement || 'N/A'}</li>
                <li><strong>Date :</strong> ${new Date(transaction.dateTransaction).toLocaleDateString('fr-FR')}</li>
              </ul>
            </div>
            
            <div style="text-align: center; margin: 30px 0;">
              <a href="${sails.config.externalApis.baseUrl}/app" 
                 style="background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); color: white; 
                        padding: 15px 30px; text-decoration: none; border-radius: 6px; 
                        display: inline-block; font-weight: bold; font-size: 16px;">
                🚀 Accéder à l'application
              </a>
            </div>
            
            <p style="font-size: 14px; color: #718096; text-align: center; margin-top: 30px;">
              Merci de votre confiance !<br>
              L'équipe Corossol
            </p>
          </div>
        </div>
      `
        }),

        // Essai commencé
        essaiCommence: (parent, abonnement, offre) => ({
            subject: `🎁 Votre période d'essai ${offre.nom} a commencé !`,
            html: `
        <div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; background-color: #f9fafb;">
          <div style="background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); padding: 30px; text-align: center; color: #2d3748;">
            <h1 style="margin: 0; font-size: 24px;">🎁 Période d'essai activée</h1>
            <p style="margin: 10px 0 0 0; opacity: 0.8;">Découvrez nos fonctionnalités premium</p>
          </div>
          
          <div style="padding: 30px;">
            <p style="font-size: 16px; color: #2d3748; margin-bottom: 20px;">
              Bonjour <strong>${parent.nom} </strong>,
            </p>
            
            <p style="font-size: 16px; color: #4a5568; line-height: 1.6;">
              Votre période d'essai <strong>${offre.nom}</strong> a commencé ! 
              Profitez de toutes nos fonctionnalités premium pendant ${offre.dureeJours} jours.
            </p>
            
            <div style="background-color: #fef5e7; border-left: 4px solid #ed8936; padding: 20px; margin: 25px 0; border-radius: 4px;">
              <h3 style="margin: 0 0 15px 0; color: #c05621;">⏰ Votre essai se termine le :</h3>
              <p style="margin: 0; color: #c05621; font-size: 18px; font-weight: bold;">
                ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}
              </p>
            </div>
            
            <div style="background-color: #e6fffa; border: 1px solid #81e6d9; border-radius: 8px; padding: 20px; margin: 25px 0;">
              <h3 style="margin: 0 0 15px 0; color: #2c7a7b;">✨ Fonctionnalités incluses :</h3>
              <ul style="margin: 0; padding-left: 20px; color: #2c7a7b;">
                ${offre.fonctionnalites.map(f => `<li>${f}</li>`).join('')}
              </ul>
            </div>
            
            <div style="text-align: center; margin: 30px 0;">
              <a href="${sails.config.externalApis.baseUrl}/app" 
                 style="background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); color: #2d3748; 
                        padding: 15px 30px; text-decoration: none; border-radius: 6px; 
                        display: inline-block; font-weight: bold; font-size: 16px;">
                🚀 Commencer l'essai
              </a>
            </div>
            
            <p style="font-size: 14px; color: #718096; text-align: center; margin-top: 30px;">
              L'équipe Corossol
            </p>
          </div>
        </div>
      `
        })
    },

    // Templates WhatsApp
    whatsapp: {
        // Abonnement activé
        abonnementActive: (parent, abonnement, offre) => `
🎉 *Abonnement Activé - Corossol*

Bonjour ${parent.nom} ,

Félicitations ! Votre abonnement *${offre.nom}* a été activé avec succès.

📋 *Détails :*
• Type : ${offre.typeAbonnement}
• Durée : ${offre.dureeJours} jours
• Prix : ${abonnement.montantFinal} ${abonnement.devise}
• Début : ${new Date(abonnement.dateDebut).toLocaleDateString('fr-FR')}
• Fin : ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}

✨ *Fonctionnalités incluses :*
${offre.fonctionnalites.map(f => `• ${f}`).join('\n')}

🚀 Accédez à l'application pour commencer !

Merci de votre confiance !
L'équipe Corossol
    `,

        // Expiration proche
        expirationProche: (parent, abonnement, offre, joursRestants) => `
⚠️ *Expiration Proche - Corossol*

Bonjour ${parent.nom} ,

Votre abonnement *${offre.nom}* expire dans *${joursRestants} jour(s)*.

📅 *Date d'expiration :*
${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}

🔄 Renouvelez votre abonnement pour continuer à bénéficier de toutes nos fonctionnalités premium.

L'équipe Corossol
    `,

        // Abonnement expiré
        abonnementExpire: (parent, abonnement, offre) => `
❌ *Abonnement Expiré - Corossol*

Bonjour ${parent.nom} ,

Votre abonnement *${offre.nom}* a expiré le ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}.

⚠️ *Accès limité :*
Vous avez maintenant un accès limité aux fonctionnalités de l'application.

🔄 Renouvelez votre abonnement pour retrouver l'accès complet.

L'équipe Corossol
    `,

        // Paiement réussi
        paiementReussi: (parent, abonnement, offre, transaction) => `
✅ *Paiement Confirmé - Corossol*

Bonjour ${parent.nom} ,

Nous confirmons la réception de votre paiement pour l'abonnement *${offre.nom}*.

💰 *Détails du paiement :*
• Montant : ${transaction.montant} ${transaction.devise}
• Méthode : ${transaction.methodePaiement}
• Référence : ${transaction.referencePaiement || 'N/A'}
• Date : ${new Date(transaction.dateTransaction).toLocaleDateString('fr-FR')}

🚀 Votre abonnement est maintenant actif !

Merci de votre confiance !
L'équipe Corossol
    `,

        // Essai commencé
        essaiCommence: (parent, abonnement, offre) => `
🎁 *Période d'essai activée - Corossol*

Bonjour ${parent.nom} ,

Votre période d'essai *${offre.nom}* a commencé !

⏰ *Votre essai se termine le :*
${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}

✨ *Fonctionnalités incluses :*
${offre.fonctionnalites.map(f => `• ${f}`).join('\n')}

🚀 Commencez votre essai maintenant !

L'équipe Corossol
    `
    },

    // Templates SMS
    sms: {
        // Abonnement activé
        abonnementActive: (parent, abonnement, offre) =>
            `Corossol: Votre abonnement ${offre.nom} est activé ! Accédez à l'app pour commencer. Fin: ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}`,

        // Expiration proche
        expirationProche: (parent, abonnement, offre, joursRestants) =>
            `Corossol: Votre abonnement ${offre.nom} expire dans ${joursRestants} jour(s). Renouvelez sur l'app.`,

        // Abonnement expiré
        abonnementExpire: (parent, abonnement, offre) =>
            `Corossol: Votre abonnement ${offre.nom} a expiré. Renouvelez sur l'app pour retrouver l'accès complet.`,

        // Paiement réussi
        paiementReussi: (parent, abonnement, offre, transaction) =>
            `Corossol: Paiement confirmé pour ${offre.nom} (${transaction.montant} ${transaction.devise}). Votre abonnement est actif !`,

        // Essai commencé
        essaiCommence: (parent, abonnement, offre) =>
            `Corossol: Votre essai ${offre.nom} a commencé ! Fin: ${new Date(abonnement.dateFin).toLocaleDateString('fr-FR')}. Accédez à l'app.`
    }
}; 