'use client'; import { useState, useCallback, useEffect } from 'react'; import Link from 'next/link'; import { usePathname, useRouter } from 'next/navigation'; import Styles from '../styles/common.module.scss'; import useAuth from '@/hooks/useAuth'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faBars, faXmark, faCoins, faComments, faNewspaper, faHeadset, faUser, faRightToBracket } from '@fortawesome/free-solid-svg-icons'; import { faCommentDots, faClock } from '@fortawesome/free-regular-svg-icons'; import ChatSidebar from '@/app/component/chat/ChatSidebar'; type Props = { children: React.ReactNode; }; export default function Layout({ children }: Props) { const { isAuthenticated, isLoading, logout } = useAuth(); const [sidebarOpen, setSidebarOpen] = useState(false); const [chatOpen, setChatOpen] = useState(false); const pathname = usePathname(); const router = useRouter(); const toggleSidebar = useCallback(() => { setSidebarOpen((prev) => !prev); }, []); const toggleChat = useCallback(() => { setChatOpen((prev) => !prev); }, []); const closeOverlay = useCallback(() => { setSidebarOpen(false); setChatOpen(false); }, []); const [currentTime, setCurrentTime] = useState(''); useEffect(() => { const updateTime = () => { const now = new Date(); setCurrentTime( `${String(now.getHours()).padStart(2, '0')}:${String(now.getMinutes()).padStart(2, '0')}:${String(now.getSeconds()).padStart(2, '0')}` ); }; updateTime(); const timer = setInterval(updateTime, 1000); return () => clearInterval(timer); }, []); if (isLoading) { return <>>; } return ( <>