import Link from "next/link"; import parser from "html-react-parser"; import Slider from "react-slick"; import { getProjects, getRunningQueriesThunk, useGetProjectQuery, } from "@/services/portfolio"; import { wrapper } from "@/lib/redux"; import Internal from "@/components/common/Internal"; import { useCallback, useEffect, useRef, useState } from "react"; import Image from "next/image"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faArrowLeft, faArrowRight, faSpinner, } from "@fortawesome/free-solid-svg-icons"; import { Button } from "@/components/ui/button"; export const getStaticProps = wrapper.getStaticProps( (store) => async (context) => { store.dispatch(getProjects.initiate()); const [projects] = await Promise.all( store.dispatch(getRunningQueriesThunk()) ); return { props: { projects: projects.data, }, revalidate: 50, }; } ); export default function Portfolio({ projects }: any): JSX.Element { const [selectedID, setSelectedID] = useState(""); const [carouselChange, setCarouselChange] = useState(0); const { data: project, isLoading } = useGetProjectQuery(selectedID); const customSlider = useRef(); const [sliderSettings, setSliderSettings] = useState({ adaptiveHeight: true, speed: 500, slidesToShow: 1, slidesToScroll: 1, centerMode: true, beforeChange: (current: any, next: any) => { setCarouselChange(current); }, }); const nextSlide = () => customSlider.current.slickNext(); const previousSlide = () => customSlider.current.slickPrev(); useEffect(() => { const element = document.getElementsByClassName("slick-current")[0]; const ID = element.querySelector("img")?.dataset.projectid; setSelectedID(ID); }, [carouselChange]); return (
{/* // @ts-ignore */} {projects.map(({ id, acm_fields }: any) => (
{acm_fields?.featured_media?.alt_text}
))}
{!isLoading && project.acm_fields ? ( <>

{project?.acm_fields?.title}

{!isLoading && project.acm_fields ? parser(project?.acm_fields?.portfolioContent, { trim: true, }) : null}
) : (
)}
); }