src/components/Breadcrumb.svelte (58 lines of code) (raw):

<script> import { some } from "lodash"; export let links; const isPlatform = (link) => some( ["iOS", "Android", "Amazon"], (platformTag) => link.tags && link.tags.includes(platformTag) ); const getPlatformLogo = (link) => { if (link.tags.includes("iOS")) return "/img/app-logos/apple-breadcrumb.png"; if (link.tags.includes("Android")) return "/img/app-logos/android-breadcrumb.png"; if (link.tags.includes("Amazon")) return "/img/app-logos/amazon-breadcrumb.png"; return undefined; }; </script> <div class="breadcrumb"> <ol> {#each links as link} <li> <a class="link-name" href={link.url}>{link.name} </a> </li> {#if isPlatform(link)} <img src={getPlatformLogo(link)} alt="Platform Logo" />{/if} <span>{links.indexOf(link) === links.length - 1 ? "" : "->"}</span> {/each} </ol> </div> <style lang="scss"> .breadcrumb { display: flex; margin-left: $spacing-xl; img { padding-left: 5px; margin-top: -2px; width: 24px; height: auto; object-fit: contain; } ol { display: flex; margin: 0 0 0.75em; li, span { @include text-title-3xs; font-weight: bold; padding-left: $spacing-sm; .link-name { text-decoration: none; } span { color: $color-dark-gray-10; } } } } </style>