refactor(web): centralize multi-select release handling

This commit is contained in:
2026-04-01 10:50:21 +02:00
parent ca947befde
commit a4789d718b
5 changed files with 94 additions and 16 deletions
@@ -150,6 +150,10 @@ export const rules = [
pattern: /\bexport function finalizeMultiSelectDraft\b/,
message: "timeline multi-select helpers must keep minimal-drag reset logic centralized",
},
{
pattern: /\bexport function completeMultiSelectDraft\b/,
message: "timeline multi-select helpers must keep right-click release completion centralized",
},
],
forbidden: [],
},
@@ -124,6 +124,7 @@ describe("architecture guardrails", () => {
assert.deepEqual(evaluateRule(multiSelectRule, "export function createMultiSelectState() {}\n"), [
"apps/web/src/hooks/timelineMultiSelect.ts: missing guardrail anchor: timeline multi-select helpers must keep minimal-drag reset logic centralized",
"apps/web/src/hooks/timelineMultiSelect.ts: missing guardrail anchor: timeline multi-select helpers must keep right-click release completion centralized",
]);
assert.deepEqual(evaluateRule(rangeRule, "export function updateRangeSelectionDraft() {}\n"), [