stepTwo.tsx 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import styled from '@emotion/styled';
  2. import SelectField from 'sentry/components/forms/selectField';
  3. import {t} from 'sentry/locale';
  4. import {AppStoreApp, StepTwoData} from './types';
  5. type Props = {
  6. appStoreApps: AppStoreApp[];
  7. onSetStepTwoData: (stepTwoData: StepTwoData) => void;
  8. stepTwoData: StepTwoData;
  9. };
  10. function StepTwo({stepTwoData, onSetStepTwoData, appStoreApps}: Props) {
  11. return (
  12. <StyledSelectField
  13. name="application"
  14. label={t('App Store Connect application')}
  15. options={appStoreApps.map(appStoreApp => ({
  16. value: appStoreApp.appId,
  17. label: appStoreApp.name,
  18. }))}
  19. placeholder={t('Select application')}
  20. onChange={appId => {
  21. const selectedAppStoreApp = appStoreApps.find(
  22. appStoreApp => appStoreApp.appId === appId
  23. );
  24. onSetStepTwoData({app: selectedAppStoreApp});
  25. }}
  26. value={stepTwoData.app?.appId ?? ''}
  27. inline={false}
  28. flexibleControlStateSize
  29. stacked
  30. required
  31. />
  32. );
  33. }
  34. export default StepTwo;
  35. const StyledSelectField = styled(SelectField)`
  36. padding-right: 0;
  37. `;