Ver código fonte

change wallpaper to carousel

master
azri 4 semanas atrás
pai
commit
781b58e0e7

+ 314
- 0
package-lock.json Ver arquivo

@@ -25,6 +25,7 @@
25 25
         "framer-motion": "^11.16.0",
26 26
         "react": "^18.3.1",
27 27
         "react-dom": "^18.3.1",
28
+        "react-material-ui-carousel": "^3.4.2",
28 29
         "react-redux": "^9.2.0",
29 30
         "react-router-dom": "^7.0.2",
30 31
         "react-scripts": "^5.0.1",
@@ -9455,6 +9456,15 @@
9455 9456
         }
9456 9457
       }
9457 9458
     },
9459
+    "node_modules/framesync": {
9460
+      "version": "5.3.0",
9461
+      "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz",
9462
+      "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==",
9463
+      "license": "MIT",
9464
+      "dependencies": {
9465
+        "tslib": "^2.1.0"
9466
+      }
9467
+    },
9458 9468
     "node_modules/fresh": {
9459 9469
       "version": "0.5.2",
9460 9470
       "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -9915,6 +9925,12 @@
9915 9925
         "he": "bin/he"
9916 9926
       }
9917 9927
     },
9928
+    "node_modules/hey-listen": {
9929
+      "version": "1.0.8",
9930
+      "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
9931
+      "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==",
9932
+      "license": "MIT"
9933
+    },
9918 9934
     "node_modules/hoist-non-react-statics": {
9919 9935
       "version": "3.3.2",
9920 9936
       "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -13478,6 +13494,18 @@
13478 13494
         "node": ">=4"
13479 13495
       }
13480 13496
     },
13497
+    "node_modules/popmotion": {
13498
+      "version": "9.3.6",
13499
+      "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-9.3.6.tgz",
13500
+      "integrity": "sha512-ZTbXiu6zIggXzIliMi8LGxXBF5ST+wkpXGEjeTUDUOCdSQ356hij/xjeUdv0F8zCQNeqB1+PR5/BB+gC+QLAPw==",
13501
+      "license": "MIT",
13502
+      "dependencies": {
13503
+        "framesync": "5.3.0",
13504
+        "hey-listen": "^1.0.8",
13505
+        "style-value-types": "4.1.4",
13506
+        "tslib": "^2.1.0"
13507
+      }
13508
+    },
13481 13509
     "node_modules/possible-typed-array-names": {
13482 13510
       "version": "1.0.0",
13483 13511
       "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
@@ -15240,6 +15268,282 @@
15240 15268
       "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
15241 15269
       "license": "MIT"
15242 15270
     },
