diff --git a/frontend/dashboard.css b/frontend/dashboard.css index cfb05ea..e6ca520 100644 --- a/frontend/dashboard.css +++ b/frontend/dashboard.css @@ -669,6 +669,9 @@ textarea { resize: vertical; min-height: 120px; } .review-sheet-panel { width:100%; border-left:0; padding:14px; } .update-sheet-panel { width:100%; border-left:0; padding:14px; overflow-x:hidden; } .update-sheet-panel { padding-bottom:calc(82px + env(safe-area-inset-bottom)); } + .update-gesture-status { display:block; padding:6px 10px; border-radius:999px; text-align:center; background:#102641; } + .update-sheet-panel[data-triage-gesture="keep"] { box-shadow:inset 8px 0 #60a5fa; } + .update-sheet-panel[data-triage-gesture="read"] { box-shadow:inset -8px 0 #34d399; } .update-decision-bar { position:fixed; inset:auto 0 0; z-index:57; margin:0; padding-bottom:calc(8px + env(safe-area-inset-bottom)); } .update-more-actions > summary { display:none; } .issue-sheet-panel { width:100%; border-left:0; padding:14px; } @@ -719,6 +722,10 @@ textarea { resize: vertical; min-height: 120px; } .mobile-today-hud button { min-height:44px; max-width:100%; } .mobile-today-hud [data-work-session-adjust-plan] { grid-column:1 / -1; } } +@media (min-width:701px) { .update-gesture-status { display:none; } } +@media (prefers-reduced-motion: reduce) { + .update-sheet-panel[data-triage-gesture] { transition:none; } +} .obi { width:14px; height:14px; background: url('data:image/svg+xml;utf8,') center/contain no-repeat; display:inline-block; } .footer { padding: 12px; text-align: center; color:#4e6b8a; font-size:12px; } @keyframes fadein { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } } diff --git a/frontend/dashboard.js b/frontend/dashboard.js index e45c130..dc2103e 100644 --- a/frontend/dashboard.js +++ b/frontend/dashboard.js @@ -5558,6 +5558,10 @@ if (updateTriage.active()) updateTriage.keepUnreadAndNext(); else closeUpdateSheet(true); }); + createUpdateTriageGesture({ + surface: qs('#update-sheet .update-sheet-panel'), enabled: () => selectedUpdateDetail, + keepUnread: () => qs('#keep-update-unread').click(), markRead: () => qs('#mark-update-read-next').click(), + }); qs('#update-ownership-action').addEventListener('click', () => updateOwnership.act()); qs('#update-ownership-start').addEventListener('click', () => updateOwnership.start()); qs('#retry-update-load').addEventListener('click', () => { diff --git a/frontend/index.html b/frontend/index.html index 746aab3..d99e2a2 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -743,7 +743,7 @@