Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 73x 40x 40x 40x 40x 40x | import { useEffect } from 'react'
import { useParams } from 'react-router-dom'
import type { RouteContext } from '@/layers/interfaces'
import { setRouteContext } from './routeContextStore'
interface CrudRouteProps {
owner: string
mode: 'add' | 'edit'
prefix?: string
}
export function CrudRoute({ owner, mode, prefix }: CrudRouteProps) {
const { id } = useParams<{ id?: string }>()
useEffect(() => {
const routeContext: RouteContext = id
? { page: 'detail', id, crud: { mode, owner, ...(prefix ? { prefix } : {}) } }
: { page: 'collection', crud: { mode: 'add', owner, ...(prefix ? { prefix } : {}) } }
setRouteContext(routeContext)
return () => { setRouteContext(null) }
}, [id, owner, mode, prefix])
return null
}
|