15271
+    "node_modules/react-material-ui-carousel": {
15272
+      "version": "3.4.2",
15273
+      "resolved": "https://registry.npmjs.org/react-material-ui-carousel/-/react-material-ui-carousel-3.4.2.tgz",
15274
+      "integrity": "sha512-jUbC5aBWqbbbUOOdUe3zTVf4kMiZFwKJqwhxzHgBfklaXQbSopis4iWAHvEOLcZtSIJk4JAGxKE0CmxDoxvUuw==",
15275
+      "license": "MIT",
15276
+      "dependencies": {
15277
+        "@emotion/react": "^11.7.1",
15278
+        "@emotion/styled": "^11.6.0",
15279
+        "@mui/icons-material": "^5.4.1",
15280
+        "@mui/material": "^5.4.1",
15281
+        "@mui/system": "^5.4.1",
15282
+        "framer-motion": "^4.1.17"
15283
+      },
15284
+      "peerDependencies": {
15285
+        "@emotion/react": "^11.4.1",
15286
+        "@emotion/styled": "^11.3.0",
15287
+        "@mui/icons-material": "^5.0.0",
15288
+        "@mui/material": "^5.0.0",
15289
+        "@mui/system": "^5.0.0",
15290
+        "react": "^17.0.1 || ^18.0.0",
15291
+        "react-dom": "^17.0.2 || ^18.0.0"
15292
+      }
15293
+    },
15294
+    "node_modules/react-material-ui-carousel/node_modules/@emotion/is-prop-valid": {
15295
+      "version": "0.8.8",
15296
+      "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
15297
+      "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
15298
+      "license": "MIT",
15299
+      "optional": true,
15300
+      "dependencies": {
15301
+        "@emotion/memoize": "0.7.4"
15302
+      }
15303
+    },
15304
+    "node_modules/react-material-ui-carousel/node_modules/@emotion/memoize": {
15305
+      "version": "0.7.4",
15306
+      "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
15307
+      "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
15308
+      "license": "MIT",
15309
+      "optional": true
15310
+    },
15311
+    "node_modules/react-material-ui-carousel/node_modules/@mui/core-downloads-tracker": {
15312
+      "version": "5.16.14",
15313
+      "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz",
15314
+      "integrity": "sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA==",
15315
+      "license": "MIT",
15316
+      "funding": {
15317
+        "type": "opencollective",
15318
+        "url": "https://opencollective.com/mui-org"
15319
+      }
15320
+    },
15321
+    "node_modules/react-material-ui-carousel/node_modules/@mui/icons-material": {
15322
+      "version": "5.16.14",
15323
+      "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.16.14.tgz",
15324
+      "integrity": "sha512-heL4S+EawrP61xMXBm59QH6HODsu0gxtZi5JtnXF2r+rghzyU/3Uftlt1ij8rmJh+cFdKTQug1L9KkZB5JgpMQ==",
15325
+      "license": "MIT",
15326
+      "dependencies": {
15327
+        "@babel/runtime": "^7.23.9"
15328
+      },
15329
+      "engines": {
15330
+        "node": ">=12.0.0"
15331
+      },
15332
+      "funding": {
15333
+        "type": "opencollective",
15334
+        "url": "https://opencollective.com/mui-org"
15335
+      },
15336
+      "peerDependencies": {
15337
+        "@mui/material": "^5.0.0",
15338
+        "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
15339
+        "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
15340
+      },
15341
+      "peerDependenciesMeta": {
15342
+        "@types/react": {
15343
+          "optional": true
15344
+        }
15345
+      }
15346
+    },
15347
+    "node_modules/react-material-ui-carousel/node_modules/@mui/material": {
15348
+      "version": "5.16.14",
15349
+      "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.14.tgz",
15350
+      "integrity": "sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw==",
15351
+      "license": "MIT",
15352
+      "dependencies": {
15353
+        "@babel/runtime": "^7.23.9",
15354
+        "@mui/core-downloads-tracker": "^5.16.14",
15355
+        "@mui/system": "^5.16.14",
15356
+        "@mui/types": "^7.2.15",
15357
+        "@mui/utils": "^5.16.14",
15358
+        "@popperjs/core": "^2.11.8",
15359
+        "@types/react-transition-group": "^4.4.10",
15360
+        "clsx": "^2.1.0",
15361
+        "csstype": "^3.1.3",
15362
+        "prop-types": "^15.8.1",
15363
+        "react-is": "^19.0.0",
15364
+        "react-transition-group": "^4.4.5"
15365
+      },
15366
+      "engines": {
15367
+        "node": ">=12.0.0"
15368
+      },
15369
+      "funding": {
15370
+        "type": "opencollective",
15371
+        "url": "https://opencollective.com/mui-org"
15372
+      },
15373
+      "peerDependencies": {
15374
+        "@emotion/react": "^11.5.0",
15375
+        "@emotion/styled": "^11.3.0",
15376
+        "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
15377
+        "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
15378
+        "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
15379
+      },
15380
+      "peerDependenciesMeta": {
15381
+        "@emotion/react": {
15382
+          "optional": true
15383
+        },
15384
+        "@emotion/styled": {
15385
+          "optional": true
15386
+        },
15387
+        "@types/react": {
15388
+          "optional": true
15389
+        }
15390
+      }
15391
+    },
15392
+    "node_modules/react-material-ui-carousel/node_modules/@mui/private-theming": {
15393
+      "version": "5.16.14",
15394
+      "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.14.tgz",
15395
+      "integrity": "sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg==",
15396
+      "license": "MIT",
15397
+      "dependencies": {
15398
+        "@babel/runtime": "^7.23.9",
15399
+        "@mui/utils": "^5.16.14",
15400
+        "prop-types": "^15.8.1"
15401
+      },
15402
+      "engines": {
15403
+        "node": ">=12.0.0"
15404
+      },
15405
+      "funding": {
15406
+        "type": "opencollective",
15407
+        "url": "https://opencollective.com/mui-org"
15408
+      },
15409
+      "peerDependencies": {
15410
+        "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
15411
+        "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
15412
+      },
15413
+      "peerDependenciesMeta": {
15414
+        "@types/react": {
15415
+          "optional": true
15416
+        }
15417
+      }
15418
+    },
15419
+    "node_modules/react-material-ui-carousel/node_modules/@mui/styled-engine": {
15420
+      "version": "5.16.14",
15421
+      "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.14.tgz",
15422
+      "integrity": "sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw==",
15423
+      "license": "MIT",
15424
+      "dependencies": {
15425
+        "@babel/runtime": "^7.23.9",
15426
+        "@emotion/cache": "^11.13.5",
15427
+        "csstype": "^3.1.3",
15428
+        "prop-types": "^15.8.1"
15429
+      },
15430
+      "engines": {
15431
+        "node": ">=12.0.0"
15432
+      },
15433
+      "funding": {
15434
+        "type": "opencollective",
15435
+        "url": "https://opencollective.com/mui-org"
15436
+      },
15437
+      "peerDependencies": {
15438
+        "@emotion/react": "^11.4.1",
15439
+        "@emotion/styled": "^11.3.0",
15440
+        "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
15441
+      },
15442
+      "peerDependenciesMeta": {
15443
+        "@emotion/react": {
15444
+          "optional": true
15445
+        },
15446
+        "@emotion/styled": {
15447
+          "optional": true
15448
+        }
15449
+      }
15450
+    },
15451
+    "node_modules/react-material-ui-carousel/node_modules/@mui/system": {
15452
+      "version": "5.16.14",
15453
+      "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.14.tgz",
15454
+      "integrity": "sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw==",
15455
+      "license": "MIT",
15456
+      "dependencies": {
15457
+        "@babel/runtime": "^7.23.9",
15458
+        "@mui/private-theming": "^5.16.14",
15459
+        "@mui/styled-engine": "^5.16.14",
15460
+        "@mui/types": "^7.2.15",
15461
+        "@mui/utils": "^5.16.14",
15462
+        "clsx": "^2.1.0",
15463
+        "csstype": "^3.1.3",
15464
+        "prop-types": "^15.8.1"
15465
+      },
15466
+      "engines": {
15467
+        "node": ">=12.0.0"
15468
+      },
15469
+      "funding": {
15470
+        "type": "opencollective",
15471
+        "url": "https://opencollective.com/mui-org"
15472
+      },
15473
+      "peerDependencies": {
15474
+        "@emotion/react": "^11.5.0",
15475
+        "@emotion/styled": "^11.3.0",
15476
+        "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
15477
+        "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
15478
+      },
15479
+      "peerDependenciesMeta": {
15480
+        "@emotion/react": {
15481
+          "optional": true
15482
+        },
15483
+        "@emotion/styled": {
15484
+          "optional": true
15485
+        },
15486
+        "@types/react": {
15487
+          "optional": true
15488
+        }
15489
+      }
15490
+    },
15491
+    "node_modules/react-material-ui-carousel/node_modules/@mui/utils": {
15492
+      "version": "5.16.14",
15493
+      "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.14.tgz",
15494
+      "integrity": "sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg==",
15495
+      "license": "MIT",
15496
+      "dependencies": {
15497
+        "@babel/runtime": "^7.23.9",
15498
+        "@mui/types": "^7.2.15",
15499
+        "@types/prop-types": "^15.7.12",
15500
+        "clsx": "^2.1.1",
15501
+        "prop-types": "^15.8.1",
15502
+        "react-is": "^19.0.0"
15503
+      },
15504
+      "engines": {
15505
+        "node": ">=12.0.0"
15506
+      },
15507
+      "funding": {
15508
+        "type": "opencollective",
15509
+        "url": "https://opencollective.com/mui-org"
15510
+      },
15511
+      "peerDependencies": {
15512
+        "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
15513
+        "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
15514
+      },
15515
+      "peerDependenciesMeta": {
15516
+        "@types/react": {
15517
+          "optional": true
15518
+        }
15519
+      }
15520
+    },
15521
+    "node_modules/react-material-ui-carousel/node_modules/framer-motion": {
15522
+      "version": "4.1.17",
15523
+      "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-4.1.17.tgz",
15524
+      "integrity": "sha512-thx1wvKzblzbs0XaK2X0G1JuwIdARcoNOW7VVwjO8BUltzXPyONGAElLu6CiCScsOQRI7FIk/45YTFtJw5Yozw==",
15525
+      "license": "MIT",
15526
+      "dependencies": {
15527
+        "framesync": "5.3.0",
15528
+        "hey-listen": "^1.0.8",
15529
+        "popmotion": "9.3.6",
15530
+        "style-value-types": "4.1.4",
15531
+        "tslib": "^2.1.0"
15532
+      },
15533
+      "optionalDependencies": {
15534
+        "@emotion/is-prop-valid": "^0.8.2"
15535
+      },
15536
+      "peerDependencies": {
15537
+        "react": ">=16.8 || ^17.0.0",
15538
+        "react-dom": ">=16.8 || ^17.0.0"
15539
+      }
15540
+    },
15541
+    "node_modules/react-material-ui-carousel/node_modules/react-is": {
15542
+      "version": "19.0.0",
15543
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz",
15544
+      "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==",
15545
+      "license": "MIT"
15546
+    },
15243 15547
     "node_modules/react-redux": {
15244 15548
       "version": "9.2.0",
15245 15549
       "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
@@ -16955,6 +17259,16 @@
16955 17259
         "webpack": "^5.0.0"
16956 17260
       }
