Kairo-Jinkendo/frontend/src/pages/LegacyRedirects.jsx

62 lines
2.0 KiB
React
Raw Normal View History

import { Navigate, useParams, useSearchParams } from 'react-router-dom'
import { actionPath, gatePath, projectPath, scopedPath } from '../utils/routes.js'
export function WorkspaceRedirect() {
return <Navigate to="/cockpit" replace />
}
export function MyActionsRedirect() {
return <Navigate to="/work/mine" replace />
}
export function InitiativeRootRedirect() {
const { id } = useParams()
return <Navigate to={scopedPath('/control/status', { initiativeId: id })} replace />
}
export function InitiativePlanRedirect() {
const { id } = useParams()
return <Navigate to={scopedPath('/plan/gates', { initiativeId: id })} replace />
}
export function InitiativeExecutionRedirect() {
const { id } = useParams()
return <Navigate to={scopedPath('/plan/structure', { initiativeId: id })} replace />
}
export function InitiativeInboxRedirect() {
const { id } = useParams()
return <Navigate to={scopedPath('/plan/inbox', { initiativeId: id })} replace />
}
export function InitiativeJourneyRedirect() {
const { id } = useParams()
return <Navigate to={scopedPath('/control/journey', { initiativeId: id })} replace />
}
export function InitiativeGateRedirect() {
const { itemId } = useParams()
return <Navigate to={gatePath(itemId)} replace />
}
export function InitiativeProjectRedirect() {
const { projectId } = useParams()
return <Navigate to={projectPath(projectId)} replace />
}
export function InitiativeActionRedirect() {
const { actionId } = useParams()
return <Navigate to={actionPath(actionId)} replace />
}
export function ProjectNewRedirect() {
const [searchParams] = useSearchParams()
const initiativeId = searchParams.get('initiative') || ''
const parent = searchParams.get('parent') || ''
const params = new URLSearchParams()
if (initiativeId) params.set('initiative', initiativeId)
if (parent) params.set('parent', parent)
const qs = params.toString()
return <Navigate to={qs ? `/projects/new?${qs}` : '/projects/new'} replace />
}