@using Iceshrimp.Frontend.Core.Services @using Iceshrimp.Shared.Schemas.Web @inject EmojiService EmojiService @if (_display) {
@foreach (var el in EmojiList) {
@el.Name
}
} @code { [Parameter] public bool Fixed { get; set; } [Parameter] [EditorRequired] public required EventCallback OnEmojiSelect { get; set; } private List EmojiList { get; set; } = []; private bool _display = false; private ElementReference EmojiPickerRef { get; set; } protected override async Task OnInitializedAsync() { EmojiList = await EmojiService.GetEmoji(); } private async void Select(EmojiResponse emoji) { await OnEmojiSelect.InvokeAsync(emoji); _display = false; StateHasChanged(); } private void Close() { _display = false; StateHasChanged(); } protected override void OnAfterRender(bool firstRender) { if (_display) { EmojiPickerRef.FocusAsync(); } } public async Task Toggle() { _display = !_display; await InvokeAsync(StateHasChanged); } }