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 8f1900f32b feat: generate an OpenAPI client (2) (#875)
* feat: add a script that generates an OpenAPI client

* feat: generate an OpenAPI client

* feat: use the generated OpenAPI client

* refactor: add an OpenAPI section to the readme

* refactor: fix missing interface prefixes

* refactor: regenerate OpenAPI client
2022-04-26 10:53:46 +02:00

36 lines
939 B
TypeScript

import { useEffect, useState } from 'react';
import { Redirect, useParams } from 'react-router-dom';
import { useFeatures } from 'hooks/api/getters/useFeatures/useFeatures';
import { getTogglePath } from 'utils/routePathHelpers';
import { FeatureSchema } from 'openapi';
interface IRedirectParams {
name: string;
}
const RedirectFeatureView = () => {
const { name } = useParams<IRedirectParams>();
const { features = [] } = useFeatures();
const [featureToggle, setFeatureToggle] = useState<FeatureSchema>();
useEffect(() => {
const toggle = features.find(
(toggle: FeatureSchema) => toggle.name === name
);
setFeatureToggle(toggle);
}, [features, name]);
if (!featureToggle) {
return null;
}
return (
<Redirect
to={getTogglePath(featureToggle?.project, featureToggle?.name)}
/>
);
};
export default RedirectFeatureView;