16957 17261
     },
17262
+    "node_modules/style-value-types": {
17263
+      "version": "4.1.4",
17264
+      "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-4.1.4.tgz",
17265
+      "integrity": "sha512-LCJL6tB+vPSUoxgUBt9juXIlNJHtBMy8jkXzUJSBzeHWdBu6lhzHqCvLVkXFGsFIlNa2ln1sQHya/gzaFmB2Lg==",
17266
+      "license": "MIT",
17267
+      "dependencies": {
17268
+        "hey-listen": "^1.0.8",
17269
+        "tslib": "^2.1.0"
17270
+      }
17271
+    },
16958 17272
     "node_modules/stylehacks": {
16959 17273
       "version": "5.1.1",
16960 17274
       "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",

+ 1
- 0
package.json Ver arquivo

@@ -20,6 +20,7 @@
20 20
     "framer-motion": "^11.16.0",
21 21
     "react": "^18.3.1",
22 22
     "react-dom": "^18.3.1",
23
+    "react-material-ui-carousel": "^3.4.2",
23 24
     "react-redux": "^9.2.0",
24 25
     "react-router-dom": "^7.0.2",
25 26
     "react-scripts": "^5.0.1",

BIN
src/assets/images/MAINHEADER-01.webp Ver arquivo


BIN
src/assets/images/MAINHEADER-02.webp Ver arquivo


+ 72
- 35
src/components/Carousel/Carousel.jsx Ver arquivo

@@ -2,30 +2,33 @@ import React from "react";
2 2
 import { Box, IconButton } from "@mui/material";
3 3
 import ArrowBackIosIcon from "@mui/icons-material/ArrowBackIos";
4 4
 import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos";
5
-import mainImage from "../../assets/images/mainwallpaper.jpg"
6
-import mainImageMobile from "../../assets/images/mainwallpaper-mobile.jpg"
5
+import mainImage1 from "../../assets/images/MAINHEADER-01.webp";
6
+import mainImage2 from "../../assets/images/MAINHEADER-02.webp";
7
+import mainImageMobile from "../../assets/images/mainwallpaper-mobile.jpg";
7 8
 
8 9
 const Carousel = () => {
9
-
10
+  const isMobile = window.innerWidth <= 768; // Adjust breakpoint for mobile
10 11
   const items = [
11
-    { img_src: mainImage, alt_name: "Image 1" }
12
-  ]
12
+    { img_src: mainImage1, alt_name: "Image 1" },
13
+    { img_src: mainImage2, alt_name: "Image 2" },
14
+  ];
13 15
 
14 16
   const items_mobile = [
15
-    { img_src: mainImageMobile, alt_name: "Image 1" }
16
-  ]
17
+    { img_src: mainImageMobile, alt_name: "Image 1" },
18
+  ];
17 19
 
