Files
dickendock/frontend/src/toolRegistry.js

41 lines
1.5 KiB
JavaScript

import Kalkulator3D, { SavedList } from './tools/kalkulator3d.jsx';
// ══════════════════════════════════════════════════════════════════════════════
// Tool-Registry
//
// Neues Tool:
// 1. backend/src/tools/<id>/routes.js → automatisch geladen
// 2. frontend/src/tools/<id>.jsx
// 3. Hier eintragen, group = Bereichsüberschrift
// ══════════════════════════════════════════════════════════════════════════════
export const TOOLS = [
{
id: 'kalkulator3d',
icon: '◈',
label: 'Kostenrechner',
navLabel: 'Kosten',
group: '3D-Druck',
component: Kalkulator3D,
},
{
id: 'kalkulator3d-saved',
icon: '◉',
label: 'Archiv',
navLabel: 'Archiv',
group: '3D-Druck',
component: SavedList,
},
// { id:'newtool', icon:'◇', label:'Mein Tool', navLabel:'Tool', group:'Mein Bereich', component:MeinTool },
];
// Werkzeug zum Gruppieren für Navigation
export function getGroupedTools() {
const groups = {};
for (const t of TOOLS) {
const g = t.group || 'Allgemein';
if (!groups[g]) groups[g] = [];
groups[g].push(t);
}
return Object.entries(groups); // [['3D-Druck', [...tools]], ...]
}