Bifrost/src/Bifrost.Web/Pages/Membership/Status.cshtml
Heimdall ed3645e048 MergeNotice in the layout and a Merge status link on Membership status
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-14 10:17:13 +00:00

61 lines
2 KiB
Text

@page
@model Bifrost.Web.Pages.Membership.StatusModel
@{
ViewData["Title"] = "Membership status";
}
<section class="panel">
<span class="eyebrow">Membership gate</span>
<h1>Current access state</h1>
<p class="panel-intro">
Authentication and participation are separate on purpose. Bifrost only opens the member console
after a GitHub account has cleared the invite and approval gates.
</p>
<div class="status-banner">
<div class="inline-actions">
<span class="pill @Model.StatusTone">@Model.StatusLabel</span>
@if (Model.Actor.IsActiveMember)
{
<span class="pill success">Voting weight @Model.Actor.EffectiveVotingWeight</span>
}
</div>
<strong>@Model.Actor.DisplayName</strong>
<p class="muted">@Model.StatusMessage</p>
</div>
@if (Model.CanManageLogins)
{
<div class="panel-actions">
<a class="button secondary" asp-page="/Membership/LinkedAccounts">Linked accounts</a>
<span class="muted">See, add and remove the provider logins that sign in to this account.</span>
</div>
}
@if (Model.HasMerges)
{
<div class="panel-actions">
<a class="button secondary" asp-page="/Membership/MergeStatus">Merge status</a>
<span class="muted">See an account merge and, for seven days, undo it.</span>
</div>
}
@if (Model.Invitation is not null)
{
<div class="callout success">
Invitation tracked for <code>@Model.Invitation.GitHubLogin</code>.
Issued @Model.Invitation.IssuedAtUtc.ToString("dd MMM yyyy") UTC.
</div>
}
<div class="panel-actions">
@if (Model.Actor.IsActiveMember)
{
<a class="button" asp-page="/App/Index">Open member console</a>
}
else
{
<a class="button secondary" asp-page="/Index">Back to overview</a>
}
</div>
</section>