20
+  const activeItems = isMobile ? items_mobile : items;
18 21
   const [currentIndex, setCurrentIndex] = React.useState(0);
19 22
 
20 23
   const handlePrev = () => {
21 24
     setCurrentIndex((prevIndex) =>
22
-      prevIndex === 0 ? items.length - 1 : prevIndex - 1
25
+      prevIndex === 0 ? activeItems.length - 1 : prevIndex - 1
23 26
     );
24 27
   };
25 28
 
26 29
   const handleNext = () => {
27 30
     setCurrentIndex((prevIndex) =>
28
-      prevIndex === items.length - 1 ? 0 : prevIndex + 1
31
+      prevIndex === activeItems.length - 1 ? 0 : prevIndex + 1
29 32
     );
30 33
   };
31 34
 
@@ -37,38 +40,72 @@ const Carousel = () => {
37 40
         alignItems: "center",
38 41
         justifyContent: "center",
39 42
         width: "100%",
40
-        objectPosition: "top center",
43
+        height: "100vh", // Full viewport height
41 44
         overflow: "hidden",
42 45
       }}
43 46
     >
44
-      {/* Filter */}
45
-      <Box sx={{
46
-        position: "absolute",
47
-        top: 0,
48
-        right: 0,
49
-        backgroundColor: "rgba(0, 0, 0, 0.2)",
50
-        width: "100%",
51
-        height: "100%"
52
-      }}></Box>
53
-
54
-      {items.map((item, index) => (
55
-        <Box
56
-          key={index}
57
-          component="img"
58
-          src={item.img_src}
59
-          alt={item.alt_name}
60
-          sx={{
61
-            width: "100%",
62
-            height: "100%",
63
-            backgroundImage: `url(${item.img_src})`,
64
-            objectFit: "cover",
65
-            objectPosition: "center center",
66
-          }}
67
-        />
68
-      ))}
47
+      {/* Overlay Filter */}
48
+      <Box
49
+        sx={{
50
+          position: "absolute",
51
+          top: 0,
52
+          right: 0,
53
+          backgroundColor: "rgba(0, 0, 0, 0.2)",
54
+          width: "100%",
55
+          height: "100%",
56
+          zIndex: 1,
57
+        }}
58
+      />
69 59
 
