c93ac46c37
Adds a column-level "Seleccionar Aleatorio" context menu entry that picks a card at random from the column with a roulette-style highlight animation that decelerates to the winner. Selection respects existing filters (uses cardsByColumn which is the post-filter view) and always excludes locked cards. Menu entry is disabled when nothing pickable is left. Implementation: - KanbanColumn: new Menu.Item with IconDice5; data-test selector for e2e. - onPickRandom prop wired from KanbanColumn -> App. - handlePickRandom in App.tsx: cryptographically random winner via crypto.getRandomValues, 2 full laps + offset, cubic decay 50ms -> 220ms, follows the active card with scrollIntoView. - src/styles/roulette.css: .kanban-roulette-active (blue pulse, single step) and .kanban-roulette-winner (green pulse + scale, ~1.6s). Imported globally from main.tsx. Manual verification only (visual timing + needs real cards). Backend untouched. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
14 lines
391 B
HTML
14 lines
391 B
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Kanban</title>
|
|
<script type="module" crossorigin src="/assets/index-Cph8eYBP.js"></script>
|
|
<link rel="stylesheet" crossorigin href="/assets/index-S1AyDjRq.css">
|
|
</head>
|
|
<body>
|
|
<div id="root"></div>
|
|
</body>
|
|
</html>
|