Replace NPC alive_status/disposition dropdowns with color-coded status buttons
Card and modal both use clickable button rows instead of a select and free-text input, so changing alive_status or disposition no longer requires the full edit form. The Status section is moved to the top of both views for quicker access, and disposition buttons (plus the collapsed card's badge) are color-coded per value, reusing the same CSS classes in both places. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1516,6 +1516,80 @@ h1, h2, h3, h4, h5, h6 {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.npc-status-buttons,
|
||||
.npc-disposition-buttons {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.npc-status-btn,
|
||||
.npc-disposition-btn {
|
||||
padding: 6px 14px;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 3px;
|
||||
background: var(--bg);
|
||||
color: var(--text-secondary);
|
||||
font-family: var(--font-heading);
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
cursor: pointer;
|
||||
transition: border-color var(--transition-speed) ease, color var(--transition-speed) ease, background var(--transition-speed) ease;
|
||||
}
|
||||
|
||||
.npc-status-btn:hover,
|
||||
.npc-disposition-btn:hover {
|
||||
color: var(--text-primary);
|
||||
border-color: var(--accent-hover);
|
||||
}
|
||||
|
||||
.npc-status-btn.active,
|
||||
.npc-disposition-btn.active {
|
||||
border-color: var(--accent);
|
||||
color: var(--accent);
|
||||
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
||||
}
|
||||
|
||||
/* Disposition color coding — button active state, and the collapsed
|
||||
card badge (reuses the same rules). May be revised in Phase 11. */
|
||||
.npc-disposition-btn-unknown.active,
|
||||
.npc-disposition-badge.npc-disposition-btn-unknown {
|
||||
border-color: var(--text-muted);
|
||||
color: var(--text-muted);
|
||||
background: color-mix(in srgb, var(--text-muted) 12%, transparent);
|
||||
}
|
||||
|
||||
.npc-disposition-btn-hostile.active,
|
||||
.npc-disposition-badge.npc-disposition-btn-hostile {
|
||||
border-color: var(--danger);
|
||||
color: var(--danger);
|
||||
background: color-mix(in srgb, var(--danger) 12%, transparent);
|
||||
}
|
||||
|
||||
.npc-disposition-btn-indifferent.active,
|
||||
.npc-disposition-badge.npc-disposition-btn-indifferent {
|
||||
border-color: var(--info);
|
||||
color: var(--info);
|
||||
background: color-mix(in srgb, var(--info) 12%, transparent);
|
||||
}
|
||||
|
||||
.npc-disposition-btn-neutral.active,
|
||||
.npc-disposition-badge.npc-disposition-btn-neutral {
|
||||
border-color: var(--accent);
|
||||
color: var(--accent);
|
||||
background: color-mix(in srgb, var(--accent) 12%, transparent);
|
||||
}
|
||||
|
||||
.npc-disposition-btn-friendly.active,
|
||||
.npc-disposition-badge.npc-disposition-btn-friendly {
|
||||
border-color: var(--success);
|
||||
color: var(--success);
|
||||
background: color-mix(in srgb, var(--success) 12%, transparent);
|
||||
}
|
||||
|
||||
.npc-card-actions {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
|
||||
Reference in New Issue
Block a user