60
+      {/* Render the Current Image */}
61
+      <Box
62
+        key={currentIndex}
63
+        component="img"
64
+        src={activeItems[currentIndex].img_src}
65
+        alt={activeItems[currentIndex].alt_name}
66
+        sx={{
67
+          width: "100%",
68
+          height: "100%",
69
+          objectFit: "cover",
70
+          transition: "opacity 0.5s ease-in-out",
71
+          zIndex: 0,
72
+        }}
73
+      />
70 74
 
75
+      {/* Navigation Buttons */}
76
+      <IconButton
77
+        onClick={handlePrev}
78
+        sx={{
79
+          position: "absolute",
80
+          left: "10px",
81
+          top: "50%",
82
+          transform: "translateY(-50%)",
83
+          zIndex: 10,
84
+          color: "white",
85
+          backgroundColor: "rgba(0, 0, 0, 0.5)",
86
+          "&:hover": { backgroundColor: "rgba(0, 0, 0, 0.7)" },
87
+        }}
88
+        aria-label="Previous Slide"
89
+      >
90
+        <ArrowBackIosIcon />
91
+      </IconButton>
71 92
 
93
+      <IconButton
94
+        onClick={handleNext}
95
+        sx={{
96
+          position: "absolute",
97
+          right: "10px",
98
+          top: "50%",
99
+          transform: "translateY(-50%)",
100
+          zIndex: 10,
101
+          color: "white",
102
+          backgroundColor: "rgba(0, 0, 0, 0.5)",
103
+          "&:hover": { backgroundColor: "rgba(0, 0, 0, 0.7)" },
104
+        }}
105
+        aria-label="Next Slide"
106
+      >
107
+        <ArrowForwardIosIcon />
108
+      </IconButton>
72 109
     </Box>
73 110
   );
74 111
 };

Carregando…
Cancelar
Salvar