import { faFolder, faLink } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import Image from "next/image"; import { faCalendarDays } from "@fortawesome/free-regular-svg-icons"; import isValidUrl from "@/lib/shared/isValidUrl"; import A from "next/link"; import unescapeString from "@/lib/client/unescapeString"; import { Link } from "@prisma/client"; type Props = { link?: Partial; className?: string; settings: { blurredFavicons: boolean; displayLinkIcons: boolean; }; }; export default function LinkPreview({ link, className, settings }: Props) { if (!link) { link = { name: "Linkwarden", url: "https://linkwarden.app", createdAt: Date.now() as unknown as Date, }; } let shortendURL; try { shortendURL = new URL(link.url as string).host.toLowerCase(); } catch (error) { console.log(error); } const url = isValidUrl(link.url as string) ? new URL(link.url as string) : undefined; const formattedDate = new Date(link.createdAt as Date).toLocaleString( "en-US", { year: "numeric", month: "short", day: "numeric", } ); return ( <>
{1}
{unescapeString(link.name as string)}
Landing Pages ⚡️
{shortendURL}
{formattedDate}