style(v2): amber/yellow meta states now show red instead

Non-active, non-idle VTank states (nav, turn_in_quests, etc.) now
display in red instead of amber/yellow in both:
- Map sidebar: .ml-meta-pill.other (red background + text)
- Dashboard cards: .badge-other (red background + text)

Green = combat/hunt, Red = nav/other states, Gray = idle/default

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erik 2026-04-14 12:36:23 +02:00
parent 9f7686681b
commit 8a2d0e1a72
29 changed files with 143 additions and 26 deletions

View file

@ -9,10 +9,10 @@ interface Props {
const vtankBadge = (state: string) => {
const s = (state || 'idle').toLowerCase();
if (s === 'combat' || s === 'hunt') return { label: s === 'combat' ? 'Combat' : 'Hunt', cls: 'badge-combat' };
if (s === 'nav' || s === 'navigation') return { label: 'Nav', cls: 'badge-nav' };
if (s === 'nav' || s === 'navigation') return { label: 'Nav', cls: 'badge-other' };
if (s === 'default' || s === 'idle' || s === '') return { label: 'Idle', cls: 'badge-idle' };
// Show the actual state name for anything else (e.g. turn_in_quests)
return { label: state, cls: 'badge-nav' };
return { label: state, cls: 'badge-other' };
};
export const CharacterCard: React.FC<Props> = React.memo(({ character }) => {

View file

@ -40,7 +40,7 @@ export const PlayerRow: React.FC<Props> = React.memo(({ player: p, vitals: v, co
<span className="ml-gs" title="Rares (session / total)">💎 {p.session_rares ?? 0} / {p.total_rares ?? 0}</span>
<span className="ml-gs" title="Kills per rare">{kpr ? <>📊 {kpr} <span className="ml-suffix">KPR</span></> : ''}</span>
<span className={`ml-meta-pill ${isActive ? 'active' : ''}`}>{p.vt_state || 'idle'}</span>
<span className={`ml-meta-pill ${isActive ? 'active' : vtState !== 'idle' && vtState !== 'default' && vtState !== '' ? 'other' : ''}`}>{p.vt_state || 'idle'}</span>
<span className="ml-gs" title="Online time">🕐 {p.onlinetime?.replace(/^00\./, '') ?? '--'}</span>
<span className="ml-gs" title="Deaths"> {p.deaths ?? '0'}</span>

View file

@ -166,6 +166,7 @@ body {
}
.badge-combat { background: rgba(68,204,68,0.2); color: var(--badge-combat); }
.badge-nav { background: rgba(255,170,0,0.2); color: var(--badge-nav); }
.badge-other { background: rgba(204,68,68,0.2); color: #c44; }
.badge-idle { background: rgba(100,100,100,0.2); color: var(--badge-idle); }
/* ── Vital Bars ───────────────────────────────────────── */

View file

@ -319,6 +319,7 @@
border-color: rgba(68, 136, 255, 0.5);
}
.ml-meta-pill.active { background: rgba(68, 204, 68, 0.15); color: #4c4; }
.ml-meta-pill.other { background: rgba(204, 68, 68, 0.15); color: #c44; }
/* ── Map container ────────────────────────────────────── */
.ml-map-container {