13 lines
724 B
C#
13 lines
724 B
C#
using Microsoft.AspNetCore.Components;
|
|
|
|
namespace DeepDrftPublic.Client.Common;
|
|
|
|
/// <summary>
|
|
/// One entry in the public-site Settings menu (Phase 18 wave 18.6, §4a). The settings-item abstraction the
|
|
/// menu renders instead of a hard-coded control list: a <see cref="Label"/> plus a <see cref="Control"/>
|
|
/// fragment bound to a persisted preference. Adding a future tenant (e.g. dark mode) is appending one of
|
|
/// these — not rewiring the menu. The control fragment owns its own binding to <see cref="PublicSiteSettings"/>
|
|
/// and its own persistence call, so each item is self-contained and the menu stays preference-agnostic.
|
|
/// </summary>
|
|
public sealed record SettingsItem(string Label, RenderFragment Control);
|