@implements IDisposable @* Navigazione flottante in basso (STILE_UI ยง6.15): il contenuto le scorre sotto, le destinazioni restano a portata di pollice. Icona outline a riposo, piena da selezionata, etichetta sempre visibile in entrambe. Da 720px diventa una colonna laterale (vedi components.css). Qui stanno SOLO le destinazioni. Le azioni di una schermata appartengono alla schermata, e si trovano nella sua testata: un "+" incastrato nella barra non dice cosa crea, e cambia significato da una pagina all'altra. *@ @code { private bool IsVisible { get; set; } = true; private static readonly string[] NavigableRoutes = ["ispezioni", "ispezione", "user"]; private string CurrentRoute => NavigationManager.Uri.Remove(0, NavigationManager.BaseUri.Length).Split('?')[0]; private bool IsOn(string route) => CurrentRoute.EqualsIgnoreCase(route); protected override void OnInitialized() { NavigationManager.LocationChanged += OnLocationChanged; Refresh(); } private void OnLocationChanged(object? sender, LocationChangedEventArgs args) => Refresh(); private void Refresh() { IsVisible = NavigableRoutes.Contains(CurrentRoute, StringComparer.OrdinalIgnoreCase); StateHasChanged(); } public void Dispose() => NavigationManager.LocationChanged -= OnLocationChanged; }