refactor(frontend): the pay-down edits the first script dropped after its assertion stop — SharedWithMe/ProjectView page-header+empty-msg remainders, DesignSystems/Settings field-hint+.input trims, pane form-buttons deletions (milestone 302 step 4)
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 7s
CI & Build / TypeScript typecheck (push) Successful in 11s
CI & Build / integration (push) Successful in 20s
CI & Build / Python tests (push) Successful in 1m2s
CI & Build / Build & push image (push) Successful in 35s

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 17:34:07 -04:00
co-authored by Claude Fable 5
parent 6fb0cb38a5
commit 9190fa0f10
6 changed files with 7 additions and 36 deletions
@@ -145,7 +145,6 @@ li:hover { background: var(--fs-surface-hover); }
border: 1px solid var(--fs-border-color); border-radius: 6px;
padding: 0.5rem;
}
.form-buttons { display: flex; gap: 0.5rem; }
.subscriptions {
margin-top: 2rem;
border-top: 1px solid var(--fs-border-color);
@@ -70,6 +70,5 @@ li:hover { background: var(--fs-surface-hover); }
border: 1px solid var(--fs-border-color); border-radius: 6px;
padding: 0.5rem;
}
.form-buttons { display: flex; gap: 0.5rem; }
button { cursor: pointer; }
</style>
+3 -10
View File
@@ -1287,20 +1287,13 @@ function isSelfContainedColour(value: string): boolean {
}
.field-hint {
margin: 0.3rem 0 0;
font-size: 0.8rem;
color: var(--fs-text-tertiary);
line-height: 1.5;
line-height: 1.5; /* remainder over the shared recipe */
}
/* remainder over .fs-input (components.css, canon #2336; m302) */
.input {
width: 100%;
padding: 0.45rem 0.6rem;
background: var(--fs-surface-page);
border: 1px solid var(--fs-border-color);
border-radius: var(--fs-radius-sm);
color: var(--fs-text-primary);
font: inherit;
box-sizing: border-box;
}
+2 -5
View File
@@ -1203,10 +1203,7 @@ async function confirmDelete() {
/* ── Layout ─────────────────────────────────────────────────── */
/* ── Nav bar ─────────────────────────────────────────────────── */
.page-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 1.5rem;
margin-bottom: 1.5rem; /* roomier than the shared recipe */
}
.page-header-actions { display: flex; gap: 0.5rem; align-items: center; }
.plan-title-input {
@@ -1816,7 +1813,7 @@ async function confirmDelete() {
.note-title { font-weight: 500; min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.note-date { font-size: 0.75rem; color: var(--fs-text-tertiary); flex-shrink: 0; }
.empty-msg { color: var(--fs-text-tertiary); font-size: 0.875rem; text-align: center; padding: 1rem; }
.empty-msg { text-align: center; padding: 1rem; } /* remainder over the shared recipe */
/* Deliberately NOT styled like .empty-msg: "no tasks" and "the tasks did not
load" look identical to a user, and conflating them is what let a silent
failure read as an empty project. */
+1 -16
View File
@@ -2731,25 +2731,10 @@ async function deleteUser(userId: number) {
margin-bottom: 0.35rem;
color: var(--fs-text-primary);
}
/* remainder over .fs-input (components.css, canon #2336; m302) */
.input {
width: 100%;
padding: 0.45rem 0.7rem;
border: 1px solid var(--fs-border-color);
border-radius: var(--fs-radius-sm);
font-size: 0.9rem;
background: var(--fs-surface-page);
color: var(--fs-text-primary);
box-sizing: border-box;
font-family: inherit;
}
.input:focus {
outline: none;
border-color: var(--fs-accent);
}
.field-hint {
margin: 0.3rem 0 0;
font-size: 0.78rem;
color: var(--fs-text-tertiary);
}
.field-hint-warn {
display: block;
+1 -3
View File
@@ -98,7 +98,7 @@ onMounted(async () => {
}
.page-header {
margin-bottom: 2rem;
margin-bottom: 2rem; /* roomier than the shared recipe */
}
.page-title {
@@ -247,8 +247,6 @@ onMounted(async () => {
.perm-admin { background: color-mix(in srgb, var(--fs-warning) 15%, transparent); color: var(--fs-warning); }
.empty-msg {
color: var(--fs-text-tertiary);
font-size: 0.88rem;
margin: 0;
padding: 1rem 0;
}