The card was inset 16px from each screen edge; the list rows are 12px, so it
read as narrower. Now NooSpace.sm, with a test on the account row's width.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Login lock, lock account switching and lock hidden files no longer depend on
each other: passGate prompts on its own flag, the two sub-locks can be set
with login lock off, and disabling login lock leaves them alone. Turning any
lock on or off asks for device auth (on also checks the device can). The iOS
Share Extension's unlock rules follow. The avatar dropdown's additional
accounts lose the 44px spacer so their avatars sit at the right edge.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- New Settings > Appearance > "Navigation menu" toggle
(SettingsController.navMenuStyle, NooNavMenuStyle.drawer/avatarMenu):
the hamburger-opens-a-Drawer pattern stays the default, or the avatar
button opens a full-width dropdown (showAvatarMenu) instead, holding
the same hidden-tabs + Settings content the drawer does. Removes one
of the two top-corner targets the shell asks a thumb to reach, with
no permanent chrome added.
- NooTopBar gains androidTitleReplacement so Android's top bar can swap
its title for an inline search-field-styled launcher
(ShellSearchLauncher) when search isn't in the bottom bar, instead of
a bare search icon beside it.
- ShellAvatarButton's onTap/label are now overridable so AppTopBar can
repoint it per the new setting without this file depending on
avatar_menu.dart (which already depends on it for shared helpers).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>