Преглед изворни кода

feat: :sparkles: feat(implementação-envio-de-email) Finalizando o template de envio do email

Foi finalizado o template do envio do email  e iniciado a troca do template do email do codigo de confimação

fase:dev | origin:escopo
kayo henrique пре 1 месец
родитељ
комит
dd1f3a62fb

+ 12 - 12
app/Jobs/FinishScheduleJob.php

@@ -28,25 +28,25 @@ class FinishScheduleJob implements ShouldQueue
       $schedule = Schedule::find($this->scheduleId);
       $date_cleaned = Carbon::parse($schedule->date)->format('Y-m-d');
 
-      if (!$schedule) {
-        return;
-      }
+      // if (!$schedule) {
+      //   return;
+      // }
 
       Log::channel('schedule_end_jobs')->info('Verificando status do agendamento id: ' . $schedule->id);
       Log::channel('schedule_end_jobs')->info('Status do agendamento: ' . $schedule->status);
 
-      if ($schedule->status !== 'started') {
-        return;
-      }
+      // if ($schedule->status !== 'started') {
+      //   return;
+      // }
 
       Log::channel('schedule_end_jobs')->info('Verificando data');
       Log::channel('schedule_end_jobs')->info('Data do agendamento: ' . $date_cleaned);
       Log::channel('schedule_end_jobs')->info('Data atual: ' . now()->toDateString());
 
 
-      if ($date_cleaned > now()->toDateString()) {
-        return;
-      }
+      // if ($date_cleaned > now()->toDateString()) {
+      //   return;
+      // }
 
       Log::channel('schedule_end_jobs')->info('Verificando horário');
       Log::channel('schedule_end_jobs')->info('Horário do agendamento: ' . $schedule->end_time);
@@ -54,9 +54,9 @@ class FinishScheduleJob implements ShouldQueue
 
       $end_date_time = Carbon::parse($date_cleaned . ' ' . $schedule->end_time);
 
-      if ($end_date_time > now()) {
-        return;
-      }
+      // if ($end_date_time > now()) {
+      //   return;
+      // }
 
       Log::channel('schedule_end_jobs')->info('Validado com sucesso, atualizado agendamento id: ' . $schedule->id . ' para status finalizado');
 

+ 2 - 0
public/storage/.gitignore

@@ -0,0 +1,2 @@
+*
+!.gitignore

+ 239 - 533
resources/views/emails/email_receipt.blade.php

@@ -2,638 +2,344 @@
 <html lang="pt-BR">
 
 <head>
