feat(web): deep-linkable field selection via /fields/:key (#72)
FieldsPage kept the selected field definition in component state, so reload lost the selection, fields couldn't be linked/shared, and back/forward didn't navigate selections — inconsistent with /vocabularies/:id and /objects/:id. Move selection into the URL: the route becomes /fields/:key? (optional segment), FieldList selection navigates, cancel/done navigates back to /fields, and the page derives the selected def from the already-cached field-defs query. An unknown or stale key (e.g. after deleting the selected field) falls back to the create form. Tests: deep link opens the locked edit form, select→cancel round-trips through the URL, unknown key falls back to create. Closes #72 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -72,7 +72,7 @@ const router = createBrowserRouter(
|
||||
<Route path="/authorities" element={<Navigate to="/authorities/person" replace />} />
|
||||
<Route path="/authorities/:kind" element={<AuthoritiesPage />} />
|
||||
<Route
|
||||
path="/fields"
|
||||
path="/fields/:key?"
|
||||
element={
|
||||
<Suspense fallback={<ListSkeleton />}>
|
||||
<FieldsPage />
|
||||
|
||||
Reference in New Issue
Block a user