diff --git a/src/Bifrost.Web/Pages/Membership/Status.cshtml b/src/Bifrost.Web/Pages/Membership/Status.cshtml
index 6e3110f..30089c5 100644
--- a/src/Bifrost.Web/Pages/Membership/Status.cshtml
+++ b/src/Bifrost.Web/Pages/Membership/Status.cshtml
@@ -32,6 +32,14 @@
}
+ @if (Model.HasMerges)
+ {
+
diff --git a/src/Bifrost.Web/Pages/Membership/Status.cshtml.cs b/src/Bifrost.Web/Pages/Membership/Status.cshtml.cs
index ffc5a22..1c78e11 100644
--- a/src/Bifrost.Web/Pages/Membership/Status.cshtml.cs
+++ b/src/Bifrost.Web/Pages/Membership/Status.cshtml.cs
@@ -17,6 +17,9 @@ public sealed class StatusModel(
///
Whether this session belongs to a Heimdall account whose logins the Linked accounts page can manage.
public bool CanManageLogins => User.FindFirstValue(BifrostClaimTypes.HeimdallAccountId) is { Length: > 0 };
+ ///
Whether this account is in, or was in, a merge: the link to Merge status is shown only then.
+ public bool HasMerges { get; private set; }
+
public CurrentBifrostActor Actor { get; private set; } = CurrentBifrostActor.Anonymous;
public MembershipInvitation? Invitation { get; private set; }
@@ -50,6 +53,9 @@ public sealed class StatusModel(
public async Task OnGetAsync(CancellationToken cancellationToken)
{
Actor = await actorAccessor.GetAsync(cancellationToken);
+ HasMerges = Actor.Merge is not null
+ || (Actor.UserAccount is { } account
+ && await dbContext.AccountMerges.AnyAsync(x => x.SurvivorUserAccountId == account.Id || x.FoldedUserAccountId == account.Id, cancellationToken));
if (Actor.UserAccount is null)
{
diff --git a/src/Bifrost.Web/Pages/Shared/Components/MergeNotice/Default.cshtml b/src/Bifrost.Web/Pages/Shared/Components/MergeNotice/Default.cshtml
new file mode 100644
index 0000000..c9ea380
--- /dev/null
+++ b/src/Bifrost.Web/Pages/Shared/Components/MergeNotice/Default.cshtml
@@ -0,0 +1,5 @@
+@model string
+
diff --git a/src/Bifrost.Web/Pages/Shared/_Layout.cshtml b/src/Bifrost.Web/Pages/Shared/_Layout.cshtml
index 6c757c9..232bc65 100644
--- a/src/Bifrost.Web/Pages/Shared/_Layout.cshtml
+++ b/src/Bifrost.Web/Pages/Shared/_Layout.cshtml
@@ -57,6 +57,11 @@
+ @if (User.Identity?.IsAuthenticated == true)
+ {
+ @await Component.InvokeAsync("MergeNotice")
+ }
+