diff --git a/Iceshrimp.Frontend/Core/ControllerModels/ProfileControllerModel.cs b/Iceshrimp.Frontend/Core/ControllerModels/ProfileControllerModel.cs index 0059a5be..fcbef7f8 100644 --- a/Iceshrimp.Frontend/Core/ControllerModels/ProfileControllerModel.cs +++ b/Iceshrimp.Frontend/Core/ControllerModels/ProfileControllerModel.cs @@ -10,4 +10,10 @@ internal class ProfileControllerModel(ApiClient api) public Task UpdateProfileAsync(UserProfileEntity request) => api.CallAsync(HttpMethod.Put, "/profile", data: request); + + public Task GetDisplayNameAsync() => + api.CallNullableAsync(HttpMethod.Get, "/profile/display_name"); + + public Task UpdateDisplayNameAsync(string displayName) => + api.CallNullableAsync(HttpMethod.Post, "/profile/display_name", data: displayName); } \ No newline at end of file diff --git a/Iceshrimp.Frontend/Pages/Settings/Profile.razor b/Iceshrimp.Frontend/Pages/Settings/Profile.razor index 9a1207a8..77750ec2 100644 --- a/Iceshrimp.Frontend/Pages/Settings/Profile.razor +++ b/Iceshrimp.Frontend/Pages/Settings/Profile.razor @@ -22,6 +22,9 @@
@if (State is State.Loaded) { +
+

@Loc["Display Name"]

+

@Loc["Profile Description"]

@@ -84,6 +87,7 @@ private string FieldName { get; set; } = ""; private string FieldValue { get; set; } = ""; private StateButton SaveButton { get; set; } = null!; + private string DisplayName { get; set; } = ""; protected override async Task OnInitializedAsync() { @@ -91,6 +95,7 @@ { UserProfile = await Api.Profile.GetProfileAsync(); State = State.Loaded; + DisplayName = await Api.Profile.GetDisplayNameAsync() ?? ""; } catch (ApiException e) { @@ -117,6 +122,7 @@ { SaveButton.State = StateButton.StateEnum.Loading; await Api.Profile.UpdateProfileAsync(UserProfile); + await Api.Profile.UpdateDisplayNameAsync(DisplayName); SaveButton.State = StateButton.StateEnum.Success; } catch (ApiException e)