From abd2a6ccbe1aa63db44ec28b3eff525cc5d3f8b0 Mon Sep 17 00:00:00 2001 From: Guy Ben-Aharon Date: Tue, 26 Aug 2025 17:10:25 +0300 Subject: [PATCH] fix: add actions menu to diagram list + add duplicate diagram (#876) --- .../diagram-row-actions-menu.tsx | 98 +++++++++++++++++++ .../open-diagram-dialog.tsx | 40 +++++--- src/i18n/locales/ar.ts | 10 +- src/i18n/locales/bn.ts | 10 +- src/i18n/locales/de.ts | 10 +- src/i18n/locales/en.ts | 10 +- src/i18n/locales/es.ts | 10 +- src/i18n/locales/fr.ts | 10 +- src/i18n/locales/gu.ts | 10 +- src/i18n/locales/hi.ts | 10 +- src/i18n/locales/hr.ts | 10 +- src/i18n/locales/id_ID.ts | 10 +- src/i18n/locales/ja.ts | 10 +- src/i18n/locales/ko_KR.ts | 10 +- src/i18n/locales/mr.ts | 10 +- src/i18n/locales/ne.ts | 10 +- src/i18n/locales/pt_BR.ts | 10 +- src/i18n/locales/ru.ts | 10 +- src/i18n/locales/te.ts | 10 +- src/i18n/locales/tr.ts | 10 +- src/i18n/locales/uk.ts | 10 +- src/i18n/locales/vi.ts | 10 +- src/i18n/locales/zh_CN.ts | 10 +- src/i18n/locales/zh_TW.ts | 10 +- .../editor-page/top-navbar/menu/menu.tsx | 16 +-- 25 files changed, 310 insertions(+), 64 deletions(-) create mode 100644 src/dialogs/open-diagram-dialog/diagram-row-actions-menu/diagram-row-actions-menu.tsx diff --git a/src/dialogs/open-diagram-dialog/diagram-row-actions-menu/diagram-row-actions-menu.tsx b/src/dialogs/open-diagram-dialog/diagram-row-actions-menu/diagram-row-actions-menu.tsx new file mode 100644 index 00000000..40296310 --- /dev/null +++ b/src/dialogs/open-diagram-dialog/diagram-row-actions-menu/diagram-row-actions-menu.tsx @@ -0,0 +1,98 @@ +import React, { useCallback } from 'react'; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuSeparator, + DropdownMenuTrigger, +} from '@/components/dropdown-menu/dropdown-menu'; +import { Button } from '@/components/button/button'; +import { Ellipsis, Layers2, SquareArrowOutUpRight, Trash2 } from 'lucide-react'; +import { useChartDB } from '@/hooks/use-chartdb'; +import type { Diagram } from '@/lib/domain'; +import { useStorage } from '@/hooks/use-storage'; +import { cloneDiagram } from '@/lib/clone'; +import { useTranslation } from 'react-i18next'; + +interface DiagramRowActionsMenuProps { + diagram: Diagram; + onOpen: () => void; + refetch: () => void; + numberOfDiagrams: number; +} + +export const DiagramRowActionsMenu: React.FC = ({ + diagram, + onOpen, + refetch, + numberOfDiagrams, +}) => { + const { diagramId } = useChartDB(); + const { deleteDiagram, addDiagram } = useStorage(); + const { t } = useTranslation(); + + const onDelete = useCallback(async () => { + deleteDiagram(diagram.id); + refetch(); + + if (diagram.id === diagramId || numberOfDiagrams <= 1) { + window.location.href = '/'; + } + }, [deleteDiagram, diagram.id, diagramId, refetch, numberOfDiagrams]); + + const onDuplicate = useCallback(async () => { + const duplicatedDiagram = cloneDiagram(diagram); + + const diagramToAdd = duplicatedDiagram.diagram; + + if (!diagramToAdd) { + return; + } + + diagramToAdd.name = `${diagram.name} (Copy)`; + + addDiagram({ diagram: diagramToAdd }); + refetch(); + }, [addDiagram, refetch, diagram]); + + return ( + + + + + + + {t('open_diagram_dialog.diagram_actions.open')} + + + + + {t('open_diagram_dialog.diagram_actions.duplicate')} + + + + + + {t('open_diagram_dialog.diagram_actions.delete')} + + + + + ); +}; diff --git a/src/dialogs/open-diagram-dialog/open-diagram-dialog.tsx b/src/dialogs/open-diagram-dialog/open-diagram-dialog.tsx index 553fc5cc..ba42f749 100644 --- a/src/dialogs/open-diagram-dialog/open-diagram-dialog.tsx +++ b/src/dialogs/open-diagram-dialog/open-diagram-dialog.tsx @@ -27,6 +27,7 @@ import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import type { BaseDialogProps } from '../common/base-dialog-props'; import { useDebounce } from '@/hooks/use-debounce'; +import { DiagramRowActionsMenu } from './diagram-row-actions-menu/diagram-row-actions-menu'; export interface OpenDiagramDialogProps extends BaseDialogProps { canClose?: boolean; @@ -46,21 +47,22 @@ export const OpenDiagramDialog: React.FC = ({ string | undefined >(); - useEffect(() => { - setSelectedDiagramId(undefined); - }, [dialog.open]); + const fetchDiagrams = useCallback(async () => { + const diagrams = await listDiagrams({ includeTables: true }); + setDiagrams( + diagrams.sort( + (a, b) => b.updatedAt.getTime() - a.updatedAt.getTime() + ) + ); + }, [listDiagrams]); useEffect(() => { - const fetchDiagrams = async () => { - const diagrams = await listDiagrams({ includeTables: true }); - setDiagrams( - diagrams.sort( - (a, b) => b.updatedAt.getTime() - a.updatedAt.getTime() - ) - ); - }; + if (!dialog.open) { + return; + } + setSelectedDiagramId(undefined); fetchDiagrams(); - }, [listDiagrams, setDiagrams, dialog.open]); + }, [dialog.open, fetchDiagrams]); const openDiagram = useCallback( (diagramId: string) => { @@ -166,6 +168,7 @@ export const OpenDiagramDialog: React.FC = ({ 'open_diagram_dialog.table_columns.tables_count' )} + @@ -221,6 +224,19 @@ export const OpenDiagramDialog: React.FC = ({ {diagram.tables?.length} + + { + openDiagram(diagram.id); + closeOpenDiagramDialog(); + }} + numberOfDiagrams={ + diagrams.length + } + refetch={fetchDiagrams} + /> + ))} diff --git a/src/i18n/locales/ar.ts b/src/i18n/locales/ar.ts index 28a64b00..b01e6ee3 100644 --- a/src/i18n/locales/ar.ts +++ b/src/i18n/locales/ar.ts @@ -12,8 +12,8 @@ export const ar: LanguageTranslation = { custom_types: 'الأنواع المخصصة', }, menu: { - databases: { - databases: 'قواعد البيانات', + actions: { + actions: 'الإجراءات', new: 'مخطط جديد', browse: 'تصفح...', save: 'حفظ', @@ -323,6 +323,12 @@ export const ar: LanguageTranslation = { }, cancel: 'إلغاء', open: 'فتح', + + diagram_actions: { + open: 'فتح', + duplicate: 'تكرار', + delete: 'حذف الرسم التخطيطي', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/bn.ts b/src/i18n/locales/bn.ts index fee723ea..d6633444 100644 --- a/src/i18n/locales/bn.ts +++ b/src/i18n/locales/bn.ts @@ -12,8 +12,8 @@ export const bn: LanguageTranslation = { custom_types: 'কাস্টম টাইপ', }, menu: { - databases: { - databases: 'ডাটাবেস', + actions: { + actions: 'কার্য', new: 'নতুন ডায়াগ্রাম', browse: 'ব্রাউজ করুন...', save: 'সংরক্ষণ করুন', @@ -325,6 +325,12 @@ export const bn: LanguageTranslation = { }, cancel: 'বাতিল করুন', open: 'খুলুন', + + diagram_actions: { + open: 'খুলুন', + duplicate: 'ডুপ্লিকেট', + delete: 'ডায়াগ্রাম মুছুন', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/de.ts b/src/i18n/locales/de.ts index aa854bda..fa015c9b 100644 --- a/src/i18n/locales/de.ts +++ b/src/i18n/locales/de.ts @@ -12,8 +12,8 @@ export const de: LanguageTranslation = { custom_types: 'Benutzerdefinierte Typen', }, menu: { - databases: { - databases: 'Datenbanken', + actions: { + actions: 'Aktionen', new: 'Neues Diagramm', browse: 'Durchsuchen...', save: 'Speichern', @@ -328,6 +328,12 @@ export const de: LanguageTranslation = { }, cancel: 'Abbrechen', open: 'Öffnen', + + diagram_actions: { + open: 'Öffnen', + duplicate: 'Duplizieren', + delete: 'Diagramm löschen', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/en.ts b/src/i18n/locales/en.ts index 709ea5dc..b6968fce 100644 --- a/src/i18n/locales/en.ts +++ b/src/i18n/locales/en.ts @@ -12,8 +12,8 @@ export const en = { custom_types: 'Custom Types', }, menu: { - databases: { - databases: 'Databases', + actions: { + actions: 'Actions', new: 'New Diagram', browse: 'Browse...', save: 'Save', @@ -316,6 +316,12 @@ export const en = { }, cancel: 'Cancel', open: 'Open', + + diagram_actions: { + open: 'Open', + duplicate: 'Duplicate', + delete: 'Delete Diagram', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/es.ts b/src/i18n/locales/es.ts index e08cd3b5..1f346fe8 100644 --- a/src/i18n/locales/es.ts +++ b/src/i18n/locales/es.ts @@ -12,8 +12,8 @@ export const es: LanguageTranslation = { custom_types: 'Tipos Personalizados', }, menu: { - databases: { - databases: 'Bases de Datos', + actions: { + actions: 'Acciones', new: 'Nuevo Diagrama', browse: 'Examinar...', save: 'Guardar', @@ -326,6 +326,12 @@ export const es: LanguageTranslation = { }, cancel: 'Cancelar', open: 'Abrir', + + diagram_actions: { + open: 'Abrir', + duplicate: 'Duplicar', + delete: 'Eliminar Diagrama', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/fr.ts b/src/i18n/locales/fr.ts index 0c4cf939..a324088c 100644 --- a/src/i18n/locales/fr.ts +++ b/src/i18n/locales/fr.ts @@ -12,8 +12,8 @@ export const fr: LanguageTranslation = { custom_types: 'Types Personnalisés', }, menu: { - databases: { - databases: 'Bases de Données', + actions: { + actions: 'Actions', new: 'Nouveau Diagramme', browse: 'Parcourir...', save: 'Enregistrer', @@ -323,6 +323,12 @@ export const fr: LanguageTranslation = { }, cancel: 'Annuler', open: 'Ouvrir', + + diagram_actions: { + open: 'Ouvrir', + duplicate: 'Dupliquer', + delete: 'Supprimer le diagramme', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/gu.ts b/src/i18n/locales/gu.ts index 00075dad..5fa38e7f 100644 --- a/src/i18n/locales/gu.ts +++ b/src/i18n/locales/gu.ts @@ -12,8 +12,8 @@ export const gu: LanguageTranslation = { custom_types: 'કસ્ટમ ટાઇપ', }, menu: { - databases: { - databases: 'ડેટાબેસેસ', + actions: { + actions: 'ક્રિયાઓ', new: 'નવું ડાયાગ્રામ', browse: 'બ્રાઉજ કરો...', save: 'સાચવો', @@ -325,6 +325,12 @@ export const gu: LanguageTranslation = { }, cancel: 'રદ કરો', open: 'ખોલો', + + diagram_actions: { + open: 'ખોલો', + duplicate: 'ડુપ્લિકેટ', + delete: 'ડાયાગ્રામ કાઢી નાખો', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/hi.ts b/src/i18n/locales/hi.ts index 459e8c86..aed10097 100644 --- a/src/i18n/locales/hi.ts +++ b/src/i18n/locales/hi.ts @@ -12,8 +12,8 @@ export const hi: LanguageTranslation = { custom_types: 'कस्टम टाइप', }, menu: { - databases: { - databases: 'डेटाबेस', + actions: { + actions: 'कार्य', new: 'नया आरेख', browse: 'ब्राउज़ करें...', save: 'सहेजें', @@ -327,6 +327,12 @@ export const hi: LanguageTranslation = { }, cancel: 'रद्द करें', open: 'खोलें', + + diagram_actions: { + open: 'खोलें', + duplicate: 'डुप्लिकेट', + delete: 'डायग्राम हटाएं', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/hr.ts b/src/i18n/locales/hr.ts index 499acd3a..bd90aa00 100644 --- a/src/i18n/locales/hr.ts +++ b/src/i18n/locales/hr.ts @@ -12,8 +12,8 @@ export const hr: LanguageTranslation = { custom_types: 'Prilagođeni Tipovi', }, menu: { - databases: { - databases: 'Baze Podataka', + actions: { + actions: 'Akcije', new: 'Novi Dijagram', browse: 'Pregledaj...', save: 'Spremi', @@ -320,6 +320,12 @@ export const hr: LanguageTranslation = { }, cancel: 'Odustani', open: 'Otvori', + + diagram_actions: { + open: 'Otvori', + duplicate: 'Dupliciraj', + delete: 'Obriši dijagram', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/id_ID.ts b/src/i18n/locales/id_ID.ts index 3179be01..2a0ef679 100644 --- a/src/i18n/locales/id_ID.ts +++ b/src/i18n/locales/id_ID.ts @@ -12,8 +12,8 @@ export const id_ID: LanguageTranslation = { custom_types: 'Tipe Kustom', }, menu: { - databases: { - databases: 'Basis Data', + actions: { + actions: 'Aksi', new: 'Diagram Baru', browse: 'Jelajahi...', save: 'Simpan', @@ -324,6 +324,12 @@ export const id_ID: LanguageTranslation = { }, cancel: 'Batal', open: 'Buka', + + diagram_actions: { + open: 'Buka', + duplicate: 'Duplikat', + delete: 'Hapus Diagram', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/ja.ts b/src/i18n/locales/ja.ts index 8f9fa3f0..fd0980a1 100644 --- a/src/i18n/locales/ja.ts +++ b/src/i18n/locales/ja.ts @@ -12,8 +12,8 @@ export const ja: LanguageTranslation = { custom_types: 'カスタムタイプ', }, menu: { - databases: { - databases: 'データベース', + actions: { + actions: 'アクション', new: '新しいダイアグラム', browse: '参照...', save: '保存', @@ -329,6 +329,12 @@ export const ja: LanguageTranslation = { }, cancel: 'キャンセル', open: '開く', + + diagram_actions: { + open: '開く', + duplicate: '複製', + delete: 'ダイアグラムを削除', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/ko_KR.ts b/src/i18n/locales/ko_KR.ts index aa3865c2..5dbc068c 100644 --- a/src/i18n/locales/ko_KR.ts +++ b/src/i18n/locales/ko_KR.ts @@ -12,8 +12,8 @@ export const ko_KR: LanguageTranslation = { custom_types: '사용자 지정 타입', }, menu: { - databases: { - databases: '데이터베이스', + actions: { + actions: '작업', new: '새 다이어그램', browse: '찾아보기...', save: '저장', @@ -324,6 +324,12 @@ export const ko_KR: LanguageTranslation = { }, cancel: '취소', open: '열기', + + diagram_actions: { + open: '열기', + duplicate: '복제', + delete: '다이어그램 삭제', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/mr.ts b/src/i18n/locales/mr.ts index d7fe7875..bb945eb4 100644 --- a/src/i18n/locales/mr.ts +++ b/src/i18n/locales/mr.ts @@ -12,8 +12,8 @@ export const mr: LanguageTranslation = { custom_types: 'कस्टम प्रकार', }, menu: { - databases: { - databases: 'डेटाबेस', + actions: { + actions: 'क्रिया', new: 'नवीन आरेख', browse: 'ब्राउज करा...', save: 'जतन करा', @@ -330,6 +330,12 @@ export const mr: LanguageTranslation = { }, cancel: 'रद्द करा', open: 'उघडा', + + diagram_actions: { + open: 'उघडा', + duplicate: 'डुप्लिकेट', + delete: 'आरेख हटवा', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/ne.ts b/src/i18n/locales/ne.ts index 7d2ecd50..6303c343 100644 --- a/src/i18n/locales/ne.ts +++ b/src/i18n/locales/ne.ts @@ -12,8 +12,8 @@ export const ne: LanguageTranslation = { custom_types: 'कस्टम प्रकारहरू', }, menu: { - databases: { - databases: 'डाटाबेसहरू', + actions: { + actions: 'कार्यहरू', new: 'नयाँ डायाग्राम', browse: 'ब्राउज गर्नुहोस्...', save: 'सुरक्षित गर्नुहोस्', @@ -327,6 +327,12 @@ export const ne: LanguageTranslation = { }, cancel: 'रद्द गर्नुहोस्', open: 'खोल्नुहोस्', + + diagram_actions: { + open: 'खोल्नुहोस्', + duplicate: 'डुप्लिकेट', + delete: 'डायग्राम मेटाउनुहोस्', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/pt_BR.ts b/src/i18n/locales/pt_BR.ts index 011fdf20..0ef7017b 100644 --- a/src/i18n/locales/pt_BR.ts +++ b/src/i18n/locales/pt_BR.ts @@ -12,8 +12,8 @@ export const pt_BR: LanguageTranslation = { custom_types: 'Tipos Personalizados', }, menu: { - databases: { - databases: 'Bancos de Dados', + actions: { + actions: 'Ações', new: 'Novo Diagrama', browse: 'Navegar...', save: 'Salvar', @@ -326,6 +326,12 @@ export const pt_BR: LanguageTranslation = { }, cancel: 'Cancelar', open: 'Abrir', + + diagram_actions: { + open: 'Abrir', + duplicate: 'Duplicar', + delete: 'Excluir Diagrama', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/ru.ts b/src/i18n/locales/ru.ts index 6aea01ec..b008c855 100644 --- a/src/i18n/locales/ru.ts +++ b/src/i18n/locales/ru.ts @@ -12,8 +12,8 @@ export const ru: LanguageTranslation = { custom_types: 'Пользовательские типы', }, menu: { - databases: { - databases: 'Базы данных', + actions: { + actions: 'Действия', new: 'Новая диаграмма', browse: 'Обзор...', save: 'Сохранить', @@ -323,6 +323,12 @@ export const ru: LanguageTranslation = { }, cancel: 'Отмена', open: 'Открыть', + + diagram_actions: { + open: 'Открыть', + duplicate: 'Дублировать', + delete: 'Удалить диаграмму', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/te.ts b/src/i18n/locales/te.ts index ac8c8ccc..623e948f 100644 --- a/src/i18n/locales/te.ts +++ b/src/i18n/locales/te.ts @@ -12,8 +12,8 @@ export const te: LanguageTranslation = { custom_types: 'కస్టమ్ టైప్స్', }, menu: { - databases: { - databases: 'డేటాబేస్లు', + actions: { + actions: 'చర్యలు', new: 'కొత్త డైగ్రాం', browse: 'బ్రాఉజ్ చేయండి...', save: 'సేవ్', @@ -327,6 +327,12 @@ export const te: LanguageTranslation = { }, cancel: 'రద్దు', open: 'తెరవు', + + diagram_actions: { + open: 'తెరవు', + duplicate: 'నకలు', + delete: 'డైగ్రామ్ తొలగించు', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/tr.ts b/src/i18n/locales/tr.ts index 177287da..dfe47dc4 100644 --- a/src/i18n/locales/tr.ts +++ b/src/i18n/locales/tr.ts @@ -12,8 +12,8 @@ export const tr: LanguageTranslation = { custom_types: 'Özel Tipler', }, menu: { - databases: { - databases: 'Veritabanları', + actions: { + actions: 'Eylemler', new: 'Yeni Diyagram', browse: 'Gözat...', save: 'Kaydet', @@ -322,6 +322,12 @@ export const tr: LanguageTranslation = { }, cancel: 'İptal', open: 'Aç', + + diagram_actions: { + open: 'Aç', + duplicate: 'Kopyala', + delete: 'Diyagramı Sil', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/uk.ts b/src/i18n/locales/uk.ts index c8b42b91..63186a77 100644 --- a/src/i18n/locales/uk.ts +++ b/src/i18n/locales/uk.ts @@ -12,8 +12,8 @@ export const uk: LanguageTranslation = { custom_types: 'Користувацькі типи', }, menu: { - databases: { - databases: 'Бази даних', + actions: { + actions: 'Дії', new: 'Нова діаграма', browse: 'Огляд...', save: 'Зберегти', @@ -324,6 +324,12 @@ export const uk: LanguageTranslation = { }, cancel: 'Скасувати', open: 'Відкрити', + + diagram_actions: { + open: 'Відкрити', + duplicate: 'Дублювати', + delete: 'Видалити діаграму', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/vi.ts b/src/i18n/locales/vi.ts index c0980b57..436d43b4 100644 --- a/src/i18n/locales/vi.ts +++ b/src/i18n/locales/vi.ts @@ -12,8 +12,8 @@ export const vi: LanguageTranslation = { custom_types: 'Kiểu tùy chỉnh', }, menu: { - databases: { - databases: 'Cơ sở dữ liệu', + actions: { + actions: 'Hành động', new: 'Sơ đồ mới', browse: 'Duyệt...', save: 'Lưu', @@ -324,6 +324,12 @@ export const vi: LanguageTranslation = { }, cancel: 'Hủy', open: 'Mở', + + diagram_actions: { + open: 'Mở', + duplicate: 'Nhân bản', + delete: 'Xóa sơ đồ', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/zh_CN.ts b/src/i18n/locales/zh_CN.ts index 20acefd5..ec2a3357 100644 --- a/src/i18n/locales/zh_CN.ts +++ b/src/i18n/locales/zh_CN.ts @@ -12,8 +12,8 @@ export const zh_CN: LanguageTranslation = { custom_types: '自定义类型', }, menu: { - databases: { - databases: '数据库', + actions: { + actions: '操作', new: '新建关系图', browse: '浏览...', save: '保存', @@ -321,6 +321,12 @@ export const zh_CN: LanguageTranslation = { }, cancel: '取消', open: '打开', + + diagram_actions: { + open: '打开', + duplicate: '复制', + delete: '删除图表', + }, }, export_sql_dialog: { diff --git a/src/i18n/locales/zh_TW.ts b/src/i18n/locales/zh_TW.ts index 055694c9..b3384cc5 100644 --- a/src/i18n/locales/zh_TW.ts +++ b/src/i18n/locales/zh_TW.ts @@ -12,8 +12,8 @@ export const zh_TW: LanguageTranslation = { custom_types: '自定義類型', }, menu: { - databases: { - databases: '資料庫', + actions: { + actions: '操作', new: '新增圖表', browse: '瀏覽...', save: '儲存', @@ -320,6 +320,12 @@ export const zh_TW: LanguageTranslation = { }, cancel: '取消', open: '開啟', + + diagram_actions: { + open: '開啟', + duplicate: '複製', + delete: '刪除圖表', + }, }, export_sql_dialog: { diff --git a/src/pages/editor-page/top-navbar/menu/menu.tsx b/src/pages/editor-page/top-navbar/menu/menu.tsx index a9221a28..1ffef392 100644 --- a/src/pages/editor-page/top-navbar/menu/menu.tsx +++ b/src/pages/editor-page/top-navbar/menu/menu.tsx @@ -151,13 +151,13 @@ export const Menu: React.FC = () => { return ( - {t('menu.databases.databases')} + {t('menu.actions.actions')} - {t('menu.databases.new')} + {t('menu.actions.new')} - {t('menu.databases.browse')} + {t('menu.actions.browse')} { keyboardShortcutsForOS[ @@ -167,7 +167,7 @@ export const Menu: React.FC = () => { - {t('menu.databases.save')} + {t('menu.actions.save')} { keyboardShortcutsForOS[ @@ -179,7 +179,7 @@ export const Menu: React.FC = () => { - {t('menu.databases.import')} + {t('menu.actions.import')} @@ -248,7 +248,7 @@ export const Menu: React.FC = () => { - {t('menu.databases.export_sql')} + {t('menu.actions.export_sql')} {databaseType === DatabaseType.GENERIC ? ( @@ -331,7 +331,7 @@ export const Menu: React.FC = () => { - {t('menu.databases.export_as')} + {t('menu.actions.export_as')} PNG @@ -357,7 +357,7 @@ export const Menu: React.FC = () => { }) } > - {t('menu.databases.delete_diagram')} + {t('menu.actions.delete_diagram')}