@page "/admin/rules" @using Iceshrimp.Backend.Components.Admin @using Iceshrimp.Backend.Core.Database.Tables @using Iceshrimp.Backend.Core.Services @using Microsoft.AspNetCore.Components.Forms @using Microsoft.EntityFrameworkCore @using Microsoft.AspNetCore.Components.Routing @inherits AdminComponentBase

Here you can adjust instance rules. They get displayed to all users, including guests.

@foreach (var rule in _rules) { }
# Text & Description Actions
@rule.Order @rule.Text
@if (rule.Description != null) { @rule.Description } else { No description }
Edit | Remove
@if (_rules is []) { No rules configured. } @code { [Inject] public required InstanceService Instance { get; set; } [SupplyParameterFromForm] private RuleModel Model { get; set; } = null!; private List _rules = []; private class RuleModel { public string? Text { get; set; } public string? Description { get; set; } } protected override void OnParametersSet() { // ReSharper disable once NullCoalescingConditionIsAlwaysNotNullAccordingToAPIContract Model ??= new RuleModel(); } protected override async Task OnGet() { _rules = await Database.Rules.OrderBy(p => p.Order).ThenBy(p => p.Id).ToListAsync(); } private async Task OnSubmit() { await Instance.CreateRuleAsync(Model.Text!.Trim(), Model.Description?.Trim()); ReloadPage(); } }