<article class="fixture-card" data-filter='{ "filter": "competition", "name": "fifa", "id": "1" }' data-analytics='{"pagename":"England Football Landing page","matchcategory":"fixtures","matchtype":"Fifa world cup qatar 2022 Euro qualifier","matchmode":"Round of 16","matchdetail":"England Vs Iceland","matchvenue":"Khalifa International Stadium"}'>
    <div class="fixture-card__fixture-info">
        <p class="fixture-card__tournament">Fifa world cup qatar 2022 Euro qualifier
            <span class="fixture-card__round">Round of 16</span>
        </p>
        <p class="fixture-card__location">Khalifa International Stadium</p>
        <p>Thurs 20th Feb <span>20:00 GMT</span></p>
    </div>
    <div class="fixture-detail">
        <p class="visually-hidden">Fixture</p>
        <p class="fixture-detail__col">
            <span class="fixture-detail__team">
                <img src="/assets/example-content/crest-england.svg" alt="" />England</span>
        </p>
        <p class="fixture-detail__col">
            <span class="fixture-detail__team">
                <img src="/assets/example-content/crest-iceland.png" alt="" />Iceland</span>
        </p>
        <p class="fixture-detail__time">20:00</p>
        <p class="fixture-detail__extra-info">
            <img src="/assets/example-content/sponsor-logo-bt.svg" alt="BT Sport" />
            <img src="/assets/example-content/logo-itv.png" alt="ITV" />
        </p>
    </div>
    <div class="fixture-card__ctas">
        <a href="/" class="cta cta--secondary " name="match-preview">
            <p>Match preview</p>
        </a>

        <a href="https://ticketing.thefa.com/" class="cta cta--primary " target="_blank" name="buy-tickets">
            <p>Buy tickets</p>
        </a>

    </div>
</article>

No notes defined.

