import { useRef } from "@wordpress/element"; // eslint-disable-next-line import/no-unresolved import { Swiper, SwiperSlide } from "swiper/react"; import { Navigation, Autoplay, EffectFade, FreeMode } from "swiper/modules"; import Marquee from "react-fast-marquee"; import Template from "./template"; import TemplateOne from "./templateOne"; import { arrayChunk } from "../shared/helpFn"; import { NewsIcon, NewsIcon2, NewsIcon3, NewsIcon4, NewsIcon5 } from "../../icons/icons"; import { breakpoint, inArray } from "../../controls/controls"; // eslint-disable-next-line no-duplicate-imports import { Fragment } from "@wordpress/element"; import { SlideButton } from "./SlideButton"; import NewsTickerTypewriter from "./cutomTypewriter"; import classNames from "classnames"; const Render = ({ attributes, posts, swiperKey = "", renderKey = null, pageType = "frontend" }) => { const { // uniqueId, carouselPaginationStyle, displayStyle, tickerTitleGap, carouselAutoPlay, carouselAutoPlayDelay, carouselDirection, carouselPauseOnHover, carouselAnimationEffect, carouselTickerSpeed, HeadingLabel, tickerIconColor, tickerIconSource, tickerIconEnabled, tickerSeparatorEnable, tickerListStyle, tickerListStyleColor, tickerDate, tickerDateType, metaDateFormat, tickerImg, tickerImagePosition, carouselNavArrow, carouselArrowStyle, dynamicClassNames, navArrowVisibilityOnHover, tickerNavigation, tickerPause, tickerDivider, tickerTitleListStyleEnble, HeadingPosition, headingStyle, titleLength, newsTickerCarouselArrowColor, tickerImgShape, newsTickerItemToDisplay, headingGlobalTypography, tickerTitleGlobalTypography, } = attributes; // const swiperDotsRef = useRef(null); const spTickerRef = useRef(null); const swiperNevNextRef = useRef(null); const swiperNevPrevRef = useRef(null); const deviceType = breakpoint(); // const paginationDotStyle = paginationDotType(swiperDotsRef, carouselPaginationStyle); let AllPosts = posts; if (inArray(["fade"], carouselAnimationEffect)) { const columnWithDevice = newsTickerItemToDisplay.device?.[deviceType]; AllPosts = arrayChunk(posts, columnWithDevice); } if (inArray(["fade"], carouselAnimationEffect)) { const columnWithDevice = newsTickerItemToDisplay.device?.[deviceType]; AllPosts = arrayChunk(posts, columnWithDevice); } const itemToDisplay = newsTickerItemToDisplay.device?.[deviceType]; const templateOneAndTwo = (post) => { return ; }; const Icon = ({ iconSource }) => { switch (iconSource) { case "newsIcon": return ; case "newsIcon2": return ; case "newsIcon3": return ; case "newsIcon4": return ; case "newsIcon5": return ; default: return null; } }; const Heading = () => { return (
{tickerIconEnabled && } {deviceType !== "Mobile" && ( {HeadingLabel} )}
); }; const loopContent = (slideType, allPosts) => { return allPosts?.map((post, i) => ( {"fade" === slideType ? post?.map((data, j) => templateOneAndTwo(data, j)) : templateOneAndTwo(post, i)} )); }; return (
{"slide" === displayStyle && AllPosts?.length > 0 && ( <> {inArray(["fade"], carouselAnimationEffect) && loopContent("fade", AllPosts)} {!inArray(["fade"], carouselAnimationEffect) && loopContent("slide", posts)} {tickerNavigation && deviceType !== "Mobile" && ( )} )} {"typewriter" === displayStyle && ( <> {/* */}
)} {"ticker" === displayStyle && ( <> {posts?.map((post, index) => (