import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Rss, Mail, ExternalLink, Edit } from "lucide-react" import { Newsletter, getFeedUrl } from "@/lib/api" import { useEffect, useState } from "react" interface NewsletterCardProps { newsletter: Newsletter onEdit: (newsletter: Newsletter) => void } export function NewsletterCard({ newsletter, onEdit }: NewsletterCardProps) { const [absoluteFeedUrl, setAbsoluteFeedUrl] = useState(getFeedUrl(newsletter.id)) useEffect(() => { const url = getFeedUrl(newsletter.id) if (url.startsWith("/")) { setAbsoluteFeedUrl(`${window.location.origin}${url}`) } else { setAbsoluteFeedUrl(url) } }, [newsletter.id]) return (
{newsletter.name} {newsletter.entries_count} entr{newsletter.entries_count !== 1 ? "ies" : "y"}

Email Addresses

{newsletter.senders.map((sender) => ( {sender.email} ))}

RSS Feed

{absoluteFeedUrl}
) }