{
  "competition": {
    "name": "fifa",
    "id": "1"
  },
  "season": {
    "name": "2020/21",
    "id": "1"
  },
  "homeTeam": {
    "name": "England",
    "score": "1"
  },
  "awayTeam": {
    "name": "Iceland",
    "score": "1"
  },
  "cta1": {
    "copy": "Match preview",
    "name": "match-preview"
  },
  "cta2": {
    "copy": "Buy tickets",
    "name": "buy-tickets",
    "href": "https://ticketing.thefa.com/",
    "target": "_blank"
  }
}
  • Content:
    export default () => {
      if (window.innerWidth < 1200) {
        const checkmatchCTA = document.querySelectorAll('.fixture-card__ctas a');
    
        checkmatchCTA.forEach(checkcta => {
          /* eslint-disable no-param-reassign */
    
          if (checkcta.parentNode.nextElementSibling) {
            checkcta.parentNode.nextElementSibling.style.display = 'none';
          }
        });
      }
    };
    
  • URL: /components/raw/fixture-card/fixture-card.js
  • Filesystem Path: src/library/components/fixture-card/fixture-card.js
  • Size: 368 Bytes
  • Content:
    .fixture-card {
      border: 1px solid rgba($color-borders, 0.7);
      border-radius: $border-radius;
      box-shadow: 0 $spacing-xs $spacing-xs rgba(0, 0, 0, 0.02);
      overflow: hidden;
      padding: $spacing-m;
      position: relative;
    
      &__fixture-info {
        @include text-xs;
    
        text-align: center;
        text-transform: uppercase;
        line-height: 1.8rem;
      }
      &__tournament {
        color: $bold-red;
        padding-bottom: $spacing-s;
      }
      &__round {
        color: $color-interface-light;
        margin-left: $spacing-s;
    
        &::before {
          content: '•';
          margin-right: $spacing-s;
        }
      }
      &__location {
        display: block;
        margin-bottom: 0.2rem;
      }
      &__ctas {
        display: flex;
    
        .cta {
          margin: auto;
    
          + .cta {
            margin-left: $spacing-s;
          }
        }
      }
      &__match-status {
        @include text-xs;
    
        align-items: center;
        background: $color-primary;
        color: $white;
        display: flex;
        justify-content: center;
        margin: auto;
        margin-bottom: -$spacing-m;
        padding: 0.8rem $spacing-m;
        position: relative;
        text-align: center;
        width: 24.8rem;
    
        img {
          box-sizing: content-box;
          padding-right: $spacing-s;
          width: 1.5rem;
    
          &::after {
            border: 1px solid $white;
            content: '';
            display: block;
            height: 100%;
            width: 0;
          }
        }
    
        .status-line {
          background: $white;
          width: 0.1rem;
          height: 2rem;
          opacity: 0.3;
          border-radius: 2px;
          margin-right: 0.8rem;
        }
    
        .status-label {
          padding-top: 0.2rem;
        }
    
        &::before,
        &::after {
          content: '';
          display: block;
          width: 50px;
          height: 80px;
          position: absolute;
          top: 0;
        }
    
        &::before {
          background: linear-gradient(
            to bottom right,
            transparent 0%,
            transparent 50%,
            $color-primary 50%,
            $color-primary 100%
          );
          left: -50px;
        }
        &::after {
          background: linear-gradient(
            to bottom left,
            transparent 0%,
            transparent 50%,
            $color-primary 50%,
            $color-primary 100%
          );
          right: -50px;
        }
        &--cancelled {
          background-color: $red-accent;
          &::before {
            background: linear-gradient(
              to bottom right,
              transparent 0%,
              transparent 50%,
              $red-accent 50%,
              $red-accent 100%
            );
          }
          &::after {
            background: linear-gradient(
              to bottom left,
              transparent 0%,
              transparent 50%,
              $red-accent 50%,
              $red-accent 100%
            );
          }
        }
        &--tbc {
          background-color: $blue;
          &::before {
            background: linear-gradient(
              to bottom right,
              transparent 0%,
              transparent 50%,
              $blue 50%,
              $blue 100%
            );
          }
          &::after {
            background: linear-gradient(
              to bottom left,
              transparent 0%,
              transparent 50%,
              $blue 50%,
              $blue 100%
            );
          }
    
          @media screen and (min-width: $mq-large) {
            display: flex;
          }
        }
      }
    
      @media screen and (min-width: $mq-large) {
        align-items: center;
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
        &__tournament {
          padding-bottom: $spacing-m;
        }
        &__fixture-info {
          text-align: left;
        }
        &__round {
          display: block;
          margin-left: 0;
    
          &::before {
            display: none;
          }
        }
        &__ctas {
          justify-content: flex-end;
          max-width: 24.8rem;
    
          .cta {
            flex: 1;
            margin: inherit;
            min-width: 0;
          }
        }
        &__match-status {
          bottom: 0;
          margin-bottom: 0;
          position: absolute;
          right: 0;
        }
      }
    }
    
    .fixture-detail {
      text-transform: uppercase;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      padding-top: $spacing-m;
      padding-bottom: $spacing-l;
    
      &__col {
        display: flex;
        grid-column: 1;
        flex: 1;
        padding: 0 $spacing-l;
    
        & + & {
          flex-direction: row-reverse;
          grid-column: 3;
          order: 1;
        }
      }
    
      &__team {
        align-items: center;
        color: $crest-blue;
        display: flex;
        font-family: $text-font;
        font-size: 1.1rem;
        flex-direction: column;
        flex-grow: 1;
        justify-content: center;
        font-weight: bold;
    
        img {
          height: 100%;
          margin-bottom: $spacing-s;
          max-height: 60px;
        }
      }
    
      &__score {
        color: $crest-blue;
        font-family: $heading-font;
        font-size: 6.2rem;
        grid-column: 2;
      }
    
      &__extra-info {
        @include text-xs;
    
        color: $color-interface-light;
        display: flex;
        flex-basis: 100%;
        flex-wrap: wrap;
        grid-column: -1/1;
        grid-row: 2;
        justify-content: center;
        margin-top: $spacing-s;
        text-align: center;
    
        abbr {
          cursor: pointer;
          display: block;
          text-decoration: none;
          width: 100%;
          margin-bottom: 0.4rem;
        }
        img {
          max-height: 2rem;
          padding: 0 $spacing-s;
        }
      }
    
      &__time {
        align-self: center;
        background-color: $grey-light;
        color: $black;
        font-family: $text-font;
        font-size: 2.2rem;
        line-height: 2.2rem;
        padding: 1.3rem 1.7rem;
      }
    
      &--result &__col + &__col {
        &::after {
          content: '-';
          color: $crest-blue;
          font-family: $heading-font;
          font-size: 6.2rem;
          padding-right: $spacing-l;
          margin-left: -$spacing-l;
        }
      }
    
      @media screen and (min-width: 950px) {
        &__team {
          font-size: 1.8rem;
          flex-direction: row-reverse;
          img {
            margin: 0 0 0 $spacing-l;
          }
        }
        &__score {
          margin-left: 2rem;
        }
        &__col {
          justify-self: flex-end;
    
          & + & {
            justify-self: flex-start;
    
            .fixture-detail__team {
              flex-direction: row;
    
              img {
                margin: 0 $spacing-l 0 0;
              }
            }
    
            .fixture-detail__score {
              margin-right: 2rem;
              margin-left: 0;
            }
          }
        }
      }
    }
    
  • URL: /components/raw/fixture-card/fixture-card.scss
  • Filesystem Path: src/library/components/fixture-card/fixture-card.scss
  • Size: 6.1 KB
