import { Avatar, Badge, Group, Paper, Stack, Text } from "@mantine/core"; import type { TracearrHistorySession } from "@homarr/integrations/types"; import { useCurrentIntlLocale, useI18n } from "@homarr/translation/client"; import type { SourcedTracearrItem } from "./source"; type SourcedTracearrHistorySession = SourcedTracearrItem; export function RecentActivityList({ sessions, showSource, }: { sessions: SourcedTracearrHistorySession[]; showSource: boolean; }) { const t = useI18n("widget.tracearr"); const locale = useCurrentIntlLocale(); return ( {t("recentActivity.title")} {sessions.length === 0 ? ( {t("recentActivity.empty")} ) : ( {sessions.map((session) => { const mediaLabel = session.mediaType === "episode" && session.showTitle ? `${session.showTitle} - S${session.seasonNumber ?? 0}E${session.episodeNumber ?? 0}` : session.mediaTitle; return ( {mediaLabel} {session.user.username} • {session.serverName} {showSource ? ` • ${session.integrationName}` : ""} {session.watched ? t("recentActivity.watched") : t("recentActivity.partial")} {new Date(session.startedAt).toLocaleDateString(locale)} ); })} )} ); }