style(13-03): apply Prettier formatting across repo

Mechanical reformat — no logic changes. 398 files changed, 19125
insertions(+), 16457 deletions(-). Prettier 3.8.4 with .prettierrc
(singleQuote:true, semi:true, tabWidth:2, trailingComma:all,
printWidth:100). Isolated per D-13-08 for reviewability.
This commit is contained in:
Lucas Berger
2026-06-11 20:35:18 -04:00
parent 4bc0445173
commit 982438dc10
398 changed files with 19050 additions and 16382 deletions
+31 -39
View File
@@ -9,63 +9,60 @@
* Types: List, ListItem, ListsResponse, ListItemsResponse
*/
const BASE = '/api'
const BASE = '/api';
async function apiFetch(path: string, init?: RequestInit): Promise<Response> {
const res = await fetch(`${BASE}${path}`, {
credentials: 'include',
...init,
})
if (!res.ok) throw new Error(`${init?.method ?? 'GET'} ${path} failed: ${res.status}`)
return res
});
if (!res.ok) throw new Error(`${init?.method ?? 'GET'} ${path} failed: ${res.status}`);
return res;
}
// ── Types ──────────────────────────────────────────────────────────────────
export interface List {
id: number
name: string
isShared: boolean
ownerId: number
activeCount: number
doneCount: number
createdAt?: string
updatedAt?: string
id: number;
name: string;
isShared: boolean;
ownerId: number;
activeCount: number;
doneCount: number;
createdAt?: string;
updatedAt?: string;
}
export interface ListItem {
id: number
listId: number
text: string
checked: boolean
rank: string
createdAt?: string
updatedAt?: string
id: number;
listId: number;
text: string;
checked: boolean;
rank: string;
createdAt?: string;
updatedAt?: string;
}
export interface ListsResponse {
lists: List[]
lists: List[];
}
export interface ListItemsResponse {
items: ListItem[]
items: ListItem[];
}
// ── Functions ──────────────────────────────────────────────────────────────
export async function fetchLists(): Promise<ListsResponse> {
return apiFetch('/lists').then((r) => r.json() as Promise<ListsResponse>)
return apiFetch('/lists').then((r) => r.json() as Promise<ListsResponse>);
}
export async function createList(payload: {
name: string
isShared: boolean
}): Promise<List> {
export async function createList(payload: { name: string; isShared: boolean }): Promise<List> {
return apiFetch('/lists', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload),
}).then((r) => r.json() as Promise<List>)
}).then((r) => r.json() as Promise<List>);
}
export async function patchList(
@@ -76,13 +73,13 @@ export async function patchList(
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(patch),
}).then((r) => r.json() as Promise<List>)
}).then((r) => r.json() as Promise<List>);
}
export async function deleteList(id: number): Promise<{ id: number }> {
return apiFetch(`/lists/${id}`, {
method: 'DELETE',
}).then((r) => r.json() as Promise<{ id: number }>)
}).then((r) => r.json() as Promise<{ id: number }>);
}
// ── Item functions (LIST-02) ────────────────────────────────────────────────
@@ -92,23 +89,18 @@ export async function deleteList(id: number): Promise<{ id: number }> {
* Returns active and completed items; the UI splits them into sections.
*/
export async function fetchListItems(listId: number): Promise<ListItemsResponse> {
return apiFetch(`/lists/${listId}/items`).then(
(r) => r.json() as Promise<ListItemsResponse>,
)
return apiFetch(`/lists/${listId}/items`).then((r) => r.json() as Promise<ListItemsResponse>);
}
/**
* Add an item to a list. Server assigns the fractional rank (D-13).
*/
export async function addItem(
listId: number,
payload: { text: string },
): Promise<ListItem> {
export async function addItem(listId: number, payload: { text: string }): Promise<ListItem> {
return apiFetch(`/lists/${listId}/items`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload),
}).then((r) => r.json() as Promise<ListItem>)
}).then((r) => r.json() as Promise<ListItem>);
}
/**
@@ -124,7 +116,7 @@ export async function patchListItem(
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(patch),
}).then((r) => r.json() as Promise<ListItem>)
}).then((r) => r.json() as Promise<ListItem>);
}
/**
@@ -134,5 +126,5 @@ export async function patchListItem(
export async function deleteItem(itemId: number): Promise<{ id: number }> {
return apiFetch(`/list-items/${itemId}`, {
method: 'DELETE',
}).then((r) => r.json() as Promise<{ id: number }>)
}).then((r) => r.json() as Promise<{ id: number }>);
}