mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-15 17:50:48 +02:00
36 lines
954 B
TypeScript
36 lines
954 B
TypeScript
import { useEffect, useState } from 'react';
|
|
import { Redirect, useParams } from 'react-router-dom';
|
|
import { useFeatures } from 'hooks/api/getters/useFeatures/useFeatures';
|
|
import { IFeatureToggle } from 'interfaces/featureToggle';
|
|
import { getTogglePath } from 'utils/routePathHelpers';
|
|
|
|
interface IRedirectParams {
|
|
name: string;
|
|
}
|
|
|
|
const RedirectFeatureView = () => {
|
|
const { name } = useParams<IRedirectParams>();
|
|
const { features } = useFeatures();
|
|
const [featureToggle, setFeatureToggle] = useState<IFeatureToggle>();
|
|
|
|
useEffect(() => {
|
|
const toggle = features.find(
|
|
(toggle: IFeatureToggle) => toggle.name === name
|
|
);
|
|
|
|
setFeatureToggle(toggle);
|
|
}, [features, name]);
|
|
|
|
if (!featureToggle) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<Redirect
|
|
to={getTogglePath(featureToggle?.project, featureToggle?.name)}
|
|
/>
|
|
);
|
|
};
|
|
|
|
export default RedirectFeatureView;
|