@*
SportIcon — minimal, distinctive inline-SVG icons per sport. Inline (not
icon library) so the wordmark stays editorial-quant: thin strokes, sharp
corners, no shadowing. Coverage matches Phase 0 spike findings:
Basketball=6, Football=11, Tennis=22723, Hockey=43658.
*@
@SvgContent
@code {
[Parameter, EditorRequired] public int Code { get; set; }
[Parameter] public string? Label { get; set; }
[Parameter] public string? ClassName { get; set; }
private MarkupString SvgContent => new(GetSvg(Code));
private static string GetSvg(int code) => code switch
{
6 => Basketball,
11 => Football,
22723 => Tennis,
43658 => Hockey,
_ => Generic,
};
// SVG glyphs — single-quote attributes so the entire literal can stay on one line.
private const string Basketball =
"";
private const string Football =
"";
private const string Tennis =
"";
private const string Hockey =
"";
private const string Generic =
"";
}