Public Access
Give the window its v5b chrome and each session surface its own shell
This commit is contained in:
@@ -114,6 +114,12 @@ internal sealed class ActivityLogRowViewModel(VaultItem<ActivityLogSecret> entry
|
||||
_ => "changed",
|
||||
};
|
||||
|
||||
/// <summary>── v5b ── Whether the WHAT chip should draw in its "created" colour.</summary>
|
||||
internal bool IsCreated => entry.Secret.Operation is ActivityOperation.Created;
|
||||
|
||||
/// <summary>── v5b ── Whether the WHAT chip should draw in its "deleted" colour.</summary>
|
||||
internal bool IsDeleted => entry.Secret.Operation is ActivityOperation.Deleted;
|
||||
|
||||
/// <inheritdoc cref="ConnectionLogRowViewModel.Started" />
|
||||
internal string At => entry.Secret.At.ToLocalTime().ToString("g", CultureInfo.CurrentCulture);
|
||||
|
||||
@@ -192,6 +198,24 @@ internal sealed partial class LogsViewModel : ObservableObject
|
||||
: "Nothing here yet. Adding, editing or deleting anything in the keychain is recorded here — the "
|
||||
+ "names of the fields that changed, never their contents.";
|
||||
|
||||
/// <summary>
|
||||
/// ── v5b ── The mono sentence Logs.dc.html prints beside REFRESH: what one row of the showing log
|
||||
/// actually records.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Per section rather than one line for the screen, and drawn from the same fact this type's own header
|
||||
/// remarks already state: an entry is written once, at close, for a connection; and once per write, per
|
||||
/// device, for an activity row. Not <see cref="Status"/> itself — that is a refresh outcome, cleared to
|
||||
/// empty on success — so <see cref="HeaderStatusLine"/> is the one the header actually binds, showing an
|
||||
/// error over this fact when there is one to show.
|
||||
/// </remarks>
|
||||
internal string SectionFact => Section is LogSection.Connections
|
||||
? "an entry is written once, when a connection closes"
|
||||
: "one row per write, per device";
|
||||
|
||||
/// <summary>What the header's own status line shows: an error, if refreshing just produced one, else the fact.</summary>
|
||||
internal string HeaderStatusLine => Status.Length > 0 ? Status : SectionFact;
|
||||
|
||||
/// <summary>Shows one of the two logs.</summary>
|
||||
[RelayCommand]
|
||||
private void ShowSection(LogSection section) => Section = section;
|
||||
@@ -296,7 +320,11 @@ internal sealed partial class LogsViewModel : ObservableObject
|
||||
OnPropertyChanged(nameof(ShowsConnections));
|
||||
OnPropertyChanged(nameof(ShowsActivity));
|
||||
OnPropertyChanged(nameof(EmptyMessage));
|
||||
OnPropertyChanged(nameof(SectionFact));
|
||||
OnPropertyChanged(nameof(HeaderStatusLine));
|
||||
}
|
||||
|
||||
partial void OnStatusChanged(string value) => OnPropertyChanged(nameof(HeaderStatusLine));
|
||||
}
|
||||
|
||||
/// <summary>A connection that is open right now.</summary>
|
||||
|
||||
Reference in New Issue
Block a user