@inherits LocalizableComponentBase @implements IDisposable @* The one-time notice before a persona's first reaction or poll vote, and before it first joins an event (PublicNoticeService), in MainLayout. *@ @(Notices.Act == PublicAct.Participation ? Localizer["Joining an event is public"] : Localizer["Reactions and votes are public"])

@(Notices.Act == PublicAct.Participation ? Localizer["The event's server shows who takes part, {0} included. Your other personas are never named.", CascadingState.Persona?.Name ?? ""] : Localizer["Anyone who can see the post can see that {0} reacted to it or voted in it. Your other personas are never named.", CascadingState.Persona?.Name ?? ""])

@Localizer["Cancel"] @Localizer["Continue"]
@code { [Inject] PublicNoticeService Notices { get; set; } protected override void OnInitialized() { Notices.Changed += Refresh; IsLoading = false; } void Refresh() => InvokeAsync(StateHasChanged); void Closed(bool open) { if (!open) Notices.Answer(false); } public void Dispose() => Notices.Changed -= Refresh; }