diff --git a/advertsCars.json b/advertsCars.json deleted file mode 100644 index b1f558d..0000000 --- a/advertsCars.json +++ /dev/null @@ -1,652 +0,0 @@ -[ - { - "id": 9582, - "year": 2008, - "make": "Buick", - "model": "Enclave", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/buick_enclave.jpg", - "description": "The Buick Enclave is a stylish and spacious SUV known for its comfortable ride and luxurious features.", - "fuelConsumption": "10.5", - "engineSize": "3.6L V6", - "accessories": [ - "Leather seats", - "Panoramic sunroof", - "Premium audio system" - ], - "functionalities": [ - "Power liftgate", - "Remote start", - "Blind-spot monitoring" - ], - "rentalPrice": "$40", - "rentalCompany": "Luxury Car Rentals", - "address": "123 Example Street, Kiev, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit required", - "mileage": 5858 - }, - { - "id": 9584, - "year": 2019, - "make": "Volvo", - "model": "XC90", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/volvo_xc90.jpg", - "description": "The Volvo XC90 is a premium SUV that offers exceptional safety, advanced technology, and elegant design.", - "fuelConsumption": "8.3", - "engineSize": "2.0L 4-cylinder", - "accessories": [ - "Nappa leather seats", - "Bowers & Wilkins premium sound system", - "Head-up display" - ], - "functionalities": [ - "IntelliSafe advanced safety features", - "Pilot Assist semi-autonomous driving", - "Four-zone automatic climate control" - ], - "rentalPrice": "$50", - "rentalCompany": "Premium Auto Rentals", - "address": "456 Example Avenue, Lviv, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nProof of insurance required", - "mileage": 5352 - }, - { - "id": 9586, - "year": 2020, - "make": "Volvo", - "model": "XC60", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/volvo_xc60.webp", - "description": "The Volvo XC60 is a compact luxury SUV with a beautiful interior, strong performance, and advanced safety features.", - "fuelConsumption": "7.9", - "engineSize": "2.0L 4-cylinder", - "accessories": [ - "Premium leather seats", - "Harman Kardon audio system", - "Hands-free power tailgate" - ], - "functionalities": [ - "City Safety collision avoidance technology", - "Pilot Assist with adaptive cruise control", - "9-inch Sensus touchscreen infotainment system" - ], - "rentalPrice": "$45", - "rentalCompany": "Luxury Car Rentals", - "address": "789 Example Boulevard, Odessa, Ukraine", - "rentalConditions": "Minimum age: 23\nValid driver's license\nCredit card required", - "mileage": 5966 - }, - { - "id": 9587, - "year": 2006, - "make": "HUMMER", - "model": "H2", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/hummer_h2.webp", - "description": "The HUMMER H2 is a rugged and powerful SUV that stands out with its imposing presence and off-road capabilities.", - "fuelConsumption": "19.8", - "engineSize": "6.0L V8", - "accessories": [ - "Heated leather seats", - "Bose premium sound system", - "Off-road package" - ], - "functionalities": [ - "Electronic locking front and rear differentials", - "Stabilitrak stability control", - "Tire pressure monitoring system" - ], - "rentalPrice": "$55", - "rentalCompany": "Adventure Car Rentals", - "address": "321 Example Road, Kharkiv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit required", - "mileage": 4771 - }, - { - "id": 9590, - "year": 2016, - "make": "Subaru", - "model": "Outback", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/subaru_outback.jpg", - "description": "The Subaru Outback is a versatile and reliable SUV that combines off-road capability with a comfortable and spacious interior.", - "fuelConsumption": "8.7", - "engineSize": "2.5L 4-cylinder", - "accessories": [ - "Leather upholstery", - "Power moonroof", - "Harman Kardon premium audio system" - ], - "functionalities": [ - "Symmetrical All-Wheel Drive", - "X-Mode off-road assist", - "Subaru EyeSight driver-assist system" - ], - "rentalPrice": "$35", - "rentalCompany": "Adventure Car Rentals", - "address": "987 Example Street, Kyiv, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nCredit card required", - "mileage": 4061 - }, - { - "id": 9591, - "year": 2010, - "make": "Mitsubishi", - "model": "Outlander", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/mitsubishi_outlander.jpg", - "description": "The Mitsubishi Outlander is a practical and fuel-efficient SUV with a stylish design and a range of modern features.", - "fuelConsumption": "7.9", - "engineSize": "2.4L 4-cylinder", - "accessories": [ - "Heated front seats", - "Rockford Fosgate premium audio system", - "Power liftgate" - ], - "functionalities": [ - "Super All-Wheel Control", - "Multi-View camera system", - "Bluetooth hands-free system" - ], - "rentalPrice": "$30", - "rentalCompany": "City Car Rentals", - "address": "654 Example Avenue, Lviv, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nProof of insurance required", - "mileage": 5374 - }, - { - "id": 9593, - "year": 2014, - "make": "Nissan", - "model": "Pathfinder", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/nissan_pathfinder.jpg", - "description": "The Nissan Pathfinder is a versatile and family-friendly SUV that offers a comfortable ride and generous cargo space.", - "fuelConsumption": "9.5", - "engineSize": "3.5L V6", - "accessories": [ - "Tri-Zone Automatic Climate Control", - "Bose premium audio system", - "Rear-seat entertainment system" - ], - "functionalities": [ - "Intelligent 4x4 system", - "Advanced Drive-Assist Display", - "Nissan Intelligent Key with push-button ignition" - ], - "rentalPrice": "$40", - "rentalCompany": "Luxury Car Rentals", - "address": "321 Example Road, Odessa, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit required", - "mileage": 6282 - }, - { - "id": 9596, - "year": 2009, - "make": "Lincoln", - "model": "Navigator L", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/lincoln_navigator_l.webp", - "description": "The Lincoln Navigator L is a luxurious and spacious SUV with a refined interior and advanced technology features.", - "fuelConsumption": "18.2", - "engineSize": "5.4L V8", - "accessories": [ - "Premium leather seats", - "THX II Certified audio system", - "Power-deployable running boards" - ], - "functionalities": [ - "AdvanceTrac with Roll Stability Control", - "Voice-Activated Navigation System", - "Power liftgate" - ], - "rentalPrice": "$50", - "rentalCompany": "Elite Car Rentals", - "address": "123 Example Boulevard, Kharkiv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nInsurance coverage required", - "mileage": 6173 - }, - { - "id": 9597, - "year": 2000, - "make": "GMC", - "model": "Yukon Denali", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/gmc_yukon_denali.jpg", - "description": "The GMC Yukon Denali is a full-size luxury SUV that offers a powerful engine, a comfortable and spacious interior, and a host of advanced features.", - "fuelConsumption": "14.5", - "engineSize": "6.0L V8", - "accessories": [ - "Heated and ventilated front seats", - "BOSE premium sound system", - "Power-folding third-row seats" - ], - "functionalities": [ - "All-Wheel Drive", - "Adaptive suspension", - "Advanced safety features" - ], - "rentalPrice": "$45", - "rentalCompany": "Premium Car Rentals", - "address": "789 Example Square, Dnipro, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit required", - "mileage": 4989 - }, - { - "id": 9598, - "year": 2007, - "make": "Hyundai", - "model": "Tucson", - "type": "SUV", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/hyundai_tucson.jpg", - "description": "The Hyundai Tucson is a reliable and fuel-efficient SUV that combines practicality with a stylish design and a comfortable ride.", - "fuelConsumption": "8.2", - "engineSize": "2.0L 4-cylinder", - "accessories": [ - "Apple CarPlay and Android Auto integration", - "Blind Spot Detection", - "Hands-free smart liftgate" - ], - "functionalities": [ - "Front-Wheel Drive", - "Hillstart Assist Control", - "LED headlights" - ], - "rentalPrice": "$25", - "rentalCompany": "Economy Car Rentals", - "address": "456 Example Lane, Zaporizhzhia, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nCredit card required", - "mileage": 4591 - }, - { - "id": 9583, - "year": 2006, - "make": "MINI", - "model": "Convertible", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/mini_convertible.jpg", - "description": "The MINI Convertible is a compact and fun-to-drive convertible that offers a unique and iconic design, agile handling, and an open-air driving experience.", - "fuelConsumption": "6.9", - "engineSize": "1.6L 4-cylinder", - "accessories": [ - "Convertible soft top", - "Sport seats", - "MINI Connected infotainment system" - ], - "functionalities": [ - "Front-Wheel Drive", - "Dynamic Stability Control", - "Rain-sensing wipers" - ], - "rentalPrice": "$30", - "rentalCompany": "Fun Car Rentals", - "address": "234 Example Place, Vinnytsia, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nProof of insurance required", - "mileage": 6275 - }, - { - "id": 9606, - "year": 2007, - "make": "Bentley", - "model": "Azure", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/bentley_azure.jpg", - "description": "The Bentley Azure is a luxurious and prestigious convertible that combines exceptional craftsmanship, powerful performance, and sophisticated elegance.", - "fuelConsumption": "22.5", - "engineSize": "6.8L V8", - "accessories": [ - "Mulliner Driving Specification", - "Naim for Bentley premium audio system", - "Heated steering wheel" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Air suspension", - "Automatic convertible roof" - ], - "rentalPrice": "$150", - "rentalCompany": "Luxury Car Rentals", - "address": "567 Example Street, Lviv, Ukraine", - "rentalConditions": "Minimum age: 30\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 4317 - }, - { - "id": 9612, - "year": 2004, - "make": "Mercedes-Benz", - "model": "SL-Class", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/mercedes_sl_class.jpg", - "description": "The Mercedes-Benz SL-Class is a legendary luxury convertible that offers a perfect blend of thrilling performance, advanced technology, and opulent comfort.", - "fuelConsumption": "11.8", - "engineSize": "5.0L V8", - "accessories": [ - "Airscarf neck-level heating", - "Harman Kardon premium audio system", - "Active Body Control suspension" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Retractable hardtop roof", - "Multi-contour seats" - ], - "rentalPrice": "$75", - "rentalCompany": "Exquisite Car Rentals", - "address": "789 Example Boulevard, Kyiv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and proof of insurance required", - "mileage": 5722 - }, - { - "id": 9616, - "year": 2010, - "make": "Aston Martin", - "model": "DBS", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/aston_martin_dbs.webp", - "description": "The Aston Martin DBS is a stunning and high-performance convertible that exemplifies British luxury and delivers exhilarating driving dynamics.", - "fuelConsumption": "16.5", - "engineSize": "6.0L V12", - "accessories": [ - "Carbon Ceramic brakes", - "Bang & Olufsen BeoSound audio system", - "Bridge of Weir leather upholstery" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Carbon-fiber body panels", - "Adaptive Damping System" - ], - "rentalPrice": "$200", - "rentalCompany": "Supreme Car Rentals", - "address": "123 Example Avenue, Odessa, Ukraine", - "rentalConditions": "Minimum age: 30\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 6464 - }, - { - "id": 9619, - "year": 1996, - "make": "Pontiac", - "model": "Firebird", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/pontiac_firebird.jpg", - "description": "The Pontiac Firebird is a classic American muscle car with bold styling, powerful engines, and an iconic presence that captures the essence of the golden era of performance.", - "fuelConsumption": "15.2", - "engineSize": "5.7L V8", - "accessories": [ - "T-Top roof", - "Delco premium audio system", - "Sport suspension" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Limited-slip differential", - "High-performance exhaust" - ], - "rentalPrice": "$50", - "rentalCompany": "Classic Car Rentals", - "address": "456 Example Street, Lviv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit required", - "mileage": 5091 - }, - { - "id": 9629, - "year": 2009, - "make": "Lamborghini", - "model": "Murcielago", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/lamborghini_murcielago.webp", - "description": "The Lamborghini Murcielago is an exotic and high-performance convertible that represents the epitome of Italian automotive engineering, combining breathtaking design, blistering speed, and a spine-tingling exhaust note.", - "fuelConsumption": "25.0", - "engineSize": "6.5L V12", - "accessories": [ - "Carbon-fiber body panels", - "Alcantara upholstery", - "Lamborghini Infotainment System" - ], - "functionalities": [ - "All-Wheel Drive", - "Electronic Stability Control", - "Retractable soft-top roof" - ], - "rentalPrice": "$500", - "rentalCompany": "Supercar Rentals", - "address": "321 Example Road, Kharkiv, Ukraine", - "rentalConditions": "Minimum age: 30\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 5832 - }, - { - "id": 9631, - "year": 2011, - "make": "Audi", - "model": "A5", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/audi_a5.jpg", - "description": "The Audi A5 is a stylish and refined convertible that offers a perfect blend of elegance, cutting-edge technology, and exhilarating driving dynamics.", - "fuelConsumption": "8.5", - "engineSize": "2.0L Inline-4", - "accessories": [ - "Bang & Olufsen 3D sound system", - "Audi Virtual Cockpit", - "Audi Drive Select" - ], - "functionalities": [ - "Front-Wheel Drive", - "Quattro all-wheel drive available", - "Power-folding acoustic soft-top" - ], - "rentalPrice": "$150", - "rentalCompany": "Luxury Car Rentals", - "address": "987 Example Lane, Dnipro, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 4635 - }, - { - "id": 9634, - "year": 2001, - "make": "BMW", - "model": "Z8", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/bmw_z8.jpg", - "description": "The BMW Z8 is a classic and timeless convertible that combines iconic retro-inspired design, outstanding performance, and luxurious comfort.", - "fuelConsumption": "14.2", - "engineSize": "4.9L V8", - "accessories": [ - "Aluminum space frame", - "Nappa leather upholstery", - "Harman Kardon audio system" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Dynamic Stability Control", - "Power-operated soft-top roof" - ], - "rentalPrice": "$300", - "rentalCompany": "Classic Car Rentals", - "address": "654 Example Circle, Zaporizhzhia, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and proof of insurance required", - "mileage": 5990 - }, - { - "id": 9655, - "year": 1998, - "make": "Chevrolet", - "model": "Camaro", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/chevrolet_camaro.jpg", - "description": "The Chevrolet Camaro is an American muscle car legend with a rich heritage, boasting aggressive styling, powerful engines, and exhilarating performance.", - "fuelConsumption": "13.5", - "engineSize": "5.7L V8", - "accessories": [ - "Leather upholstery", - "Bose premium sound system", - "Performance suspension" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Limited-slip differential", - "Power-operated convertible top" - ], - "rentalPrice": "$200", - "rentalCompany": "Muscle Car Rentals", - "address": "123 Example Street, Lviv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 6330 - }, - { - "id": 9685, - "year": 2006, - "make": "Mercedes-Benz", - "model": "SLK-Class", - "type": "Convertible", - "img": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/mercedes_slk_class.jpg", - "description": "The Mercedes-Benz SLK-Class is a luxurious and sporty convertible that offers a perfect balance of style, performance, and refinement, delivering an enjoyable open-top driving experience.", - "fuelConsumption": "9.8", - "engineSize": "3.5L V6", - "accessories": [ - "Airscarf neck-level heating", - "Harman Kardon surround sound system", - "Magic Sky Control panoramic roof" - ], - "functionalities": [ - "Rear-Wheel Drive", - "Dynamic Stability Control", - "Retractable hardtop roof" - ], - "rentalPrice": "$250", - "rentalCompany": "Luxury Car Rentals", - "address": "456 Example Avenue, Kyiv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 6280 - }, - { - "id": 9660, - "year": 2020, - "make": "Chrysler", - "model": "Voyager", - "type": "Van/Minivan", - "photoLink": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/chrysler_voyager.jpg", - "description": "The Chrysler Voyager is a practical and versatile van/minivan that provides comfortable seating, ample cargo space, and a range of convenient features for family-oriented transportation.", - "fuelConsumption": "8.2", - "engineSize": "3.6L V6", - "accessories": [ - "Stow 'n Go seating", - "Uconnect infotainment system", - "Blind Spot Monitoring" - ], - "functionalities": [ - "Front-Wheel Drive", - "Electronic Stability Control", - "Power sliding side doors" - ], - "rentalPrice": "$100", - "rentalCompany": "Family Car Rentals", - "address": "789 Example Boulevard, Odesa, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 5807 - }, - { - "id": 9630, - "year": 2020, - "make": "Kia", - "model": "Rio", - "type": "Hatchback", - "photoLink": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/kia_rio_hatchback.jpg", - "description": "The Kia Rio is a compact and fuel-efficient hatchback that offers a blend of affordability, reliability, and practicality, making it an excellent choice for urban commuting and everyday driving.", - "fuelConsumption": "6.2", - "engineSize": "1.6L 4-cylinder", - "accessories": [ - "Apple CarPlay and Android Auto integration", - "Smart Key with Push Button Start", - "Automatic climate control" - ], - "functionalities": [ - "Front-Wheel Drive", - "Electronic Stability Control", - "Rearview camera" - ], - "rentalPrice": "$50", - "rentalCompany": "Economy Car Rentals", - "address": "321 Example Lane, Kharkiv, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 4618 - }, - { - "id": 9586, - "year": 2020, - "make": "Volvo", - "model": "XC60", - "type": "SUV", - "photoLink": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/volvo_xc60_2.jpg", - "description": "The Volvo XC60 is a luxurious and versatile SUV that combines Scandinavian design, advanced safety features, and a comfortable driving experience, making it an ideal choice for families and adventure enthusiasts.", - "fuelConsumption": "8.5", - "engineSize": "2.0L 4-cylinder", - "accessories": [ - "Leather upholstery", - "Panoramic sunroof", - "Harman Kardon premium sound system" - ], - "functionalities": [ - "All-Wheel Drive", - "City Safety collision avoidance technology", - "Power tailgate" - ], - "rentalPrice": "$150", - "rentalCompany": "Premium Car Rentals", - "address": "987 Example Road, Dnipro, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 6618 - }, - { - "id": 9618, - "year": 2020, - "make": "Land Rover", - "model": "Range Rover Sport", - "type": "SUV", - "photoLink": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/land_rover_range_rover_sport.jpg", - "description": "The Land Rover Range Rover Sport is a premium SUV that offers a perfect blend of luxury, off-road capability, and dynamic performance, providing a refined driving experience both on and off the road.", - "fuelConsumption": "11.8", - "engineSize": "3.0L V6", - "accessories": [ - "Premium Windsor leather seats", - "Meridian surround sound system", - "Adaptive Dynamics suspension" - ], - "functionalities": [ - "All-Wheel Drive", - "Terrain Response 2 system", - "Power-operated gesture tailgate" - ], - "rentalPrice": "$300", - "rentalCompany": "Luxury SUV Rentals", - "address": "654 Example Street, Lviv, Ukraine", - "rentalConditions": "Minimum age: 25\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 4856 - }, - { - "id": 9630, - "year": 2020, - "make": "Kia", - "model": "Rio", - "type": "Sedan, Hatchback", - "photoLink": "https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/kia_rio_sedan_hatchback.jpg", - "description": "The Kia Rio is a versatile and fuel-efficient vehicle available in both sedan and hatchback body styles, offering a comfortable cabin, modern features, and a smooth driving experience, making it an attractive choice for urban commuters.", - "fuelConsumption": "6.2", - "engineSize": "1.6L 4-cylinder", - "accessories": [ - "Apple CarPlay and Android Auto integration", - "Smart Key with Push Button Start", - "Automatic climate control" - ], - "functionalities": [ - "Front-Wheel Drive", - "Electronic Stability Control", - "Rearview camera" - ], - "rentalPrice": "$50", - "rentalCompany": "Economy Car Rentals", - "address": "321 Example Lane, Kharkiv, Ukraine", - "rentalConditions": "Minimum age: 21\nValid driver's license\nSecurity deposit and insurance required", - "mileage": 6234 - } -] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index cdf1fa3..2889f2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,14 +12,19 @@ "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.12", "@mui/material": "^5.14.12", + "@reduxjs/toolkit": "^1.9.7", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-loader-spinner": "^5.4.5", + "react-redux": "^8.1.3", "react-router-dom": "^6.16.0", "react-scripts": "5.0.1", + "react-select": "^5.7.7", + "redux-persist": "^6.0.0", "web-vitals": "^2.1.4" }, "devDependencies": { @@ -3715,6 +3720,29 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@reduxjs/toolkit": { + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", + "integrity": "sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ==", + "dependencies": { + "immer": "^9.0.21", + "redux": "^4.2.1", + "redux-thunk": "^2.4.2", + "reselect": "^4.1.8" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.0.2" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@remix-run/router": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.9.0.tgz", @@ -4488,6 +4516,15 @@ "@types/node": "*" } }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-YIQtIg4PKr7ZyqNPZObpxfHsHEmuB8dXCxd6qVcGuQVDK2bpsF7bYNnBJ4Nn7giuACZg+WewExgrtAJ3XnA4Xw==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -4915,6 +4952,11 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.4.tgz", "integrity": "sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==" }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "node_modules/@types/ws": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.6.tgz", @@ -5784,6 +5826,29 @@ "node": ">=4" } }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/axobject-query": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", @@ -12902,6 +12967,11 @@ "node": ">= 4.0.0" } }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -15088,6 +15158,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -15395,6 +15470,49 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/react-redux": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.3.tgz", + "integrity": "sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==", + "dependencies": { + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/react-redux/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, "node_modules/react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -15505,6 +15623,26 @@ } } }, + "node_modules/react-select": { + "version": "5.7.7", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.7.tgz", + "integrity": "sha512-HhashZZJDRlfF/AKj0a0Lnfs3sRdw/46VJIRd8IbB9/Ovr74+ZIwkAdSBjSPXsFMG+u72c5xShqwLSKIJllzqw==", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -15575,6 +15713,30 @@ "node": ">=8" } }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-persist": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz", + "integrity": "sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==", + "peerDependencies": { + "redux": ">4.0.0" + } + }, + "node_modules/redux-thunk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", + "peerDependencies": { + "redux": "^4" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -15720,6 +15882,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + }, "node_modules/resolve": { "version": "1.22.6", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", @@ -17647,6 +17814,27 @@ "requires-port": "^1.0.0" } }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index b6889d3..4f037a7 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,19 @@ "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.14.12", "@mui/material": "^5.14.12", + "@reduxjs/toolkit": "^1.9.7", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.5.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-loader-spinner": "^5.4.5", + "react-redux": "^8.1.3", "react-router-dom": "^6.16.0", "react-scripts": "5.0.1", + "react-select": "^5.7.7", + "redux-persist": "^6.0.0", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/src/components/CarItem/CarItem.jsx b/src/components/CarItem/CarItem.jsx index 1e12412..57fa0f8 100644 --- a/src/components/CarItem/CarItem.jsx +++ b/src/components/CarItem/CarItem.jsx @@ -12,57 +12,42 @@ import { } from './CarItem.styled'; import HeartIcon from 'components/HeartIcon/HeartIcon'; -const car = { - id: 9587, - year: 2006, - make: 'HUMMER', - model: 'H2', - type: 'SUV', - img: 'https://res.cloudinary.com/ditdqzoio/image/upload/v1687252635/cars/hummer_h2.webp', - description: - 'The HUMMER H2 is a rugged and powerful SUV that stands out with its imposing presence and off-road capabilities.', - fuelConsumption: '19.8', - engineSize: '6.0L V8', - accessories: [ - 'Heated leather seats', - 'Bose premium sound system', - 'Off-road package', - ], - functionalities: [ - 'Electronic locking front and rear differentials', - 'Stabilitrak stability control', - 'Tire pressure monitoring system', - ], - rentalPrice: '$55', - rentalCompany: 'Adventure Car Rentals', - address: '321 Example Road, Kharkiv, Ukraine', - rentalConditions: - "Minimum age: 25\nValid driver's license\nSecurity deposit required", - mileage: 4771, -}; - -export default function CarItem() { +export default function CarItem({ + data: { + img, + make, + model, + year, + rentalPrice, + address, + rentalCompany, + type, + mileage, + accessories, + }, +}) { + console.log(CarItem); return ( - Car + Car - {car.make} {''} - <Span>{car.model}</Span>, {car.year} + {make} {''} + <Span>{model}</Span>, {year} - {car.rentalPrice} + {rentalPrice} - {car.address.split(',')[1]} - {car.address.split(',')[2]} - {car.rentalCompany} - {car.type} - {car.model} - {car.mileage} - {car.accessories[0]} + {address.split(',')[1]} + {address.split(',')[2]} + {rentalCompany} + {type} + {model} + {mileage} + {accessories[0]}