CarboAny / src /components /layouts /UserLayout.tsx
Esketch's picture
deploy: [P4] Strangler Pattern API Adapter Release (Orphan Clean Build v2)
daaf9d7
Raw
History Blame Contribute Delete
2.43 kB
import { Outlet } from 'react-router-dom';
import Sidebar from './Sidebar';
import NotificationBell from '../NotificationBell';
import type { NavItem } from '../../types';
const userNavItems: NavItem[] = [
{
label: 'λŒ€μ‹œλ³΄λ“œ',
path: '/user',
end: true,
icon: (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" className="w-5 h-5">
<path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z" />
</svg>
),
},
{
label: 'λ‚˜μ˜ ν™œλ™ λ‚΄μ—­',
path: '/user/activities',
icon: (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" className="w-5 h-5">
<path fillRule="evenodd" d="M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z" clipRule="evenodd" />
</svg>
),
},
{
label: 'νƒ„μ†Œ 감좕 ν˜„ν™©',
path: '/user/reduction',
icon: (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" className="w-5 h-5">
<path fillRule="evenodd" d="M12 7a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0V8.414l-4.293 4.293a1 1 0 01-1.414 0L8 10.414l-4.293 4.293a1 1 0 01-1.414-1.414l5-5a1 1 0 011.414 0L11 10.586 14.586 7H12z" clipRule="evenodd" />
</svg>
),
},
{
label: '수읡 μ •μ‚° λ‚΄μ—­',
path: '/user/settlement',
icon: (
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" className="w-5 h-5">
<path d="M4 4a2 2 0 00-2 2v1h16V6a2 2 0 00-2-2H4z" />
<path fillRule="evenodd" d="M18 9H2v5a2 2 0 002 2h12a2 2 0 002-2V9zM4 13a1 1 0 011-1h1a1 1 0 110 2H5a1 1 0 01-1-1zm5-1a1 1 0 100 2h1a1 1 0 100-2H9z" clipRule="evenodd" />
</svg>
),
},
];
export default function UserLayout() {
return (
<div className="flex min-h-screen bg-paper-cream">
<Sidebar items={userNavItems} title="Carboany" />
<div className="flex-1 flex flex-col">
<header className="flex items-center justify-end gap-3 px-8 py-3 border-b border-border-default bg-paper-white">
<NotificationBell />
</header>
<main className="flex-1 p-8">
<Outlet />
</main>
</div>
</div>
);
}