Skip to content

Commit 6b3fef1

Browse files
committed
🔧 Move the delete and duplicate-menu buttons to the left sidebar
1 parent f6baf63 commit 6b3fef1

3 files changed

Lines changed: 49 additions & 43 deletions

File tree

src/settings-renderer/components/menu-list/MenuList.module.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@
9696
.floatingButton {
9797
position: absolute;
9898
bottom: 20px;
99-
left: 50%;
100-
transform: translateX(-50%);
99+
width: 100%;
100+
text-align: center;
101101
}
102102

103103
.message {

src/settings-renderer/components/menu-list/MenuList.tsx

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import React from 'react';
1212
import i18next from 'i18next';
1313
import classNames from 'classnames/bind';
1414
import { useAutoAnimate } from '@formkit/auto-animate/react';
15-
import { TbPlus } from 'react-icons/tb';
15+
import { TbPlus, TbCopy, TbTrash } from 'react-icons/tb';
1616

1717
import * as classes from './MenuList.module.scss';
1818
const cx = classNames.bind(classes);
@@ -69,6 +69,7 @@ export default function MenuList() {
6969
const selectMenu = useAppState((state) => state.selectMenu);
7070
const addMenu = useMenuSettings((state) => state.addMenu);
7171
const deleteMenu = useMenuSettings((state) => state.deleteMenu);
72+
const duplicateMenu = useMenuSettings((state) => state.duplicateMenu);
7273
const moveMenu = useMenuSettings((state) => state.moveMenu);
7374
const moveMenuItem = useMenuSettings((state) => state.moveMenuItem);
7475

@@ -302,14 +303,35 @@ export default function MenuList() {
302303
<div className={classes.floatingButton}>
303304
<Button
304305
icon={<TbPlus />}
305-
label={i18next.t('settings.create-menu-button')}
306+
tooltip={i18next.t('settings.create-menu-button')}
306307
variant="floating"
307-
size="medium"
308+
size="large"
309+
grouped
308310
onClick={() => {
309311
addMenu(menuCollections[selectedCollection]?.tags || []);
310312
selectMenu(menus.length);
311313
}}
312314
/>
315+
<Button
316+
icon={<TbCopy />}
317+
tooltip={i18next.t('settings.duplicate-menu')}
318+
variant="floating"
319+
size="large"
320+
grouped
321+
onClick={() => {
322+
duplicateMenu(selectedMenu);
323+
}}
324+
/>
325+
<Button
326+
icon={<TbTrash />}
327+
tooltip={i18next.t('settings.delete-menu')}
328+
variant="floating"
329+
size="large"
330+
grouped
331+
onClick={() => {
332+
deleteMenu(selectedMenu);
333+
}}
334+
/>
313335
</div>
314336
</div>
315337
</div>

src/settings-renderer/components/menu-properties/Properties.tsx

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@ export default function Properties() {
3939
const selectedMenu = useAppState((state) => state.selectedMenu);
4040
const selectedChildPath = useAppState((state) => state.selectedChildPath);
4141
const selectParent = useAppState((state) => state.selectParent);
42-
const duplicateMenu = useMenuSettings((state) => state.duplicateMenu);
4342
const duplicateMenuItem = useMenuSettings((state) => state.duplicateMenuItem);
44-
const deleteMenu = useMenuSettings((state) => state.deleteMenu);
4543
const deleteMenuItem = useMenuSettings((state) => state.deleteMenuItem);
4644
const editMenu = useMenuSettings((state) => state.editMenu);
4745
const editMenuItem = useMenuSettings((state) => state.editMenuItem);
@@ -172,45 +170,31 @@ export default function Properties() {
172170
{!isRoot && selectedItem && getConfigComponent(selectedItem.type)}
173171
</div>
174172
</Scrollbox>
175-
<div className={classes.floatingButton}>
176-
<Button
177-
icon={<TbCopy />}
178-
tooltip={
179-
isRoot
180-
? i18next.t('settings.duplicate-menu')
181-
: i18next.t('settings.duplicate-menu-item')
182-
}
183-
variant="floating"
184-
size="large"
185-
grouped
186-
onClick={() => {
187-
if (isRoot) {
188-
duplicateMenu(selectedMenu);
189-
} else {
173+
{!isRoot && (
174+
<div className={classes.floatingButton}>
175+
<Button
176+
icon={<TbCopy />}
177+
tooltip={i18next.t('settings.duplicate-menu-item')}
178+
variant="floating"
179+
size="large"
180+
grouped
181+
onClick={() => {
190182
duplicateMenuItem(selectedMenu, selectedChildPath);
191-
}
192-
}}
193-
/>
194-
<Button
195-
icon={<TbTrash />}
196-
tooltip={
197-
isRoot
198-
? i18next.t('settings.delete-menu')
199-
: i18next.t('settings.delete-menu-item')
200-
}
201-
variant="floating"
202-
size="large"
203-
grouped
204-
onClick={() => {
205-
if (isRoot) {
206-
deleteMenu(selectedMenu);
207-
} else {
183+
}}
184+
/>
185+
<Button
186+
icon={<TbTrash />}
187+
tooltip={i18next.t('settings.delete-menu-item')}
188+
variant="floating"
189+
size="large"
190+
grouped
191+
onClick={() => {
208192
deleteMenuItem(selectedMenu, selectedChildPath);
209193
selectParent();
210-
}
211-
}}
212-
/>
213-
</div>
194+
}}
195+
/>
196+
</div>
197+
)}
214198
</div>
215199
</>
216200
);

0 commit comments

Comments
 (0)