Entry

<!-- Error rendering component -->
<!-- TwigException: Twig.expression.type.operator.binary cannot follow a Twig.expression.type.operator.binary at template:52 near ':...' -->
<!-- Error: TwigException: Twig.expression.type.operator.binary cannot follow a Twig.expression.type.operator.binary at template:52 near ':...'
    at /opt/build/repo/node_modules/@frctl/twig/src/adapter.js:156:24
    at new Promise (<anonymous>)
    at TwigAdapter.render (/opt/build/repo/node_modules/@frctl/twig/src/adapter.js:134:16)
    at ComponentSource._renderVariant (/opt/build/repo/node_modules/@frctl/fractal/src/api/components/source.js:212:30)
    at _renderVariant.next (<anonymous>)
    at onFulfilled (/opt/build/repo/node_modules/co/index.js:65:19) -->
{% from 'macros/slat.twig' import slat %}
{% extends '_layouts/default' %}

{% set caseStudiesIndex = craft.entries.section('caseStudiesIndex').one() %}
{% set services = entry.services.all() %}
{% set expertise = entry.expertise.all() %}
{% set sectors = entry.sectors.all() %}
{% set client = entry.client.one() %}

{% set image = entry.image.one() %}

{% block header %}
  {% include '@breadcrumb' with {
    breadcrumb: {
      title: caseStudiesIndex.title,
      link: caseStudiesIndex.url
    }
  } %}

  {{
    include(
      '@page-header',
      {
        title: {
          text: entry.subtitle ? : entry.title
        },
        content: {
          standfirst: {
            text: entry.summary|markdown
          }
        }
      }
    )
  }}
{% endblock %}

{% block main %}
  <div class="constrain grid grid--of-two-four pad-before-m">
    <dl class="dl">
      {% if client %}
        <dt class="dt">
          Client
        </dt>
        <dd class="dd">{{ client.title }}</dd>
      {% endif %}
      <dt class="dt">
        Sector
      </dt>
      {% for item in sectors %}
        <dd class="dd">{{ item.title }}</dd>
      {% endfor %}
      {% if entry.duration is not empty %}
        <dt class="dt">
          Duration
        </dt>
        <dd class="dd">{{ entry.duration }}</dd>
      {% endif %}
    </dl>

    <dl class="dl">
      <dt class="dt">
        What we did
      </dt>
      {% for item in expertise %}
        <dd class="dd">{{ item.title }}</dd>
      {% endfor %}
    </dl>
  </div>

  {% set content %}
    <div class="flow--xl">
      {% if image %}
        {% include '@srcset' with {
          imageList: [
            {
              src: image ? image.getUrl('splash300'),
              size: '300w'
            },
            {
              src: image ? image.getUrl('splash600'),
              size: '600w'
            },
            {
              src: image ? image.getUrl('splash1000'),
              size: '1000w'
            },
            {
              src: image ? image.getUrl('splash2000'),
              size: '2000w'
            }
          ],
          alt: image.altText ? : image.title
        } only %}
      {% endif %}

      <div class="grid grid--8/4">
        <div class="body wysiwyg wysiwyg--with-lead flow">
          {{ entry.challengeContent|markdown }}
        </div>
      </div>
    </div>
  {% endset %}
  {{ slat(content) }}

  {% if entry.voice|length %}
    {% set quotes = [] %}
    {% for quote in entry.voice.all() %}
      {% if quote.type == 'client' %}
        {% set image = quote.image.one() %}
        {% set quotes =
          quotes|merge(
            [
              {
                quote: quote.quote,
                citation: quote.citation,
                qualifier: quote.citationQualifier,
                image: image
                  ? {
                    src: image.getUrl('author'),
                    alt: image.altText ? : quote.citation
                  }
              }
            ]
          )
        %}
      {% endif %}

      {% if quote.type == 'clearleft' %}
        {% set author = quote.creditedAuthor.one() %}
        {% set image = author ? author.authorImage.one() %}
        {% set quotes =
          quotes|merge(
            [
              {
                quote: quote.quote,
                citation: quote.attributionName,
                qualifier: author ? author.jobTitle,
                image: image
                  ? {
                    src: image.getUrl('author'),
                    alt: image.altText ? : quote.attributionName
                  }
              }
            ]
          )
        %}
      {% endif %}
    {% endfor %}
    {% set content %}
      {% include '@testimonials' with {
        quotes: quotes
      } only %}
    {% endset %}

    {{ slat(content, false, false) }}
  {% endif %}

  {% if entry.results|length %}
    {% set shells = [] %}
    {% for result in entry.results.all() %}
      {% set shells =
        shells|merge(
          [
            {
              title: result.resultHeading,
              excerpt: result.resultBody
            }
          ]
        )
      %}
    {% endfor %}
    {% set content %}
      {% include '@nutshells' with {
        eyebrow: 'The Results',
        shells: shells,
        width: 3,
        columns: 'one',
        border: false,
        dense: true
      } only %}
    {% endset %}
    {{ slat(content, 'light', '', true) }}
  {% endif %}

  {% if entry.contentBuilder|length %}
    {% set content %}
      <div class="flow">
        <h2 class="eyebrow eyebrow--black eyebrow--accent">
          The Full Story
        </h2>

        <div class="grid grid--8/4">
          {% include '_cms-slats/post-builder' with {
            postBuilder: entry.contentBuilder.all()
          } %}
        </div>
      </div>
    {% endset %}
    {{ slat(content) }}
  {% endif %}

  <div class="constrain flow flow--s">
    <div class="eyebrow eyebrow--strong eyebrow--accent">More work</div>
    <div class="grid grid--of-two">
      {% set prev =
        craft.entries().section('caseStudies').before(entry.postDate).one()
      %}
      {% if prev %}
        {% include '@signpost' with {
          post: {
            title: prev.subtitle,
            client: prev.client[0].title,
            link: prev.url
          }
        } %}
      {% else %}
        <div></div>
      {% endif %}

      {% set next =
        craft.entries().section('caseStudies').after(entry.postDate).offset(
          1
        ).orderBy(
          'postDate ASC'
        ).one()
      %}
      {% if next %}
        {% include '@signpost' with {
          post: {
            title: next.subtitle,
            client: next.client[0].title,
            link: next.url
          },
          rtl: true
        } %}
      {% endif %}
    </div>
  </div>
{% endblock %}
/* No context defined. */

No notes defined.