← back to Wallpapercontractor
views/contractor.ejs
86 lines
<%- include('partials/head', { title: contractor.company + ' — ' + contractor.city + ' commercial wallpaper contractor | ' + site.name, description: contractor.company + ' is a commercial wallpaper installation contractor based in ' + contractor.city + '. Bonded: ' + (contractor.bonded ? 'yes' : 'no') + '. Insured: ' + (contractor.insured ? contractor.liability_limit : 'no') + '. Crew up to ' + contractor.crew_max + '. Specialties: ' + contractor.specialties.join(', ') + '.' }) %>
<main class="wrap main">
<a class="back-link" href="/">← Back to directory</a>
<section class="rep-detail">
<div class="rep-header">
<div class="rep-avatar lg"><%= contractor.company.split(' ').map(s => s[0]).join('').slice(0,3).toUpperCase() %></div>
<div>
<h1><%= contractor.company %></h1>
<div class="agency"><%= contractor.principal %></div>
<div class="city muted"><%= contractor.city %></div>
<div class="rep-meta" style="margin-top:10px;">
<% if (contractor.bonded) { %><span class="chip ok">Bonded</span><% } %>
<% if (contractor.insured) { %><span class="chip ok">Insured <%= contractor.liability_limit %></span><% } %>
<% if (contractor.union) { %><span class="chip union">Union</span><% } %>
</div>
</div>
</div>
<div class="rep-grid-detail">
<div>
<h3>Regions covered</h3>
<div class="chips">
<% contractor.regions.forEach(function(r){ %><span class="chip"><%= r %></span><% }) %>
</div>
</div>
<div>
<h3>Project segments</h3>
<div class="chips">
<% contractor.segments.forEach(function(s){ %><span class="tag"><%= s %></span><% }) %>
</div>
</div>
<div>
<h3>Specialties</h3>
<ul class="lines-list">
<% contractor.specialties.forEach(function(sp){ %><li><%= sp %></li><% }) %>
</ul>
</div>
<div>
<h3>Capacity & tenure</h3>
<ul class="lines-list">
<li><strong>Peak crew size:</strong> <%= contractor.crew_max %> installers</li>
<li><strong>Years in business:</strong> <%= contractor.years_in_business %></li>
<li><strong>General liability:</strong> <%= contractor.insured ? contractor.liability_limit : 'Not on file' %></li>
<li><strong>Surety bonded:</strong> <%= contractor.bonded ? 'Yes' : 'Not on file' %></li>
<li><strong>Union affiliation:</strong> <%= contractor.union ? 'Yes' : 'Open shop' %></li>
</ul>
</div>
</div>
<div class="cta-row">
<a class="btn-primary" href="<%= contractor.contact_url %>" target="_blank" rel="noopener noreferrer">Contact <%= contractor.company %> →</a>
<a class="btn-ghost" href="mailto:<%= site.email %>?subject=Question%20about%20<%= encodeURIComponent(contractor.company) %>">Ask the directory</a>
</div>
</section>
<% if (related.length) { %>
<section class="related">
<h2>Other contractors in similar segments</h2>
<ul class="card-grid" style="--cols-min: 280px">
<% related.forEach(function(r){ %>
<li class="rep-card">
<a class="rep-link" href="/contractor/<%= r.id %>">
<div class="rep-card-head">
<div class="rep-avatar"><%= r.company.split(' ').map(s => s[0]).join('').slice(0,3).toUpperCase() %></div>
<div>
<div class="rep-name"><%= r.company %></div>
<div class="rep-agency"><%= r.city %></div>
</div>
</div>
<div class="rep-meta">
<% if (r.bonded) { %><span class="chip ok">Bonded</span><% } %>
<% if (r.insured) { %><span class="chip ok">Insured</span><% } %>
<span class="chip">Crew <%= r.crew_max %></span>
</div>
</a>
</li>
<% }) %>
</ul>
</section>
<% } %>
</main>
<%- include('partials/foot') %>