<article class="fixture-card"
  data-filter='{ "filter": "competition", "name": "{{competition.name}}", "id": "{{competition.id}}" }'
  data-analytics='{"pagename":"England Football Landing page","matchcategory":"fixtures","matchtype":"Fifa world cup qatar 2022 Euro qualifier","matchmode":"Round of 16","matchdetail":"{{homeTeam.name}} Vs {{awayTeam.name}}","matchvenue":"Khalifa International Stadium"}'>
  <div class="fixture-card__fixture-info">
    <p class="fixture-card__tournament">Fifa world cup qatar 2022 Euro qualifier
      <span class="fixture-card__round">Round of 16</span>
    </p>
    <p class="fixture-card__location">Khalifa International Stadium</p>
    <p>Thurs 20th Feb <span>20:00 GMT</span></p>
  </div>
  <div class="fixture-detail">
    <p class="visually-hidden">Fixture</p>
    <p class="fixture-detail__col">
      <span class="fixture-detail__team">
        <img src="/assets/example-content/crest-england.svg" alt="" />{{homeTeam.name}}</span>
    </p>
    <p class="fixture-detail__col">
      <span class="fixture-detail__team">
        <img src="/assets/example-content/crest-iceland.png" alt="" />{{awayTeam.name}}</span>
    </p>
    {{#unless tbc}}
    <p class="fixture-detail__time">20:00</p>
    {{/unless}}
    {{#if tbc}}
    <p class="fixture-detail__time">TBC</p>
    {{/if}}
    <p class="fixture-detail__extra-info">
      <img src="/assets/example-content/sponsor-logo-bt.svg" alt="BT Sport" />
      <img src="/assets/example-content/logo-itv.png" alt="ITV" />
    </p>
  </div>
  {{#unless cancelled}}
  <div class="fixture-card__ctas">
    {{render '@cta--secondary' cta1 merge="true"}}
    {{#if cta2}}
    {{render '@cta' cta2 merge="true"}}
    {{/if}}
    {{#if cta3}}
    {{render '@cta--disabled' cta3 merge="true"}}
    {{/if}}
  </div>
  {{/unless}}
  {{#if cancelled}}
  <div class="fixture-card__match-status fixture-card__match-status--cancelled"><img
      src="/assets/images/icon-warning.svg" alt="" /><span class="status-line"></span><span class="status-label">Match cancelled</span></div>
  {{/if}}
  {{#if tbc}}
  <div class="fixture-card__match-status fixture-card__match-status--tbc"><img
      src="/assets/images/icon-warning.svg" alt="" /><span class="status-line"></span><span class="status-label">Date and time to be confirmed</span></div>
  {{/if}}
</article>