Restyle the drawer, pin folders on a host, and say when it was last connected

This commit is contained in:
2026-08-07 18:12:31 +02:00
parent c3ef4bd8b4
commit 2ba7c14e35
8 changed files with 1392 additions and 202 deletions
@@ -141,7 +141,8 @@ public sealed class ScreenLayoutTests : IAsyncLifetime
//
// This was the host sidebar's section. The control kept the half of that column that is about one host
// and lost the list; see HostDrawer. What it is measured at changed with it: 304 rather than 268, and on
// the right.
// the right. v5 widened it again, to 320, for the ADDRESS field's own breathing room; see
// LayoutHarness.HostDrawerWidth.
/// <remarks>
/// Opened through the command rather than by assigning the selection, which is the whole of what changed
@@ -161,7 +162,13 @@ public sealed class ScreenLayoutTests : IAsyncLifetime
/// <remarks>
/// The tight one, and the reason this suite still exists. The host editor is the tallest thing the
/// drawer holds: six fields, an authentication picker with a two-line item template, a group picker, a
/// wrapped row of tag chips, a checkbox, a paragraph of hint text and three buttons.
/// wrapped row of tag chips, a checkbox, a relay card, QUICK ACCESS's own rows and its add row, a
/// paragraph of hint text and three buttons.
///
/// A pin is staged so QUICK ACCESS draws at least one row rather than only its empty add box — the
/// harness skips the scrolled content's height (see the remark above
/// <see cref="TheHostDrawerFitsWithADeletionInQuestion"/>) but not its width, and a row's own mono path
/// is the one place in this card long text could push the column sideways if TextTrimming ever slipped.
/// </remarks>
[Fact]
public async Task TheHostDrawerFitsWithTheHostEditorOpen()
@@ -177,6 +184,9 @@ public sealed class ScreenLayoutTests : IAsyncLifetime
vault.EditorSelectedAuthentication = vault.EditorAuthenticationChoices
.First(choice => choice.Kind is AuthenticationKind.Credential);
vault.EditorNewPin = "/var/www/a-fairly-long-application-directory-name";
vault.AddEditorPinCommand.Execute(null);
await MeasureDrawerAsync(faults => faults.ShouldBeEmpty());
}
@@ -226,7 +236,7 @@ public sealed class ScreenLayoutTests : IAsyncLifetime
/// <remarks>
/// <para>
/// The move panel, which takes the footer as the deletion question does and is the taller of the two: a
/// heading, a combo box, a wrapping paragraph and two buttons, in a 304-pixel column. The paragraph is
/// heading, a combo box, a wrapping paragraph and two buttons, in a 320-pixel column. The paragraph is
/// the risk — it is what says the group and the tags stay behind — and the footer is one of the two
/// parts of this drawer that is not inside a <c>ScrollViewer</c>, so nothing brings it back into view.
/// </para>