Add public/admin view buttons and update localizations
Build and Push Docker Image / build-and-push (push) Successful in 4m13s

Added "View Public List" button to RegistryAdmin and "Go to Admin" button to public registry view for admins. Exposed and loaded public link code in models and service. Updated localization files with new translations.
This commit is contained in:
Arne Moerman
2026-07-25 18:30:52 +02:00
parent b323cdd47a
commit 0152a6868a
9 changed files with 35 additions and 1 deletions
@@ -13,6 +13,15 @@ else
{
<h1>@L["RegistryAdmin.Title"]</h1>
@if (!string.IsNullOrWhiteSpace(PublicLinkCode))
{
<div class="mb-3">
<a href="/registry/@PublicLinkCode" class="btn btn-outline-primary">
<span class="bi bi-eye"></span> @L["RegistryAdmin.ViewPublicList"]
</a>
</div>
}
@if (!IsSmtpConfigured)
{
<div class="alert alert-warning" role="alert">
@@ -52,6 +52,7 @@ public partial class RegistryAdmin : ComponentBase
protected IReadOnlyList<RegistryAccessibleUserAddressViewModel> AccessibleUserAddresses { get; private set; } = [];
protected bool IsAuthorized { get; private set; }
protected bool IsSmtpConfigured { get; private set; }
protected string? PublicLinkCode { get; private set; }
protected string? InviteEmail { get; set; }
protected string? InviteLink { get; private set; }
protected BlazoredTextEditor? TextEditor { get; set; }
@@ -750,6 +751,7 @@ public partial class RegistryAdmin : ComponentBase
SettingsModel.ShowBankAccountName = settings.ShowBankAccountName;
SettingsModel.ContributionQrCodeUrl = settings.ContributionQrCodeUrl;
SettingsModel.ContributionAmountQrCodes = settings.ContributionAmountQrCodes;
PublicLinkCode = settings.PublicLinkCode;
var currentHeaderContent = SettingsModel.HeaderContentHtml ?? string.Empty;
_pendingEditorLoad = currentHeaderContent != _lastLoadedHeaderContentHtml;
@@ -21,6 +21,15 @@ else
<h1>@(string.IsNullOrWhiteSpace(Registry.BabyName) ? Registry.Title : Registry.BabyName)</h1>
@if (Registry.IsAdmin)
{
<div class="mb-3">
<a href="/registry/@Registry.Id/admin" class="btn btn-outline-secondary">
<span class="bi bi-gear"></span> @L["RegistryPublic.GoToAdmin"]
</a>
</div>
}
@if (!string.IsNullOrWhiteSpace(Registry.HeaderContentHtml))
{
<div class="header-content">@((MarkupString)Registry.HeaderContentHtml)</div>
@@ -65,6 +65,7 @@ public sealed class RegistrySettingsEditModel
public bool ShowBankAccountName { get; set; }
public string? ContributionQrCodeUrl { get; set; }
public List<ContributionAmountQrCodeModel> ContributionAmountQrCodes { get; set; } = [];
public string PublicLinkCode { get; set; } = string.Empty;
}
public sealed class RegistrySummaryViewModel
@@ -349,7 +349,8 @@ internal sealed class RegistryService(RegistryDbContext registryDbContext, Appli
BankAccountDisplayName = settings?.BankAccountDisplayName,
ShowBankAccountName = settings?.ShowBankAccountName ?? false,
ContributionQrCodeUrl = settings?.ContributionQrCodeUrl,
ContributionAmountQrCodes = ParseContributionAmountQrCodes(settings?.ContributionAmountQrCodesJson).ToList()
ContributionAmountQrCodes = ParseContributionAmountQrCodes(settings?.ContributionAmountQrCodesJson).ToList(),
PublicLinkCode = registry.PublicLinkCode
};
}
@@ -57,6 +57,7 @@
<data name="RegistryPublic.PageTitle" xml:space="preserve"><value>Liste</value></data>
<data name="RegistryPublic.NotFound" xml:space="preserve"><value>Liste introuvable.</value></data>
<data name="RegistryPublic.GoToAdmin" xml:space="preserve"><value>Aller à l'admin</value></data>
<data name="RegistryPublic.ShippingAddress" xml:space="preserve"><value>Adresse de livraison</value></data>
<data name="RegistryPublic.BankTransferParticipation" xml:space="preserve"><value>Participation par virement</value></data>
<data name="RegistryPublic.IBAN" xml:space="preserve"><value>IBAN</value></data>
@@ -135,6 +136,7 @@
<data name="RegistryAdmin.Tab.Administrators" xml:space="preserve"><value>Administrateurs</value></data>
<data name="RegistryAdmin.Tab.Addresses" xml:space="preserve"><value>Adresses</value></data>
<data name="RegistryAdmin.Tab.ActionLog" xml:space="preserve"><value>Journal d'actions</value></data>
<data name="RegistryAdmin.ViewPublicList" xml:space="preserve"><value>Voir la liste publique</value></data>
<data name="RegistryAdmin.AddOrEditItem" xml:space="preserve"><value>Ajouter ou modifier un article</value></data>
<data name="RegistryAdmin.Name" xml:space="preserve"><value>Nom</value></data>
<data name="RegistryAdmin.ProductUrl" xml:space="preserve"><value>URL du produit</value></data>
@@ -57,6 +57,7 @@
<data name="RegistryPublic.PageTitle" xml:space="preserve"><value>Lijst</value></data>
<data name="RegistryPublic.NotFound" xml:space="preserve"><value>Lijst niet gevonden.</value></data>
<data name="RegistryPublic.GoToAdmin" xml:space="preserve"><value>Naar beheer</value></data>
<data name="RegistryPublic.ShippingAddress" xml:space="preserve"><value>Leveringsadres</value></data>
<data name="RegistryPublic.BankTransferParticipation" xml:space="preserve"><value>Deelname via overschrijving</value></data>
<data name="RegistryPublic.IBAN" xml:space="preserve"><value>IBAN</value></data>
@@ -135,6 +136,7 @@
<data name="RegistryAdmin.Tab.Administrators" xml:space="preserve"><value>Beheerders</value></data>
<data name="RegistryAdmin.Tab.Addresses" xml:space="preserve"><value>Adressen</value></data>
<data name="RegistryAdmin.Tab.ActionLog" xml:space="preserve"><value>Actielog</value></data>
<data name="RegistryAdmin.ViewPublicList" xml:space="preserve"><value>Openbare lijst bekijken</value></data>
<data name="RegistryAdmin.AddOrEditItem" xml:space="preserve"><value>Item toevoegen of bewerken</value></data>
<data name="RegistryAdmin.Name" xml:space="preserve"><value>Naam</value></data>
<data name="RegistryAdmin.ProductUrl" xml:space="preserve"><value>Product-URL</value></data>
@@ -156,6 +156,9 @@
<data name="RegistryPublic.NotFound" xml:space="preserve">
<value>[[Registry not found.]]</value>
</data>
<data name="RegistryPublic.GoToAdmin" xml:space="preserve">
<value>[[Go to Admin]]</value>
</data>
<data name="RegistryPublic.ShippingAddress" xml:space="preserve">
<value>[[Shipping address]]</value>
</data>
@@ -381,6 +384,9 @@
<data name="RegistryAdmin.Tab.ActionLog" xml:space="preserve">
<value>[[Action Log]]</value>
</data>
<data name="RegistryAdmin.ViewPublicList" xml:space="preserve">
<value>[[View Public List]]</value>
</data>
<data name="RegistryAdmin.AddOrEditItem" xml:space="preserve">
<value>[[Add or edit item]]</value>
</data>
@@ -64,6 +64,7 @@
<data name="RegistryPublic.PageTitle" xml:space="preserve"><value>Registry</value></data>
<data name="RegistryPublic.NotFound" xml:space="preserve"><value>Registry not found.</value></data>
<data name="RegistryPublic.GoToAdmin" xml:space="preserve"><value>Go to Admin</value></data>
<data name="RegistryPublic.ShippingAddress" xml:space="preserve"><value>Shipping address</value></data>
<data name="RegistryPublic.BankTransferParticipation" xml:space="preserve"><value>Bank transfer participation</value></data>
<data name="RegistryPublic.IBAN" xml:space="preserve"><value>IBAN</value></data>
@@ -142,6 +143,7 @@
<data name="RegistryAdmin.Tab.Administrators" xml:space="preserve"><value>Administrators</value></data>
<data name="RegistryAdmin.Tab.Addresses" xml:space="preserve"><value>Addresses</value></data>
<data name="RegistryAdmin.Tab.ActionLog" xml:space="preserve"><value>Action Log</value></data>
<data name="RegistryAdmin.ViewPublicList" xml:space="preserve"><value>View Public List</value></data>
<data name="RegistryAdmin.AddOrEditItem" xml:space="preserve"><value>Add or edit item</value></data>
<data name="RegistryAdmin.Name" xml:space="preserve"><value>Name</value></data>
<data name="RegistryAdmin.ProductUrl" xml:space="preserve"><value>Product URL</value></data>