@@ -9,8 +9,6 @@ import Typography from '@mui/material/Typography';
99import Checkbox from '@mui/material/Checkbox' ;
1010import FormControlLabel from '@mui/material/FormControlLabel' ;
1111import FormGroup from '@mui/material/FormGroup' ;
12- import Select from '@mui/material/Select' ;
13- import MenuItem from '@mui/material/MenuItem' ;
1412import TextField from '@mui/material/TextField' ;
1513import Button from '@mui/material/Button' ;
1614import IconButton from '@mui/material/IconButton' ;
@@ -249,29 +247,37 @@ export default function PromptsPage() {
249247 < Box sx = { { px : 2 , pb : 1 , display : 'flex' , flexDirection : 'column' , gap : 1.5 } } >
250248 < Box >
251249 < Typography variant = "overline" sx = { { color : 'text.secondary' } } > Role</ Typography >
252- < Select
253- value = { state . role }
254- onChange = { e => setState ( prev => ( { ...prev , role : e . target . value as RoleName } ) ) }
255- size = "small"
256- fullWidth
257- >
250+ < Box sx = { { display : 'flex' , flexWrap : 'wrap' , gap : 0.75 , mt : 0.5 } } >
258251 { Object . entries ( ROLE_LABELS ) . map ( ( [ value , label ] ) => (
259- < MenuItem key = { value } value = { value } > { label } </ MenuItem >
252+ < Chip
253+ key = { value }
254+ label = { label }
255+ size = "small"
256+ onClick = { ( ) => setState ( prev => ( { ...prev , role : value as RoleName } ) ) }
257+ sx = { state . role === value
258+ ? { bgcolor : 'primary.main' , color : '#fff' , '&:hover' : { bgcolor : 'primary.dark' } , textTransform : 'uppercase' , fontWeight : 700 , letterSpacing : '0.05em' }
259+ : { opacity : 0.5 , textTransform : 'uppercase' , fontWeight : 700 , letterSpacing : '0.05em' }
260+ }
261+ />
260262 ) ) }
261- </ Select >
263+ </ Box >
262264 </ Box >
263265 < Box >
264266 < Typography variant = "overline" sx = { { color : 'text.secondary' } } > Style</ Typography >
265- < Select
266- value = { state . style }
267- onChange = { e => setState ( prev => ( { ...prev , style : e . target . value as StyleName } ) ) }
268- size = "small"
269- fullWidth
270- >
267+ < Box sx = { { display : 'flex' , flexWrap : 'wrap' , gap : 0.75 , mt : 0.5 } } >
271268 { Object . entries ( STYLE_LABELS ) . map ( ( [ value , label ] ) => (
272- < MenuItem key = { value } value = { value } > { label } </ MenuItem >
269+ < Chip
270+ key = { value }
271+ label = { label }
272+ size = "small"
273+ onClick = { ( ) => setState ( prev => ( { ...prev , style : value as StyleName } ) ) }
274+ sx = { state . style === value
275+ ? { bgcolor : 'primary.main' , color : '#fff' , '&:hover' : { bgcolor : 'primary.dark' } , textTransform : 'uppercase' , fontWeight : 700 , letterSpacing : '0.05em' }
276+ : { opacity : 0.5 , textTransform : 'uppercase' , fontWeight : 700 , letterSpacing : '0.05em' }
277+ }
278+ />
273279 ) ) }
274- </ Select >
280+ </ Box >
275281 </ Box >
276282 </ Box >
277283
0 commit comments