import { Button, Inline, Link, Skeleton } from "@front10/base-elements"; import * as React from "react"; import InstagramCardCommentsIcon from "./InstagramCardCommentsIcon"; import InstagramCardLikesIcon from "./InstagramCardLikesIcon"; import InstagramCardShareIcon from "./InstagramCardShareIcon"; interface Props { showShare?: boolean; isLoading?: boolean; link?: string; likes?: string; comments?: string; align?: "left" | "center"; size?: "regular" | "small"; } const isSharingAvailable = () => typeof navigator !== "undefined" && navigator.share != null; function share(link: string) { if (isSharingAvailable()) { navigator.share({ url: link, }); } } const stopPropagation = (event: React.MouseEvent) => { event.stopPropagation(); }; export function InstagramReactions(props: Props) { const center = props.align === "center"; const small = props.size === "small"; const textStyles = { fontSize: small ? "12px" : "14px", fontWeight: "400", color: "currentColor", display: "inline-flex", alignItems: "center", textDecoration: "none", padding: 0, margin: 0, cursor: "pointer", }; const link = props.link; if (!props.isLoading && !props.comments && !props.likes) { return null; } return ( {props.likes || props.isLoading ? ( {props.likes} ) : null} {props.comments ? ( {props.comments} ) : null} {isSharingAvailable() && link && props.showShare ? ( ) : null} ); }