'use client';
import styled from 'styled-components';
import { usePathname } from 'next/navigation';
import Navbar from './Navbar';
const Layout = styled.div`
display: flex;
min-height: 100vh;
`;
const MainContent = styled.main<{ $isSettingsPage: boolean }>`
flex: 1;
margin-left: 220px;
padding: 0;
overflow: hidden;
${props => props.$isSettingsPage && `
display: flex;
justify-content: center;
padding-top: 2rem;
`}
@media (max-width: 768px) {
margin-left: 0;
padding-top: ${props => props.$isSettingsPage ? 'calc(60px + 2rem)' : '60px'};
}
`;
const NotFoundContent = styled.main`
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100vh;
background: #0a0a0a;
color: white;
text-align: center;
padding: 2rem;
h1 {
font-size: 6rem;
margin: 0;
color: #2196f3;
}
p {
font-size: 1.5rem;
margin: 1rem 0 2rem;
color: rgba(255, 255, 255, 0.7);
}
a {
color: #2196f3;
text-decoration: none;
font-weight: 500;
&:hover {
text-decoration: underline;
}
}
`;
export default function PageLayout({ children }: { children: React.ReactNode }) {
const pathname = usePathname();
const isSettingsPage = pathname === '/settings';
const is404Page = pathname === '/404' || pathname.includes('/not-found');
if (is404Page) {
return (
404
Страница не найдена
Вернуться на главную
);
}
return (
{children}
);
}