Fix bucket-404 on empty resources, redesign review actions as select-then-confirm, CSS polish
Deploy / deploy (push) Successful in 35s
Deploy / deploy (push) Successful in 35s
get_resource's Kv path treated a not-yet-created bucket (nothing submitted there yet) as a hard error instead of an empty list - projects bucket never got created since the backfill found nothing to migrate, so /review's Projects alternative 404'd outright. Now matches store_answer's own "doesn't exist yet is normal" posture; a specific key request still errors, only listing degrades gracefully. AnswerRow's Invite/Decline buttons fired transition_answer immediately on click, with no staging step and no visible confirmation once it landed (the resource list never refetched, so a click barely looked like it did anything). Redesigned as toggle-select (reusing the .select-option pattern from the resource-backed select requirement) plus one explicit Confirm button; a successful transition now refetches the parent Resource so the row actually reflects the change. CSS: soften the hard cut where the hero canvas meets the page background below it (gradient fade over the last few ems, matching --paper); center the "Asked by X" responsible note with the em-dash starting its own line; give it and the report button real styling (previously unstyled default text). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
11c6f3e8f7
commit
a200161334
+53
-9
@@ -153,6 +153,22 @@ main.loading, main.not-found {
|
||||
text-shadow: 0 2px 24px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
/* Softens the otherwise hard cut where the full-bleed canvas meets the
|
||||
page background right below it - fades to the same --paper color
|
||||
over the last few ems instead of stopping dead. Non-interactive so
|
||||
it never steals clicks meant for the canvas underneath. */
|
||||
.hero-yes::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 6em;
|
||||
background: linear-gradient(to bottom, transparent, var(--paper));
|
||||
pointer-events: none;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* alternatives */
|
||||
|
||||
.alternatives {
|
||||
@@ -163,6 +179,29 @@ main.loading, main.not-found {
|
||||
gap: 1.25rem;
|
||||
}
|
||||
|
||||
.question-responsible {
|
||||
text-align: center;
|
||||
color: var(--ink-dim);
|
||||
font-size: 0.85rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.question-responsible a { color: var(--ink-dim); }
|
||||
.question-responsible a:hover { color: var(--accent); }
|
||||
|
||||
.question-report {
|
||||
font: inherit;
|
||||
color: var(--ink-dim);
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 0;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.question-report:hover { color: var(--accent); }
|
||||
.question-report:disabled { opacity: 0.5; cursor: wait; }
|
||||
|
||||
.alt-card {
|
||||
background: var(--paper-raised);
|
||||
border: 1px solid var(--line);
|
||||
@@ -364,23 +403,28 @@ input:focus, textarea:focus {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.answer-actions { display: flex; gap: 0.6rem; }
|
||||
.answer-actions {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 0.6rem;
|
||||
}
|
||||
|
||||
.answer-action {
|
||||
.answer-confirm {
|
||||
font-family: var(--sans);
|
||||
font-weight: 600;
|
||||
font-size: 0.82rem;
|
||||
color: var(--ink);
|
||||
background: var(--paper);
|
||||
border: 1px solid var(--line);
|
||||
color: #0a0a0a;
|
||||
background: var(--accent);
|
||||
border: none;
|
||||
border-radius: 0.5rem;
|
||||
padding: 0.4rem 0.8rem;
|
||||
padding: 0.45rem 1rem;
|
||||
cursor: pointer;
|
||||
transition: border-color 120ms, color 120ms;
|
||||
transition: filter 120ms;
|
||||
}
|
||||
|
||||
.answer-action:hover { border-color: var(--accent); color: var(--accent); }
|
||||
.answer-action:disabled { opacity: 0.5; cursor: wait; }
|
||||
.answer-confirm:hover { filter: brightness(1.08); }
|
||||
.answer-confirm:disabled { opacity: 0.5; cursor: not-allowed; filter: none; }
|
||||
|
||||
.item-list { display: grid; gap: 0.8rem; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user