diff --git a/src/lib/Nav.svelte b/src/lib/Nav.svelte index da840c29..c78391f9 100644 --- a/src/lib/Nav.svelte +++ b/src/lib/Nav.svelte @@ -41,6 +41,25 @@ beforeNavigate(close) const crawl_links = nav.flatMap((itm) => itm?.subNav ?? []) + + function markFirstLetters( + subNav: { title: string; url: string; spanCols?: boolean; lightFont?: boolean }[] +) { + const seen = new Set() + return subNav.map(item => { + const firstChar = item.title[0] + const upper = firstChar.toUpperCase() + const isFirst = !seen.has(upper) + seen.add(upper) + return { + ...item, + firstChar, + rest: item.title.slice(1), + highlight: isFirst + } + }) +} + + {#if title === 'Standorte'} + {#each markFirstLetters(subNav) as { url, spanCols, lightFont, firstChar, rest, highlight }} +
  • + + {#if highlight} + {firstChar}{rest} + {:else} + {firstChar}{rest} + {/if} + +
  • + {/each} + {:else} {#each subNav as { title, url, spanCols, lightFont }}
  • @@ -114,6 +146,7 @@
  • {/each} + {/if} {/if} @@ -229,4 +262,8 @@ nav.desktop button:first-child { display: none; } + .highlight { + color: var(--green); + font-weight: bold; + }