umami/src/app/(main)/reports/[reportId]/ReportMenu.tsx

28 lines
750 B
TypeScript
Raw Normal View History

2024-06-15 09:28:52 +00:00
import { useContext, useState } from 'react';
2024-02-06 08:38:33 +00:00
import { ReportContext } from './Report';
2024-06-15 09:28:52 +00:00
import styles from './ReportMenu.module.css';
import { Icon, Icons } from 'react-basics';
import classNames from 'classnames';
2023-05-20 16:02:08 +00:00
export function ReportMenu({ children }) {
2024-06-16 05:48:14 +00:00
const [collapsed, setCollapsed] = useState(false);
2023-12-13 04:05:45 +00:00
const { report } = useContext(ReportContext);
if (!report) {
return null;
}
2024-06-15 09:28:52 +00:00
return (
<div className={classNames(styles.menu, collapsed && styles.collapsed)}>
<div className={styles.button} onClick={() => setCollapsed(!collapsed)}>
<Icon rotate={collapsed ? -90 : 90}>
<Icons.ChevronDown />
</Icon>
</div>
{!collapsed && children}
</div>
);
2023-05-20 16:02:08 +00:00
}
export default ReportMenu;