1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/frontend/src/component/feature/CreateFeatureButton/useCreateFeaturePath.ts

31 lines
862 B
TypeScript
Raw Normal View History

import { useDefaultProjectId } from 'hooks/api/getters/useDefaultProject/useDefaultProjectId';
import { IFeaturesFilter } from 'hooks/useFeaturesFilter';
import { getCreateTogglePath } from 'utils/routePathHelpers';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
interface IUseCreateFeaturePathOutput {
path: string;
projectId: string;
}
export const useCreateFeaturePath = (
filter: IFeaturesFilter
): IUseCreateFeaturePathOutput | undefined => {
const defaultProjectId = useDefaultProjectId();
const { uiConfig } = useUiConfig();
const projectId =
filter.project === '*' || !filter.project
? defaultProjectId
: filter.project;
if (!projectId) {
return;
}
return {
path: getCreateTogglePath(projectId, uiConfig.flags.E),
projectId,
};
};