import React from "react"; import { Card, Flex, Group, Image, ScrollArea, Stack, Text } from "@mantine/core"; import { IconClock } from "@tabler/icons-react"; import dayjs from "dayjs"; import type { WidgetComponentProps } from "../definition"; import classes from "./component.module.scss"; export default function RssFeed({ serverData, options }: WidgetComponentProps<"rssFeed">) { if (serverData?.initialData === undefined) { return null; } const entries = serverData.initialData .filter((feedGroup) => feedGroup.feed.entries !== undefined) .flatMap((feedGroup) => feedGroup.feed.entries) .filter((entry) => entry !== undefined) .sort((entryA, entryB) => { if (!entryA.published || !entryB.published) { return -1; } return new Date(entryB.published).getTime() - new Date(entryA.published).getTime(); }) .slice(0, options.maximumAmountPosts as number); return ( {entries.map((feedEntry) => ( {feedEntry.enclosure && ( backdrop )} {feedEntry.title} {feedEntry.description && ( )} {feedEntry.published && } ))} ); } const InfoDisplay = ({ date }: { date: string }) => ( {date} );