Browse Source

carousel

master
azri 4 weeks ago
parent
commit
8243456272
3 changed files with 86 additions and 5 deletions
  1. 78
    0
      package-lock.json
  2. 2
    0
      package.json
  3. 6
    5
      src/components/CarouselContainer/CarouselContainer.jsx

+ 78
- 0
package-lock.json View File

24
         "axios": "^1.7.9",
24
         "axios": "^1.7.9",
25
         "dotenv": "^16.4.7",
25
         "dotenv": "^16.4.7",
26
         "framer-motion": "^11.16.0",
26
         "framer-motion": "^11.16.0",
27
+        "pure-react-carousel": "^1.32.0",
27
         "react": "^18.3.1",
28
         "react": "^18.3.1",
28
         "react-dom": "^18.3.1",
29
         "react-dom": "^18.3.1",
29
         "react-material-ui-carousel": "^3.4.2",
30
         "react-material-ui-carousel": "^3.4.2",
30
         "react-redux": "^9.2.0",
31
         "react-redux": "^9.2.0",
32
+        "react-responsive-carousel": "^3.2.23",
31
         "react-router-dom": "^7.0.2",
33
         "react-router-dom": "^7.0.2",
32
         "react-scripts": "^5.0.1",
34
         "react-scripts": "^5.0.1",
33
         "shopify-api-node": "^3.14.0",
35
         "shopify-api-node": "^3.14.0",
6568
       "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==",
6570
       "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==",
6569
       "license": "MIT"
6571
       "license": "MIT"
6570
     },
6572
     },
6573
+    "node_modules/classnames": {
6574
+      "version": "2.5.1",
6575
+      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz",
6576
+      "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==",
6577
+      "license": "MIT"
6578
+    },
6571
     "node_modules/clean-css": {
6579
     "node_modules/clean-css": {
6572
       "version": "5.3.3",
6580
       "version": "5.3.3",
6573
       "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
6581
       "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
7532
         "url": "https://github.com/sponsors/ljharb"
7540
         "url": "https://github.com/sponsors/ljharb"
7533
       }
7541
       }
7534
     },
7542
     },
7543
+    "node_modules/deep-freeze": {
7544
+      "version": "0.0.1",
7545
+      "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz",
7546
+      "integrity": "sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==",
7547
+      "license": "public domain"
7548
+    },
7535
     "node_modules/deep-is": {
7549
     "node_modules/deep-is": {
7536
       "version": "0.1.4",
7550
       "version": "0.1.4",
7537
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
7551
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
7998
         "url": "https://github.com/fb55/entities?sponsor=1"
8012
         "url": "https://github.com/fb55/entities?sponsor=1"
7999
       }
8013
       }
8000
     },
8014
     },
8015
+    "node_modules/equals": {
8016
+      "version": "1.0.5",
8017
+      "resolved": "https://registry.npmjs.org/equals/-/equals-1.0.5.tgz",
8018
+      "integrity": "sha512-wI15a6ZoaaXPv+55+Vh2Kqn3+efKRv8QPtcGTjW5xmanMnQzESdAt566jevtMZyt3W/jwLDTzXpMph5ECDJ2zg==",
8019
+      "license": "MIT",
8020
+      "dependencies": {
8021
+        "jkroso-type": "1"
8022
+      }
8023
+    },
8001
     "node_modules/error-ex": {
8024
     "node_modules/error-ex": {
8002
       "version": "1.3.2",
8025
       "version": "1.3.2",
8003
       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
8026
       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
12047
         "jiti": "bin/jiti.js"
12070
         "jiti": "bin/jiti.js"
12048
       }
12071
       }
12049
     },
12072
     },
