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 && (
)}
{feedEntry.title}
{feedEntry.description && (
)}
{feedEntry.published && }
))}
);
}
const InfoDisplay = ({ date }: { date: string }) => (
{date}
);