mirror of
https://github.com/harness/drone.git
synced 2025-05-09 02:50:10 +08:00
19 lines
763 B
TypeScript
19 lines
763 B
TypeScript
import { useParams } from 'react-router-dom'
|
|
import type { CODEProps } from 'RouteDefinitions'
|
|
import { useAppContext } from 'AppContext'
|
|
|
|
/**
|
|
* Get space parameter.
|
|
* Space is passed differently in standalone and embedded modes. In standalone
|
|
* mode, space is available from routing url (aka being passed as `:space`
|
|
* using react-router). In embedded mode, Harness UI's routing always works with
|
|
* `:accountId/orgs/:orgIdentifier/projects/:projectIdentifier` so we can't get
|
|
* `space` from URL. As a result, we have to pass `space` via AppContext.
|
|
* @returns space parameter.
|
|
*/
|
|
export function useGetSpaceParam() {
|
|
const { space: spaceFromParams = '' } = useParams<CODEProps>()
|
|
const { space } = useAppContext()
|
|
return space || spaceFromParams
|
|
}
|