← back to Stars of Design

views/public/firm.ejs

92 lines

<%- include('../partials/head', { title: title, meta_desc_override: typeof meta_desc_override !== 'undefined' ? meta_desc_override : undefined }) %>
<%- include('../partials/header') %>

<main class="designer">
  <article class="profile wrap">

    <header class="profile-head">
      <div class="profile-photo">
        <img src="<%= firm.logo %>" alt="<%= firm.name %> logo" loading="lazy" decoding="async" style="width:200px;height:200px;border-radius:12px;object-fit:contain;border:1px solid var(--line,#2a2620);padding:12px;background:#fff">
      </div>
      <div class="profile-meta">
        <h1>
          <%= firm.name %>
          <% if (firm.claimed) { %><span class="chip gold" style="font-size:11px;letter-spacing:0.12em;margin-left:8px">VERIFIED</span><% } %>
        </h1>

        <% if (firm.city || firm.state) { %>
          <p class="lede"><%= [firm.city, firm.state].filter(Boolean).join(', ') %></p>
        <% } %>

        <p class="muted">
          <% if (firm.founded_year) { %>est. <%= firm.founded_year %><% } %>
          <% if (firm.size_band) { %> · <%= firm.size_band %> people<% } %>
          <% if (firm.designer_count > 0) { %> · <%= firm.designer_count %> principal<%= firm.designer_count === 1 ? '' : 's' %><% } %>
        </p>

        <% if (firm.styles && firm.styles.length) { %>
          <h3 style="font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint,#7a706a);margin:24px 0 8px">Practice areas</h3>
          <ul class="tags">
            <% firm.styles.forEach(function(s) { %><li><%= s %></li><% }); %>
          </ul>
        <% } %>

        <% if (firm.areas && firm.areas.length) { %>
          <h3 style="font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint,#7a706a);margin:24px 0 8px">Geographic reach</h3>
          <ul class="tags">
            <% firm.areas.forEach(function(a) { %><li><%= a %></li><% }); %>
          </ul>
        <% } %>

        <% var hasLinks = firm.links && (firm.links.linkedin || firm.links['firm-site'] || firm.links.instagram); %>
        <% if (hasLinks) { %>
          <h3 style="font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint,#7a706a);margin:24px 0 8px">Links</h3>
          <ul class="link-list" style="list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px">
            <% (firm.links['firm-site'] || []).slice(0,2).forEach(function(u) { %>
              <li><a href="<%= u %>" rel="nofollow noopener noreferrer" target="_blank">Website ↗</a></li>
            <% }); %>
            <% (firm.links.linkedin || []).slice(0,2).forEach(function(u) { %>
              <li><a href="<%= u %>" rel="nofollow noopener noreferrer" target="_blank">LinkedIn ↗</a></li>
            <% }); %>
            <% (firm.links.instagram || []).slice(0,2).forEach(function(u) { %>
              <li><a href="<%= u %>" rel="nofollow noopener noreferrer" target="_blank">Instagram ↗</a></li>
            <% }); %>
          </ul>
        <% } %>

        <% if (!firm.claimed) { %>
          <p style="margin-top:32px">
            <a href="/submit" class="btn primary">Claim this firm →</a>
          </p>
        <% } %>
      </div>
    </header>

    <% if (firm.bio) { %>
      <section style="margin-top:48px">
        <h2 class="muted" style="font-size:11px;letter-spacing:0.18em;text-transform:uppercase">About</h2>
        <p class="prose"><%= firm.bio %></p>
      </section>
    <% } %>

    <% if (firm.designers && firm.designers.length) { %>
      <section style="margin-top:48px">
        <h2 class="muted" style="font-size:11px;letter-spacing:0.18em;text-transform:uppercase">Principals</h2>
        <ul class="link-list" style="list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px">
          <% firm.designers.forEach(function(d) { %>
            <li>
              <a href="/clients/<%= d.slug %>"><strong><%= d.full_name %></strong></a>
              <% if (d.role) { %> <span class="muted">· <%= d.role %></span><% } %>
              <% if (d.city || d.state) { %> <span class="muted">· <%= [d.city, d.state].filter(Boolean).join(', ') %></span><% } %>
            </li>
          <% }); %>
        </ul>
      </section>
    <% } %>

    <p style="margin-top:64px"><a href="/firms" class="muted">← Back to all firms</a></p>
  </article>
</main>

<%- include('../partials/footer') %>