import type { FC, MouseEventHandler } from 'react'; import { useCallback, useState } from 'react'; import classNames from 'classnames'; import { Icon } from '@/mastodon/components/icon'; import ChevronRightIcon from '@/material-icons/400-24px/chevron_right.svg?react'; import ExpandMoreIcon from '@/material-icons/400-24px/expand_more.svg?react'; interface SectionProps { title: string; children?: React.ReactNode; open?: boolean; onOpen?: () => void; } export const Section: FC = ({ title, children, open = false, onOpen, }) => { const [collapsed, setCollapsed] = useState(!open); const handleClick: MouseEventHandler = useCallback(() => { setCollapsed((prev) => !prev); onOpen?.(); }, [onOpen]); return (
{!collapsed &&
{children}
}
); };