"use client"; import { useState } from "react"; import Link from "next/link"; import { Search } from "lucide-react"; import { useMembers } from "@/lib/hooks/useMembers"; import { FollowButton } from "@/components/shared/FollowButton"; import { cn, partyBadgeColor } from "@/lib/utils"; export default function MembersPage() { const [q, setQ] = useState(""); const [chamber, setChamber] = useState(""); const [party, setParty] = useState(""); const [page, setPage] = useState(1); const { data, isLoading } = useMembers({ ...(q && { q }), ...(chamber && { chamber }), ...(party && { party }), page, per_page: 50, }); return (

Members

Browse current Congress members

{ setQ(e.target.value.trim()); setPage(1); }} className="w-full pl-9 pr-3 py-2 text-sm bg-card border border-border rounded-md focus:outline-none" />
{isLoading ? (
Loading members...
) : ( <>
{data?.total ?? 0} members
{data?.items?.map((member) => (
{member.name}
{member.party && ( {member.party} )} {member.state && {member.state}} {member.chamber && {member.chamber}}
))}
{data && data.pages > 1 && (
)} )}
); }