diff --git a/src/components/Navbar.jsx b/src/components/Navbar.jsx
index eed15ec..6986206 100644
--- a/src/components/Navbar.jsx
+++ b/src/components/Navbar.jsx
@@ -1,30 +1,29 @@
-import React from 'react';
-import { useUser } from '../context/UserContext';
-import { Link } from 'react-router-dom';
+// import React from 'react';
+// import { Link } from 'wouter'; // Use wouter's Link component
 
-const Navbar = () => {
-  const { user, logout } = useUser();
+// const Navbar = () => {
+//   const { user, logout } = useUser();
 
-  return (
-    <nav className="navbar">
-      <div className="logo">EchoTorrent</div>
-      <div className="nav-links">
-        {user ? (
-          <>
-            <Link to="/">主页</Link>
-            <Link to="/profile">个人中心</Link>
-            <Link to="/forum">论坛</Link>
-            <button onClick={logout}>退出登录</button>
-          </>
-        ) : (
-          <>
-            <Link to="/auth">登录/注册</Link>
-            <Link to="/forum">论坛</Link>
-          </>
-        )}
-      </div>
-    </nav>
-  );
-};
+//   return (
+//     <nav className="navbar">
+//       <div className="logo">EchoTorrent</div>
+//       <div className="nav-links">
+//         {user ? (
+//           <>
+//             <Link to="/">主页</Link>
+//             <Link to="/profile">个人中心</Link>
+//             <Link to="/forum">论坛</Link>
+//             <button onClick={logout}>退出登录</button>
+//           </>
+//         ) : (
+//           <>
+//             <Link to="/auth">登录/注册</Link>
+//             <Link to="/forum">论坛</Link>
+//           </>
+//         )}
+//       </div>
+//     </nav>
+//   );
+// };
 
-export default Navbar;
\ No newline at end of file
+// export default Navbar;
