import { useEffect, useRef, type ReactNode } from "react"; import { SideSheet } from "@douyinfe/semi-ui-19"; /** Parent supplies a bounded flex area; only the data viewport owns scrolling. */ export function ResearchList({ label, resetKey, filters, actions, pagination, children, }: { label: string; resetKey: string; filters?: ReactNode; actions: ReactNode; pagination: ReactNode; children: ReactNode; }) { const viewport = useRef(null); useEffect(() => { viewport.current?.scrollTo({ top: 0, left: 0 }); }, [resetKey]); return (
{filters &&
{filters}
}
{actions}
{children}
{pagination}
); } /** Keep drafts mounted while closed; inactive workspace pages must hide portals. */ export function ResearchDetail({ title, visible, width = "60%", onClose, children, }: { title: string; visible: boolean; width?: string; onClose: () => void; children: ReactNode; }) { return (
{children}
); }