Remove archive confirmation, rename color-accent to color-danger
The undo flash on the dashboard already covers accidental archives,
so the two-step confirmation adds friction without safety. Archive
is now a single red button.

--color-accent was only used for overdue, urgency, and destructive
states — renamed to --color-danger (with -hover and -bg variants)
to reflect actual usage.

Assisted-by: Claude Opus 4.6 via pi
change kynzsnxptmvnzvtryyysqmxmtnopzpow
commit 9e523d5d790fb11af04df4188447f0a3f0923429
author Alpha Chen <alpha@kejadlen.dev>
date
parent tkxmwuom
diff --git a/lib/ketchup/snapshots.rb b/lib/ketchup/snapshots.rb
index bba6c1f..fe507b5 100644
--- a/lib/ketchup/snapshots.rb
+++ b/lib/ketchup/snapshots.rb
@@ -193,9 +193,7 @@ module Ketchup
         wait_for(".section-edit-btn--cancel").click
         entries << snap("series-archive-button", selector: ".main-column")
 
-        @browser.execute("document.querySelector('form[action$=\"/archive\"] button').click()")
-        wait_for(".archive-confirm")
-        entries << snap("series-archive-confirm", selector: ".main-column")
+
 
         # ── Series detail (with history) ──
 
diff --git a/lib/ketchup/views/series/show.rb b/lib/ketchup/views/series/show.rb
index 2e16e82..9e0b4a9 100644
--- a/lib/ketchup/views/series/show.rb
+++ b/lib/ketchup/views/series/show.rb
@@ -50,17 +50,9 @@ module Ketchup
                       plain "Save"
                     end
                     form(method: "post", action: @archive_path, class: "complete-form",
-                         "x-show": "!editing", "x-data": "{ confirming: false }") do
+                         "x-show": "!editing") do
                       input(type: "hidden", name: "_csrf", value: @csrf.call(@archive_path))
-                      span("x-show": "!confirming") do
-                        button(type: "button", class: "section-edit-btn",
-                               "x-on:click": "confirming = true") { "Archive" }
-                      end
-                      span(class: "archive-confirm", "x-show": "confirming", "x-cloak": true) do
-                        button(type: "submit", class: "section-edit-btn") { "Archive" }
-                        button(type: "button", class: "section-edit-btn",
-                               "x-on:click": "confirming = false") { "Cancel" }
-                      end
+                      button(type: "submit", class: "section-edit-btn section-edit-btn--destructive") { "Archive" }
                     end
                   end
 
diff --git a/public/css/app.css b/public/css/app.css
index ef1401a..0e2755e 100644
--- a/public/css/app.css
+++ b/public/css/app.css
@@ -77,7 +77,7 @@ h2 { font-size: var(--step-0); font-weight: 600; }
 }
 
 .header-action--active {
-  color: var(--color-accent);
+  color: var(--color-danger);
   font-weight: 600;
 }
 
@@ -140,7 +140,7 @@ h2 { font-size: var(--step-0); font-weight: 600; }
 
 .flash-undo-btn {
   all: unset;
-  color: var(--color-accent);
+  color: var(--color-danger);
   cursor: pointer;
 }
 
@@ -149,7 +149,7 @@ h2 { font-size: var(--step-0); font-weight: 600; }
 }
 
 .flash-undo-btn:focus-visible {
-  outline: 2px solid var(--color-accent);
+  outline: 2px solid var(--color-danger);
   outline-offset: 2px;
   border-radius: 2px;
 }
@@ -262,11 +262,11 @@ h2 { font-size: var(--step-0); font-weight: 600; }
 }
 
 .agenda-week-day--overdue .agenda-week-label {
-  color: var(--color-accent);
+  color: var(--color-danger);
 }
 
 .agenda-week-day--overdue .agenda-week-count {
-  color: var(--color-accent);
+  color: var(--color-danger);
 }
 
 .agenda-day {
@@ -370,20 +370,14 @@ h2 { font-size: var(--step-0); font-weight: 600; }
   color: var(--color-text-secondary);
 }
 
-.archive-confirm,
-form[action$="/archive"] > span {
-  display: inline-flex;
-  gap: 0.5em;
-  order: 1;
+.section-edit-btn--destructive {
+  color: var(--color-danger);
 }
 
-.archive-confirm [type="submit"] {
-  color: #c04040;
+.section-edit-btn--destructive:hover {
+  color: var(--color-danger-hover);
 }
 
-.archive-confirm [type="submit"]:hover {
-  color: #a02020;
-}
 
 .section-edit-btn:disabled {
   color: #ccc;
@@ -438,7 +432,7 @@ form[action$="/archive"] > span {
 }
 
 .task-card--overdue:hover {
-  background: var(--color-accent-bg);
+  background: var(--color-danger-bg);
 }
 
 .task-body {
@@ -458,7 +452,7 @@ form[action$="/archive"] > span {
 }
 
 .task-card--overdue .task-name {
-  color: var(--color-accent);
+  color: var(--color-danger);
   font-weight: 500;
 }
 
@@ -472,7 +466,7 @@ form[action$="/archive"] > span {
 .task-urgency {
   font-size: var(--step--2);
   font-weight: 500;
-  color: var(--color-accent);
+  color: var(--color-danger);
   white-space: nowrap;
   font-variant-numeric: tabular-nums;
 }
@@ -515,7 +509,7 @@ form[action$="/archive"] > span {
 }
 
 .task-card--overdue .complete-btn {
-  border-color: var(--color-accent);
+  border-color: var(--color-danger);
 }
 
 .task-card--overdue .complete-btn:hover {
@@ -565,7 +559,7 @@ form[action$="/archive"] > span {
 }
 
 .detail-fields .detail-overdue {
-  color: var(--color-accent);
+  color: var(--color-danger);
 }
 
 .detail-input {
diff --git a/public/css/utopia.css b/public/css/utopia.css
index f5d9f67..5749a02 100644
--- a/public/css/utopia.css
+++ b/public/css/utopia.css
@@ -76,8 +76,9 @@
   --color-border-light: #eee;
   --color-surface: #fcfcfc;
   --color-surface-hover: #f0f0f0;
-  --color-accent: #c00;
+  --color-danger: #c00;
+  --color-danger-hover: #a00;
+  --color-danger-bg: #ffe5e5;
   --color-success: #27ae60;
   --color-success-bg: #f0fff0;
-  --color-accent-bg: #ffe5e5;
 }