From baee017decfea11e8d187cb42a04760c5753c1bd Mon Sep 17 00:00:00 2001
From: Eniko Tot <eniko.tot@codebrewery.hu>
Date: Mon, 15 Jan 2024 19:02:25 +0100
Subject: [PATCH] [WIP] Start to convert apply form job description

---
 .../Bootstrap5/Joblist/ApplyForm.html         | 257 +++++++++---------
 1 file changed, 123 insertions(+), 134 deletions(-)

diff --git a/Resources/Private/Templates/Bootstrap5/Joblist/ApplyForm.html b/Resources/Private/Templates/Bootstrap5/Joblist/ApplyForm.html
index 177f2389..e9721eb4 100644
--- a/Resources/Private/Templates/Bootstrap5/Joblist/ApplyForm.html
+++ b/Resources/Private/Templates/Bootstrap5/Joblist/ApplyForm.html
@@ -41,151 +41,140 @@
                         </div>
                     </div>
                     <div class="col-md-4 col-sm-6 col-xs-12">
-                        <div class="highlight-box bg-card sgjobs-meta-box">
-                            <ul class="default-list">
-                                <li>
+                        <div class="card shadow">
+                            <div class="card-header text-bg-light">
+                                <ul>
+                                    <li>
+                                        <f:format.raw>
+                                            <f:translate key="frontend.jobStart" />
+                                        </f:format.raw>
+                                        <f:if condition="{job.alternativeStartDate}">
+                                            <f:then>
+                                                {job.alternativeStartDate}
+                                            </f:then>
+                                            <f:else>
+                                                <f:format.date date="{job.startDate}" format="d.m.Y" />
+                                            </f:else>
+                                        </f:if>
+                                    </li>
+                                    <li>
+                                        <f:if condition="!{job.telecommutePossible}">
+                                            <f:then>
+                                                <f:format.raw>
+                                                    <f:translate key="frontend.locationLabel" />
+                                                </f:format.raw><br>
+                                                <f:for as="company" each="{job.companies}">
+                                                    <span class="sgjobs-company-location-wrap">
+                                                        {company.name}<br>
+                                                        {company.street}<br>
+                                                        <f:if condition="{company.state}">
+                                                            {company.state}<br>
+                                                        </f:if>
+                                                        {company.zip} {company.city}<br>
+                                                    </span>
+                                                </f:for>
+                                            </f:then>
+                                            <f:else>
+                                                <f:format.raw>
+                                                    <f:translate key="frontend.jobLocationRemote" />
+                                                </f:format.raw>
+                                            </f:else>
+                                        </f:if>
+                                    </li>
+                                    <f:if condition="{job.experienceLevel -> f:count()} > 0">
+                                        <li>
+                                            <strong>
+                                                <f:translate key="frontend.experienceLevel" />:
+                                            </strong>
+                                            <f:for each="{job.experienceLevel}" as="experienceLevel" iteration="iterator">
+                                                {experienceLevel.title}{f:if(condition: '!{iterator.isLast}', then: ', ')}
+                                            </f:for>
+                                        </li>
+                                    </f:if>
+                                </ul>
+                            </div>
+                            <div class="card-body">
+                                <h3 class="card-title">
                                     <f:format.raw>
-                                        <f:translate key="frontend.jobStart" />
+                                        <f:translate key="frontend.jobApplyNow" />
                                     </f:format.raw>
