import Sidenav from './../SideNav/Sidenav';
import Uppernav from './../Courses/Uppernav';
import Footer from '../LandingPage/Footer/Footer';
import Math from "../../assets/images/Math.png";
import Chemistry from "../../assets/images/chem.png";
import Physics from "../../assets/images/phy.png";
import ICT from "../../assets/images/ICT.png";
import English from "../../assets/images/Eng.png";
import ss from "../../assets/images/ss.png";
import fac1 from "../../assets/images/fac1.png";
import fac2 from "../../assets/images/fac2.png";
import fac3 from "../../assets/images/fac3.png";
import fac4 from "../../assets/images/fac4.png";
import fac5 from "../../assets/images/fac5.png";
import fac6 from "../../assets/images/fac6.png";
import { RiArrowLeftDoubleFill, RiArrowRightDoubleLine } from "react-icons/ri";
import { motion } from 'framer-motion';
import React, { useState } from 'react';
import { Link } from 'react-router-dom';
const courseCards = [
{ imageUrl: Math, circularImageUrl: fac1, title: 'Maths' },
{ imageUrl: Chemistry, circularImageUrl: fac2, title: 'Chemistry' },
{ imageUrl: Physics, circularImageUrl: fac3, title: 'Physics' },
{ imageUrl: ICT, circularImageUrl: fac4, title: 'ICT' },
{ imageUrl: English, circularImageUrl: fac5, title: 'English' },
{ imageUrl: ss, circularImageUrl: fac6, title: 'Social Science' }
];
const CourseCard = ({ card }) => (
<motion.div
key={card.title}
initial={{ opacity: 0, y: 50 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -50 }}
transiti duration: 0.5 }}
className="w-80 bg-white rounded-lg shadow-lg overflow-hidden hover:scale-105 hover:shadow-2xl transition-all duration-300"
>
<div className="h-36 bg-gray-300 relative rounded-bl-30p rounded-br-30p">
<img
alt="Card Image"
className="h-full w-full object-cover rounded-t-lg rounded-bl-lg rounded-br-lg" />
<div className="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 mt-16 ml-28">
<img
alt="Circular Image"
className="rounded-full w-13 h-13" />
</div>
</div>
<div className="p-3">
<h2 className="text-xl font-bold mb-2 top-4 no-underline">{card.title}</h2>
</div>
</motion.div>
);
const CourseSlider = ({ title }) => {
const [currentIndex, setCurrentIndex] = useState(0);
const handlePrevious = () => {
setCurrentIndex((currentIndex - 1 + courseCards.length) % courseCards.length);
};
const handleNext = () => {
setCurrentIndex((currentIndex + 1) % courseCards.length);
};
const renderIndices = { 0: 0, 1: 1, 2: 2 };
return (
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
transiti duration: 0.5 }}
className="bg-white h-40vh w-50vw rounded-xl ml-6 mt-[-4] pb-10"
>
<div className='flex space-x-96 mt-6'>
<div className='flex space-x-36 pl-8'>
<span className='font-semibold text-xl'>{title}</span>
</div>
</div>
<div className="flex justify-center mt-10 relative">
<RiArrowLeftDoubleFill
className="absolute left-0 pt-16 text-gray-600 hover:text-gray-800 cursor-pointer"
size={50}
/>
<div className="flex space-x-12">
{Object.keys(renderIndices).map((key) => (
<Link to="/courses-details" key={key} className=' no-underline'>
<CourseCard card={courseCards[(currentIndex + renderIndices[key]) % courseCards.length]} />
</Link>
))}
</div>
<RiArrowRightDoubleLine
className="absolute right-0 pt-16 text-gray-600 hover:text-gray-800 cursor-pointer"
size={50}
/>
</div>
</motion.div>
);
};
function Courselist() {
return (
<div className='bg-opacity-100 bg-gray-200 h-screen'>
<div className='flex'>
<div className='flex h-screen'>
<Sidenav />
</div>
<div className='flex flex-col w-full pr-2'>
<div className='p-6'>
<Uppernav />
</div>
<CourseSlider title="My Courses" />
<CourseSlider title="Popular Courses" />
</div>
</div>
<Footer className='pt-7' />
</div>
);
}
export default Courselist;