mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	feat: UI for playground of change requests (#7721)
## About the changes UI draft
This commit is contained in:
		
							parent
							
								
									f1e95108d1
								
							
						
					
					
						commit
						4aa3a64530
					
				| @ -8,6 +8,7 @@ import { | ||||
| import { | ||||
|     Autocomplete, | ||||
|     Box, | ||||
|     Button, | ||||
|     IconButton, | ||||
|     InputAdornment, | ||||
|     styled, | ||||
| @ -29,6 +30,8 @@ import { | ||||
| } from '../../playground.utils'; | ||||
| import Clear from '@mui/icons-material/Clear'; | ||||
| import { ProjectSelect } from '../../../../common/ProjectSelect/ProjectSelect'; | ||||
| import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; | ||||
| import { useUiFlag } from 'hooks/useUiFlag'; | ||||
| 
 | ||||
| interface IPlaygroundConnectionFieldsetProps { | ||||
|     environments: string[]; | ||||
| @ -51,6 +54,21 @@ const SmallClear = styled(Clear)({ | ||||
|     fontSize: '1.25rem', | ||||
| }); | ||||
| 
 | ||||
| const StyledInput = styled(Input)(() => ({ | ||||
|     width: '100%', | ||||
| })); | ||||
| 
 | ||||
| const StyledGrid = styled(Box)(({ theme }) => ({ | ||||
|     display: 'grid', | ||||
|     columnGap: theme.spacing(2), | ||||
|     rowGap: theme.spacing(4), | ||||
|     gridTemplateColumns: '1fr', | ||||
| 
 | ||||
|     [theme.breakpoints.up('md')]: { | ||||
|         gridTemplateColumns: '1fr 1fr', | ||||
|     }, | ||||
| })); | ||||
| 
 | ||||
| export const PlaygroundConnectionFieldset: VFC< | ||||
|     IPlaygroundConnectionFieldsetProps | ||||
| > = ({ | ||||
| @ -68,6 +86,10 @@ export const PlaygroundConnectionFieldset: VFC< | ||||
| 
 | ||||
|     const { projects: availableProjects } = useProjects(); | ||||
| 
 | ||||
|     const isChangeRequestPlaygroundEnabled = useUiFlag( | ||||
|         'changeRequestPlayground', | ||||
|     ); | ||||
| 
 | ||||
|     const projectsOptions = [ | ||||
|         allOption, | ||||
|         ...availableProjects.map(({ name: label, id }) => ({ | ||||
| @ -209,8 +231,8 @@ export const PlaygroundConnectionFieldset: VFC< | ||||
|                     Access configuration | ||||
|                 </Typography> | ||||
|             </Box> | ||||
|             <Box sx={{ display: 'flex', gap: 2, flexWrap: 'wrap' }}> | ||||
|                 <Box flex={1}> | ||||
|             <StyledGrid> | ||||
|                 <Box> | ||||
|                     <Tooltip | ||||
|                         arrow | ||||
|                         title={ | ||||
| @ -240,7 +262,7 @@ export const PlaygroundConnectionFieldset: VFC< | ||||
|                         /> | ||||
|                     </Tooltip> | ||||
|                 </Box> | ||||
|                 <Box flex={1}> | ||||
|                 <Box> | ||||
|                     <Tooltip | ||||
|                         arrow | ||||
|                         title={ | ||||
| @ -258,9 +280,8 @@ export const PlaygroundConnectionFieldset: VFC< | ||||
|                         /> | ||||
|                     </Tooltip> | ||||
|                 </Box> | ||||
|             </Box> | ||||
|             <Input | ||||
|                 sx={{ mt: 2, width: '50%', pr: 1 }} | ||||
|                 <Box> | ||||
|                     <StyledInput | ||||
|                         label='API token' | ||||
|                         value={token || ''} | ||||
|                         onChange={onSetToken} | ||||
| @ -274,5 +295,38 @@ export const PlaygroundConnectionFieldset: VFC< | ||||
|                         }} | ||||
|                     /> | ||||
|                 </Box> | ||||
|                 <ConditionallyRender | ||||
|                     condition={Boolean(isChangeRequestPlaygroundEnabled)} | ||||
|                     show={ | ||||
|                         <Box sx={{ display: 'flex', gap: 2 }}> | ||||
|                             <Box sx={{ flex: 1 }}> | ||||
|                                 <StyledInput | ||||
|                                     label='Change request' | ||||
|                                     value={ | ||||
|                                         '// TODO: Change request #5 (feature1, feature2)' | ||||
|                                     } | ||||
|                                     onChange={() => {}} | ||||
|                                     type={'text'} | ||||
|                                     // error={Boolean(tokenError)}
 | ||||
|                                     // errorText={tokenError}
 | ||||
|                                     placeholder={'Enter your API token'} | ||||
|                                     data-testid={'PLAYGROUND_TOKEN_INPUT'} | ||||
|                                     // disabled
 | ||||
|                                     InputProps={{ | ||||
|                                         endAdornment: renderClearButton(), | ||||
|                                         sx: { | ||||
|                                             cursor: 'default', | ||||
|                                         }, | ||||
|                                     }} | ||||
|                                 /> | ||||
|                             </Box> | ||||
|                             <Button variant='outlined' size='small'> | ||||
|                                 View change request | ||||
|                             </Button> | ||||
|                         </Box> | ||||
|                     } | ||||
|                 /> | ||||
|             </StyledGrid> | ||||
|         </Box> | ||||
|     ); | ||||
| }; | ||||
|  | ||||
| @ -96,6 +96,7 @@ export type UiFlags = { | ||||
|     integrationEvents?: boolean; | ||||
|     improveCreateFlagFlow?: boolean; | ||||
|     newEventSearch?: boolean; | ||||
|     changeRequestPlayground?: boolean; | ||||
| }; | ||||
| 
 | ||||
| export interface IVersionInfo { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user