-                                    <f:if condition="{job.alternativeStartDate}">
-                                        <f:then>
-                                            {job.alternativeStartDate}
-                                        </f:then>
-                                        <f:else>
-                                            <f:format.date date="{job.startDate}" format="d.m.Y" />
-                                        </f:else>
-                                    </f:if>
-                                </li>
-                                <li>
-                                    <f:if condition="!{job.telecommutePossible}">
-                                        <f:then>
-                                            <f:format.raw>
-                                                <f:translate key="frontend.locationLabel" />
-                                            </f:format.raw><br>
-                                            <f:for as="company" each="{job.companies}">
-                                                <span class="sgjobs-company-location-wrap">
-                                                    {company.name}<br>
-                                                    {company.street}<br>
-                                                    <f:if condition="{company.state}">
-                                                        {company.state}<br>
-                                                    </f:if>
-                                                    {company.zip} {company.city}<br>
-                                                </span>
-                                            </f:for>
-                                        </f:then>
-                                        <f:else>
+                                </h3>
+                                <f:if condition="!{job.hideApplyByPostal}">
+                                    <div>
+                                        <f:format.raw>
+                                            <f:translate key="frontend.job.via.post" />
+                                        </f:format.raw><br>
+                                        {job.company.name}<br>
+                                        <f:if condition="{job.contact}">
+                                            <f:then>
+                                                {job.contact.title} {job.contact.firstName} {job.contact.lastName}<br>
+                                            </f:then>
+                                            <f:else>
+                                                {job.company.contact.title} {job.company.contact.firstName}
+                                                {job.company.contact.lastName}<br>
+                                            </f:else>
+                                        </f:if>
+                                        <f:if condition="{job.contact} && {job.contact.street}">
+                                            <f:then>
+                                                {job.contact.street}<br>
+                                                <f:if condition="{job.contact.state}">
+                                                    {job.contact.state}<br>
+                                                </f:if>
+                                                {job.contact.zip} {job.contact.city}
+                                                <f:if condition="{job.contact.country}">
+                                                    <br>{job.contact.country}
+                                                </f:if>
+                                            </f:then>
+                                            <f:else>
+                                                <f:if condition="{job.company.contact} && {job.company.contact.street}">
+                                                    <f:then>
+                                                        {job.company.contact.street}<br>
+                                                        <f:if condition="{job.company.contact.state}">
+                                                            {job.company.contact.state}<br>
+                                                        </f:if>
+                                                        {job.company.contact.zip} {job.company.contact.city}
+                                                        <f:if condition="{job.company.contact.country}">
+                                                            <br>{job.company.contact.country}
+                                                        </f:if>
+                                                    </f:then>
+                                                    <f:else>
+                                                        {job.company.street}<br>
+                                                        <f:if condition="{job.company.state}">
+                                                            {job.company.state}<br>
+                                                        </f:if>
+                                                        {job.company.zip} {job.company.city}
+                                                        <f:if condition="{job.company.country}">
+                                                            <br>{job.company.country}
+                                                        </f:if>
+                                                    </f:else>
+                                                </f:if>
+                                            </f:else>
+                                        </f:if>
+                                    </div>
+                                </f:if>
+
+                                <f:if condition="!{job.hideApplyByEmail}">
+                                    <div class="py-4">
+                                        <p class="mb-2">
                                             <f:format.raw>
-                                                <f:translate key="frontend.jobLocationRemote" />
+                                                <f:translate key="frontend.job.via.email" />
                                             </f:format.raw>
-                                        </f:else>
-                                    </f:if>
-                                </li>
-                                <f:if condition="{job.experienceLevel -> f:count()} > 0">
-                                    <li>
-                                        <strong>
-                                            <f:translate key="frontend.experienceLevel" />:
-                                        </strong>
-                                        <f:for each="{job.experienceLevel}" as="experienceLevel" iteration="iterator">
-                                            {experienceLevel.title}{f:if(condition: '!{iterator.isLast}', then: ', ')}
-                                        </f:for>
-                                    </li>
+                                        </p>
+                                        <a href="mailto:{f:if(condition: '{job.contact}', then: '{job.contact.email}', else: '{job.company.contact.email}')}">
+                                            <f:translate key="frontend.emailContact" />
+                                        </a>
+                                    </div>
                                 </f:if>
