[frontend] Add EmojiService

This commit is contained in:
Lilian 2024-07-01 19:57:50 +02:00
parent 42c860f579
commit 47bda1428b
No known key found for this signature in database
2 changed files with 30 additions and 0 deletions

View file

@ -0,0 +1,29 @@
using Iceshrimp.Frontend.Core.Miscellaneous;
using Iceshrimp.Shared.Schemas;
using Microsoft.AspNetCore.Components;
namespace Iceshrimp.Frontend.Core.Services;
internal class EmojiService(ApiService api)
{
[Inject] private ApiService Api { get; set; } = api;
private List<EmojiResponse>? Emojis { get; set; }
public async Task<List<EmojiResponse>> GetEmoji()
{
if (Emojis is not null) return Emojis;
try
{
var emoji = await Api.Emoji.GetAllEmoji();
Emojis = emoji;
return Emojis;
}
catch (ApiException)
{
// FIXME: Implement connection error handling
throw new Exception("Failed to fetch emoji");
}
}
}

View file

@ -22,6 +22,7 @@ builder.Services.AddSingleton<StreamingService>();
builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthStateProvider>(); builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthStateProvider>();
builder.Services.AddSingleton<ComposeService>(); builder.Services.AddSingleton<ComposeService>();
builder.Services.AddSingleton<StateService>(); builder.Services.AddSingleton<StateService>();
builder.Services.AddSingleton<EmojiService>();
builder.Services.AddAuthorizationCore(); builder.Services.AddAuthorizationCore();
builder.Services.AddCascadingAuthenticationState(); builder.Services.AddCascadingAuthenticationState();
builder.Services.AddBlazoredLocalStorageAsSingleton(); builder.Services.AddBlazoredLocalStorageAsSingleton();