الملفات
ci_cd_repo/src/App.js
2025-09-04 01:17:15 +03:00

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;