sokko-g/website/src/features/toolboxes/toolboxModuleRegistry.js
Shinuwa f8231c748f
All checks were successful
Deploy Sokko G / deploy (push) Successful in 18s
Refine RNG simulator layout and simulation stats
2026-09-05 00:19:08 +02:00

179 lines
4.5 KiB
JavaScript

// Rôle : centralise les métadonnées légères des outils toolbox sans importer leurs composants.
export const TOOLBOX_MODULE_DEFINITIONS = {
notepad: {
label: "Bloc Note",
defaultTitle: "Bloc Note",
mode: "Texte riche",
icon: "notepad",
editable: true,
scrollable: true,
addable: false,
libraryCategory: "notesTracking"
},
memos: {
label: "Mémos",
defaultTitle: "Mémos",
mode: "Post-it courts",
icon: "memos",
editable: true,
scrollable: true,
libraryCategory: "notesTracking"
},
checklist: {
label: "Checklist",
defaultTitle: "Checklist",
mode: "Catégories + sans catégorie",
icon: "checklist",
editable: true,
scrollable: true,
libraryCategory: "notesTracking"
},
images: {
label: "Images",
defaultTitle: "Images",
mode: "Média",
icon: "picture",
editable: true,
scrollable: true,
libraryCategory: "references"
},
links: {
label: "Liens",
defaultTitle: "Liens",
mode: "Liste simple",
icon: "link",
editable: true,
scrollable: true,
libraryCategory: "references"
},
counters: {
label: "Compteurs",
defaultTitle: "Compteurs",
mode: "Valeurs",
icon: "abacus",
editable: true,
scrollable: true,
libraryCategory: "notesTracking"
},
randomizer: {
label: "Randomizer",
defaultTitle: "Randomizer",
mode: "Dé + roue + équipes",
icon: "dice",
editable: true,
addable: false,
scrollable: true,
libraryCategory: "calculationData"
},
rngSimulator: {
label: "Simulateur de chance",
defaultTitle: "Simulateur de chance",
mode: "Taux + simulations",
icon: "clover",
editable: true,
scrollable: true,
libraryCategory: "calculationData"
},
combos: {
label: "Combos",
defaultTitle: "Combos",
mode: "Catégories",
icon: "controller",
editable: true,
scrollable: true,
libraryCategory: "buildsCommands"
},
calculator: {
label: "Calculateur",
defaultTitle: "Calculateur",
mode: "Arborescence",
icon: "calculator",
editable: true,
addable: false,
libraryCategory: "calculationData"
},
table: {
label: "Tableau",
defaultTitle: "Tableau",
mode: "Grille + formules",
icon: "table",
editable: true,
addable: false,
scrollable: true,
libraryCategory: "calculationData"
},
goalTree: {
label: "Arbre d'objectifs",
defaultTitle: "Arbre d'objectifs",
mode: "Objectifs + quantités",
icon: "diagram",
editable: true,
scrollable: true,
libraryCategory: "calculationData"
},
timer: {
label: "Timer",
defaultTitle: "Timer",
mode: "Chrono + comptes à rebours",
icon: "clock",
editable: true,
addable: false,
libraryCategory: "timeRoutines"
},
calendar: {
label: "Calendrier",
defaultTitle: "Calendrier",
mode: "Agenda hebdomadaire",
icon: "calendar",
editable: true,
scrollable: true,
libraryCategory: "timeRoutines"
},
taskPlanner: {
label: "Planificateur de tâches",
defaultTitle: "Planificateur de tâches",
mode: "Catégories + parent/enfant",
icon: "tasklist",
editable: true,
scrollable: true,
libraryCategory: "timeRoutines"
},
equipmentPlanner: {
label: "Planificateur d'équipements",
defaultTitle: "Planificateur d'équipements",
mode: "Build + sertissages",
icon: "chest-armor",
editable: true,
scrollable: true,
libraryCategory: "buildsCommands"
},
imageAnnotation: {
label: "Annotation d'images",
defaultTitle: "Annotation d'images",
mode: "Image + marqueurs",
icon: "map",
editable: true,
libraryCategory: "references"
}
};
export const TOOLBOX_MODULES = Object.fromEntries(Object.entries(TOOLBOX_MODULE_DEFINITIONS).map(([type, definition]) => [
type,
{ label: definition.label, icon: definition.icon }
]));
export const LIBRARY_CATEGORY_DEFINITIONS = [
{ key: "notesTracking", types: ["memos", "notepad", "checklist", "counters"] },
{ key: "references", types: ["images", "imageAnnotation", "links"] },
{ key: "calculationData", types: ["calculator", "table", "goalTree", "randomizer", "rngSimulator"] },
{ key: "timeRoutines", types: ["timer", "calendar", "taskPlanner"] },
{ key: "buildsCommands", types: ["combos", "equipmentPlanner"] }
];
export function getToolboxModuleDefinition(type) {
return TOOLBOX_MODULE_DEFINITIONS[type] || TOOLBOX_MODULE_DEFINITIONS.notepad;
}
export function getDefaultModuleTitle(type) {
return getToolboxModuleDefinition(type).defaultTitle || "Outil";
}