File size: 1,100 Bytes
4888678
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import React from 'react';
import { Routes, Route, Navigate } from 'react-router-dom';
import { useAuth } from './hooks/useAuth';
import Login from './components/Auth/Login';
import Register from './components/Auth/Register';
import ChatContainer from './components/Chat/ChatContainer';
import LoadingSpinner from './components/Common/LoadingSpinner';

function App() {
  const { user, loading } = useAuth();

  if (loading) {
    return <LoadingSpinner />;
  }

  return (
    <div className="app">

      <Routes>

        <Route 

          path="/login" 

          element={!user ? <Login /> : <Navigate to="/" />} 

        />

        <Route 

          path="/register" 

          element={!user ? <Register /> : <Navigate to="/" />} 

        />

        <Route 

          path="/" 

          element={user ? <ChatContainer /> : <Navigate to="/login" />} 

        />

        <Route 

          path="/chat/:conversationId" 

          element={user ? <ChatContainer /> : <Navigate to="/login" />} 

        />

      </Routes>

    </div>
  );
}

export default App;