Skip to content

Commit bd80052

Browse files
committed
Use splide for carousel
1 parent 26a770d commit bd80052

File tree

4 files changed

+56
-25
lines changed

4 files changed

+56
-25
lines changed

package-lock.json

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"version": "0.1.0",
44
"private": true,
55
"dependencies": {
6+
"@splidejs/react-splide": "^0.6.20",
67
"@testing-library/jest-dom": "^5.16.1",
78
"@testing-library/react": "^12.1.2",
89
"@testing-library/user-event": "^13.5.0",

src/App.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React from 'react';
22

33
import 'bootstrap/dist/css/bootstrap.css';
4+
import '@splidejs/splide/dist/css/splide.min.css';
45
import './App.css';
56

67
import ENavbar from './components/ENavbar.js';

src/components/ECarousel.js

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
* Copyright © 2022 by Shen, Jen-Chieh $
88
*/
99
import React from 'react';
10-
import { Container, Carousel } from 'react-bootstrap';
10+
import { Container } from 'react-bootstrap';
11+
12+
import { Splide, SplideSlide } from '@splidejs/react-splide';
1113

1214
import screenshot_1 from '../etc/screenshot/1.png';
1315
import screenshot_2 from '../etc/screenshot/2.png';
@@ -20,30 +22,44 @@ class ECarousel extends React.Component {
2022
render () {
2123
return (
2224
<>
23-
<Container className="p-5">
24-
<Carousel>
25-
<Carousel.Item>
26-
<img className="d-block w-100" alt="Slide 1"
27-
src= { screenshot_1 } />
28-
</Carousel.Item>
29-
<Carousel.Item>
30-
<img className="d-block w-100" alt="Slide 2"
31-
src= { screenshot_2 } />
32-
</Carousel.Item>
33-
<Carousel.Item>
34-
<img className="d-block w-100" alt="Slide 3"
35-
src= { screenshot_3 } />
36-
</Carousel.Item>
37-
<Carousel.Item>
38-
<img className="d-block w-100" alt="Slide 4"
39-
src= { screenshot_4 } />
40-
</Carousel.Item>
41-
<Carousel.Item>
42-
<img className="d-block w-100" alt="Slide 5"
43-
src= { screenshot_5 } />
44-
</Carousel.Item>
45-
</Carousel>
46-
</Container>
25+
<div className="p-4">
26+
<Container className="p-5">
27+
<Splide options={{
28+
autoplay: true,
29+
lazyLoad: 'nearby',
30+
speed: 2000,
31+
interval: 2000,
32+
rewind: true,
33+
}} renderControls={() => (
34+
<div className="splide__arrows">
35+
<button className="splide__arrow splide__arrow--prev"
36+
style={{ width: '25px', height: '25px' }}>
37+
38+
</button>
39+
<button className="splide__arrow splide__arrow--next"
40+
style={{ width: '25px', height: '25px' }}>
41+
42+
</button>
43+
</div>
44+
)} className="px-5 pb-4">
45+
<SplideSlide>
46+
<img src={ screenshot_1 } alt="Slide 1" width="100%"/>
47+
</SplideSlide>
48+
<SplideSlide>
49+
<img src={ screenshot_2 } alt="Slide 2" width="100%"/>
50+
</SplideSlide>
51+
<SplideSlide>
52+
<img src={ screenshot_3 } alt="Slide 3" width="100%"/>
53+
</SplideSlide>
54+
<SplideSlide>
55+
<img src={ screenshot_4 } alt="Slide 4" width="100%"/>
56+
</SplideSlide>
57+
<SplideSlide>
58+
<img src={ screenshot_5 } alt="Slide 5" width="100%"/>
59+
</SplideSlide>
60+
</Splide>
61+
</Container>
62+
</div>
4763
</>);
4864
}
4965
}

0 commit comments

Comments
 (0)