new tool timer & alert revamp
All checks were successful
Deploy Sokko G / deploy (push) Successful in 6s

This commit is contained in:
Shinuwa 2026-07-26 11:41:42 +02:00
parent 0c7ae46b4d
commit 68005ef918
38 changed files with 2048 additions and 111 deletions

View file

@ -79,6 +79,10 @@ export function validateSiteContent(site) {
"toolboxes.importAll",
"toolboxes.exportAll",
"toolboxes.importOne",
"toolboxes.preferencesLabel",
"toolboxes.toastPositionLabel",
"toolboxes.toastPositionLeft",
"toolboxes.toastPositionRight",
"toolboxes.summary",
"toolboxes.storageHelp.title",
"toolboxes.storageHelp.text",
@ -146,6 +150,45 @@ export function validateSiteContent(site) {
"toolboxes.modules.calculator.useEntryTitle",
"toolboxes.modules.calculator.renameTitle",
"toolboxes.modules.calculator.deleteTitle",
"toolboxes.modules.timer.stopwatchTab",
"toolboxes.modules.timer.countdownTab",
"toolboxes.modules.timer.stopwatchTitle",
"toolboxes.modules.timer.countdownTitle",
"toolboxes.modules.timer.startButton",
"toolboxes.modules.timer.pauseButton",
"toolboxes.modules.timer.lapButton",
"toolboxes.modules.timer.resetTitle",
"toolboxes.modules.timer.lapLabelAriaLabel",
"toolboxes.modules.timer.countdownLabel",
"toolboxes.modules.timer.countdownLabelPlaceholder",
"toolboxes.modules.timer.countdownTypeLabel",
"toolboxes.modules.timer.durationType",
"toolboxes.modules.timer.dailyTimeType",
"toolboxes.modules.timer.timePatternType",
"toolboxes.modules.timer.intervalType",
"toolboxes.modules.timer.durationLabel",
"toolboxes.modules.timer.dailyTimeLabel",
"toolboxes.modules.timer.timePatternLabel",
"toolboxes.modules.timer.intervalLabel",
"toolboxes.modules.timer.addCountdownButton",
"toolboxes.modules.timer.defaultCountdownLabel",
"toolboxes.modules.timer.finishedLabel",
"toolboxes.modules.timer.targetLabel",
"toolboxes.modules.timer.stepLabel",
"toolboxes.modules.timer.stepsTitle",
"toolboxes.modules.timer.countdownsTitle",
"toolboxes.modules.timer.scrollableTitle",
"toolboxes.modules.timer.sortTitle",
"toolboxes.modules.timer.alertModeTitle",
"toolboxes.modules.timer.alertOffTitle",
"toolboxes.modules.timer.alertVisibleTitle",
"toolboxes.modules.timer.alertSiteTitle",
"toolboxes.modules.timer.alertTooSoonTitle",
"toolboxes.modules.timer.alertMessage",
"toolboxes.modules.timer.emptySteps",
"toolboxes.modules.timer.emptyCountdowns",
"toolboxes.modules.timer.renameTitle",
"toolboxes.modules.timer.deleteTitle",
"toolboxes.modules.imageAnnotation.addImage",
"toolboxes.modules.imageAnnotation.replaceImage",
"toolboxes.modules.imageAnnotation.pastePlaceholder",

View file

@ -36,6 +36,7 @@ test("toolbox storage, cards and pages are wired", async () => {
assert.match(toolboxStorage, /export function normalizeLinksData/);
assert.match(toolboxStorage, /export function normalizeCountersData/);
assert.match(toolboxStorage, /export function normalizeCalculatorData/);
assert.match(toolboxStorage, /export function normalizeTimerData/);
assert.match(toolboxStorage, /export function normalizeImageAnnotationData/);
assert.match(toolboxStorage, /export function compactModuleDataForStorage\(type, value\)/);
assert.match(toolboxStorage, /scrollResults/);
@ -75,6 +76,7 @@ test("toolbox module registry and modules expose expected behavior", async () =>
const moduleRegistry = await readFile("website/src/features/toolboxes/modules/index.jsx", "utf8");
const notepadModule = await readFile("website/src/features/toolboxes/modules/NotepadModule.jsx", "utf8");
const calculatorModule = await readFile("website/src/features/toolboxes/modules/CalculatorModule.jsx", "utf8");
const timerModule = await readFile("website/src/features/toolboxes/modules/TimerModule.jsx", "utf8");
const checklistModule = await readFile("website/src/features/toolboxes/modules/ChecklistModule.jsx", "utf8");
const imagesModule = await readFile("website/src/features/toolboxes/modules/ImagesModule.jsx", "utf8");
const imageAnnotationModule = await readFile("website/src/features/toolboxes/modules/ImageAnnotationModule.jsx", "utf8");
@ -94,6 +96,7 @@ test("toolbox module registry and modules expose expected behavior", async () =>
assert.match(moduleRegistry, /links:/);
assert.match(moduleRegistry, /counters:/);
assert.match(moduleRegistry, /calculator:/);
assert.match(moduleRegistry, /timer:/);
assert.match(moduleRegistry, /imageAnnotation:/);
assert.match(moduleRegistry, /Annotation d'images/);
assert.match(moduleRegistry, /editable: false/);
@ -116,9 +119,9 @@ test("toolbox module registry and modules expose expected behavior", async () =>
assert.match(calculatorModule, /activeParentId/);
assert.match(calculatorModule, /parentId/);
assert.match(calculatorModule, /scrollResults/);
assert.match(calculatorModule, /calculator-scroll-toggle/);
assert.match(calculatorModule, /tool-split-scroll-toggle/);
assert.match(calculatorModule, /EditableCalculatorLabel/);
assert.match(calculatorModule, /calculator-entry-label/);
assert.match(calculatorModule, /tool-split-entry-label/);
assert.match(calculatorModule, /copyChecklistImport/);
assert.match(calculatorModule, /resetCalculator/);
assert.match(calculatorModule, /Quantité non modifiable/);
@ -126,6 +129,11 @@ test("toolbox module registry and modules expose expected behavior", async () =>
assert.match(calculatorModule, /ResizeObserver/);
assert.match(calculatorModule, /--calculator-scroll-height/);
assert.match(calculatorModule, /CalculatorEntries/);
assert.match(timerModule, /export function TimerModule/);
assert.match(timerModule, /Tabs/);
assert.match(timerModule, /stopwatch/);
assert.match(timerModule, /countdown/);
assert.match(timerModule, /normalizeTimerData/);
assert.match(checklistModule, /export function ChecklistModule/);
assert.match(checklistModule, /TextImportModal/);
assert.match(checklistModule, /Icon name="import"/);