import Link from "next/link"; import React, { useState, useRef, useEffect } from "react"; import Image from "next/image"; import { MdChevronRight } from "react-icons/md"; import { ChevronRightIcon, ArrowRightCircleIcon, } from "@heroicons/react/24/outline"; import { parseCookies } from "nookies"; import { ChevronLeftIcon } from "@heroicons/react/20/solid"; import { ExclamationCircleIcon } from "@heroicons/react/24/solid"; export default function Content({ ids, section, data, og }) { const [startX, setStartX] = useState(null); const containerRef = useRef(null); const [cookie, setCookie] = useState(null); const [isDragging, setIsDragging] = useState(false); const [clicked, setClicked] = useState(false); const [lang, setLang] = useState("en"); useEffect(() => { const click = localStorage.getItem("clicked"); if (click) { setClicked(JSON.parse(click)); } let lang = null; if (!cookie) { const cookie = parseCookies(); lang = cookie.lang || null; setCookie(cookie); } if (lang === "en" || lang === null) { setLang("en"); } else if (lang === "id") { setLang("id"); } }, []); const handleMouseDown = (e) => { setIsDragging(true); setStartX(e.pageX - containerRef.current.offsetLeft); }; const handleMouseUp = () => { setIsDragging(false); }; const handleMouseMove = (e) => { if (!isDragging) return; e.preventDefault(); const x = e.pageX - containerRef.current.offsetLeft; const walk = (x - startX) * 3; containerRef.current.scrollLeft = scrollLeft - walk; }; const handleClick = (e) => { if (isDragging) { e.preventDefault(); } }; const [scrollLeft, setScrollLeft] = useState(false); const [scrollRight, setScrollRight] = useState(true); const slideLeft = () => { var slider = document.getElementById(ids); slider.scrollLeft = slider.scrollLeft - 500; }; const slideRight = () => { var slider = document.getElementById(ids); slider.scrollLeft = slider.scrollLeft + 500; }; const handleScroll = (e) => { const scrollLeft = e.target.scrollLeft > 31; const scrollRight = e.target.scrollLeft < e.target.scrollWidth - e.target.clientWidth; setScrollLeft(scrollLeft); setScrollRight(scrollRight); }; function handleAlert(e) { if (localStorage.getItem("clicked")) { const existingDataString = localStorage.getItem("clicked"); const existingData = JSON.parse(existingDataString); existingData[e] = true; const updatedDataString = JSON.stringify(existingData); localStorage.setItem("clicked", updatedDataString); } else { const newData = { [e]: true, }; const newDataString = JSON.stringify(newData); localStorage.setItem("clicked", newDataString); } } const array = data; let filteredData = array?.filter((item) => item !== null); const slicedData = filteredData?.length > 15 ? filteredData?.slice(0, 15) : filteredData; return (