refactor(settings): a pull-out drawer, with Zoom as a category — and the menu moves to the wordmark
Creator directive, 2026-11-01. Settings stopped being a centred modal. - **Drawer** (Controls/SettingsDrawer): hosted in PreviewPane's pull-out stack, 320px, the same animated-width pattern as Stream Settings / YPP / Socials / TEST, opened by the gear rail tab on a single left click. SettingsDrawerOpen is exclusive with the other four, both directions. This also removes the modal's MaxHeight-700 scroll problem for good: the drawer is the height of the preview. - **Categories**: headings with controls indented beneath them. Zoom now owns *Zoom view shape* (Circle / Phone / Tablet) and *Zoom box follows*; Recordings, Brand logo and Scene transition are their own categories. - **The app menu moved to the LlamaCasty wordmark** (right-click → Report Bug / Feature Request / About). Left-click still opens About. The gear tab no longer carries a menu at all, so clicking it does exactly one thing. OverlayHost keeps only the Bug / Feature / About panels; its brand-logo handlers and the dev-panel injection moved with the settings block. BrandLogoPreviewTests follows the control (same assertions, new path). Release 0 warnings; 15 tests pass across brand logo, zoom, entitlement and preview history.
This commit is contained in:
@@ -21,7 +21,7 @@ public class BrandLogoPreviewTests
|
||||
{
|
||||
// 1. Wiring: the thumbnail is image-bound and hidden when no image is set, the enlarged
|
||||
// popup shows the same source at a readable size, and every gesture reaches a handler.
|
||||
var xaml = SourceAssert.Text("Controls", "OverlayHost.xaml");
|
||||
var xaml = SourceAssert.Text("Controls", "SettingsDrawer.xaml");
|
||||
Assert.Contains("x:Name=\"BrandLogoThumbImage\"", xaml);
|
||||
Assert.Contains("{Binding BrandLogoPreviewImage}", xaml);
|
||||
Assert.Contains("NotNullToVis", xaml);
|
||||
@@ -41,7 +41,7 @@ public class BrandLogoPreviewTests
|
||||
{
|
||||
// A Popup refuses to open until its placement target is in a live visual tree, so the
|
||||
// control is hosted in a real window — the same condition the app provides.
|
||||
var host = new ytLive.Controls.OverlayHost();
|
||||
var host = new ytLive.Controls.SettingsDrawer();
|
||||
var window = new System.Windows.Window { Content = host, Width = 420, Height = 420 };
|
||||
window.Show();
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user