Zhen Ye Claude Opus 4.6 commited on
Commit
ba7e752
1 Parent(s): a599a21

fix: merge redundant track card badges into a single unified status badge

Browse files

Collapsed the two separate badges (assessment status + mission relevance) into
one badge per card: YES > NO > RELEVANT > STALE > N/R > confidence%.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Files changed (1) hide show
  1. frontend/js/ui/cards.js +13 -18
frontend/js/ui/cards.js CHANGED
@@ -55,19 +55,22 @@ APP.ui.cards.renderFrameTrackList = function () {
55
  document.dispatchEvent(ev);
56
  };
57
 
58
- // Assessment status badge
59
- let statusBadge = "";
60
  const assessStatus = det.assessment_status || S.UNASSESSED;
61
- if (assessStatus === S.UNASSESSED) {
62
- statusBadge = '<span class="badgemini" style="background:#6c757d; color:white">UNASSESSED</span>';
63
- } else if (assessStatus === S.STALE) {
64
- statusBadge = '<span class="badgemini" style="background:#ffc107; color:#333">STALE</span>';
65
- } else if (det.satisfies === true) {
66
  statusBadge = '<span class="badgemini" style="background:#28a745; color:white">YES</span>';
67
  } else if (det.satisfies === false) {
68
  statusBadge = '<span class="badgemini" style="background:#dc3545; color:white">NO</span>';
69
- } else if (assessStatus === S.ASSESSED) {
70
- statusBadge = '<span class="badgemini" style="background:#17a2b8; color:white">ASSESSED</span>';
 
 
 
 
 
 
71
  }
72
 
73
  // Satisfaction reason (collapsed summary)
@@ -88,15 +91,7 @@ APP.ui.cards.renderFrameTrackList = function () {
88
  card.innerHTML = `
89
  <div class="track-card-header">
90
  <span>${id} 路 ${det.label}</span>
91
- <div style="display:flex; gap:4px; align-items:center">
92
- ${statusBadge}
93
- ${det.mission_relevant === true
94
- ? '<span class="badgemini" style="background:#28a745; color:white">RELEVANT</span>'
95
- : det.mission_relevant === false
96
- ? '<span class="badgemini" style="background:#6c757d; color:white">N/R</span>'
97
- : `<span class="badgemini" style="background:rgba(255,255,255,.08); color:rgba(255,255,255,.7)">${(det.score * 100).toFixed(0)}%</span>`
98
- }
99
- </div>
100
  </div>
101
  ${desc}
102
  ${featuresHtml}
 
55
  document.dispatchEvent(ev);
56
  };
57
 
58
+ // Single unified status badge
59
+ const S = APP.core.gptMapping.STATUS;
60
  const assessStatus = det.assessment_status || S.UNASSESSED;
61
+ let statusBadge = "";
62
+ if (det.satisfies === true) {
 
 
 
63
  statusBadge = '<span class="badgemini" style="background:#28a745; color:white">YES</span>';
64
  } else if (det.satisfies === false) {
65
  statusBadge = '<span class="badgemini" style="background:#dc3545; color:white">NO</span>';
66
+ } else if (det.mission_relevant === true) {
67
+ statusBadge = '<span class="badgemini" style="background:#17a2b8; color:white">RELEVANT</span>';
68
+ } else if (assessStatus === S.STALE) {
69
+ statusBadge = '<span class="badgemini" style="background:#ffc107; color:#333">STALE</span>';
70
+ } else if (det.mission_relevant === false) {
71
+ statusBadge = '<span class="badgemini" style="background:#6c757d; color:white">N/R</span>';
72
+ } else {
73
+ statusBadge = `<span class="badgemini" style="background:rgba(255,255,255,.08); color:rgba(255,255,255,.7)">${(det.score * 100).toFixed(0)}%</span>`;
74
  }
75
 
76
  // Satisfaction reason (collapsed summary)
 
91
  card.innerHTML = `
92
  <div class="track-card-header">
93
  <span>${id} 路 ${det.label}</span>
94
+ ${statusBadge}
 
 
 
 
 
 
 
 
95
  </div>
96
  ${desc}
97
  ${featuresHtml}