import React, { useEffect, useState } from 'react'; import SearchInput from './SearchInput'; import UserDropdown from './UserDropdown'; import Sidebar from './Sidebar'; import LanguagePicker from './LanguagePicker'; import { useRouter } from 'next/router'; import { defineMessages, FormattedMessage } from 'react-intl'; import { Permission, useUser } from '../../hooks/useUser'; const messages = defineMessages({ alphawarning: 'This is ALPHA software. Features may be broken and/or unstable. Please report issues on GitHub!', }); const Layout: React.FC = ({ children }) => { const [isSidebarOpen, setSidebarOpen] = useState(false); const [isScrolled, setIsScrolled] = useState(false); const { hasPermission } = useUser(); const router = useRouter(); useEffect(() => { const updateScrolled = () => { if (window.pageYOffset > 60) { setIsScrolled(true); } else { setIsScrolled(false); } }; window.addEventListener('scroll', updateScrolled, { passive: true }); return () => { window.removeEventListener('scroll', updateScrolled); }; }, []); return (
setSidebarOpen(false)} />
{router.pathname === '/' && hasPermission(Permission.ADMIN) && ( )} {children}
); }; export default Layout;