diff --git a/Iceshrimp.Frontend/Components/Compose.razor b/Iceshrimp.Frontend/Components/Compose.razor index 73aa2ac9..72a2d12b 100644 --- a/Iceshrimp.Frontend/Components/Compose.razor +++ b/Iceshrimp.Frontend/Components/Compose.razor @@ -512,9 +512,9 @@ } } - private void ToggleEmojiPicker() + private async Task ToggleEmojiPicker() { - GlobalComponentSvc.EmojiPicker?.Open(EmojiButton, new EventCallback(this, AddEmoji)); + await GlobalComponentSvc.EmojiPicker?.Open(EmojiButton, new EventCallback(this, AddEmoji))!; } private async Task AddQuote() => diff --git a/Iceshrimp.Frontend/Components/EmojiPicker.razor b/Iceshrimp.Frontend/Components/EmojiPicker.razor index d0a797ef..5717cfe5 100644 --- a/Iceshrimp.Frontend/Components/EmojiPicker.razor +++ b/Iceshrimp.Frontend/Components/EmojiPicker.razor @@ -44,10 +44,8 @@ protected override async Task OnInitializedAsync() { GlobalComponentSvc.EmojiPicker = this; - EmojiList = await EmojiService.GetEmojiAsync(); _module = (IJSInProcessObjectReference)await Js.InvokeAsync("import", "./Components/EmojiPicker.razor.js"); - FilterEmojis(); } private async Task Select(EmojiResponse emoji) @@ -61,8 +59,14 @@ _module.InvokeVoid("closeDialog", EmojiPickerRef); } - public void Open(ElementReference root, EventCallback func) + public async Task Open(ElementReference root, EventCallback func) { + if (EmojiList.Count == 0) + { + EmojiList = await EmojiService.GetEmojiAsync(); + FilterEmojis(); + } + OnEmojiSelect = func; var pos = _module.Invoke>("getPosition", root); _left = pos[0]; diff --git a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor index 878879d2..b50c76f2 100644 --- a/Iceshrimp.Frontend/Components/Note/NoteFooter.razor +++ b/Iceshrimp.Frontend/Components/Note/NoteFooter.razor @@ -193,9 +193,9 @@ NoteActions.DoQuote(Note); } - private void ToggleEmojiPicker() + private async Task ToggleEmojiPicker() { - GlobalComponentSvc.EmojiPicker?.Open(EmojiButton, new EventCallback(this, React)); + await GlobalComponentSvc.EmojiPicker?.Open(EmojiButton, new EventCallback(this, React))!; } private void React(EmojiResponse emoji) diff --git a/Iceshrimp.Frontend/Pages/Settings/Profile.razor b/Iceshrimp.Frontend/Pages/Settings/Profile.razor index 86250bd8..93dec47c 100644 --- a/Iceshrimp.Frontend/Pages/Settings/Profile.razor +++ b/Iceshrimp.Frontend/Pages/Settings/Profile.razor @@ -312,9 +312,9 @@ UserProfile.BannerAlt = ""; } - private void ToggleEmojiPicker() + private async Task ToggleEmojiPicker() { - GlobalComponentSvc.EmojiPicker?.Open(EmojiButton, new EventCallback(this, AddEmoji)); + await GlobalComponentSvc.EmojiPicker?.Open(EmojiButton, new EventCallback(this, AddEmoji))!; } private async Task AddEmoji(EmojiResponse emoji)