diff --git a/frontend/src/app/home/layout.tsx b/frontend/src/app/home/layout.tsx
new file mode 100644
index 00000000..91b796d1
--- /dev/null
+++ b/frontend/src/app/home/layout.tsx
@@ -0,0 +1,63 @@
+'use client';
+
+import React from 'react';
+import Link from 'next/link';
+import Image from 'next/image';
+import { Moon, Sun } from 'lucide-react';
+import { useTheme } from '../providers/ThemeProvider';
+
+export default function HomeLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ const { theme, toggleTheme } = useTheme();
+
+ return (
+
+
+
{children}
+
+ );
+}
diff --git a/frontend/src/app/home/page.tsx b/frontend/src/app/home/page.tsx
new file mode 100644
index 00000000..8905a6e9
--- /dev/null
+++ b/frontend/src/app/home/page.tsx
@@ -0,0 +1,41 @@
+'use client';
+
+import { useState } from 'react';
+import { SendIcon } from 'lucide-react';
+
+export default function HomePage() {
+ const [message, setMessage] = useState('');
+
+ return (
+
+
+
+
+
+
+
+ Hello! How can I help you today?
+
+
+
+
+
+
+
+
+ setMessage(e.target.value)}
+ placeholder="Type your message..."
+ className="flex-1 p-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-indigo-500 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:placeholder-gray-400"
+ />
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx
index 8e217411..fe890099 100644
--- a/frontend/src/app/layout.tsx
+++ b/frontend/src/app/layout.tsx
@@ -2,6 +2,7 @@ import type { Metadata, Viewport } from 'next';
import { Inter } from 'next/font/google';
import './globals.css';
import { BaseProviders } from './providers/BaseProvider';
+import { ThemeProvider } from './providers/ThemeProvider';
const inter = Inter({ subsets: ['latin'] });
@@ -25,7 +26,7 @@ export default function RootLayout({
return (
- {children}
+ {children}
);
diff --git a/frontend/src/app/providers/ThemeProvider.tsx b/frontend/src/app/providers/ThemeProvider.tsx
new file mode 100644
index 00000000..f09103e6
--- /dev/null
+++ b/frontend/src/app/providers/ThemeProvider.tsx
@@ -0,0 +1,38 @@
+'use client';
+
+import { createContext, useContext, useEffect, useState } from 'react';
+
+type Theme = 'dark' | 'light';
+
+const ThemeContext = createContext<{
+ theme: Theme;
+ toggleTheme: () => void;
+}>({ theme: 'light', toggleTheme: () => {} });
+
+export const ThemeProvider = ({ children }: { children: React.ReactNode }) => {
+ const [theme, setTheme] = useState('light');
+
+ useEffect(() => {
+ const savedTheme = localStorage.getItem('theme') as Theme;
+ if (savedTheme) {
+ setTheme(savedTheme);
+ }
+ }, []);
+
+ useEffect(() => {
+ localStorage.setItem('theme', theme);
+ document.documentElement.classList.toggle('dark', theme === 'dark');
+ }, [theme]);
+
+ const toggleTheme = () => {
+ setTheme(theme === 'light' ? 'dark' : 'light');
+ };
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useTheme = () => useContext(ThemeContext);
\ No newline at end of file
diff --git a/frontend/src/components/user-settings.tsx b/frontend/src/components/user-settings.tsx
index a6179a66..b73b284c 100644
--- a/frontend/src/components/user-settings.tsx
+++ b/frontend/src/components/user-settings.tsx
@@ -35,8 +35,10 @@ export const UserSettings = ({ isSimple }: UserSettingsProps) => {
const handleLogout = useMemo(() => {
return () => {
+ router.push('/');
+ // router.push('/login');
logout();
- router.push('/login');
+
};
}, [logout, router]);