Files
game-ideas/src/GameIdeas/Client/GameIdeas.BlazorApp/Shared/Headers/HeaderBase.razor.cs
Egamorf 4183b4b616 Add header for game list (#3)
Co-authored-by: Maxime Adler <madler@sqli.com>
Reviewed-on: #3
2025-02-27 01:09:05 +01:00

47 lines
1.2 KiB
C#

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<AddType> AddTypeChanged { get; set; }
private DropdownContent<AddTypeParams>? DropdownAdd;
private readonly IEnumerable<AddTypeParams> 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();
}
}