Files
ersatztv/ErsatzTV/Shared/FragmentLetterAnchor.razor
T
Jason DoveandGitHub 5d081ceeff fix editorconfig and run code cleanup (#2324)
* fix formatting rules

* reformat ersatztv

* reformat ersatztv.application

* reformat ersatztv.core

* refactor ersatztv.core.tests

* reformat ersatztv.ffmpeg

* reformat ersatztv.ffmpeg.tests

* reformat ersatztv.infrastructure

* cleanup infra mysql

* cleanup infra sqlite

* cleanup infra tests

* cleanup ersatztv.scanner

* cleanup ersatztv.scanner.tests

* sln cleanup

* update dependencies
2025-08-16 14:44:48 +00:00

33 lines
843 B
Plaintext

@using LanguageExt.UnsafeValueAccess
@typeparam TCard
@{ var letters = new System.Collections.Generic.HashSet<char>(); }
@foreach (TCard card in Cards.Filter(c => !string.IsNullOrWhiteSpace(c.Title)).OrderBy(c => c.SortTitle))
{
Option<char> maybeLetter = card.SortTitle.ToLowerInvariant().HeadOrNone();
if (maybeLetter.IsSome)
{
char letter = maybeLetter.ValueUnsafe();
if (char.IsDigit(letter) || !char.IsLetter(letter))
{
letter = '#';
}
if (!letters.Contains(letter))
{
letters.Add(letter);
<div id="@($"letter-{letter}")" style="scroll-margin-top: 140px">
@ChildContent(card)
</div>
}
else
{
@ChildContent(card)
}
}
else
{
@ChildContent
}
}