From 8c50211efb1a426ce2d2beb7a04e9a1a835582ba Mon Sep 17 00:00:00 2001 From: pancakes Date: Sat, 29 Mar 2025 14:03:40 +1000 Subject: [PATCH] [backend/razor] Add UI for setting instance banner --- .../Core/Services/InstanceService.cs | 7 ++++--- Iceshrimp.Backend/Core/Services/MetaService.cs | 1 + Iceshrimp.Backend/Pages/Admin/Metadata.razor | 16 +++++++++++++--- .../Pages/Shared/RootComponent.razor | 4 ++-- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Iceshrimp.Backend/Core/Services/InstanceService.cs b/Iceshrimp.Backend/Core/Services/InstanceService.cs index 4e7043eb..3e18c5aa 100644 --- a/Iceshrimp.Backend/Core/Services/InstanceService.cs +++ b/Iceshrimp.Backend/Core/Services/InstanceService.cs @@ -277,9 +277,10 @@ public class InstanceService( return rule; } - public async Task GetInstanceImageAsync() + public async Task<(string?, string?)> GetInstanceImageAsync() { - var iconId = await meta.GetAsync(MetaEntity.IconFileId); - return await db.DriveFiles.Where(p => p.Id == iconId).Select(p => p.RawAccessUrl).FirstOrDefaultAsync(); + var (iconId, bannerId) = await meta.GetManyAsync(MetaEntity.IconFileId, MetaEntity.BannerFileId); + return (await db.DriveFiles.Where(p => p.Id == iconId).Select(p => p.RawAccessUrl).FirstOrDefaultAsync(), + await db.DriveFiles.Where(p => p.Id == bannerId).Select(p => p.RawAccessUrl).FirstOrDefaultAsync()); } } \ No newline at end of file diff --git a/Iceshrimp.Backend/Core/Services/MetaService.cs b/Iceshrimp.Backend/Core/Services/MetaService.cs index 7579fa4a..5dfd045b 100644 --- a/Iceshrimp.Backend/Core/Services/MetaService.cs +++ b/Iceshrimp.Backend/Core/Services/MetaService.cs @@ -81,6 +81,7 @@ public static class MetaEntity public static readonly NullableStringMeta AdminContactEmail = new("admin_contact_email"); public static readonly NullableStringMeta ThemeColor = new("theme_color"); public static readonly NullableStringMeta IconFileId = new("icon_file_id"); + public static readonly NullableStringMeta BannerFileId = new("banner_file_id"); } public class Meta( diff --git a/Iceshrimp.Backend/Pages/Admin/Metadata.razor b/Iceshrimp.Backend/Pages/Admin/Metadata.razor index adce1be8..52125af5 100644 --- a/Iceshrimp.Backend/Pages/Admin/Metadata.razor +++ b/Iceshrimp.Backend/Pages/Admin/Metadata.razor @@ -13,6 +13,8 @@ + +