[object Object]

← back to Wallco Ai

cactus curator: relabel Live->Publish for clarity (action value unchanged)

bd86cb5f54bf857537cd1babc30d417e8f842900 · 2026-05-27 08:47:33 -0700 · Steve Abrams

Files touched

Diff

commit bd86cb5f54bf857537cd1babc30d417e8f842900
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed May 27 08:47:33 2026 -0700

    cactus curator: relabel Live->Publish for clarity (action value unchanged)
---
 public/admin/cactus-curator.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/public/admin/cactus-curator.html b/public/admin/cactus-curator.html
index 50ecbc8..1ca5c1f 100644
--- a/public/admin/cactus-curator.html
+++ b/public/admin/cactus-curator.html
@@ -103,7 +103,7 @@
     <label class="ctl">Density
       <input type="range" id="density" min="2" max="9" step="1" value="5">
     </label>
-    <span class="legend"><b>drag</b> across images to select · <b>shift+drag</b> adds · <b>shift+click</b> a card to add one · keys on hover: <code>1</code>bad <code>2</code>digital <code>3</code>fix <code>4</code>live <code>x</code>select</span>
+    <span class="legend"><b>drag</b> across images to select · <b>shift+drag</b> adds · <b>shift+click</b> a card to add one · keys on hover: <code>1</code>bad <code>2</code>digital <code>3</code>fix <code>4</code>publish <code>x</code>select</span>
   </div>
 </header>
 
@@ -117,7 +117,7 @@
   <button class="bad"  data-a="bad">1 · Bad — remove all</button>
   <button class="dig"  data-a="digital">2 · Digital file</button>
   <button class="fix"  data-a="fix">3 · Needs fixing</button>
-  <button class="live" data-a="live">4 · Go live</button>
+  <button class="live" data-a="live">4 · Publish</button>
   <button class="clear" id="bulkclear">clear selection</button>
 </div>
 
@@ -190,8 +190,8 @@ function card(d){
   if(selected.has(d.id)) el.classList.add('sel');
 
   const rank = num(d.rank_score), vis = num(d.vision_score), seam = num(d.seam_score);
-  const stateLabel = act ? ({bad:'✕ REMOVED',digital:'⬇ DIGITAL FILE',fix:'⚠ NEEDS FIXING',live:'✓ LIVE'})[act]
-                    : d.web_viewer ? '✓ LIVE' : d.needs_fixing_at ? '⚠ NEEDS FIXING'
+  const stateLabel = act ? ({bad:'✕ REMOVED',digital:'⬇ DIGITAL FILE',fix:'⚠ NEEDS FIXING',live:'✓ PUBLISHED'})[act]
+                    : d.web_viewer ? '✓ PUBLISHED' : d.needs_fixing_at ? '⚠ NEEDS FIXING'
                     : d.digital_file_at ? '⬇ DIGITAL FILE' : d.user_removed ? '✕ REMOVED' : '';
 
   el.innerHTML = `
@@ -219,7 +219,7 @@ function card(d){
       <button class="bad"  data-a="bad"     title="Bad pattern — remove from all (1)">✕ Bad <kbd>1</kbd></button>
       <button class="dig"  data-a="digital" title="Unpublish, sell as digital file (2)">⬇ Digital <kbd>2</kbd></button>
       <button class="fix"  data-a="fix"     title="Keep but needs fixing (3)">⚠ Fix <kbd>3</kbd></button>
-      <button class="live" data-a="live"    title="Keep, go live in web viewer (4)">✓ Live <kbd>4</kbd></button>
+      <button class="live" data-a="live"    title="Publish — go live in the web viewer (4)">✓ Publish <kbd>4</kbd></button>
     </div>`;
 
   el.querySelector('.sel-box').addEventListener('click', e => { e.stopPropagation(); toggleSel(d.id, el); });
@@ -264,7 +264,7 @@ function toggleSel(id, el){
 async function decide(id, action, el){
   el?.classList.add('decided');
   const st = el?.querySelector('.state');
-  if(st){ st.textContent = ({bad:'✕ REMOVED',digital:'⬇ DIGITAL FILE',fix:'⚠ NEEDS FIXING',live:'✓ LIVE'})[action]; st.style.display='block'; }
+  if(st){ st.textContent = ({bad:'✕ REMOVED',digital:'⬇ DIGITAL FILE',fix:'⚠ NEEDS FIXING',live:'✓ PUBLISHED'})[action]; st.style.display='block'; }
   decided.set(id, action);
   // patch local model so filters/sorts stay consistent without a full reload
   const d = ALL.find(x=>x.id===id);

← 989c3d0 cactus-vision-score: skip user_removed designs (only score t  ·  back to Wallco Ai  ·  cactus-curator: exclude midheal_/edgeheal_/smartfix_ derivat 6e28424 →