Files
PocketVeto/frontend/app/topics/page.tsx
Jack Levy 4c86a5b9ca feat: PocketVeto v1.0.0 — initial public release
Self-hosted US Congress monitoring platform with AI policy briefs,
bill/member/topic follows, ntfy + RSS + email notifications,
alignment scoring, collections, and draft-letter generator.

Authored by: Jack Levy
2026-03-15 01:35:01 -04:00

40 lines
1.3 KiB
TypeScript

"use client";
import Link from "next/link";
import { Tags } from "lucide-react";
import { FollowButton } from "@/components/shared/FollowButton";
import { TOPICS } from "@/lib/topics";
export default function TopicsPage() {
return (
<div className="space-y-6">
<div>
<h1 className="text-2xl font-bold">Topics</h1>
<p className="text-muted-foreground text-sm mt-1">
Follow topics to see related bills in your feed
</p>
</div>
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
{TOPICS.map(({ tag, label, desc }) => (
<div key={tag} className="bg-card border border-border rounded-lg p-4 flex items-start justify-between gap-3">
<div>
<div className="flex items-center gap-2 mb-1">
<Tags className="w-3.5 h-3.5 text-muted-foreground" />
<Link
href={`/bills?topic=${tag}`}
className="font-medium text-sm hover:text-primary transition-colors"
>
{label}
</Link>
</div>
<p className="text-xs text-muted-foreground">{desc}</p>
</div>
<FollowButton type="topic" value={tag} />
</div>
))}
</div>
</div>
);
}