12073
+    "node_modules/jkroso-type": {
12074
+      "version": "1.1.1",
12075
+      "resolved": "https://registry.npmjs.org/jkroso-type/-/jkroso-type-1.1.1.tgz",
12076
+      "integrity": "sha512-zZgay+fPG6PgMUrpyFADmQmvLo39+AZa7Gc5pZhev2RhDxwANEq2etwD8d0e6rTg5NkwOIlQmaEmns3draC6Ng==",
12077
+      "license": "MIT"
12078
+    },
12050
     "node_modules/jose": {
12079
     "node_modules/jose": {
12051
       "version": "5.9.6",
12080
       "version": "5.9.6",
12052
       "resolved": "https://registry.npmjs.org/jose/-/jose-5.9.6.tgz",
12081
       "resolved": "https://registry.npmjs.org/jose/-/jose-5.9.6.tgz",
15139
         "node": ">=6"
15168
         "node": ">=6"
15140
       }
15169
       }
15141
     },
15170
     },
15171
+    "node_modules/pure-react-carousel": {
15172
+      "version": "1.32.0",
15173
+      "resolved": "https://registry.npmjs.org/pure-react-carousel/-/pure-react-carousel-1.32.0.tgz",
15174
+      "integrity": "sha512-RW0zKjjId1Xmspcqdu3v0pmlce3BVDACJ0fzt1+ZPJ4GxqJbIqt2kPAh1e5M19S5BDewihnq6kz4kIaGXleO3w==",
15175
+      "license": "MIT",
15176
+      "dependencies": {
15177
+        "@babel/runtime": "^7.5.5",
15178
+        "deep-freeze": "0.0.1",
15179
+        "deepmerge": "^2.2.1",
15180
+        "equals": "^1.0.5",
15181
+        "prop-types": "^15.6.2"
15182
+      },
15183
+      "peerDependencies": {
15184
+        "react": "15.x || 16.x || 17.x || 18.x",
15185
+        "react-dom": "15.x || 16.x || 17.x || 18.x"
15186
+      }
15187
+    },
15188
+    "node_modules/pure-react-carousel/node_modules/deepmerge": {
15189
+      "version": "2.2.1",
15190
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
15191
+      "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
15192
+      "license": "MIT",
15193
+      "engines": {
15194
+        "node": ">=0.10.0"
15195
+      }
15196
+    },
15142
     "node_modules/q": {
15197
     "node_modules/q": {
15143
       "version": "1.5.1",
15198
       "version": "1.5.1",
15144
       "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
15199
       "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
15410
         "react": "^18.3.1"
15465
         "react": "^18.3.1"
15411
       }
15466
       }
15412
     },
15467
     },
15468
+    "node_modules/react-easy-swipe": {
15469
+      "version": "0.0.21",
15470
+      "resolved": "https://registry.npmjs.org/react-easy-swipe/-/react-easy-swipe-0.0.21.tgz",
15471
+      "integrity": "sha512-OeR2jAxdoqUMHIn/nS9fgreI5hSpgGoL5ezdal4+oO7YSSgJR8ga+PkYGJrSrJ9MKlPcQjMQXnketrD7WNmNsg==",
15472
+      "license": "MIT",
15473
+      "dependencies": {
15474
+        "prop-types": "^15.5.8"
15475
+      },
15476
+      "engines": {
15477
+        "node": ">= 6"
15478
+      }
15479
+    },
15413
     "node_modules/react-error-overlay": {
15480
     "node_modules/react-error-overlay": {
15414
       "version": "6.0.11",
15481
       "version": "6.0.11",
15415
       "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz",
15482
       "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz",
15730
         "node": ">=0.10.0"
15797
         "node": ">=0.10.0"
15731
       }
15798
       }
15732
     },
15799
     },
