feat(web): settings view for roots and policies
Own route beside library and queues. Roots edit kind, audience, path and their policy; policies get a form over the real fields — size bands as number inputs, score and source weights as numbers, resolution preference and audio/HDR rules as validated lists. Delete arms before firing; a 409 from a referenced policy or occupied root surfaces its message.
This commit is contained in:
@@ -1270,3 +1270,82 @@ body {
|
||||
width: 2.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- settings (issue #116) -------------------------------------------- */
|
||||
|
||||
/* rows follow the queues pattern: line, then an action pair */
|
||||
.settings-row-actions {
|
||||
display: flex;
|
||||
gap: var(--space-2);
|
||||
margin: var(--space-1) 0 var(--space-2);
|
||||
}
|
||||
|
||||
.form-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
|
||||
gap: var(--space-3);
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.field {
|
||||
display: grid;
|
||||
gap: var(--space-1);
|
||||
}
|
||||
|
||||
.field-label {
|
||||
font-size: var(--text-2xs);
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.12em;
|
||||
}
|
||||
|
||||
.form-input {
|
||||
min-height: 2.25rem;
|
||||
width: 100%;
|
||||
padding: 0 var(--space-2);
|
||||
color: var(--ink);
|
||||
font-family: var(--font-readout);
|
||||
font-size: var(--text-xs);
|
||||
background: var(--ground);
|
||||
border: 1px solid var(--line);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: inset 0 1px var(--lowlight);
|
||||
caret-color: var(--accent);
|
||||
transition: border-color 150ms var(--ease-out);
|
||||
}
|
||||
|
||||
.form-input:hover {
|
||||
border-color: var(--line-strong);
|
||||
}
|
||||
|
||||
.form-input:focus {
|
||||
border-color: var(--accent);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.form-input:disabled {
|
||||
color: var(--ink-faint);
|
||||
border-color: var(--line);
|
||||
}
|
||||
|
||||
select.form-input {
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.form-input[data-invalid] {
|
||||
border-color: var(--signal-fault);
|
||||
}
|
||||
|
||||
/* one resolution's size band: label, floor, target, penalty on a line */
|
||||
.band-line {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.band-line .field-label {
|
||||
width: 3.5rem;
|
||||
}
|
||||
|
||||
.band-num {
|
||||
width: 4.5rem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user