Files
Portfolio/src/components/publicationSlider.js

71 lines
1.9 KiB
JavaScript
Raw Normal View History

2022-05-08 23:27:29 +05:30
import React, { Component } from "react";
import Slider from "react-slick";
2024-06-24 00:15:38 -04:00
import publicationData from "../data/publications.json";
import Publication from "./Publication";
import "slick-carousel/slick/slick.css";
2022-05-08 23:27:29 +05:30
import "slick-carousel/slick/slick-theme.css";
2024-06-24 00:15:38 -04:00
import { FaArrowAltCircleRight, FaArrowAltCircleLeft } from "react-icons/fa";
2022-05-08 23:27:29 +05:30
export default class SimpleSlider extends Component {
2024-06-24 00:15:38 -04:00
constructor(props) {
2022-05-08 23:27:29 +05:30
super(props);
this.next = this.next.bind(this);
this.previous = this.previous.bind(this);
}
next() {
this.slider.slickNext();
}
previous() {
this.slider.slickPrev();
}
render() {
const settings = {
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1,
};
return (
2024-06-24 00:15:38 -04:00
<div style={{ height: "auto" }}>
<Slider ref={(c) => (this.slider = c)} {...settings}>
{publicationData.map(
({ title, authors, publish_date, abstract, link }) => (
<Publication
title={title}
authors={authors}
publish_date={publish_date}
abstract={abstract}
link={link}
/>
),
)}
2022-05-08 23:27:29 +05:30
</Slider>
2024-06-24 00:15:38 -04:00
<div style={{ textAlign: "center" }}>
<FaArrowAltCircleLeft
onClick={this.previous}
style={{
marginTop: "40px",
marginBottom: "40px",
borderRadius: "3em",
fontSize: "40px",
color: "aquamarine",
}}
/>
2022-05-08 23:27:29 +05:30
2024-06-24 00:15:38 -04:00
<FaArrowAltCircleRight
onClick={this.next}
style={{
marginTop: "40px",
marginBottom: "40px",
borderRadius: "3em",
fontSize: "40px",
marginLeft: "30px",
color: "salmon",
}}
/>
2022-05-08 23:27:29 +05:30
</div>
</div>
);
}
}