PluginProbe
Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News / 4.0.7
Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News v4.0.7
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 2.3.5 2.3.6 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.15 2.4.16 2.4.17 2.4.18 2.4.19 2.4.2 2.4.20 2.4.21 All 88 releases
post-carousel / src / blocks / news-ticker / templateOne.js

templateOne.js in Smart Post – Post Grid, Post Carousel, Post Slider Gutenberg Blocks for Blog & News 4.0.7, at src/blocks/news-ticker/templateOne.js

80 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import { humanReadableTimeAgo } from "../../controls/controls";
2 import { CarouselNavArrowStyleTab } from "../shared/styleTab";
3 import { formatDate, Icon, jsonParse, stringTrim } from "../shared/helpFn";
4 import placeholderImg from "../../../public/assets/img/placeholder.png";
5
6 const TemplateOne = ({ data, attributes, thumbIndex = "" }) => {
7 const {
8 // titleHTMLTag: TitleTag,
9 tickerDate,
10 tickerDateType,
11 metaDateFormat,
12 tickerTitleListStyleEnble,
13 tickerListStyle,
14 tickerListStyleColor,
15 tickerImagePosition,
16 tickerImg,
17 titleLength,
18 tickerImgShape,
19 } = attributes;
20
21 const rawDate = data?.date;
22 const postDateDefault = data?.post_date?.default;
23
24 // Determine formatted date
25 const date =
26 // eslint-disable-next-line no-nested-ternary
27 tickerDateType === "date"
28 ? metaDateFormat === "time_ago"
29 ? humanReadableTimeAgo(new Date(rawDate))
30 : postDateDefault // both 'default' and 'custom' fallback here
31 : formatDate(rawDate, tickerDateType);
32
33 return (
34 <div className={`sp-smart-post-card-content`}>
35 {tickerTitleListStyleEnble && <Icon iconSourse={tickerListStyle} color={tickerListStyleColor} />}
36
37 {/* { tickerImg && tickerImagePosition === 'left' && (
38 <img
39 src={ data?.post_thumbnail_url }
40 alt={ data?.post_thumbnail_url }
41 className={`sp-ticker-img sp-img-${tickerImgShape}`}
42 />
43 ) }
44
45 { data?.title && (
46 <TitleTag className="sp-smart-post-ticker-title">
47 { stringTrim( data.title, titleLength ) }
48 </TitleTag>
49 ) }
50
51 { tickerImg && tickerImagePosition === 'right' && (
52 <img
53 src={ data?.post_thumbnail_url }
54 alt={ data?.post_thumbnail_url }
55 className={`sp-ticker-img sp-img-${tickerImgShape}`}
56 />
57 ) } */}
58 <div
59 className={`sp-smart-post-ticker-title-img-wrapper sp-d-flex${
60 tickerImg ? " sp-img-" + tickerImagePosition : ""
61 }`}
62 >
63 {tickerImg && (
64 <img
65 src={data?.post_thumbnail_url || placeholderImg}
66 alt={data?.post_thumbnail_url || ""}
67 className={`sp-ticker-img sp-img-${tickerImgShape}`}
68 />
69 )}
70 {data?.title && (
71 <span className="sp-smart-post-ticker-title">{data.title}</span>
72 )}
73 {tickerDate && <span className="ticker-date">{date}</span>}
74 </div>
75 </div>
76 );
77 };
78
79 export default TemplateOne;
80