Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1234567891011121314151617181920212223242526272829303132333435363738
  1. import './App.css';
  2. import {Route, Routes } from 'react-router-dom';
  3. import LoginScreen from './screens/LoginScreen';
  4. import RegisterScreen from './screens/RegisterScreen';
  5. import HomeScreen from './screens/HomeScreen';
  6. import MainScreen from './screens/MainScreen';
  7. import { UserProvider } from './contexts/userContext';
  8. import ProtectedRoute from './components/ProtectedRoute';
  9. import ChatsScreen from './screens/ChatsScreen';
  10. import RequestScreen from './screens/RequestScreen';
  11. function App() {
  12. return (
  13. <div className="App">
  14. <UserProvider>
  15. <Routes>
  16. <Route exact path="/" element={<HomeScreen />} />
  17. <Route path="/login" element={<LoginScreen />} />
  18. <Route path="/register" element={<RegisterScreen />} />
  19. <Route exact path="/main" element={<ProtectedRoute linkToNavigate="/" />}>
  20. <Route exact path="/main" element={<MainScreen />} />
  21. </Route>
  22. <Route exact path="/chats" element={<ProtectedRoute linkToNavigate="/" />}>
  23. <Route exact path="/chats" element={<ChatsScreen />} />
  24. </Route>
  25. <Route exact path="/requests" element={<ProtectedRoute linkToNavigate="/" />}>
  26. <Route exact path="/requests" element={<RequestScreen />} />
  27. </Route>
  28. <Route exact path="/profile" element={<ProtectedRoute linkToNavigate="/" />}>
  29. <Route exact path="/profile" element={<MainScreen />} />
  30. </Route>
  31. </Routes>
  32. </UserProvider>
  33. </div>
  34. );
  35. }
  36. export default App;