<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        DB::table('mail_templates')->insert([
            'mailable' => 'App\\Mail\\AlerteStock',
            'subject' => json_encode(['fr' => '[Stock bas] {{article}} — {{stock_restant}} unités restantes'], JSON_UNESCAPED_UNICODE),
            'html_template' => json_encode(['fr' => $this->getHtmlTemplate()], JSON_UNESCAPED_UNICODE),
            'text_template' => json_encode(['fr' => $this->getTextTemplate()], JSON_UNESCAPED_UNICODE),
            'created_at' => now(),
            'updated_at' => now(),
        ]);
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        DB::table('mail_templates')
            ->where('mailable', 'App\\Mail\\AlerteStock')
            ->delete();
    }

    private function getHtmlTemplate(): string
    {
        return '<table style="min-width: 100%;" width="100%" cellspacing="0" cellpadding="0">'
            .'<tbody><tr><td>'
            .'<table style="border-collapse: collapse; background-color: #ffffff; margin: 0 auto; width: 600px;" cellspacing="0" cellpadding="0" border="0" align="center">'
            .'<tbody><tr>'
            .'<td style="margin: 0px auto; padding: 32px 0px 24px 4px; vertical-align: top;" align="center">'
            .'<a href="https://www.jardinenvie.com/" style="text-decoration: none; color: #000000;">'
            .'<img alt="Jardin\'enVie" src="https://boutique.jardinenvie.com/img/logo.png" style="margin: 0px auto; display: block;" width="300" height="138" border="0" /></a></td>'
            .'</tr></tbody></table>'
            .'<table style="border-collapse: collapse; background-color: #ffffff; margin: 0 auto; width: 600px;" cellspacing="0" cellpadding="0" border="0" align="center">'
            .'<tbody><tr><td style="margin: 0 auto; padding: 0px; vertical-align: top;">'
            .'<table style="border-collapse: collapse; margin: 0 auto; width: 512px;" cellspacing="0" cellpadding="0" border="0" align="center">'
            .'<tbody>'
            .'<tr><td style="font-family: \'Nunito Sans\', Arial, sans-serif; line-height: 40px; color: #000000; font-size: 28px; padding: 20px 0px 10px 0px; font-weight: 800; text-align: center;">'
            .'Alerte stock bas</td></tr>'
            .'<tr><td style="font-family: \'Nunito Sans\', Arial, sans-serif; line-height: 28px; color: #000000; font-size: 16px; text-align: center; padding: 10px 0 30px 0;">'
            .'<p>Le stock de l\'article <strong>{{article}}</strong> (offre n&deg;{{offre}}) '
            .'a atteint le seuil d\'alerte.</p>'
            .'<p style="font-size: 24px; font-weight: bold; color: #c0392b; padding: 10px 0;">{{stock_restant}} unit&eacute;s restantes</p>'
            .'<p>Seuil d\'alerte configur&eacute; : {{seuil}} unit&eacute;s</p>'
            .'<p style="padding-top: 15px; color: #666;">Pensez &agrave; r&eacute;approvisionner cet article.</p>'
            .'</td></tr>'
            .'</tbody></table>'
            .'</td></tr></tbody></table>'
            .'<table style="border-collapse: collapse; background-color: #ffffff; margin: 0 auto; width: 600px; text-align: center;" cellspacing="0" cellpadding="0" border="0" align="center">'
            .'<tbody><tr><td style="font-family: \'Nunito Sans\', Arial, sans-serif; font-size: 12px; font-weight: 600; line-height: 20px; padding: 16px; color: #999999;">'
            .'Jardin\'enVie Artisan Semencier<br />429 route des chaux, 26500 Bourg les Valence - Dr&ocirc;me'
            .'</td></tr></tbody></table>'
            .'</td></tr></tbody></table>';
    }

    private function getTextTemplate(): string
    {
        return "ALERTE STOCK BAS\n\n"
            ."Article : {{article}} (offre n°{{offre}})\n"
            ."Stock restant : {{stock_restant}} unités\n"
            ."Seuil d'alerte : {{seuil}} unités\n\n"
            ."Pensez à réapprovisionner cet article.\n\n"
            ."Jardin'enVie Artisan Semencier\n"
            .'429 route des chaux, 26500 Bourg les Valence - Drôme';
    }
};
