Keep the interactive leaf client-side
// TicketPage.tsx — Server Component by default
export default function TicketPage() {
return <><TicketSummary /><TicketFilters /></>;
}
// TicketFilters.tsx
'use client';
export function TicketFilters() {
const [open, setOpen] = useState(false);
return <button onClick={() => setOpen(!open)}>Filters</button>;
}Only the filter control needs browser JavaScript.