Add docker

This commit is contained in:
2026-01-10 17:51:08 +03:00
parent 62d33acde9
commit 8167c77a27
36 changed files with 1351 additions and 117 deletions
+18
View File
@@ -1,12 +1,15 @@
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import { useEffect } from 'react';
import { useAuthStore } from './store/authStore';
import { useThemeStore } from './store/themeStore';
import { authService } from './services/authService';
import AuthPage from './pages/AuthPage';
import VerifyEmailPage from './pages/VerifyEmailPage';
import ResetPasswordPage from './pages/ResetPasswordPage';
import ForgotPasswordPage from './pages/ForgotPasswordPage';
import ChatPage from './pages/ChatPage';
import ProfilePage from './pages/ProfilePage';
import SettingsPage from './pages/SettingsPage';
function PrivateRoute({ children }: { children: React.ReactNode }) {
const isAuthenticated = useAuthStore((state) => state.isAuthenticated);
@@ -26,6 +29,12 @@ function PrivateRoute({ children }: { children: React.ReactNode }) {
function App() {
const setUser = useAuthStore((state) => state.setUser);
const setLoading = useAuthStore((state) => state.setLoading);
const theme = useThemeStore((state) => state.theme);
useEffect(() => {
// Apply theme on mount
document.documentElement.setAttribute('data-theme', theme);
}, [theme]);
useEffect(() => {
const checkAuth = async () => {
@@ -48,6 +57,7 @@ function App() {
<Route path="/auth" element={<AuthPage />} />
<Route path="/verify-email/:token" element={<VerifyEmailPage />} />
<Route path="/reset-password/:token" element={<ResetPasswordPage />} />
<Route path="/forgot-password" element={<ForgotPasswordPage />} />
<Route
path="/chat"
element={
@@ -64,6 +74,14 @@ function App() {
</PrivateRoute>
}
/>
<Route
path="/settings"
element={
<PrivateRoute>
<SettingsPage />
</PrivateRoute>
}
/>
<Route path="/" element={<Navigate to="/chat" />} />
</Routes>
</BrowserRouter>