← back to NationalPaperHangers

views/public/installer-tpl-concierge.ejs

70 lines

<%- include('../partials/head', { title, bodyClass: 'tpl-concierge' }) %>
<%- include('../partials/header') %>
<%
  function _heroUrl() {
    var s = installer.template_settings || {};
    if (s.hero_url) return s.hero_url;
    if (portfolio.length && portfolio[0].image_url) return portfolio[0].image_url;
    var seg = (typeof pickSegmentImage === 'function') ? pickSegmentImage(installer) : null;
    return seg ? seg.file : null;
  }
  var heroUrl = _heroUrl();
  var founded = installer.founded_year || null;
%>
<article class="tpl-root">
  <p class="cc-eyebrow">National Paper Hangers</p>
  <div class="cc-rule"></div>
  <h1 class="cc-name"><%= installer.business_name %></h1>
  <p class="cc-place"><%= [installer.city, installer.state].filter(Boolean).join(' · ') %><% if (founded) { %> · Est. <%= founded %><% } %></p>

  <% if (installer.headline) { %><p class="cc-line">"<%= installer.headline %>"</p><% } %>

  <% if (heroUrl) { %><img class="cc-hero" src="<%= heroUrl %>" alt="<%= installer.business_name %>"><% } %>

  <% if (installer.claim_status === 'unclaimed') { %>
    <div class="tpl-claim-cta" style="color:#c8a96a;border-color:#c8a96a;text-align:left;font-family:Inter,sans-serif;font-size:13px">
      <div style="flex:1">If you operate <%= installer.business_name %>, claim this listing to enable bookings, the Verified mark, and reply tracking.</div>
      <a href="/installer/<%= installer.slug %>/claim" style="color:#c8a96a;text-decoration:underline">Claim →</a>
    </div>
  <% } %>

  <% if (installer.bio) { %><div class="cc-bio"><%= installer.bio %></div><% } %>

  <div class="cc-strip">
    <div>Service radius<b><%= installer.service_radius_miles || '—' %> mi</b></div>
    <% if (installer.team_size) { %><div>Team<b><%= installer.team_size %></b></div><% } %>
    <% if (acceptance) { %><div>Accept rate<b><%= acceptance.rate %>%</b></div><% } %>
    <% if ((credentials || []).length) { %><div>Brand-trained<b><%= credentials.length %></b></div><% } %>
  </div>

  <% if (portfolio.length) { %>
    <div class="cc-portfolio">
      <% portfolio.slice(0,4).forEach(function(p){ %>
        <figure>
          <% if (p.image_url) { %><img class="tpl-portfolio-img" src="<%= p.image_url %>" alt="<%= p.title %>" loading="lazy" style="filter:grayscale(0.1) contrast(1.05)"><% } %>
          <figcaption><%= p.title %><% if (p.brand) { %> · <%= p.brand %><% } %></figcaption>
        </figure>
      <% }); %>
    </div>
  <% } %>

  <% if ((credentials || []).length) { %>
    <p class="cc-eyebrow" style="margin-top:0">Brand-trained</p>
    <p style="font-family:Inter,sans-serif;font-size:13px;letter-spacing:0.15em;text-transform:uppercase;color:#aaa097;margin:0 0 32px">
      <% credentials.slice(0,8).forEach(function(c, i){ %><%= i ? ' · ' : '' %><%= c.brand %><% }); %>
    </p>
  <% } %>

  <% if (installer.claim_status === 'claimed') { %>
    <div class="cc-cta">
      <a href="/installer/<%= installer.slug %>/book">Reserve a consultation</a>
    </div>
  <% } %>
  <%- include('../partials/social-videos') %>

</article>
<%- include('../partials/paper-contributions') %>
<%- include('../partials/coi-request') %>
<%- include('../partials/call-installer') %>
<%- include('../partials/footer') %>