-                            </ul>
-
-                            <hr>
-                            <h3>
-                                <f:format.raw>
-                                    <f:translate key="frontend.jobApplyNow" />
-                                </f:format.raw>
-                            </h3>
-
-                            <f:if condition="!{job.hideApplyByPostal}">
-                                <p>
-                                    <f:format.raw>
-                                        <f:translate key="frontend.job.via.post" />
-                                    </f:format.raw><br>
-                                    {job.company.name}<br>
-                                    <f:if condition="{job.contact}">
-                                        <f:then>
-                                            {job.contact.title} {job.contact.firstName} {job.contact.lastName}<br>
-                                        </f:then>
-                                        <f:else>
-                                            {job.company.contact.title} {job.company.contact.firstName}
-                                            {job.company.contact.lastName}<br>
-                                        </f:else>
-                                    </f:if>
-                                    <f:if condition="{job.contact} && {job.contact.street}">
-                                        <f:then>
-                                            {job.contact.street}<br>
-                                            <f:if condition="{job.contact.state}">
-                                                {job.contact.state}<br>
-                                            </f:if>
-                                            {job.contact.zip} {job.contact.city}
-                                            <f:if condition="{job.contact.country}">
-                                                <br>{job.contact.country}
-                                            </f:if>
-                                        </f:then>
-                                        <f:else>
-                                            <f:if condition="{job.company.contact} && {job.company.contact.street}">
-                                                <f:then>
-                                                    {job.company.contact.street}<br>
-                                                    <f:if condition="{job.company.contact.state}">
-                                                        {job.company.contact.state}<br>
-                                                    </f:if>
-                                                    {job.company.contact.zip} {job.company.contact.city}
-                                                    <f:if condition="{job.company.contact.country}">
-                                                        <br>{job.company.contact.country}
-                                                    </f:if>
-                                                </f:then>
-                                                <f:else>
-                                                    {job.company.street}<br>
-                                                    <f:if condition="{job.company.state}">
-                                                        {job.company.state}<br>
-                                                    </f:if>
-                                                    {job.company.zip} {job.company.city}
-                                                    <f:if condition="{job.company.country}">
-                                                        <br>{job.company.country}
-                                                    </f:if>
-                                                </f:else>
-                                            </f:if>
-                                        </f:else>
-                                    </f:if>
-                                </p>
-                            </f:if>
 
-                            <f:if condition="!{job.hideApplyByEmail}">
                                 <p>
                                     <f:format.raw>
-                                        <f:translate key="frontend.job.via.email" />
+                                        <f:translate key="frontend.job.suggestForm" />
                                     </f:format.raw>
-                                    <br>
-                                    <f:comment><!-- Spam Protection (lib.parseFunc encodes adresses) --></f:comment>
-                                    <f:if condition="{job.contact}">
-                                        <f:then>
-                                            <f:format.html parseFuncTSPath="lib.parseFunc"><a
-                                                    href="mailto:{job.contact.email}">
-                                                    <f:translate key="frontend.emailContact" />
-                                                </a></f:format.html>
-                                        </f:then>
-                                        <f:else>
-                                            <f:format.html parseFuncTSPath="lib.parseFunc"><a
-                                                    href="mailto:{job.company.contact.email}">
-                                                    <f:translate key="frontend.emailContact" />
-                                                </a></f:format.html>
-                                        </f:else>
-                                    </f:if>
                                 </p>
-                            </f:if>
-
-                            <p>
-                                <f:format.raw>
-                                    <f:translate key="frontend.job.suggestForm" />
-                                </f:format.raw>
-                            </p>
-
-                            <div class="default-content-element sg-cta sg-cta-with-icon">
+                            </div>
+                            <div class="card-footer bg-light text-center">
                                 <a href="{f:if(condition: '{job.applyExternalLink}', then: '{job.applyExternalLink}', else: '#apply')}"
-                                    class="btn btn-primary btn-lg">
+                                    class="btn btn-default w-100">
                                     <f:translate key="frontend.applyNow" />
                                 </a>
                             </div>
-- 
GitLab