File size: 2,012 Bytes
79278ec
19eca0c
4f9f661
 
19eca0c
 
4f9f661
19eca0c
 
 
 
 
79278ec
 
 
 
 
 
4f9f661
 
 
 
 
 
 
79278ec
 
4f9f661
 
79278ec
4f9f661
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19eca0c
 
 
 
79278ec
4f9f661
79278ec
 
 
 
4f9f661
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import Navbar from '@/components/common/navbar/Navbar';
import LoginPage from "@/components/pages/auth/Login";
import LLMConfigList from "@/components/pages/llmConfigs/LlmConfigList";
import LlmPromptList from "@/components/pages/llmPrompts/LlmPromptList";
import Logs from "@/components/pages/logs/Logs";
import Vectorization from "@/components/pages/vectorizationPage/Vectorization";
import { AuthProvider, useAuth } from "@/context/AuthContext";
import { pdfjs } from "react-pdf";
import { Navigate, Route, BrowserRouter as Router, Routes } from "react-router-dom";
import "./App.css";
import QePromptList from "./components/pages/qePrompts/QePromptList";


pdfjs.GlobalWorkerOptions.workerSrc = new URL(
  "pdfjs-dist/build/pdf.worker.min.mjs",
  import.meta.url
).toString();

const App: React.FC = () => {
  const { isAuthenticated } = useAuth();

  const PrivateRoute: React.FC<{ children: React.ReactNode }> = ({ children }) => {
    return isAuthenticated ? <>{children}</> : <Navigate to="/login" />;
  };

  return (
    <Router>
      <Navbar/>
      <div className="app-content">
        <Routes>
          <Route path="/login" element={<LoginPage />} />
          <Route path="/logs" element={
            <PrivateRoute>
              <Logs />
            </PrivateRoute>} />
          <Route path="/docs" element={
            <PrivateRoute>
              <Vectorization />
            </PrivateRoute>} />
          <Route path="/llmconfig" element={
            <PrivateRoute>
              <LLMConfigList />
            </PrivateRoute>
          } />
          <Route path="/llmprompt" element={
            <PrivateRoute>
              <LlmPromptList />
            </PrivateRoute>} />
          <Route path="/qeprompt" element={
            <PrivateRoute>
              <QePromptList />
            </PrivateRoute>} />            
        </Routes>
      </div>
    </Router>
  );
}

const RootApp: React.FC = () => (
  <AuthProvider>
    <App />
  </AuthProvider>
);

export default RootApp;