@@ -39,7 +39,8 @@ export const ManageCategoryDialog = ({ open, onClose, onChange, category, curren
3939 price : Yup . number ( ) . required ( "Price is required" ) ,
4040 color : Yup . string ( ) ,
4141 activeColor : Yup . string ( ) ,
42- occupiedColor : Yup . string ( )
42+ occupiedColor : Yup . string ( ) ,
43+ maxTickets : Yup . number ( ) . nullable ( )
4344 } ) ;
4445
4546
@@ -49,7 +50,8 @@ export const ManageCategoryDialog = ({ open, onClose, onChange, category, curren
4950 price : category ?. price ?? 0 ,
5051 color : category ?. color ?? SEAT_COLORS . normal ,
5152 activeColor : category ?. activeColor ?? SEAT_COLORS . active ,
52- occupiedColor : category ?. occupiedColor ?? SEAT_COLORS . occupied
53+ occupiedColor : category ?. occupiedColor ?? SEAT_COLORS . occupied ,
54+ maxTickets : category ?. maxTickets ?? null
5355 } ,
5456 validationSchema : schema ,
5557 onSubmit : async ( values ) => {
@@ -83,6 +85,7 @@ export const ManageCategoryDialog = ({ open, onClose, onChange, category, curren
8385 formik . setFieldValue ( "color" , category . color ) ;
8486 formik . setFieldValue ( "activeColor" , category . activeColor ) ;
8587 formik . setFieldValue ( "occupiedColor" , category . occupiedColor ) ;
88+ formik . setFieldValue ( "maxTickets" , category . maxTickets ) ;
8689 } , [ category ] ) ;
8790
8891 const handleDeleteCategory = async ( ) => {
@@ -222,6 +225,19 @@ export const ManageCategoryDialog = ({ open, onClose, onChange, category, curren
222225 hideTextfield
223226 />
224227 </ Stack >
228+ < Stack
229+ direction = { "column" }
230+ spacing = { 2 }
231+ >
232+ < TextField
233+ label = { "Maximum Tickets" }
234+ sx = { { flexGrow : 1 } }
235+ { ...getFieldProps ( "maxTickets" ) }
236+ />
237+ < Typography variant = "caption" >
238+ Leave empty for unlimited tickets per order
239+ </ Typography >
240+ </ Stack >
225241 < Stack direction = { "row" } >
226242 < LoadingButton
227243 fullWidth
0 commit comments