Skip to content

Commit 42c6389

Browse files
committed
refactor: extract StepOneForm to new component
1 parent c2821e9 commit 42c6389

File tree

1 file changed

+60
-45
lines changed

1 file changed

+60
-45
lines changed

cards/02.advanced_version/RentalCars/src/app/extensions/CreateRental.jsx

Lines changed: 60 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -269,51 +269,12 @@ const Extension = ({ context, runServerless, sendAlert, fetchProperties }) => {
269269
/>
270270
)}
271271
{currentStep === 1 && (
272-
<>
273-
<Table
274-
width={'max'}
275-
paginated={false}
276-
>
277-
<TableHead>
278-
<TableRow>
279-
<TableHeader width={'min'}>MakeTableHeader>
280-
<TableHeader width={'min'}>
281-
Model
282-
TableHeader>
283-
<TableHeader width={'min'}>
284-
<Link variant="dark"
285-
onClick={() => { setVehicleYearSort(vehicleYearSort === 'asc' ? 'desc' : 'asc') }}
286-
>
287-
Year
288-
Link>
289-
{vehicleYearSort === '' ? ' ' : vehicleYearSort === 'asc' ? ' ↓' : ' ↑'}
290-
TableHeader>
291-
<TableHeader width={'min'} >
292-
Book
293-
TableHeader>
294-
TableRow>
295-
TableHead>
296-
<TableBody>
297-
298-
{vehiclesOnPage.map((vehicle) => (
299-
<TableRow>
300-
<TableCell>
301-
<Text>{vehicle.properties.make}Text>
302-
TableCell>
303-
<TableCell>
304-
<Text>{vehicle.properties.model}Text>
305-
TableCell>
306-
<TableCell>
307-
<Text>{vehicle.properties.year}Text>
308-
TableCell>
309-
<TableCell>
310-
<Link onClick={() => { goToBookingPage(vehicle) }}>Book nowLink>
311-
TableCell>
312-
TableRow>
313-
))}
314-
TableBody>
315-
Table>
316-
>
272+
<StepOneForm
273+
goToBookingPage={goToBookingPage}
274+
setVehicleYearSort={setVehicleYearSort}
275+
vehiclesOnPage={vehiclesOnPage}
276+
vehicleYearSort={vehicleYearSort}
277+
/>
317278
)}
318279
{
319280
currentStep === 2 && (
@@ -626,4 +587,58 @@ const StepZeroForm = ({
626587
Table>
627588
>
628589
);
590+
};
591+
592+
const StepOneForm = ({
593+
goToBookingPage,
594+
setVehicleYearSort,
595+
vehiclesOnPage,
596+
vehicleYearSort
597+
}) => {
598+
return(
599+
<>
600+
<Table
601+
width={'max'}
602+
paginated={false}
603+
>
604+
<TableHead>
605+
<TableRow>
606+
<TableHeader width={'min'}>MakeTableHeader>
607+
<TableHeader width={'min'}>
608+
Model
609+
TableHeader>
610+
<TableHeader width={'min'}>
611+
<Link variant="dark"
612+
onClick={() => { setVehicleYearSort(vehicleYearSort === 'asc' ? 'desc' : 'asc') }}
613+
>
614+
Year
615+
Link>
616+
{vehicleYearSort === '' ? ' ' : vehicleYearSort === 'asc' ? ' ↓' : ' ↑'}
617+
TableHeader>
618+
<TableHeader width={'min'} >
619+
Book
620+
TableHeader>
621+
TableRow>
622+
TableHead>
623+
<TableBody>
624+
{vehiclesOnPage.map((vehicle) => (
625+
<TableRow>
626+
<TableCell>
627+
<Text>{vehicle.properties.make}Text>
628+
TableCell>
629+
<TableCell>
630+
<Text>{vehicle.properties.model}Text>
631+
TableCell>
632+
<TableCell>
633+
<Text>{vehicle.properties.year}Text>
634+
TableCell>
635+
<TableCell>
636+
<Link onClick={() => { goToBookingPage(vehicle) }}>Book nowLink>
637+
TableCell>
638+
TableRow>
639+
))}
640+
TableBody>
641+
Table>
642+
>
643+
);
629644
};

0 commit comments

Comments
 (0)