feat(infra): route package (#10353)

This commit is contained in:
forehalo
2025-04-23 09:49:10 +00:00
parent e501e35d3d
commit 64997d4a0e
14 changed files with 654 additions and 18 deletions

View File

@@ -0,0 +1,36 @@
# Routes
## Usage
### Path Factories
```ts
import { FACTORIES } from '@affine/routes';
const path = FACTORIES.workspace.doc({ workspaceId: '123', docId: '456' });
// ^^^^ with typecheck
```
### Register router
```tsx
import { ROUTES } from '@affine/routes';
function Routes() {
return <Router path={ROUTES.admin.index} element={} />;
}
```
### Path Parameter
```ts
import { RouteParamsTypes } from '@affine/routes';
function Doc() {
const { workspaceId, docId } = useParams<RouteParamsTypes['workspace']['doc']>();
}
function Attachment() {
const { workspaceId, docId, attachmentId } = useParams<RouteParamsTypes['workspace']['doc']['attachment']>();
}
```