style(web): fix prettier config, format entire web/ tree
.prettierrc.json was missing "semi": false, so prettier wanted to add semicolons to a codebase written without them (763 semicolon-free statements vs. 150 with, in hand-written .ts; zero hand-written .svelte files use them at all). That's why prettier --check failed on 249 files — not because the code was unformatted, but because the config didn't match the actual house style. Added "semi": false; left printWidth/etc as configured (printWidth barely moves the failure count: 218/213/212 files at 100/120/140). Ran `prettier --write .` with the corrected config. Verified semantics-preserving before and after: - eslint: 142 problems both before and after, byte-identical - build passes, 38/38 tests pass - token-stream diff (whitespace/semicolons/quotes normalized) on all 218 changed files: only 52 had any remaining token change, all either trailing-comma removal (matching trailingComma: "none") or import/ ternary reflow — no semantic changes - live smoke test: Knowledge, Tasks, Fleet map, and a chat window (AgentTrace, markdown, Scope graph, activity rail) all render correctly, no console errors Most of the diff is shadcn/ui vendor files (lib/components/ui/) moving from the CLI's own style (double quotes, tabs, semicolons) to house style; re-running `shadcn-svelte add` on a component will need a follow-up format pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,13 @@
|
||||
let filter = $state<'all' | Bucket>('all')
|
||||
|
||||
const counts = $derived.by(() => {
|
||||
const c: Record<string, number> = { all: $sessions.length, running: 0, input: 0, done: 0, failed: 0 }
|
||||
const c: Record<string, number> = {
|
||||
all: $sessions.length,
|
||||
running: 0,
|
||||
input: 0,
|
||||
done: 0,
|
||||
failed: 0
|
||||
}
|
||||
for (const s of $sessions) c[bucket(s)]++
|
||||
return c
|
||||
})
|
||||
@@ -53,10 +59,31 @@
|
||||
})
|
||||
|
||||
const columns: DataTableColumn<Session>[] = [
|
||||
{ key: '_status', header: 'Status', render: StatusDotRenderer, sortable: true, accessor: (s) => bucket(s), width: '140px' },
|
||||
{
|
||||
key: '_status',
|
||||
header: 'Status',
|
||||
render: StatusDotRenderer,
|
||||
sortable: true,
|
||||
accessor: (s) => bucket(s),
|
||||
width: '140px'
|
||||
},
|
||||
{ key: '_heading', header: 'Task', sortable: true, accessor: heading, truncate: true },
|
||||
{ key: 'summary', header: 'Summary', accessor: (s) => s.summary || '—', truncate: true, headerClass: 'hidden md:table-cell', class: 'hidden md:table-cell' },
|
||||
{ key: 'last_active_at', header: 'Last active', render: 'relative-time', sortable: true, width: '112px', align: 'right' },
|
||||
{
|
||||
key: 'summary',
|
||||
header: 'Summary',
|
||||
accessor: (s) => s.summary || '—',
|
||||
truncate: true,
|
||||
headerClass: 'hidden md:table-cell',
|
||||
class: 'hidden md:table-cell'
|
||||
},
|
||||
{
|
||||
key: 'last_active_at',
|
||||
header: 'Last active',
|
||||
render: 'relative-time',
|
||||
sortable: true,
|
||||
width: '112px',
|
||||
align: 'right'
|
||||
}
|
||||
]
|
||||
|
||||
const emptyMessage = $derived(
|
||||
@@ -67,7 +94,6 @@
|
||||
</script>
|
||||
|
||||
<div class="relative flex h-full flex-col gap-3 overflow-hidden p-2">
|
||||
|
||||
<div class="relative z-10 flex flex-wrap items-center gap-1.5">
|
||||
{#each FILTERS as f}
|
||||
<button
|
||||
@@ -88,13 +114,9 @@
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div class="relative z-10 min-h-0 flex-1 overflow-hidden rounded-xl border bg-card/70 backdrop-blur">
|
||||
<DataTable
|
||||
{columns}
|
||||
data={visible}
|
||||
{emptyMessage}
|
||||
bordered={false}
|
||||
onRowClick={openTask}
|
||||
/>
|
||||
<div
|
||||
class="relative z-10 min-h-0 flex-1 overflow-hidden rounded-xl border bg-card/70 backdrop-blur"
|
||||
>
|
||||
<DataTable {columns} data={visible} {emptyMessage} bordered={false} onRowClick={openTask} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user