@inject IStringLocalizer Loc; @using Iceshrimp.Assets.PhosphorIcons @using Iceshrimp.Frontend.Components @using Iceshrimp.Frontend.Localization @using Microsoft.Extensions.Localization @implements IDisposable @inject NavigationManager Navigation;
@code { private Compose _compose = null!; private bool _open = false; private ElementReference SidebarElementRef { get; set; } private async Task Open() { await _compose.OpenDialog(); } private void ToggleSidebar() { _open = !_open; StateHasChanged(); } private void Close() { _open = false; StateHasChanged(); } private void HandleLocationChanged(object? sender, LocationChangedEventArgs e) { _open = false; StateHasChanged(); } protected override void OnInitialized() { Navigation.LocationChanged += HandleLocationChanged; } public void Dispose() { Navigation.LocationChanged -= HandleLocationChanged; } }