@inject IConfiguration Instellingen @inject IWebHostEnvironment Omgeving @* De "Download in de App Store" en "Ontdek het op Google Play"-knoppen. Elke knop verschijnt pas als er twee dingen zijn: een adres in appsettings.json (Apps:AppStoreUrl en Apps:GooglePlayUrl, leeg zolang de app daar niet staat) en het officiƫle plaatje van de winkel in wwwroot/badges. De plaatjes tekenen we niet zelf na: Apple en Google leveren ze kant-en-klaar aan en eisen dat ze onaangepast worden gebruikt. Zie wwwroot/badges/LEESMIJ.txt. *@ @if (_knoppen.Count > 0) {
@foreach (var knop in _knoppen) { @knop.Titel }
} @code { private readonly List<(string Adres, string Plaatje, string Titel)> _knoppen = new(); protected override void OnInitialized() { Voeg("Apps:AppStoreUrl", "app-store", "Download in de App Store"); Voeg("Apps:GooglePlayUrl", "google-play", "Ontdek het op Google Play"); } private void Voeg(string instelling, string bestandsnaam, string titel) { var adres = Instellingen[instelling]; if (string.IsNullOrWhiteSpace(adres)) return; // Het plaatje mag .svg of .png zijn, wat je van de winkel hebt gekregen. foreach (var extensie in new[] { "svg", "png" }) { var pad = $"badges/{bestandsnaam}.{extensie}"; if (Omgeving.WebRootFileProvider.GetFileInfo(pad).Exists) { _knoppen.Add((adres, "/" + pad, titel)); return; } } } }