Skip to content

Commit 9e40b5f

Browse files
committed
refactor(web): simplify docs menu to import-only, show hamburger in sidebarOnly mode
Replace the "Neu" creation menu with an "Importieren" outline button containing only file import and Wolke import options. Creation is now handled by the template carousel. Show the sidebar toggle (hamburger) in sidebarOnly layout mode so users can still open the sidebar navigation.
1 parent 878d081 commit 9e40b5f

2 files changed

Lines changed: 20 additions & 81 deletions

File tree

apps/web/src/components/common/Layout/PageLayout.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ const PageLayout = ({
119119
<GlobalChatProvider>
120120
<GlobalBridges />
121121
<div className={layoutClasses}>
122-
{!hideHeader && (
122+
{!hideHeader ? (
123123
<header className="fixed top-0 left-0 right-0 z-[1002] flex items-center justify-between px-2 h-12 pointer-events-none">
124124
<div className="pointer-events-auto">
125125
<SidebarToggle />
@@ -128,7 +128,13 @@ const PageLayout = ({
128128
<ProfileButton />
129129
</div>
130130
</header>
131-
)}
131+
) : isSidebarOnly ? (
132+
<div className="fixed top-0 left-0 z-[1002] px-2 h-12 flex items-center pointer-events-none">
133+
<div className="pointer-events-auto">
134+
<SidebarToggle />
135+
</div>
136+
</div>
137+
) : null}
132138
<Sidebar />
133139
<div className={appContentClasses}>
134140
<main className={mainClasses}>{children}</main>

apps/web/src/features/docs/DocsPage.tsx

Lines changed: 12 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ import {
2121
Button,
2222
CardGrid,
2323
DropdownMenuItem,
24-
DropdownMenuLabel,
25-
DropdownMenuSeparator,
2624
ResponsiveMenu,
27-
ResponsiveMenuSection,
2825
ResponsiveMenuItem,
2926
} from '@gruenerator/ui';
3027
import {
@@ -41,15 +38,12 @@ import {
4138
FiArrowLeft,
4239
FiCloud,
4340
FiFile,
44-
FiGrid,
4541
FiPlus,
4642
FiSearch,
4743
FiUpload,
4844
FiUsers,
4945
FiX,
50-
FiZap,
5146
} from 'react-icons/fi';
52-
import { PiKanban, PiPencilLine } from 'react-icons/pi';
5347
import { useNavigate } from 'react-router-dom';
5448

5549
import withAuthRequired from '../../components/common/LoginRequired/withAuthRequired';
@@ -88,32 +82,15 @@ const SLIDE_EXAMPLES = [
8882
},
8983
];
9084

91-
const CreateNewMenu = memo(function CreateNewMenu({
92-
onTemplateSelect,
93-
onShowGallery,
85+
const ImportMenu = memo(function ImportMenu({
9486
onShowImportDialog,
9587
onShowWolkeImport,
96-
onShowGenerateSlides,
97-
onCreateBoard,
9888
}: {
99-
onTemplateSelect: (type: TemplateType) => void;
100-
onShowGallery: () => void;
10189
onShowImportDialog: () => void;
10290
onShowWolkeImport: () => void;
103-
onShowGenerateSlides: () => void;
104-
onCreateBoard: (type: 'kanban' | 'whiteboard') => void;
10591
}) {
10692
const desktopContent = (
10793
<>
108-
<DropdownMenuLabel>Dokument</DropdownMenuLabel>
109-
<DropdownMenuItem onClick={() => onTemplateSelect('blank')}>
110-
<FiFile size={16} />
111-
Leeres Dokument
112-
</DropdownMenuItem>
113-
<DropdownMenuItem onClick={onShowGallery}>
114-
<FiGrid size={16} />
115-
Aus Vorlage…
116-
</DropdownMenuItem>
11794
<DropdownMenuItem onClick={onShowImportDialog}>
11895
<FiUpload size={16} />
11996
Datei importieren…
@@ -122,71 +99,31 @@ const CreateNewMenu = memo(function CreateNewMenu({
12299
<FiCloud size={16} />
123100
Aus Wolke importieren…
124101
</DropdownMenuItem>
125-
<DropdownMenuSeparator />
126-
{/* <DropdownMenuLabel>Präsentation</DropdownMenuLabel>
127-
<DropdownMenuItem onClick={onShowGenerateSlides}>
128-
<FiZap size={16} />
129-
KI-Präsentation erstellen
130-
</DropdownMenuItem>
131-
<DropdownMenuSeparator /> */}
132-
<DropdownMenuLabel>Board</DropdownMenuLabel>
133-
<DropdownMenuItem onClick={() => onCreateBoard('kanban')}>
134-
<PiKanban size={16} />
135-
Neues Board
136-
</DropdownMenuItem>
137-
<DropdownMenuItem onClick={() => onCreateBoard('whiteboard')}>
138-
<PiPencilLine size={16} />
139-
Neues Whiteboard
140-
</DropdownMenuItem>
141102
</>
142103
);
143104

144105
const mobileContent = (
145106
<>
146-
<ResponsiveMenuSection title="Dokument">
147-
<ResponsiveMenuItem icon={<FiFile size={16} />} onClick={() => onTemplateSelect('blank')}>
148-
Leeres Dokument
149-
</ResponsiveMenuItem>
150-
<ResponsiveMenuItem icon={<FiGrid size={16} />} onClick={onShowGallery}>
151-
Aus Vorlage…
152-
</ResponsiveMenuItem>
153-
<ResponsiveMenuItem icon={<FiUpload size={16} />} onClick={onShowImportDialog}>
154-
Datei importieren…
155-
</ResponsiveMenuItem>
156-
<ResponsiveMenuItem icon={<FiCloud size={16} />} onClick={onShowWolkeImport}>
157-
Aus Wolke importieren…
158-
</ResponsiveMenuItem>
159-
</ResponsiveMenuSection>
160-
{/* <ResponsiveMenuSection title="Präsentation">
161-
<ResponsiveMenuItem icon={<FiZap size={16} />} onClick={onShowGenerateSlides}>
162-
KI-Präsentation erstellen
163-
</ResponsiveMenuItem>
164-
</ResponsiveMenuSection> */}
165-
<ResponsiveMenuSection title="Board">
166-
<ResponsiveMenuItem icon={<PiKanban size={16} />} onClick={() => onCreateBoard('kanban')}>
167-
Neues Board
168-
</ResponsiveMenuItem>
169-
<ResponsiveMenuItem
170-
icon={<PiPencilLine size={16} />}
171-
onClick={() => onCreateBoard('whiteboard')}
172-
>
173-
Neues Whiteboard
174-
</ResponsiveMenuItem>
175-
</ResponsiveMenuSection>
107+
<ResponsiveMenuItem icon={<FiUpload size={16} />} onClick={onShowImportDialog}>
108+
Datei importieren…
109+
</ResponsiveMenuItem>
110+
<ResponsiveMenuItem icon={<FiCloud size={16} />} onClick={onShowWolkeImport}>
111+
Aus Wolke importieren…
112+
</ResponsiveMenuItem>
176113
</>
177114
);
178115

179116
return (
180117
<ResponsiveMenu
181118
trigger={
182-
<Button>
183-
<FiPlus size={16} />
184-
Neu
119+
<Button variant="outline">
120+
<FiUpload size={16} />
121+
Importieren
185122
</Button>
186123
}
187124
dropdownSide="bottom"
188125
dropdownAlign="end"
189-
sheetTitle="Neu erstellen"
126+
sheetTitle="Importieren"
190127
desktopContent={desktopContent}
191128
mobileContent={mobileContent}
192129
/>
@@ -550,13 +487,9 @@ function DocumentsContent() {
550487
</button>
551488
)}
552489
</div>
553-
<CreateNewMenu
554-
onTemplateSelect={handleTemplateSelect}
555-
onShowGallery={() => setShowGallery(true)}
490+
<ImportMenu
556491
onShowImportDialog={() => setShowImportDialog(true)}
557492
onShowWolkeImport={() => setShowWolkeImport(true)}
558-
onShowGenerateSlides={() => setShowGenerateSlides(true)}
559-
onCreateBoard={handleCreateBoard}
560493
/>
561494
</div>
562495

0 commit comments

Comments
 (0)