namespace ytLive.ViewModels;
///
/// App Settings as a right-edge drawer (creator ruling 2026-11-01): the gear rail tab opens it
/// immediately, in the same exclusive-slide pattern as Stream Settings / YPP / Socials / TEST.
///
/// It is a separate flag from because the overlay shell now
/// only carries Report Bug / Feature Request / About — settings stopped being a modal.
///
public partial class MainViewModel
{
private bool _settingsDrawerOpen;
public bool SettingsDrawerOpen
{
get => _settingsDrawerOpen;
private set => SetProperty(ref _settingsDrawerOpen, value);
}
internal void ToggleSettingsDrawer()
{
if (_settingsDrawerOpen)
{
SettingsDrawerOpen = false;
return;
}
// One drawer at a time, like the rail's other tabs.
BroadcastForm.IsDrawerOpen = false;
Ypp.IsDrawerOpen = false;
TestSession.IsDrawerOpen = false;
if (SocialsDrawerOpen) CloseSocialsDrawer();
SettingsDrawerOpen = true;
}
/// Called by the other drawers when they open, so settings yields to them — and by the
/// window's click-outside guard, so the gear tab retracts like every other drawer (2026-11-05).
internal void CloseSettingsDrawerIfOpen()
{
if (_settingsDrawerOpen) SettingsDrawerOpen = false;
}
}