platformOrIntegration.tsx 846 B

1234567891011121314151617181920212223
  1. import * as React from 'react';
  2. import * as qs from 'query-string';
  3. import {platfromToIntegrationMap} from 'app/utils/integrationUtil';
  4. import Platform from './platform';
  5. import PlatformIntegrationSetup from './platformIntegrationSetup';
  6. type Props = React.ComponentProps<typeof Platform> &
  7. Omit<React.ComponentProps<typeof PlatformIntegrationSetup>, 'integrationSlug'>;
  8. const PlatformOrIntegration = (props: Props) => {
  9. const parsed = qs.parse(window.location.search);
  10. const {platform} = props.params;
  11. const integrationSlug = platform && platfromToIntegrationMap[platform];
  12. // check for manual override query param
  13. if (integrationSlug && parsed.manual !== '1') {
  14. return <PlatformIntegrationSetup integrationSlug={integrationSlug} {...props} />;
  15. }
  16. return <Platform {...props} />;
  17. };
  18. export default PlatformOrIntegration;