using GameIdeas.BlazorApp.Pages.Games.Models; using GameIdeas.BlazorApp.Shared.Components.Dropdown; using GameIdeas.Resources; using Microsoft.AspNetCore.Components; namespace GameIdeas.BlazorApp.Shared.Headers; public partial class HeaderBase { [Parameter] public RenderFragment? Body { get; set; } [Parameter] public EventCallback AddTypeChanged { get; set; } private DropdownContent? DropdownAdd; private readonly IEnumerable AddTypes = [ new AddTypeParams(AddType.Manual, ResourcesKey.ManualAdd), new AddTypeParams(AddType.Auto, ResourcesKey.AutoAdd) ]; private AccountSettings? AccountSettings; private void HandleIconClicked() { throw new NotImplementedException(); } private async Task HandleMoreButton() { if (DropdownAdd != null) { await DropdownAdd.OpenAsync(); } AccountSettings?.Close(); } private async Task HandleAddTypeClickedAsync(AddTypeParams value) { await AddTypeChanged.InvokeAsync(value.AddType); } private void HandleAccountClicked() { AccountSettings?.Toggle(); } }