Uitrol 30-10-2026 08:13

This commit is contained in:
jf
2026-10-30 08:13:30 +01:00
parent 44064d2ea2
commit a206bde3c5
7 changed files with 76 additions and 0 deletions
@@ -0,0 +1,48 @@
@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)
{
<div class="appknoppen">
@foreach (var knop in _knoppen)
{
<a href="@knop.Adres" target="_blank" rel="noopener" title="@knop.Titel">
<img src="@knop.Plaatje" alt="@knop.Titel" />
</a>
}
</div>
}
@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;
}
}
}
}