fix: mobile sidebar slide-in overlay with hamburger and panel toggle buttons

- LeftSidebar/RightSidebar: added className prop for 'open' class
- Topbar: wired hamburger onClick + added mobile-drawer-toggle button for right panel
- App.tsx: added SettingsModal import/state/render, passed className props to sidebars
- styles.css: mobile sidebars now fixed slide-in overlays (translateX) instead of display:none
- ui.types.ts: added className to RightSidebarProps, onOpenLeftDrawer/onOpenRightDrawer to TopbarProps
- Tested at 390px viewport: both sidebars slide in correctly, transform verified via DOM
This commit is contained in:
2026-06-28 17:55:26 +02:00
parent e2bba8b882
commit 7b4a45df49
6 changed files with 53 additions and 8 deletions
+4
View File
@@ -65,6 +65,8 @@ export interface TopbarProps {
onThemeToggle: () => void;
theme: Theme;
onOpenSettings?: () => void;
onOpenLeftDrawer?: () => void;
onOpenRightDrawer?: () => void;
}
export interface SettingsModalProps {
@@ -84,6 +86,7 @@ export interface LeftSidebarProps {
selectedTemplate?: string | null;
onTemplateSelect?: (templateName: string | null) => void;
onCollapse?: () => void;
className?: string;
}
export interface CanvasAreaProps {
@@ -155,6 +158,7 @@ export interface RightSidebarProps {
onKISuggestionClick?: (suggestion: KISuggestion) => void;
kiLoading?: boolean;
onUpdateElement?: (el: CADElement) => void;
className?: string;
}
export interface PropertiesPanelProps {