15800
+    "node_modules/react-responsive-carousel": {
15801
+      "version": "3.2.23",
15802
+      "resolved": "https://registry.npmjs.org/react-responsive-carousel/-/react-responsive-carousel-3.2.23.tgz",
15803
+      "integrity": "sha512-pqJLsBaKHWJhw/ItODgbVoziR2z4lpcJg+YwmRlSk4rKH32VE633mAtZZ9kDXjy4wFO+pgUZmDKPsPe1fPmHCg==",
15804
+      "license": "MIT",
15805
+      "dependencies": {
15806
+        "classnames": "^2.2.5",
15807
+        "prop-types": "^15.5.8",
15808
+        "react-easy-swipe": "^0.0.21"
15809
+      }
15810
+    },
15733
     "node_modules/react-router": {
15811
     "node_modules/react-router": {
15734
       "version": "7.0.2",
15812
       "version": "7.0.2",
15735
       "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.0.2.tgz",
15813
       "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.0.2.tgz",

+ 2
- 0
package.json View File

19
     "axios": "^1.7.9",
19
     "axios": "^1.7.9",
20
     "dotenv": "^16.4.7",
20
     "dotenv": "^16.4.7",
21
     "framer-motion": "^11.16.0",
21
     "framer-motion": "^11.16.0",
22
+    "pure-react-carousel": "^1.32.0",
22
     "react": "^18.3.1",
23
     "react": "^18.3.1",
23
     "react-dom": "^18.3.1",
24
     "react-dom": "^18.3.1",
24
     "react-material-ui-carousel": "^3.4.2",
25
     "react-material-ui-carousel": "^3.4.2",
25
     "react-redux": "^9.2.0",
26
     "react-redux": "^9.2.0",
27
+    "react-responsive-carousel": "^3.2.23",
26
     "react-router-dom": "^7.0.2",
28
     "react-router-dom": "^7.0.2",
27
     "react-scripts": "^5.0.1",
29
     "react-scripts": "^5.0.1",
28
     "shopify-api-node": "^3.14.0",
30
     "shopify-api-node": "^3.14.0",

+ 6
- 5
src/components/CarouselContainer/CarouselContainer.jsx View File

5
 import mainImage1 from "../../assets/images/MAINHEADER-01.webp";
5
 import mainImage1 from "../../assets/images/MAINHEADER-01.webp";
6
 import mainImage2 from "../../assets/images/MAINHEADER-02.webp";
6
 import mainImage2 from "../../assets/images/MAINHEADER-02.webp";
7
 import mainImageMobile from "../../assets/images/mainwallpaper-mobile.jpg";
7
 import mainImageMobile from "../../assets/images/mainwallpaper-mobile.jpg";
8
-import Carousel from 'react-material-ui-carousel'
8
+import "react-responsive-carousel/lib/styles/carousel.min.css"; // requires a loader
9
+import { Carousel } from 'react-responsive-carousel';
9
 
10
 
10
 const CarouselContainer = () => {
11
 const CarouselContainer = () => {
11
 
12
 
12
   const items = [
13
   const items = [
14
+    { img_src: mainImage2, alt_name: "Image 2" },
13
     { img_src: mainImage1, alt_name: "Image 1" },
15
     { img_src: mainImage1, alt_name: "Image 1" },
14
     { img_src: mainImage2, alt_name: "Image 2" },
16
     { img_src: mainImage2, alt_name: "Image 2" },
17
+    { img_src: mainImage1, alt_name: "Image 1" },
15
   ];
18
   ];
16
 
19
 
17
   return (
20
   return (
18
 
21
 
19
-    <Carousel indicators={false} autoPlay={true} interval={3000}>
22
+    <Carousel showStatus={false} autoPlay={true} infiniteLoop={true} interval={3000} showIndicators={false} stopOnHover={false}>
20
       {items?.map(({ img_src, alt_name }, index) => (
23
       {items?.map(({ img_src, alt_name }, index) => (
21
         <Box
24
         <Box
22
           key={index}
25
           key={index}
25
           alt={alt_name}
28
           alt={alt_name}
26
           sx={{
29
           sx={{
27
             width: "100%",
30
             width: "100%",
28
-            objectFit: "cover",
29
-            transition: "opacity 0.5s ease-in-out",
31
+            height: "100%",
30
             zIndex: 0,
32
             zIndex: 0,
31
           }}
33
           }}
32
         />
34
         />
33
       ))}
35
       ))}
34
-
35
     </Carousel>
36
     </Carousel>
36
 
37
 
37
 
38
 

Loading…
Cancel
Save