@@ -10,24 +10,15 @@ type Props = { userMail: string; isAdmin: boolean };
1010
1111const MisReservas : React . FC < Props > = ( { userMail, isAdmin = false } ) => {
1212 const { reservations, parkingSlots} = useGraphServices ( ) ;
13-
1413 const [ spotNames , setSpotNames ] = React . useState < Record < string , string > > ( { } ) ;
15-
16- // 👇 servicio primero, luego mail, luego flag
17- const {
18- rows, loading, error,
19- range, setRange, applyRange,
20- pageSize, setPageSize, pageIndex, hasNext, nextPage, prevPage,
21- cancelReservation,
22- filterMode, setFilterMode, reloadAll
23- } = useMisReservas ( reservations , userMail , isAdmin ) ;
24-
14+ const { rows, loading, error, range, pageSize, pageIndex, hasNext, filterMode,
15+ cancelReservation, setRange, applyRange, setPageSize, nextPage, prevPage, setFilterMode, reloadAll} = useMisReservas ( reservations , userMail , isAdmin ) ;
2516
2617 React . useEffect ( ( ) => {
2718 reloadAll ( ) ;
2819 } , [ userMail , filterMode , range . from , range . to , pageIndex , pageSize ] ) ;
2920
30- React . useEffect ( ( ) => {
21+ React . useEffect ( ( ) => {
3122 const fetchSpots = async ( ) => {
3223 if ( ! rows || rows . length === 0 ) return ;
3324
@@ -60,22 +51,10 @@ const MisReservas: React.FC<Props> = ({ userMail, isAdmin = false }) => {
6051
6152 < div className = { styles . topBar } >
6253 < div className = { styles . segmented } >
63- < button
64- type = "button"
65- className = { `${ styles . segmentBtn } ${ filterMode === 'upcoming-active' ? styles . segmentBtnActive : '' } ` }
66- onClick = { ( ) => setFilterMode ( 'upcoming-active' ) }
67- disabled = { loading }
68- title = "Mostrar próximas con estado Activa"
69- >
54+ < button type = "button" className = { `${ styles . segmentBtn } ${ filterMode === 'upcoming-active' ? styles . segmentBtnActive : '' } ` } onClick = { ( ) => setFilterMode ( 'upcoming-active' ) } disabled = { loading } title = "Mostrar próximas con estado Activa" >
7055 Próximas activas
7156 </ button >
72- < button
73- type = "button"
74- className = { `${ styles . segmentBtn } ${ filterMode === 'history' ? styles . segmentBtnActive : '' } ` }
75- onClick = { ( ) => setFilterMode ( 'history' ) }
76- disabled = { loading }
77- title = "Ver pasadas y canceladas (con rango de fechas)"
78- >
57+ < button type = "button" className = { `${ styles . segmentBtn } ${ filterMode === 'history' ? styles . segmentBtnActive : '' } ` } onClick = { ( ) => setFilterMode ( 'history' ) } disabled = { loading } title = "Ver pasadas y canceladas (con rango de fechas)" >
7958 Historial
8059 </ button >
8160 </ div >
@@ -85,24 +64,12 @@ const MisReservas: React.FC<Props> = ({ userMail, isAdmin = false }) => {
8564 < form className = { styles . form } onSubmit = { ( e ) => { e . preventDefault ( ) ; applyRange ( ) ; } } >
8665 < label className = { styles . label } >
8766 Desde
88- < input
89- className = { styles . input }
90- type = "date"
91- value = { range . from }
92- max = { range . to || undefined }
93- onChange = { ( e ) => setRange ( r => ( { ...r , from : e . target . value } ) ) }
94- />
67+ < input className = { styles . input } type = "date" value = { range . from } max = { range . to || undefined } onChange = { ( e ) => setRange ( r => ( { ...r , from : e . target . value } ) ) } />
9568 </ label >
9669
9770 < label className = { styles . label } >
9871 Hasta
99- < input
100- className = { styles . input }
101- type = "date"
102- value = { range . to }
103- min = { range . from || undefined }
104- onChange = { ( e ) => setRange ( r => ( { ...r , to : e . target . value } ) ) }
105- />
72+ < input className = { styles . input } type = "date" value = { range . to } min = { range . from || undefined } onChange = { ( e ) => setRange ( r => ( { ...r , to : e . target . value } ) ) } />
10673 </ label >
10774 </ form >
10875 ) }
@@ -144,12 +111,7 @@ const MisReservas: React.FC<Props> = ({ userMail, isAdmin = false }) => {
144111 </ td >
145112 < td className = { styles . td } >
146113 { r . Status === 'Activa' ? (
147- < button
148- className = { styles . cancelBtn }
149- onClick = { ( ) => { void cancelReservation ( r . Id ) ; } }
150- disabled = { loading }
151- title = "Cancelar esta reserva"
152- >
114+ < button className = { styles . cancelBtn } onClick = { ( ) => { void cancelReservation ( r . Id ) ; } } disabled = { loading } title = "Cancelar esta reserva" >
153115 Cancelar
154116 </ button >
155117 ) : (
@@ -176,12 +138,7 @@ const MisReservas: React.FC<Props> = ({ userMail, isAdmin = false }) => {
176138 < div className = { styles . paginationRight } >
177139 < label className = { styles . pageSizeLabel } >
178140 Filas por página
179- < select
180- className = { styles . pageSizeSelect }
181- value = { pageSize }
182- onChange = { ( e ) => setPageSize ( Number ( e . target . value ) || 20 ) }
183- disabled = { loading }
184- >
141+ < select className = { styles . pageSizeSelect } value = { pageSize } onChange = { ( e ) => setPageSize ( Number ( e . target . value ) || 20 ) } disabled = { loading } >
185142 < option value = { 5 } > 5</ option >
186143 < option value = { 10 } > 10</ option >
187144 < option value = { 20 } > 20</ option >
0 commit comments