add randomizer module
All checks were successful
Deploy Sokko G / deploy (push) Successful in 17s

This commit is contained in:
Shinuwa 2026-08-31 09:10:38 +02:00
parent 07de342fc2
commit 35fe877d58
32 changed files with 3822 additions and 200 deletions

View file

@ -248,6 +248,68 @@ export function validateSiteContent(site) {
"toolboxes.modules.counters.incrementLabel",
"toolboxes.modules.counters.resetTitle",
"toolboxes.modules.counters.deleteTitle",
"toolboxes.modules.randomizer.diceTab",
"toolboxes.modules.randomizer.wheelTab",
"toolboxes.modules.randomizer.teamsTab",
"toolboxes.modules.randomizer.facesLabel",
"toolboxes.modules.randomizer.rollsLabel",
"toolboxes.modules.randomizer.rollButton",
"toolboxes.modules.randomizer.stopButton",
"toolboxes.modules.randomizer.totalLabel",
"toolboxes.modules.randomizer.drawsLabel",
"toolboxes.modules.randomizer.drawButton",
"toolboxes.modules.randomizer.valuesTitle",
"toolboxes.modules.randomizer.valuePlaceholder",
"toolboxes.modules.randomizer.savedValuesLabel",
"toolboxes.modules.randomizer.weightLabel",
"toolboxes.modules.randomizer.addButton",
"toolboxes.modules.randomizer.clearValuesButton",
"toolboxes.modules.randomizer.teamCountLabel",
"toolboxes.modules.randomizer.createTeamsButton",
"toolboxes.modules.randomizer.playerSelectionModeLabel",
"toolboxes.modules.randomizer.playerSelectionAll",
"toolboxes.modules.randomizer.playerSelectionCount",
"toolboxes.modules.randomizer.playerSelectionCountLabel",
"toolboxes.modules.randomizer.nameLabel",
"toolboxes.modules.randomizer.namesImportLabel",
"toolboxes.modules.randomizer.namesImportPlaceholder",
"toolboxes.modules.randomizer.importNamesButton",
"toolboxes.modules.randomizer.clearNamesButton",
"toolboxes.modules.randomizer.valuesImportLabel",
"toolboxes.modules.randomizer.valuesImportPlaceholder",
"toolboxes.modules.randomizer.scoreLabel",
"toolboxes.modules.randomizer.activeLabel",
"toolboxes.modules.randomizer.firstPlayerLabel",
"toolboxes.modules.randomizer.secondPlayerLabel",
"toolboxes.modules.randomizer.selectNamesButton",
"toolboxes.modules.randomizer.selectedNamesLabel",
"toolboxes.modules.randomizer.exclusionModeLabel",
"toolboxes.modules.randomizer.exclusionModeSource",
"toolboxes.modules.randomizer.exclusionModeGroup",
"toolboxes.modules.randomizer.addExclusionButton",
"toolboxes.modules.randomizer.exclusionsListLabel",
"toolboxes.modules.randomizer.teamsSingularLabel",
"toolboxes.modules.randomizer.teamsPluralLabel",
"toolboxes.modules.randomizer.teamScoreLabel",
"toolboxes.modules.randomizer.emptyTeams",
"toolboxes.modules.randomizer.historyTitle",
"toolboxes.modules.randomizer.emptyHistory",
"toolboxes.modules.randomizer.clearHistoryButton",
"toolboxes.modules.randomizer.deleteTitle",
"toolboxes.modules.randomizer.wheelInvalid",
"toolboxes.modules.randomizer.notEnoughPlayers",
"toolboxes.modules.randomizer.constraintsImpossible",
"toolboxes.modules.randomizer.importPlaceholder",
"toolboxes.modules.randomizer.importOpenButton",
"toolboxes.modules.randomizer.exportOpenButton",
"toolboxes.modules.randomizer.importModalTitle",
"toolboxes.modules.randomizer.exportModalTitle",
"toolboxes.modules.randomizer.importButton",
"toolboxes.modules.randomizer.exportButton",
"toolboxes.modules.randomizer.importSuccess",
"toolboxes.modules.randomizer.exportSuccess",
"toolboxes.modules.randomizer.importError",
"toolboxes.modules.randomizer.exportInfo",
"toolboxes.modules.combos.deviceLabel",
"toolboxes.modules.combos.keyboardLayoutLabel",
"toolboxes.modules.combos.categoryPlaceholder",
@ -649,7 +711,7 @@ export function validateSiteContent(site) {
});
const libraryToolDocs = valueAt(site, "library.toolDocs");
["memos", "notepad", "checklist", "counters", "images", "imageAnnotation", "links", "calculator", "table", "goalTree", "timer", "calendar", "taskPlanner", "combos", "equipmentPlanner"].forEach((toolType) => {
["memos", "notepad", "checklist", "counters", "randomizer", "images", "imageAnnotation", "links", "calculator", "table", "goalTree", "timer", "calendar", "taskPlanner", "combos", "equipmentPlanner"].forEach((toolType) => {
const docs = libraryToolDocs?.[toolType];
assert.equal(typeof docs, "object", `library.toolDocs.${toolType} must be an object`);
assert.ok(Array.isArray(docs.controls), `library.toolDocs.${toolType}.controls must be an array`);