63 أسطر
2.4 KiB
JavaScript
63 أسطر
2.4 KiB
JavaScript
import React from 'react';
|
|
import './App.css';
|
|
|
|
import theme from './theme';
|
|
import { ThemeProvider } from '@mui/material/styles';
|
|
import { BrowserRouter as Router, Routes, Route, Navigate } from 'react-router-dom';
|
|
import { GoogleOAuthProvider } from '@react-oauth/google';
|
|
import PrivateRoute from '../src/components/Routes/PrivateRoute';
|
|
|
|
// الصفحات العامة
|
|
import LoginForm from './components/Authentication/SignUp_In/LoginForm';
|
|
import RegisterForm from './components/Authentication/SignUp_In/RegisterForm';
|
|
import ForgetPassword from './components/Authentication/ForgetPassword/ForgetFormMain';
|
|
import PublicRoute from './components/Routes/PublicRoute';
|
|
|
|
import { TermsPage, PrivacyPage } from './components/Authentication/Legal/TermsPrivacyComponents';
|
|
|
|
import { RestaurantProvider } from './contexts/RestaurantContext';
|
|
import ProtectedRoutes from './components/Routes/ProtectedRoutes';
|
|
import { SnackbarProvider } from "./contexts/SnackbarContext";
|
|
import { UserProvider } from './contexts/UserContext';
|
|
|
|
function App() {
|
|
return (
|
|
<ThemeProvider theme={theme}>
|
|
<GoogleOAuthProvider clientId="443509481732-4i5ne811hr90rn75q3fbqevqi9eu3lvk.apps.googleusercontent.com">
|
|
<Router>
|
|
<UserProvider>
|
|
{/* ✅ لفّ كل المشروع بـ SnackbarProvider */}
|
|
<SnackbarProvider>
|
|
<Routes>
|
|
{/* التوجيه التلقائي للصفحة الرئيسية */}
|
|
<Route path="/" element={<Navigate to="/login" replace />} />
|
|
|
|
<Route path="/login" element={<PublicRoute><LoginForm /></PublicRoute>} />
|
|
<Route path="/register" element={<PublicRoute><RegisterForm /></PublicRoute>} />
|
|
<Route path="/forget" element={<PublicRoute><ForgetPassword /></PublicRoute>} />
|
|
|
|
{/* روابط الشروط والخصوصية */}
|
|
<Route path="/terms" element={<TermsPage />} />
|
|
<Route path="/privacy" element={<PrivacyPage />} />
|
|
|
|
<Route
|
|
path="/*"
|
|
element={
|
|
<RestaurantProvider>
|
|
|
|
<ProtectedRoutes />
|
|
|
|
</RestaurantProvider>
|
|
}
|
|
/>
|
|
</Routes>
|
|
</SnackbarProvider>
|
|
</UserProvider>
|
|
</Router>
|
|
</GoogleOAuthProvider>
|
|
</ThemeProvider>
|
|
);
|
|
}
|
|
|
|
export default App;
|