'use client'; import { useState, useCallback } from 'react'; import Link from 'next/link'; import Styles from '../styles/common.module.scss'; import useAuth from '@/hooks/useAuth'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faBars, faXmark } from '@fortawesome/free-solid-svg-icons'; type Props = { children: React.ReactNode; sidebarContent?: React.ReactNode; }; export default function Layout({ children, sidebarContent }: Props) { const { isAuthenticated, isLoading, logout } = useAuth(); const [sidebarOpen, setSidebarOpen] = useState(false); const toggleSidebar = useCallback(() => { setSidebarOpen((prev) => !prev); }, []); const closeSidebar = useCallback(() => { setSidebarOpen(false); }, []); if (isLoading) { return <>; } return ( <>
{/* 상단 내용 */} {/* 좌측 사이드바 */} {/* 모바일 오버레이 */}
{/* 메인 내용 */}
{children}
{/* 우측 채팅 사이드바 */} {/* 하단 내용 */}
); }