1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-09-24 17:51:14 +02:00
unleash.unleash/frontend/src/component/feature/RedirectFeatureView/RedirectFeatureView.tsx
olav ff8d983d7e refactor: port FeatureToggleList to TS/SWR (#663)
* refactor: remove unused FeatureToggleListItemChip

* refactor: remove unused archive.module.scss

* refactor: remove unused ShowArchive route

* refactor: port FeatureToggleList to TS/SWR

* refactor: fix IUseFeaturesOutput interface prefix

* refactor: remove unnecessary pages files

* refactor: persist the features sort/filter state

* refactor: format files

* refactor: fix FeatureToggleListContainer file name

* refactor: fix arrow function syntax

* refactor: improve storage helper comments
2022-02-08 12:06:25 +01:00

36 lines
992 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/route-path-helpers';
interface IRedirectParams {
name: string;
}
const RedirectFeatureView = () => {
const { name } = useParams<IRedirectParams>();
const { features } = useFeatures();
const [featureToggle, setFeatureToggle] = useState<IFeatureToggle | null>(
null
);
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;