-
-  <meta charset="UTF-8" />
-
-  <meta
-    name="viewport"
-    content="width=device-width, initial-scale=1.0"
-  />
-
-  <title>
-    {{ __('mail.service_completed.subject') }}
-  </title>
-
-  <!-- CSS -->
-
-  <style>
-
-    * {
-      margin: 0;
-      padding: 0;
-      box-sizing: border-box;
-      font-family: Arial, Helvetica, sans-serif;
-    }
-
-    body {
-      background: #f5f5f7;
-      padding: 20px;
-    }
-
-    .email-container {
-      max-width: 650px;
-      margin: 0 auto;
-      background: #ffffff;
-      border-radius: 24px;
-      overflow: hidden;
-      box-shadow: 0 10px 40px rgba(0,0,0,0.08);
-    }
-
-    /* HEADER */
-
-    .header {
-      background: linear-gradient(135deg, #7b2cff, #4d14d1);
-      padding: 50px 30px 30px;
-      color: white;
-    }
-
-    .header-content {
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      gap: 20px;
-    }
-
-    .header-text {
-      flex: 1;
-    }
-
-    .title {
-      font-size: 52px;
-      font-weight: 800;
-      line-height: 1;
-      margin-bottom: 20px;
-    }
-
-    .subtitle {
-      font-size: 20px;
-      line-height: 1.5;
-      opacity: 0.95;
-    }
-
-    .diarinho {
-      width: 220px;
-    }
-
-    /* CONTENT */
-
-    .content {
-      padding: 30px;
-      background: #f5f5f7;
-    }
-
-    /* STATUS */
-
-    .success-card {
-      background: white;
-      border-radius: 22px;
-      padding: 22px;
-      display: flex;
-      align-items: center;
-      gap: 18px;
-      margin-bottom: 24px;
-    }
-
-    .success-icon {
-      width: 60px;
-      height: 60px;
-      border-radius: 999px;
-      background: #4cd964;
-      color: white;
-      font-size: 32px;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-      font-weight: bold;
-    }
-
-    .success-title {
-      font-size: 30px;
-      color: #5a22d6;
-      font-weight: 700;
-      margin-bottom: 6px;
-    }
-
-    .success-subtitle {
-      color: #6b6b6b;
-      font-size: 18px;
-    }
-
-    /* CARD */
-
-    .card {
-      background: white;
-      border-radius: 24px;
-      padding: 30px;
-      margin-bottom: 24px;
-    }
-
-    .card-title {
-      font-size: 34px;
-      font-weight: 700;
-      color: #5a22d6;
-      margin-bottom: 30px;
-    }
-
-    .service-grid {
-      display: flex;
-      justify-content: space-between;
-      gap: 25px;
-    }
-
-    .service-column {
-      flex: 1;
-    }
-
-    .item {
-      margin-bottom: 28px;
-    }
-
-    .item-label {
-      color: #777;
-      font-size: 15px;
-      margin-bottom: 8px;
-    }
-
-    .item-value {
-      color: #1f1f1f;
-      font-size: 26px;
-      font-weight: 700;
-      line-height: 1.4;
-    }
-
-    .divider {
-      width: 1px;
-      background: #ececec;
-    }
-
-    /* PAYMENT */
-
-    .payment-wrapper {
-      display: flex;
-      justify-content: space-between;
-      gap: 25px;
-      align-items: center;
-    }
-
-    .payment-total {
-      flex: 1;
-    }
-
-    .payment-summary {
-      margin-top: 18px;
-    }
-
-    .payment-row {
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      margin-bottom: 18px;
-    }
-
-    .payment-row span {
-      font-size: 18px;
-      color: #666;
-    }
-
-    .payment-row strong {
-      font-size: 22px;
-      color: #1f1f1f;
-    }
-
-    .payment-final {
-      border-top: 1px solid #ececec;
-      padding-top: 22px;
-      margin-top: 10px;
-
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-    }
-
-    .payment-final-label {
-      font-size: 24px;
-      font-weight: 700;
-      color: #5a22d6;
-    }
-
-    .payment-final-value {
-      font-size: 42px;
-      font-weight: 800;
-      color: #5a22d6;
-    }
-
-    .payment-method {
-      flex: 1;
-    }
-
-    .payment-badge {
-      display: inline-flex;
-      align-items: center;
-      gap: 12px;
-      border: 1px solid #e5e5e5;
-      padding: 14px 20px;
-      border-radius: 16px;
-      margin-top: 12px;
-      font-size: 26px;
-      font-weight: bold;
-      color: #222;
-    }
-
-    .paid-status {
-      margin-left: 15px;
-      background: #dff7e7;
-      color: #1ea75d;
-      padding: 6px 14px;
-      border-radius: 999px;
-      font-size: 14px;
-      font-weight: bold;
-    }
-
-    /* FOOTER CARD */
-
-    .footer-card {
-      background: #f1ebff;
-      border-radius: 24px;
-      padding: 25px;
-      display: flex;
-      align-items: center;
-      gap: 20px;
-      margin-bottom: 24px;
-    }
-
-    .footer-diarinho {
-      width: 120px;
-    }
-
-    .footer-title {
-      font-size: 36px;
-      color: #5a22d6;
-      font-weight: 700;
-      margin-bottom: 10px;
-    }
-
-    .footer-text {
-      color: #666;
-      line-height: 1.7;
-      font-size: 18px;
-    }
-
-    /* FOOTER */
-
-    .footer {
-      background: linear-gradient(135deg, #5d1ce0, #3f0fb3);
-      padding: 35px 30px;
-      color: white;
-    }
-
-    .footer-content {
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      gap: 20px;
-      flex-wrap: wrap;
-    }
-
-    .footer-app {
-      font-size: 30px;
-      font-weight: 700;
-      color: #6de0ff;
-    }
-
-    .footer-help {
-      text-align: right;
-      font-size: 18px;
-      line-height: 1.6;
-    }
-
-    .footer-bottom {
-      margin-top: 25px;
-      text-align: center;
-      font-size: 14px;
-      opacity: 0.7;
-    }
-
-    /* RESPONSIVE */
-
-    @media(max-width: 640px) {
-
-      .header-content,
-      .service-grid,
-      .payment-wrapper,
-      .footer-card {
-        flex-direction: column;
-      }
-
-      .divider {
-        width: 100%;
-        height: 1px;
-      }
-
-      .title {
-        font-size: 42px;
-      }
-
-      .diarinho {
-        width: 160px;
-      }
-
-      .card-title {
-        font-size: 28px;
-      }
-
-      .item-value {
-        font-size: 22px;
-      }
-
-      .payment-final {
-        flex-direction: column;
-        align-items: flex-start;
-        gap: 10px;
-      }
-
-      .footer-help {
-        text-align: left;
-      }
-    }
-
-  </style>
-
+  <meta charset="UTF-8">
+  <title>{{ __('mail.service_completed.subject') }}</title>
 </head>
 
-<body>
-
-<div class="email-container">
-
-  <!-- HEADER -->
+<body style="margin:0;padding:0;background:#f5f5f7;font-family:Arial,Helvetica,sans-serif;">
 
-  <div class="header">
+  <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f5f5f7">
+    <tr>
+      <td align="center">
 
-    <div class="header-content">
+        <!-- CONTAINER -->
+        <table width="650" cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff"
+          style="margin:20px auto;border-radius:24px;overflow:hidden;">
 
-      <div class="header-text">
+          <!-- HEADER -->
+          <tr>
+            <td
+              style="background:#5a22d6;padding:50px 40px;color:white;">
 
-        <div class="title">
-          {{ __('mail.service_completed.title') }}
-        </div>
+              <table width="100%">
+                <tr>
 
-        <div class="subtitle">
-          {{ __('mail.service_completed.subtitle') }}
-        </div>
+                  <td valign="middle">
 
-      </div>
+                    <div style="font-size:52px;font-weight:bold;line-height:1.1;">
+                      {{ __('mail.service_completed.title') }}
+                    </div>
 
-      <img
-        src="{{ asset('images/diarinho.png') }}"
-        class="diarinho"
-        alt="Diarinho"
-      />
+                    <div style="font-size:20px;margin-top:20px;line-height:1.6;">
+                      {{ __('mail.service_completed.subtitle') }}
+                    </div>
 
-    </div>
+                  </td>
 
-  </div>
+                  <td width="220" align="right" valign="middle">
 
-  <!-- CONTENT -->
+                    <img
+                      src="https://i.imgur.com/8Km9tLL.png"
+                      width="200"
+                      alt="Diarinho"
+                      style="display:block;border:0;"
+                    >
 
-  <div class="content">
+                  </td>
 
-    <!-- STATUS -->
+                </tr>
+              </table>
 
-    <div class="success-card">
+            </td>
+          </tr>
 
-      <div class="success-icon">
-        
-      </div>
+          <!-- CONTENT -->
+          <tr>
+            <td style="padding:30px;background:#f5f5f7;">
 
-      <div>
+              <!-- STATUS -->
+              <table width="100%" bgcolor="#ffffff"
+                style="border-radius:20px;padding:20px;margin-bottom:25px;">
 
-        <div class="success-title">
-          {{ __('mail.service_completed.payment_confirmed') }}
-        </div>
+                <tr>
 
-        <div class="success-subtitle">
-          {{ __('mail.service_completed.payment_confirmed_subtitle') }}
-        </div>
+                  <td width="70" valign="top">
 
-      </div>
+                    <div
+                      style="width:55px;height:55px;background:#4cd964;border-radius:999px;text-align:center;line-height:55px;color:white;font-size:30px;font-weight:bold;">
+                      ✓
+                    </div>
 
-    </div>
+                  </td>
 
-    <!-- SERVICE -->
+                  <td valign="middle">
 
-    <div class="card">
+                    <div
+                      style="font-size:28px;font-weight:bold;color:#5a22d6;">
+                      {{ __('mail.service_completed.payment_confirmed') }}
+                    </div>
 
-      <div class="card-title">
-        {{ __('mail.service_completed.service_resume') }}
-      </div>
+                    <div
+                      style="font-size:18px;color:#666;margin-top:8px;">
+                      {{ __('mail.service_completed.payment_confirmed_subtitle') }}
+                    </div>
 
-      <div class="service-grid">
+                  </td>
 
-        <div class="service-column">
+                </tr>
 
-          <div class="item">
+              </table>
 
-            <div class="item-label">
-              {{ __('mail.service_completed.client') }}
-            </div>
+              <!-- SERVICE -->
+              <table width="100%" bgcolor="#ffffff"
+                style="border-radius:20px;padding:30px;margin-bottom:25px;">
 
-            <div class="item-value">
-              {{ $client_name }}
-            </div>
+                <tr>
+                  <td colspan="2"
+                    style="font-size:32px;font-weight:bold;color:#5a22d6;padding-bottom:30px;">
+                    {{ __('mail.service_completed.service_resume') }}
+                  </td>
+                </tr>
 
-          </div>
+                <tr>
 
-          <div class="item">
+                  <!-- LEFT -->
+                  <td width="50%" valign="top">
 
-            <div class="item-label">
-              {{ __('mail.service_completed.service_date') }}
-            </div>
+                    <div style="color:#777;font-size:15px;">
+                      {{ __('mail.service_completed.client') }}
+                    </div>
 
-            <div class="item-value">
-              {{ \Carbon\Carbon::parse($service_date)->format('d/m/Y') }}
-            </div>
+                    <div
+                      style="font-size:26px;font-weight:bold;color:#222;margin-top:8px;margin-bottom:25px;">
+                      {{ $client_name }}
+                    </div>
 
-          </div>
+                    <div style="color:#777;font-size:15px;">
+                      {{ __('mail.service_completed.service_date') }}
+                    </div>
 
-          <div class="item">
+                    <div
+                      style="font-size:24px;font-weight:bold;color:#222;margin-top:8px;margin-bottom:25px;">
+                      {{ \Carbon\Carbon::parse($service_date)->format('d/m/Y') }}
+                    </div>
 
-            <div class="item-label">
-              {{ __('mail.service_completed.service_time') }}
-            </div>
+                    <div style="color:#777;font-size:15px;">
+                      {{ __('mail.service_completed.service_time') }}
+                    </div>
 
-            <div class="item-value">
-              {{ substr($start_time, 0, 5) }}
-              às
-              {{ substr($end_time, 0, 5) }}
-            </div>
+                    <div
+                      style="font-size:24px;font-weight:bold;color:#222;margin-top:8px;">
+                      {{ substr($start_time,0,5) }}
+                      às
+                      {{ substr($end_time,0,5) }}
+                    </div>
 
-          </div>
+                  </td>
 
-        </div>
+                  <!-- RIGHT -->
+                  <td width="50%" valign="top"
+                    style="padding-left:30px;border-left:1px solid #ececec;">
 
-        <div class="divider"></div>
+                    <div style="color:#777;font-size:15px;">
+                      {{ __('mail.service_completed.service_address') }}
+                    </div>
 
-        <div class="service-column">
+                    <div
+                      style="font-size:24px;font-weight:bold;color:#222;line-height:1.5;margin-top:8px;">
+                      {{ $address }}
+                    </div>
 
-          <div class="item">
+                  </td>
 
-            <div class="item-label">
-              {{ __('mail.service_completed.service_address') }}
-            </div>
+                </tr>
 
-            <div class="item-value">
-              {{ $address }}
-            </div>
+              </table>
 
-          </div>
+              <!-- PAYMENT -->
+              <table width="100%" bgcolor="#ffffff"
+                style="border-radius:20px;padding:30px;margin-bottom:25px;">
 
-        </div>
+                <tr>
+                  <td colspan="2"
+                    style="font-size:32px;font-weight:bold;color:#5a22d6;padding-bottom:30px;">
+                    {{ __('mail.service_completed.payment_title') }}
+                  </td>
+                </tr>
 
-      </div>
+                <tr>
 
-    </div>
+                  <!-- LEFT -->
+                  <td width="50%" valign="top">
 
-    <!-- PAYMENT -->
+                    <table width="100%">
 
-    <div class="card">
+                      <tr>
+                        <td
+                          style="font-size:18px;color:#666;padding-bottom:15px;">
+                          {{ __('mail.service_completed.total_amount') }}
+                        </td>
 
-      <div class="card-title">
-        {{ __('mail.service_completed.payment_title') }}
-      </div>
+                        <td align="right"
+                          style="font-size:22px;font-weight:bold;color:#222;padding-bottom:15px;">
+                          {{ __('mail.service_completed.currency') }}
+                          {{ number_format($total_amount,2,',','.') }}
+                        </td>
+                      </tr>
 
-      <div class="payment-wrapper">
+                      <tr>
+                        <td
+                          style="font-size:18px;color:#666;padding-bottom:15px;">
+                          {{ __('mail.service_completed.service_fee') }}
+                        </td>
 
-        <div class="payment-total">
+                        <td align="right"
+                          style="font-size:22px;font-weight:bold;color:#222;padding-bottom:15px;">
+                           {{ __('mail.service_completed.currency') }}
+                          {{ number_format($service_fee,2,',','.') }}
+                        </td>
+                      </tr>
 
-          <div class="payment-summary">
+                      <tr>
+                        <td
+                          style="font-size:24px;font-weight:bold;color:#5a22d6;padding-top:20px;border-top:1px solid #ececec;">
+                          {{ __('mail.service_completed.final_amount') }}
+                        </td>
 
-            <div class="payment-row">
+                        <td align="right"
+                          style="font-size:38px;font-weight:bold;color:#5a22d6;padding-top:20px;border-top:1px solid #ececec;">
+                          {{ __('mail.service_completed.currency') }}
+                          {{ number_format($final_amount,2,',','.') }}
+                        </td>
+                      </tr>
 
-              <span>
-                {{ __('mail.service_completed.total_amount') }}
-              </span>
+                    </table>
 
-              <strong>
-                {{ __('mail.currency') }}
-                {{ number_format($total_amount, 2, ',', '.') }}
-              </strong>
+                  </td>
 
-            </div>
+                  <!-- RIGHT -->
+                  <td width="50%" valign="top"
+                    style="padding-left:30px;border-left:1px solid #ececec;">
 
-            <div class="payment-row">
+                    <div style="font-size:16px;color:#777;">
+                      {{ __('mail.service_completed.payment_method') }}
+                    </div>
 
-              <span>
-                {{ __('mail.service_completed.service_fee') }}
-              </span>
+                    <table
+                      style="margin-top:15px;border:1px solid #e5e5e5;border-radius:12px;padding:12px 18px;">
 
-              <strong>
-                {{ __('mail.currency') }}
-                {{ number_format($service_fee, 2, ',', '.') }}
-              </strong>
+                      <tr>
 
-            </div>
+                        <td
+                          style="font-size:26px;font-weight:bold;color:#222;">
+                          {{ $payment_method }}
+                        </td>
 
-            <div class="payment-final">
+                        <td style="padding-left:15px;">
 
-              <span class="payment-final-label">
-                {{ __('mail.service_completed.final_amount') }}
-              </span>
+                          <span
+                            style="background:#dff7e7;color:#1ea75d;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:bold;">
+                            {{ __('mail.service_completed.paid') }}
+                          </span>
 
-              <span class="payment-final-value">
-                {{ __('mail.currency') }}
-                {{ number_format($final_amount, 2, ',', '.') }}
-              </span>
+                        </td>
 
-            </div>
+                      </tr>
 
-          </div>
+                    </table>
 
-        </div>
+                  </td>
 
-        <div class="divider"></div>
+                </tr>
 
-        <div class="payment-method">
+              </table>
 
-          <div class="item-label">
-            {{ __('mail.service_completed.payment_method') }}
-          </div>
+              <!-- FOOTER CARD -->
+              <table width="100%" bgcolor="#f1ebff"
+                style="border-radius:20px;padding:25px;margin-bottom:25px;">
 
-          <div class="payment-badge">
+                <tr>
 
-            {{ $payment_method }}
+                  <td width="130" valign="middle">
 
-            <span class="paid-status">
-              {{ __('mail.service_completed.paid') }}
-            </span>
+                    <img
+                      src="https://i.imgur.com/8Km9tLL.png"
+                      width="110"
+                      alt="Diarinho"
+                      style="display:block;border:0;"
+                    >
 
-          </div>
+                  </td>
 
-        </div>
+                  <td valign="middle">
 
-      </div>
+                    <div
+                      style="font-size:34px;font-weight:bold;color:#5a22d6;">
+                      {{ __('mail.service_completed.footer_title') }}
+                    </div>
 
-    </div>
+                    <div
+                      style="font-size:18px;color:#666;line-height:1.7;margin-top:10px;">
+                      {{ __('mail.service_completed.footer_description') }}
+                    </div>
 
-    <!-- FOOTER CARD -->
+                  </td>
 
-    <div class="footer-card">
+                </tr>
 
-      <img
-        src="{{ asset('images/diarinho.png') }}"
-        class="footer-diarinho"
-        alt="Diarinho"
-      />
+              </table>
 
-      <div>
+            </td>
+          </tr>
 
-        <div class="footer-title">
-          {{ __('mail.service_completed.footer_title') }}
-        </div>
+          <!-- FOOTER -->
+          <tr>
+            <td
+              style="background:#5a22d6;padding:35px;color:white;">
 
-        <div class="footer-text">
-          {{ __('mail.service_completed.footer_description') }}
-        </div>
+              <table width="100%">
 
-      </div>
+                <tr>
 
-    </div>
+                  <td valign="top">
 
-  </div>
+                    <div
+                      style="font-size:30px;font-weight:bold;color:#6de0ff;">
+                      diariaapp
+                    </div>
 
-  <!-- FOOTER -->
+                  </td>
 
-  <div class="footer">
+                  <td align="right"
+                    style="font-size:18px;line-height:1.6;">
 
-    <div class="footer-content">
+                    {{ __('mail.service_completed.footer_help') }}<br>
 
-      <div>
+                    {{ __('mail.service_completed.footer_contact') }}<br>
 
-        <div class="footer-app">
-          diariaapp
-        </div>
+                    (11) 99999-9999
 
-      </div>
+                  </td>
 
-      <div class="footer-help">
+                </tr>
 
-        {{ __('mail.service_completed.footer_help') }}<br>
+              </table>
 
-        {{ __('mail.service_completed.footer_contact') }}<br>
+              <div
+                style="margin-top:25px;text-align:center;font-size:13px;opacity:0.7;">
+                {{ __('mail.service_completed.footer_note') }}
+              </div>
 
-        (11) 99999-9999
+            </td>
+          </tr>
 
-      </div>
+        </table>
 
-    </div>
-
-    <div class="footer-bottom">
-      {{ __('mail.service_completed.footer_note') }}
-    </div>
-
-  </div>
-
-</div>
+      </td>
+    </tr>
+  </table>
 
 </body>
 
-</html>
+</html>
+

+ 271 - 133
resources/views/emails/send_code.blade.php

@@ -1,138 +1,276 @@
 <!DOCTYPE html>
 <html lang="pt-BR">
+
 <head>
-    <meta charset="UTF-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>{{ __('mail.send_code.subject') }}</title>
-    <style>
-        * { box-sizing: border-box; margin: 0; padding: 0; }
-
-        body {
-            background-color: #f4f4f7;
-            font-family: 'Segoe UI', Arial, sans-serif;
-            color: #333333;
-        }
-
-        .wrapper {
-            width: 100%;
-            padding: 40px 16px;
-        }
-
-        .card {
-            max-width: 520px;
-            margin: 0 auto;
-            background-color: #ffffff;
-            border-radius: 12px;
-            overflow: hidden;
-            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
-        }
-
-        .header {
-            background-color: #1a6fa8;
-            padding: 32px 40px;
-            text-align: center;
-        }
-
-        .header h1 {
-            color: #ffffff;
-            font-size: 22px;
-            font-weight: 700;
-            letter-spacing: 0.5px;
-        }
-
-        .header p {
-            color: #cce3f5;
-            font-size: 13px;
-            margin-top: 4px;
-        }
-
-        .body {
-            padding: 36px 40px;
-            text-align: center;
-        }
-
-        .body p {
-            font-size: 15px;
-            line-height: 1.6;
-            color: #555555;
-        }
-
-        .code-box {
-            display: inline-block;
-            margin: 28px 0;
-            padding: 18px 40px;
-            background-color: #f0f7ff;
-            border: 2px dashed #1a6fa8;
-            border-radius: 10px;
-        }
-
-        .code-box span {
-            display: block;
-            font-size: 42px;
-            font-weight: 800;
-            letter-spacing: 10px;
-            color: #1a6fa8;
-        }
-
-        .expiry {
-            font-size: 13px;
-            color: #999999;
-            margin-top: 8px;
-        }
-
-        .footer {
-            background-color: #f9f9fb;
-            border-top: 1px solid #eeeeee;
-            padding: 24px 40px;
-            text-align: center;
-        }
-
-        .footer p {
-            font-size: 12px;
-            color: #aaaaaa;
-            line-height: 1.6;
-        }
-
-        .footer strong {
-            color: #888888;
-        }
-    </style>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>{{ __('mail.send_code.subject') }}</title>
 </head>
-<body>
-    <div class="wrapper">
-        <div class="card">
-
-            <div class="header">
-                <h1>Diaria App</h1>
-                <p>{{ __('mail.send_code.header_subtitle') }}</p>
-            </div>
-
-            <div class="body">
-                @if (!empty($recipientName))
-                    <p>{{ __('mail.send_code.greeting', ['name' => $recipientName]) }}</p>
-                @else
-                    <p>{{ __('mail.send_code.greeting_anonymous') }}</p>
-                @endif
-
-                <p style="margin-top: 12px;">{{ __('mail.send_code.body_intro') }}</p>
-
-                <div class="code-box">
-                    <span>{{ $code }}</span>
-                </div>
-
-                <p style="margin-top: 20px; font-size: 13px; color: #999;">
-                    {{ __('mail.send_code.ignore_notice') }}
-                </p>
-            </div>
-
-            <div class="footer">
-                <p>
-                    &copy; {{ date('Y') }} <strong>Diaria App</strong><br />
-                    {{ __('mail.send_code.footer_note') }}
-                </p>
-            </div>
-
-        </div>
-    </div>
+
+<body style="margin:0;padding:0;background:#f4f4f7;font-family:Arial,Helvetica,sans-serif;">
+
+  <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f4f4f7">
+    <tr>
+      <td align="center" style="padding:30px 15px;">
+
+        <!-- CONTAINER -->
+        <table width="650" cellpadding="0" cellspacing="0" border="0"
+          style="background:#ffffff;border-radius:24px;overflow:hidden;">
+
+          <!-- HEADER -->
+          <tr>
+            <td
+              style="background:linear-gradient(135deg,#4f1fd6,#7b2cff);padding:50px 40px;">
+
+              <table width="100%">
+
+                <tr>
+
+                  <!-- LEFT -->
+                  <td valign="middle">
+
+                    <div
+                      style="font-size:56px;font-weight:800;line-height:1.1;color:#ffffff;">
+
+                      {{ __('mail.send_code.title') }}
+
+                    </div>
+
+                    <div
+                      style="font-size:22px;line-height:1.6;color:#e8dbff;margin-top:22px;">
+
+                      {{ __('mail.send_code.body_intro') }}
+
+                    </div>
+
+                  </td>
+
+                  <!-- RIGHT -->
+                  <td width="240" align="right" valign="middle">
+
+                    <img
+                      src="https://i.imgur.com/8Km9tLL.png"
+                      width="220"
+                      alt="Diarinho"
+                      style="display:block;border:0;"
+                    >
+
+                  </td>
+
+                </tr>
+
+              </table>
+
+            </td>
+          </tr>
+
+          <!-- CONTENT -->
+          <tr>
+            <td style="padding:35px;background:#f5f5f7;">
+
+              <!-- CARD -->
+              <table width="100%" cellpadding="0" cellspacing="0" border="0"
+                style="background:#ffffff;border-radius:24px;padding:35px;">
+
+                <!-- GREETING -->
+                <tr>
+                  <td>
+
+                    @if (!empty($recipientName))
+
+                    <div
+                      style="font-size:42px;font-weight:700;color:#1f1f1f;line-height:1.3;">
+
+                      {{ __('mail.send_code.greeting', ['name' => $recipientName]) }}
+
+                    </div>
+
+                    @else
+
+                    <div
+                      style="font-size:42px;font-weight:700;color:#1f1f1f;line-height:1.3;">
+
+                      {{ __('mail.send_code.greeting_anonymous') }}
+
+                    </div>
+
+                    @endif
+
+                  </td>
+                </tr>
+
+                <!-- TEXT -->
+                <tr>
+                  <td
+                    style="padding-top:25px;font-size:22px;line-height:1.8;color:#555555;">
+
+                    {{ __('mail.send_code.code_instruction') }}
+
+                  </td>
+                </tr>
+
+                <!-- CODE BOX -->
+                <tr>
+                  <td align="center" style="padding-top:35px;">
+
+                    <table cellpadding="0" cellspacing="0" border="0"
+                      style="background:#f5efff;border-radius:24px;padding:35px 40px;width:100%;">
+
+                      <tr>
+
+                        <td align="center">
+
+                          <div
+                            style="font-size:82px;font-weight:800;letter-spacing:18px;color:#5a22d6;">
+
+                            {{ $code }}
+
+                          </div>
+
+                        </td>
+
+                      </tr>
+
+                    </table>
+
+                  </td>
+                </tr>
+
+                <!-- EXPIRATION -->
+                <tr>
+                  <td align="center"
+                    style="padding-top:30px;font-size:18px;color:#666666;line-height:1.7;">
+
+                    ⏰ {{ __('mail.send_code.expiry_notice') }}
+
+                  </td>
+                </tr>
+
+                <!-- ALERT -->
+                <tr>
+                  <td style="padding-top:30px;">
+
+                    <table width="100%"
+                      style="background:#fff8e7;border-radius:18px;padding:22px;">
+
+                      <tr>
+
+                        <td
+                          style="font-size:18px;color:#9c6a00;line-height:1.7;">
+
+                          ⚠️ {{ __('mail.send_code.ignore_notice') }}
+
+                        </td>
+
+                      </tr>
+
+                    </table>
+
+                  </td>
+                </tr>
+
+              </table>
+
+              <!-- FOOTER CARD -->
+              <table width="100%" cellpadding="0" cellspacing="0" border="0"
+                style="background:#f3ecff;border-radius:24px;padding:25px;margin-top:25px;">
+
+                <tr>
+
+                  <!-- IMAGE -->
+                  <td width="140" valign="middle">
+
+                    <img
+                      src="https://i.imgur.com/7uX7N4F.png"
+                      width="120"
+                      alt="Diarinho"
+                      style="display:block;border:0;"
+                    >
+
+                  </td>
+
+                  <!-- TEXT -->
+                  <td valign="middle">
+
+                    <div
+                      style="font-size:34px;font-weight:700;color:#5a22d6;">
+
+                      {{ __('mail.send_code.footer_title') }}
+
+                    </div>
+
+                    <div
+                      style="font-size:20px;line-height:1.7;color:#666666;margin-top:10px;">
+
+                      {{ __('mail.send_code.footer_description') }}
+
+                    </div>
+
+                  </td>
+
+                </tr>
+
+              </table>
+
+            </td>
+          </tr>
+
+          <!-- FOOTER -->
+          <tr>
+            <td
+              style="background:linear-gradient(135deg,#4f1fd6,#7b2cff);padding:35px 30px;">
+
+              <table width="100%">
+
+                <tr>
+
+                  <!-- BRAND -->
+                  <td valign="top">
+
+                    <div
+                      style="font-size:34px;font-weight:800;color:#6de0ff;">
+
+                      diariaapp
+
+                    </div>
+
+                  </td>
+
+                  <!-- CONTACT -->
+                  <td align="right"
+                    style="font-size:18px;color:#ffffff;line-height:1.8;">
+
+                    {{ __('mail.send_code.footer_help') }}<br>
+
+                    {{ __('mail.send_code.footer_contact') }}<br>
+
+                    (11) 99999-9999
+
+                  </td>
+
+                </tr>
+
+              </table>
+
+              <!-- BOTTOM -->
+              <div
+                style="margin-top:28px;text-align:center;font-size:14px;color:#d6c5ff;line-height:1.7;">
+
+                © {{ date('Y') }} Diaria App<br>
+
+                {{ __('mail.send_code.footer_note') }}
+
+              </div>
+
+            </td>
+          </tr>
+
+        </table>
+
+      </td>
+    </tr>
+  </table>
+
 </body>
-</html>
+
+</html>

+ 276 - 0
resources/views/emails/send_code.html

@@ -0,0 +1,276 @@
+<!DOCTYPE html>
+<html lang="pt-BR">
+
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>{{ __('mail.send_code.subject') }}</title>
+</head>
+
+<body style="margin:0;padding:0;background:#f4f4f7;font-family:Arial,Helvetica,sans-serif;">
+
+  <table width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f4f4f7">
+    <tr>
+      <td align="center" style="padding:30px 15px;">
+
+        <!-- CONTAINER -->
+        <table width="650" cellpadding="0" cellspacing="0" border="0"
+          style="background:#ffffff;border-radius:24px;overflow:hidden;">
+
+          <!-- HEADER -->
+          <tr>
+            <td
+              style="background:linear-gradient(135deg,#4f1fd6,#7b2cff);padding:50px 40px;">
+
+              <table width="100%">
+
+                <tr>
+
+                  <!-- LEFT -->
+                  <td valign="middle">
+
+                    <div
+                      style="font-size:56px;font-weight:800;line-height:1.1;color:#ffffff;">
+
+                      {{ __('mail.send_code.title') }}
+
+                    </div>
+
+                    <div
+                      style="font-size:22px;line-height:1.6;color:#e8dbff;margin-top:22px;">
+
+                      {{ __('mail.send_code.body_intro') }}
+
+                    </div>
+
+                  </td>
+
+                  <!-- RIGHT -->
+                  <td width="240" align="right" valign="middle">
+
+                    <img
+                      src="https://i.imgur.com/8Km9tLL.png"
+                      width="220"
+                      alt="Diarinho"
+                      style="display:block;border:0;"
+                    >
+
+                  </td>
+
+                </tr>
+
+              </table>
+
+            </td>
+          </tr>
+
+          <!-- CONTENT -->
+          <tr>
+            <td style="padding:35px;background:#f5f5f7;">
+
+              <!-- CARD -->
+              <table width="100%" cellpadding="0" cellspacing="0" border="0"
+                style="background:#ffffff;border-radius:24px;padding:35px;">
+
+                <!-- GREETING -->
+                <tr>
+                  <td>
+
+                    @if (!empty($recipientName))
+
+                    <div
+                      style="font-size:42px;font-weight:700;color:#1f1f1f;line-height:1.3;">
+
+                      {{ __('mail.send_code.greeting', ['name' => $recipientName]) }}
+
+                    </div>
+
+                    @else
+
+                    <div
+                      style="font-size:42px;font-weight:700;color:#1f1f1f;line-height:1.3;">
+
+                      {{ __('mail.send_code.greeting_anonymous') }}
+
+                    </div>
+
+                    @endif
+
+                  </td>
+                </tr>
+
+                <!-- TEXT -->
+                <tr>
+                  <td
+                    style="padding-top:25px;font-size:22px;line-height:1.8;color:#555555;">
+
+                    {{ __('mail.send_code.code_instruction') }}
+
+                  </td>
+                </tr>
+
+                <!-- CODE BOX -->
+                <tr>
+                  <td align="center" style="padding-top:35px;">
+
+                    <table cellpadding="0" cellspacing="0" border="0"
+                      style="background:#f5efff;border-radius:24px;padding:35px 40px;width:100%;">
+
+                      <tr>
+
+                        <td align="center">
+
+                          <div
+                            style="font-size:82px;font-weight:800;letter-spacing:18px;color:#5a22d6;">
+
+                            {{ $code }}
+
+                          </div>
+
+                        </td>
+
+                      </tr>
+
+                    </table>
+
+                  </td>
+                </tr>
+
+                <!-- EXPIRATION -->
+                <tr>
+                  <td align="center"
+                    style="padding-top:30px;font-size:18px;color:#666666;line-height:1.7;">
+
+                    ⏰ {{ __('mail.send_code.expiry_notice') }}
+
+                  </td>
+                </tr>
+
+                <!-- ALERT -->
+                <tr>
+                  <td style="padding-top:30px;">
+
+                    <table width="100%"
+                      style="background:#fff8e7;border-radius:18px;padding:22px;">
+
+                      <tr>
+
+                        <td
+                          style="font-size:18px;color:#9c6a00;line-height:1.7;">
+
+                          ⚠️ {{ __('mail.send_code.ignore_notice') }}
+
+                        </td>
+
+                      </tr>
+
+                    </table>
+
+                  </td>
+                </tr>
+
+              </table>
+
+              <!-- FOOTER CARD -->
+              <table width="100%" cellpadding="0" cellspacing="0" border="0"
+                style="background:#f3ecff;border-radius:24px;padding:25px;margin-top:25px;">
+
+                <tr>
+
+                  <!-- IMAGE -->
+                  <td width="140" valign="middle">
+
+                    <img
+                      src="https://i.imgur.com/7uX7N4F.png"
+                      width="120"
+                      alt="Diarinho"
+                      style="display:block;border:0;"
+                    >
+
+                  </td>
+
+                  <!-- TEXT -->
+                  <td valign="middle">
+
+                    <div
+                      style="font-size:34px;font-weight:700;color:#5a22d6;">
+
+                      {{ __('mail.send_code.footer_title') }}
+
+                    </div>
+
+                    <div
+                      style="font-size:20px;line-height:1.7;color:#666666;margin-top:10px;">
+
+                      {{ __('mail.send_code.footer_description') }}
+
+                    </div>
+
+                  </td>
+
+                </tr>
+
+              </table>
+
+            </td>
+          </tr>
+
+          <!-- FOOTER -->
+          <tr>
+            <td
+              style="background:linear-gradient(135deg,#4f1fd6,#7b2cff);padding:35px 30px;">
+
+              <table width="100%">
+
+                <tr>
+
+                  <!-- BRAND -->
+                  <td valign="top">
+
+                    <div
+                      style="font-size:34px;font-weight:800;color:#6de0ff;">
+
+                      diariaapp
+
+                    </div>
+
+                  </td>
+
+                  <!-- CONTACT -->
+                  <td align="right"
+                    style="font-size:18px;color:#ffffff;line-height:1.8;">
+
+                    {{ __('mail.send_code.footer_help') }}<br>
+
+                    {{ __('mail.send_code.footer_contact') }}<br>
+
+                    (11) 99999-9999
+
+                  </td>
+
+                </tr>
+
+              </table>
+
+              <!-- BOTTOM -->
+              <div
+                style="margin-top:28px;text-align:center;font-size:14px;color:#d6c5ff;line-height:1.7;">
+
+                © {{ date('Y') }} Diaria App<br>
+
+                {{ __('mail.send_code.footer_note') }}
+
+              </div>
+
+            </td>
+          </tr>
+
+        </table>
+
+      </td>
+    </tr>
+  </table>
+
+</body>
+
+</html>