heartwood every commit a ring

Refactor property email templates to use base template

29ef9ac1 by Isaac Bythewood · 11 months ago

Refactor property email templates to use base template

- Extract common HTML structure into property_email_base.html
- Remove duplicate boilerplate code from property_down.html and property_recovery.html
- Improve maintainability and consistency across email templates
modified properties/templates/emails/property_down.html
@@ -1,157 +1,15 @@<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>  <head>    <meta http-equiv="x-ua-compatible" content="ie=edge">    <meta name="x-apple-disable-message-reformatting">    <meta name="viewport" content="width=device-width, initial-scale=1">    <meta name="format-detection" content="telephone=no, date=no, address=no, email=no">    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <style type="text/css">      body,table,td{font-family:Helvetica,Arial,sans-serif !important}.ExternalClass{width:100%}.ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div{line-height:150%}a{text-decoration:none}*{color:inherit}a[x-apple-data-detectors],u+#body a,#MessageViewBody a{color:inherit;text-decoration:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}img{-ms-interpolation-mode:bicubic}table:not([class^=s-]){font-family:Helvetica,Arial,sans-serif;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0px;border-collapse:collapse}table:not([class^=s-]) td{border-spacing:0px;border-collapse:collapse}@media screen and (max-width: 600px){.w-full,.w-full>tbody>tr>td{width:100% !important}.p-3:not(table),.p-3:not(.btn)>tbody>tr>td,.p-3.btn td a{padding:12px !important}*[class*=s-lg-]>tbody>tr>td{font-size:0 !important;line-height:0 !important;height:0 !important}.s-4>tbody>tr>td{font-size:16px !important;line-height:16px !important;height:16px !important}.s-10>tbody>tr>td{font-size:40px !important;line-height:40px !important;height:40px !important}}    </style>  </head>  <body class="bg-light" style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;" bgcolor="#f7fafc">    <table class="bg-light body" valign="top" role="presentation" border="0" cellpadding="0" cellspacing="0" style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;" bgcolor="#f7fafc">      <tbody>        <tr>          <td valign="top" style="line-height: 24px; font-size: 16px; margin: 0;" align="left" bgcolor="#f7fafc">            <table class="container" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;">              <tbody>                <tr>                  <td align="center" style="line-height: 24px; font-size: 16px; margin: 0; padding: 0 16px;">                    <!--[if (gte mso 9)|(IE)]>                      <table align="center" role="presentation">                        <tbody>                          <tr>                            <td width="600">                    <![endif]-->                    <table align="center" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 600px; margin: 0 auto;">                      <tbody>                        <tr>                          <td style="line-height: 24px; font-size: 16px; margin: 0;" align="left">                            <table class="s-10 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                              <tbody>                                <tr>                                  <td style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;" align="left" width="100%" height="40">                                    &#160;                                  </td>                                </tr>                              </tbody>                            </table>                            <table class="card  rounded-none" role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-radius: 0px; border-collapse: separate !important; width: 100%; overflow: hidden; border: 1px solid #e2e8f0;" bgcolor="#ffffff">                              <tbody>                                <tr>                                  <td style="line-height: 24px; font-size: 16px; width: 100%; border-radius: 0px; margin: 0;" align="left" bgcolor="#ffffff">                                    <table class="card-body" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;">                                      <tbody>                                        <tr>                                          <td style="line-height: 24px; font-size: 16px; width: 100%; margin: 0; padding: 20px;" align="left">                                            <h1 class="bg-danger text-white" style="background-color: #dc3545; color: #ffffff; padding-top: 0; padding-bottom: 0; font-weight: 500; vertical-align: baseline; font-size: 36px; line-height: 43.2px; margin: 0;" align="left">                                              <table class="p-3" role="presentation" border="0" cellpadding="0" cellspacing="0">                                                <tbody>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; margin: 0; padding: 12px;" align="left">                                                      <strong class="h2" style="padding-top: 0; padding-bottom: 0; font-weight: 500; text-align: left; vertical-align: baseline; font-size: 32px; line-height: 38.4px; margin: 0;">Property down</strong>                                                    </td>                                                  </tr>                                                </tbody>                                              </table>                                            </h1>                                            <table class="s-4 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                                              <tbody>                                                <tr>                                                  <td style="line-height: 16px; font-size: 16px; width: 100%; height: 16px; margin: 0;" align="left" width="100%" height="16">                                                    &#160;                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <table class="alert alert-danger rounded-none" role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate !important; width: 100%; border-radius: 0px; border-width: 0;">                                              <tbody>                                                <tr>                                                  <td style="line-height: 24px; font-size: 16px; border-radius: 0px; color: #66121a; margin: 0; padding: 12px 20px; border: 1px solid transparent;" align="left" bgcolor="#fae3e5">                                                    <div>                                                      One of your properties just went down!                                                    </div>                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <table class="s-4 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                                              <tbody>                                                <tr>                                                  <td style="line-height: 16px; font-size: 16px; width: 100%; height: 16px; margin: 0;" align="left" width="100%" height="16">                                                    &#160;                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <div class="space-y-3">                                              <table class="table" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 100%;">                                                <tbody>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>name</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.name }}</td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>url</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <a href="{{ property.url }}" target="_blank" style="color: #0d6efd;">{{ property.url }}</a>                                                    </td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>status</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.current_status }}</td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>avg. time</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.avg_response_time }}</td>                                                  </tr>                                                </tbody>                                              </table>                                            </div>                                          </td>                                        </tr>                                      </tbody>                                    </table>                                  </td>                                </tr>                              </tbody>                            </table>                            <table class="s-10 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                              <tbody>                                <tr>                                  <td style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;" align="left" width="100%" height="40">                                    &#160;                                  </td>                                </tr>                              </tbody>                            </table>                          </td>                        </tr>                      </tbody>                    </table>                    <!--[if (gte mso 9)|(IE)]>                    </td>                  </tr>                </tbody>              </table>                    <![endif]-->                  </td>                </tr>              </tbody>            </table>          </td>        </tr>      </tbody>    </table>  </body></html>{% extends "emails/property_email_base.html" %}{% block header_class %}bg-danger text-white{% endblock %}{% block header_style %}background-color: #dc3545; color: #ffffff;{% endblock %}{% block header_title %}Property down{% endblock %}{% block alert_class %}alert-danger{% endblock %}{% block alert_style %}color: #66121a;{% endblock %}{% block alert_bg %}#fae3e5{% endblock %}{% block alert_message %}One of your properties just went down!{% endblock %}
added properties/templates/emails/property_email_base.html
@@ -0,0 +1,157 @@<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>  <head>    <meta http-equiv="x-ua-compatible" content="ie=edge">    <meta name="x-apple-disable-message-reformatting">    <meta name="viewport" content="width=device-width, initial-scale=1">    <meta name="format-detection" content="telephone=no, date=no, address=no, email=no">    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <style type="text/css">      body,table,td{font-family:Helvetica,Arial,sans-serif !important}.ExternalClass{width:100%}.ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div{line-height:150%}a{text-decoration:none}*{color:inherit}a[x-apple-data-detectors],u+#body a,#MessageViewBody a{color:inherit;text-decoration:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}img{-ms-interpolation-mode:bicubic}table:not([class^=s-]){font-family:Helvetica,Arial,sans-serif;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0px;border-collapse:collapse}table:not([class^=s-]) td{border-spacing:0px;border-collapse:collapse}@media screen and (max-width: 600px){.w-full,.w-full>tbody>tr>td{width:100% !important}.p-3:not(table),.p-3:not(.btn)>tbody>tr>td,.p-3.btn td a{padding:12px !important}*[class*=s-lg-]>tbody>tr>td{font-size:0 !important;line-height:0 !important;height:0 !important}.s-4>tbody>tr>td{font-size:16px !important;line-height:16px !important;height:16px !important}.s-10>tbody>tr>td{font-size:40px !important;line-height:40px !important;height:40px !important}}    </style>  </head>  <body class="bg-light" style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;" bgcolor="#f7fafc">    <table class="bg-light body" valign="top" role="presentation" border="0" cellpadding="0" cellspacing="0" style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;" bgcolor="#f7fafc">      <tbody>        <tr>          <td valign="top" style="line-height: 24px; font-size: 16px; margin: 0;" align="left" bgcolor="#f7fafc">            <table class="container" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;">              <tbody>                <tr>                  <td align="center" style="line-height: 24px; font-size: 16px; margin: 0; padding: 0 16px;">                    <!--[if (gte mso 9)|(IE)]>                      <table align="center" role="presentation">                        <tbody>                          <tr>                            <td width="600">                    <![endif]-->                    <table align="center" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 600px; margin: 0 auto;">                      <tbody>                        <tr>                          <td style="line-height: 24px; font-size: 16px; margin: 0;" align="left">                            <table class="s-10 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                              <tbody>                                <tr>                                  <td style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;" align="left" width="100%" height="40">                                    &#160;                                  </td>                                </tr>                              </tbody>                            </table>                            <table class="card  rounded-none" role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-radius: 0px; border-collapse: separate !important; width: 100%; overflow: hidden; border: 1px solid #e2e8f0;" bgcolor="#ffffff">                              <tbody>                                <tr>                                  <td style="line-height: 24px; font-size: 16px; width: 100%; border-radius: 0px; margin: 0;" align="left" bgcolor="#ffffff">                                    <table class="card-body" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;">                                      <tbody>                                        <tr>                                          <td style="line-height: 24px; font-size: 16px; width: 100%; margin: 0; padding: 20px;" align="left">                                            <h1 class="{% block header_class %}{% endblock %}" style="{% block header_style %}{% endblock %} padding-top: 0; padding-bottom: 0; font-weight: 500; vertical-align: baseline; font-size: 36px; line-height: 43.2px; margin: 0;" align="left">                                              <table class="p-3" role="presentation" border="0" cellpadding="0" cellspacing="0">                                                <tbody>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; margin: 0; padding: 12px;" align="left">                                                      <strong class="h2" style="padding-top: 0; padding-bottom: 0; font-weight: 500; text-align: left; vertical-align: baseline; font-size: 32px; line-height: 38.4px; margin: 0;">{% block header_title %}{% endblock %}</strong>                                                    </td>                                                  </tr>                                                </tbody>                                              </table>                                            </h1>                                            <table class="s-4 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                                              <tbody>                                                <tr>                                                  <td style="line-height: 16px; font-size: 16px; width: 100%; height: 16px; margin: 0;" align="left" width="100%" height="16">                                                    &#160;                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <table class="alert {% block alert_class %}{% endblock %} rounded-none" role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate !important; width: 100%; border-radius: 0px; border-width: 0;">                                              <tbody>                                                <tr>                                                  <td style="line-height: 24px; font-size: 16px; border-radius: 0px; {% block alert_style %}{% endblock %} margin: 0; padding: 12px 20px; border: 1px solid transparent;" align="left" bgcolor="{% block alert_bg %}{% endblock %}">                                                    <div>                                                      {% block alert_message %}{% endblock %}                                                    </div>                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <table class="s-4 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                                              <tbody>                                                <tr>                                                  <td style="line-height: 16px; font-size: 16px; width: 100%; height: 16px; margin: 0;" align="left" width="100%" height="16">                                                    &#160;                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <div class="space-y-3">                                              <table class="table" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 100%;">                                                <tbody>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>name</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.name }}</td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>url</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <a href="{{ property.url }}" target="_blank" style="color: #0d6efd;">{{ property.url }}</a>                                                    </td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>status</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.current_status }}</td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>avg. time</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.avg_response_time }}</td>                                                  </tr>                                                </tbody>                                              </table>                                            </div>                                          </td>                                        </tr>                                      </tbody>                                    </table>                                  </td>                                </tr>                              </tbody>                            </table>                            <table class="s-10 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                              <tbody>                                <tr>                                  <td style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;" align="left" width="100%" height="40">                                    &#160;                                  </td>                                </tr>                              </tbody>                            </table>                          </td>                        </tr>                      </tbody>                    </table>                    <!--[if (gte mso 9)|(IE)]>                    </td>                  </tr>                </tbody>              </table>                    <![endif]-->                  </td>                </tr>              </tbody>            </table>          </td>        </tr>      </tbody>    </table>  </body></html>
modified properties/templates/emails/property_recovery.html
@@ -1,157 +1,15 @@<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>  <head>    <meta http-equiv="x-ua-compatible" content="ie=edge">    <meta name="x-apple-disable-message-reformatting">    <meta name="viewport" content="width=device-width, initial-scale=1">    <meta name="format-detection" content="telephone=no, date=no, address=no, email=no">    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <style type="text/css">      body,table,td{font-family:Helvetica,Arial,sans-serif !important}.ExternalClass{width:100%}.ExternalClass,.ExternalClass p,.ExternalClass span,.ExternalClass font,.ExternalClass td,.ExternalClass div{line-height:150%}a{text-decoration:none}*{color:inherit}a[x-apple-data-detectors],u+#body a,#MessageViewBody a{color:inherit;text-decoration:none;font-size:inherit;font-family:inherit;font-weight:inherit;line-height:inherit}img{-ms-interpolation-mode:bicubic}table:not([class^=s-]){font-family:Helvetica,Arial,sans-serif;mso-table-lspace:0pt;mso-table-rspace:0pt;border-spacing:0px;border-collapse:collapse}table:not([class^=s-]) td{border-spacing:0px;border-collapse:collapse}@media screen and (max-width: 600px){.w-full,.w-full>tbody>tr>td{width:100% !important}.p-3:not(table),.p-3:not(.btn)>tbody>tr>td,.p-3.btn td a{padding:12px !important}*[class*=s-lg-]>tbody>tr>td{font-size:0 !important;line-height:0 !important;height:0 !important}.s-4>tbody>tr>td{font-size:16px !important;line-height:16px !important;height:16px !important}.s-10>tbody>tr>td{font-size:40px !important;line-height:40px !important;height:40px !important}}    </style>  </head>  <body class="bg-light" style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;" bgcolor="#f7fafc">    <table class="bg-light body" valign="top" role="presentation" border="0" cellpadding="0" cellspacing="0" style="outline: 0; width: 100%; min-width: 100%; height: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: Helvetica, Arial, sans-serif; line-height: 24px; font-weight: normal; font-size: 16px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; color: #000000; margin: 0; padding: 0; border-width: 0;" bgcolor="#f7fafc">      <tbody>        <tr>          <td valign="top" style="line-height: 24px; font-size: 16px; margin: 0;" align="left" bgcolor="#f7fafc">            <table class="container" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;">              <tbody>                <tr>                  <td align="center" style="line-height: 24px; font-size: 16px; margin: 0; padding: 0 16px;">                    <!--[if (gte mso 9)|(IE)]>                      <table align="center" role="presentation">                        <tbody>                          <tr>                            <td width="600">                    <![endif]-->                    <table align="center" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 600px; margin: 0 auto;">                      <tbody>                        <tr>                          <td style="line-height: 24px; font-size: 16px; margin: 0;" align="left">                            <table class="s-10 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                              <tbody>                                <tr>                                  <td style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;" align="left" width="100%" height="40">                                    &#160;                                  </td>                                </tr>                              </tbody>                            </table>                            <table class="card  rounded-none" role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-radius: 0px; border-collapse: separate !important; width: 100%; overflow: hidden; border: 1px solid #e2e8f0;" bgcolor="#ffffff">                              <tbody>                                <tr>                                  <td style="line-height: 24px; font-size: 16px; width: 100%; border-radius: 0px; margin: 0;" align="left" bgcolor="#ffffff">                                    <table class="card-body" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;">                                      <tbody>                                        <tr>                                          <td style="line-height: 24px; font-size: 16px; width: 100%; margin: 0; padding: 20px;" align="left">                                            <h1 class="bg-success text-white" style="background-color: #28a745; color: #ffffff; padding-top: 0; padding-bottom: 0; font-weight: 500; vertical-align: baseline; font-size: 36px; line-height: 43.2px; margin: 0;" align="left">                                              <table class="p-3" role="presentation" border="0" cellpadding="0" cellspacing="0">                                                <tbody>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; margin: 0; padding: 12px;" align="left">                                                      <strong class="h2" style="padding-top: 0; padding-bottom: 0; font-weight: 500; text-align: left; vertical-align: baseline; font-size: 32px; line-height: 38.4px; margin: 0;">Property recovered</strong>                                                    </td>                                                  </tr>                                                </tbody>                                              </table>                                            </h1>                                            <table class="s-4 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                                              <tbody>                                                <tr>                                                  <td style="line-height: 16px; font-size: 16px; width: 100%; height: 16px; margin: 0;" align="left" width="100%" height="16">                                                    &#160;                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <table class="alert alert-success rounded-none" role="presentation" border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate !important; width: 100%; border-radius: 0px; border-width: 0;">                                              <tbody>                                                <tr>                                                  <td style="line-height: 24px; font-size: 16px; border-radius: 0px; color: #1e4d20; margin: 0; padding: 12px 20px; border: 1px solid transparent;" align="left" bgcolor="#e6ffed">                                                    <div>                                                      Good news! Your property is back online and responding normally.                                                    </div>                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <table class="s-4 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                                              <tbody>                                                <tr>                                                  <td style="line-height: 16px; font-size: 16px; width: 100%; height: 16px; margin: 0;" align="left" width="100%" height="16">                                                    &#160;                                                  </td>                                                </tr>                                              </tbody>                                            </table>                                            <div class="space-y-3">                                              <table class="table" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 100%;">                                                <tbody>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>name</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.name }}</td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>url</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <a href="{{ property.url }}" target="_blank" style="color: #0d6efd;">{{ property.url }}</a>                                                    </td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>status</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.current_status }}</td>                                                  </tr>                                                  <tr>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">                                                      <strong>avg. time</strong>                                                    </td>                                                    <td style="line-height: 24px; font-size: 16px; border-top-width: 1px; border-top-color: #e2e8f0; border-top-style: solid; margin: 0; padding: 12px;" align="left" valign="top">{{ property.avg_response_time }}</td>                                                  </tr>                                                </tbody>                                              </table>                                            </div>                                          </td>                                        </tr>                                      </tbody>                                    </table>                                  </td>                                </tr>                              </tbody>                            </table>                            <table class="s-10 w-full" role="presentation" border="0" cellpadding="0" cellspacing="0" style="width: 100%;" width="100%">                              <tbody>                                <tr>                                  <td style="line-height: 40px; font-size: 40px; width: 100%; height: 40px; margin: 0;" align="left" width="100%" height="40">                                    &#160;                                  </td>                                </tr>                              </tbody>                            </table>                          </td>                        </tr>                      </tbody>                    </table>                    <!--[if (gte mso 9)|(IE)]>                    </td>                  </tr>                </tbody>              </table>                    <![endif]-->                  </td>                </tr>              </tbody>            </table>          </td>        </tr>      </tbody>    </table>  </body></html>{% extends "emails/property_email_base.html" %}{% block header_class %}bg-success text-white{% endblock %}{% block header_style %}background-color: #28a745; color: #ffffff;{% endblock %}{% block header_title %}Property recovered{% endblock %}{% block alert_class %}alert-success{% endblock %}{% block alert_style %}color: #1e4d20;{% endblock %}{% block alert_bg %}#e6ffed{% endblock %}{% block alert_message %}Good news! Your property is back online and responding normally.{% endblock %}