mirror of
https://github.com/turnstonelabs/turnstone.git
synced 2026-08-25 21:34:47 -06:00
fix(ui): remove broken hint animation and restore card toggle
The ws-check-hint animation clobbered the fadein's forwards fill, making the checkbox invisible for 0.6s on card-body click — appearing as a deselect-then-reselect. Remove the hint, the unused role=checkbox on the card, and restore the original symmetric toggle behavior.
This commit is contained in:
@@ -3368,30 +3368,19 @@ function renderSavedWorkstreams(items) {
|
||||
chk.type = "checkbox";
|
||||
chk.className = "ws-card-check";
|
||||
chk.checked = !!_wsDeleteSelected[sess.ws_id];
|
||||
chk.setAttribute("tabindex", "-1");
|
||||
chk.setAttribute("aria-hidden", "true");
|
||||
chk.setAttribute("aria-label", "Select " + label + " for deletion");
|
||||
chk.onclick = function (e) {
|
||||
e.stopPropagation();
|
||||
if (chk.checked) _wsDeleteSelected[sess.ws_id] = true;
|
||||
else delete _wsDeleteSelected[sess.ws_id];
|
||||
card.classList.toggle("ws-selected", chk.checked);
|
||||
card.setAttribute("aria-checked", chk.checked ? "true" : "false");
|
||||
updateWsDeleteBar();
|
||||
};
|
||||
card.appendChild(chk);
|
||||
card.setAttribute("tabindex", "0");
|
||||
card.setAttribute("role", "checkbox");
|
||||
card.setAttribute("aria-checked", chk.checked ? "true" : "false");
|
||||
card.onclick = function (e) {
|
||||
if (e.target === chk) return;
|
||||
if (chk.checked) {
|
||||
chk.classList.add("ws-check-hint");
|
||||
setTimeout(function () {
|
||||
chk.classList.remove("ws-check-hint");
|
||||
}, 600);
|
||||
return;
|
||||
}
|
||||
chk.checked = true;
|
||||
chk.checked = !chk.checked;
|
||||
chk.onclick(e);
|
||||
};
|
||||
card.onkeydown = function (e) {
|
||||
|
||||
@@ -1522,13 +1522,7 @@ audio.media-player {
|
||||
opacity: 0;
|
||||
animation: ws-check-fadein 0.2s ease-out forwards;
|
||||
}
|
||||
.ws-card-check.ws-check-hint {
|
||||
outline: 2px solid var(--red);
|
||||
outline-offset: 2px;
|
||||
animation: ws-check-pulse 0.6s ease-out;
|
||||
}
|
||||
@keyframes ws-check-fadein { to { opacity: 1; } }
|
||||
@keyframes ws-check-pulse { 0% { transform: scale(1.3); } 100% { transform: scale(1); } }
|
||||
.dashboard-card.ws-selected {
|
||||
border-color: var(--red);
|
||||
background: rgba(248, 113, 113, 0.08);
|
||||
@@ -1550,7 +1544,6 @@ audio.media-player {
|
||||
@keyframes ws-bar-slide { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.ws-card-check { animation: none; opacity: 1; }
|
||||
.ws-card-check.ws-check-hint { animation: none; }
|
||||
.ws-delete-bar.visible { animation: none; }
|
||||
}
|
||||
.ws-delete-bar .ws-delete-count-label { font-size: 12px; color: var(--fg-dim); }
|
||||
|
||||
Reference in New Issue
Block a user