feat(bins): clickable bin cards with dedicated detail page
CI / Lint · Typecheck · Test · Build (push) Successful in 49s
CI / Playwright (smoke) (push) Has been skipped
CI / Build & push images (push) Successful in 1m2s

Clicking a bin on Locations now navigates to /bins/:id, showing the
bin's site/room/name, created/updated metadata, and a paginated
DataTable of parts currently in the bin. Admins can rename or delete
the bin from the detail page; the BinGrid kebab menu still works
without triggering navigation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-17 15:17:55 -04:00
parent 1d53e81d5e
commit 09d1d96cb4
5 changed files with 356 additions and 32 deletions
+5
View File
@@ -9,6 +9,11 @@ export function listBins(
return getList<BinWithPath>('/bins', filters);
}
export async function getBin(id: string): Promise<BinWithPath> {
const res = await api.get<BinWithPath>(`/bins/${id}`);
return res.data;
}
export async function createBin(input: CreateBinRequest): Promise<BinWithPath> {
const res = await api.post<BinWithPath>('/bins', input);
return res.data;
+1
View File
@@ -37,6 +37,7 @@ export const queryKeys = {
all: ['bins'] as const,
list: (filters?: Record<string, unknown>) =>
[...queryKeys.bins.all, 'list', filters ?? {}] as const,
detail: (id: string) => [...queryKeys.bins.all, 'detail', id] as const,
},
users: {
all: ['users'] as const,