mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 16:49:39 +02:00
feat(shared-ui, todo): BottomStack notification system + PillNav bottomOffset
- Add NotificationBar shared component for in-stack notifications - Add BottomNotification type and top snippet slot to BottomStack - Add bottomOffset prop to PillNavigationProps for flexible positioning - Remove pillNavCollapsed from todo settings (PillNav now always visible, toggled by layout FAB that hides all bottom bars) - Replace floating GuestRegistrationNudge with integrated NotificationBar Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c81b636f2f
commit
4f8c3d680c
3 changed files with 4 additions and 16 deletions
|
|
@ -74,7 +74,6 @@ export interface TodoAppSettings extends Record<string, unknown> {
|
|||
immersiveModeEnabled: boolean;
|
||||
|
||||
// Navigation UI
|
||||
pillNavCollapsed: boolean;
|
||||
filterStripCollapsed: boolean;
|
||||
|
||||
// View layout
|
||||
|
|
@ -124,7 +123,6 @@ const DEFAULT_SETTINGS: TodoAppSettings = {
|
|||
immersiveModeEnabled: false,
|
||||
|
||||
// Navigation UI
|
||||
pillNavCollapsed: true, // PillNav hidden by default, shown via FAB
|
||||
filterStripCollapsed: false, // FilterStrip shown by default when PillNav is visible
|
||||
|
||||
// View layout
|
||||
|
|
@ -219,9 +217,6 @@ export const todoSettings = {
|
|||
get immersiveModeEnabled() {
|
||||
return baseStore.settings.immersiveModeEnabled;
|
||||
},
|
||||
get pillNavCollapsed() {
|
||||
return baseStore.settings.pillNavCollapsed;
|
||||
},
|
||||
get filterStripCollapsed() {
|
||||
return baseStore.settings.filterStripCollapsed;
|
||||
},
|
||||
|
|
@ -239,16 +234,7 @@ export const todoSettings = {
|
|||
},
|
||||
|
||||
// Toggle methods
|
||||
togglePillNav() {
|
||||
baseStore.update({ pillNavCollapsed: !baseStore.settings.pillNavCollapsed });
|
||||
},
|
||||
toggleFilterStrip() {
|
||||
baseStore.update({ filterStripCollapsed: !baseStore.settings.filterStripCollapsed });
|
||||
},
|
||||
showPillNav() {
|
||||
baseStore.update({ pillNavCollapsed: false });
|
||||
},
|
||||
hidePillNav() {
|
||||
baseStore.update({ pillNavCollapsed: true });
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -234,8 +234,8 @@ export type {
|
|||
} from './toast';
|
||||
|
||||
// Bottom Stack
|
||||
export { BottomStack, MinimizedTabs } from './bottom-stack';
|
||||
export type { MinimizedPage, MinimizedTabsCallbacks } from './bottom-stack';
|
||||
export { BottomStack, MinimizedTabs, NotificationBar } from './bottom-stack';
|
||||
export type { MinimizedPage, MinimizedTabsCallbacks, BottomNotification } from './bottom-stack';
|
||||
|
||||
// Actions
|
||||
export { focusTrap } from './actions';
|
||||
|
|
|
|||
|
|
@ -171,6 +171,8 @@ export interface PillNavigationProps {
|
|||
prependElements?: PillNavElement[];
|
||||
/** Additional elements to show after nav items (tab groups, dividers) */
|
||||
elements?: PillNavElement[];
|
||||
/** Bottom offset from viewport bottom (default: '0px'). Use to position above other fixed bars. */
|
||||
bottomOffset?: string;
|
||||
}
|
||||
|
||||
export interface NavItem {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue