api ulandi
This commit is contained in:
52
src/App.tsx
52
src/App.tsx
@@ -1,5 +1,7 @@
|
||||
import Agencies from "@/pages/agencies/Agencies";
|
||||
import AgencyDetail from "@/pages/agencies/AgencyDetail";
|
||||
import Agencies from "@/pages/agencies/ui/Agencies";
|
||||
import AgencyDetail from "@/pages/agencies/ui/AgencyDetail";
|
||||
import EditAgecy from "@/pages/agencies/ui/EditAgecy";
|
||||
import Login from "@/pages/auth/ui/Login";
|
||||
import Bookings from "@/pages/bookings/ui/Bookings";
|
||||
import Employees from "@/pages/employees/ui/Employees";
|
||||
import Faq from "@/pages/faq/ui/Faq";
|
||||
@@ -23,31 +25,56 @@ import CreateEditTour from "@/pages/tours/ui/CreateEditTour";
|
||||
import TourDetail from "@/pages/tours/ui/TourDetail";
|
||||
import Tours from "@/pages/tours/ui/Tours";
|
||||
import ToursSetting from "@/pages/tours/ui/ToursSetting";
|
||||
import CreateUser from "@/pages/users/Create";
|
||||
import EditUser from "@/pages/users/Edit";
|
||||
import UserList from "@/pages/users/User";
|
||||
import UserDetail from "@/pages/users/UserDetail";
|
||||
import CreateUser from "@/pages/users/ui/Create";
|
||||
import EditUser from "@/pages/users/ui/Edit";
|
||||
import UserList from "@/pages/users/ui/User";
|
||||
import UserDetail from "@/pages/users/ui/UserDetail";
|
||||
import MainProvider from "@/providers/main";
|
||||
import "@/shared/config/i18n";
|
||||
import useUserStore from "@/shared/hooks/user";
|
||||
import { getAuthToken } from "@/shared/lib/authCookies";
|
||||
import { Sidebar } from "@/widgets/sidebar/ui/Sidebar";
|
||||
import { Navigate, Route, Routes } from "react-router-dom";
|
||||
import { useEffect } from "react";
|
||||
import {
|
||||
Navigate,
|
||||
Route,
|
||||
Routes,
|
||||
useLocation,
|
||||
useNavigate,
|
||||
} from "react-router-dom";
|
||||
|
||||
const App = () => {
|
||||
const userRole = "admin";
|
||||
const { user } = useUserStore();
|
||||
const token = getAuthToken();
|
||||
const navigate = useNavigate();
|
||||
const location = useLocation();
|
||||
|
||||
const hideSidebarPaths = ["/login"];
|
||||
const shouldShowSidebar = !hideSidebarPaths.includes(location.pathname);
|
||||
|
||||
useEffect(() => {
|
||||
if (token && user) {
|
||||
navigate("/user");
|
||||
} else if (!token && !user) {
|
||||
navigate("/login");
|
||||
}
|
||||
}, [token, user]);
|
||||
|
||||
return (
|
||||
<MainProvider>
|
||||
<div className="flex max-lg:flex-col bg-gray-900">
|
||||
<Sidebar role={userRole} />
|
||||
<Routes>
|
||||
<Route path="/" element={<Navigate to="/user" replace />} />
|
||||
{shouldShowSidebar && <Sidebar role={user ? user.role : "admin"} />}
|
||||
|
||||
<Routes>
|
||||
<Route path="/" element={<Navigate to={"/user"} />} />
|
||||
<Route path="/user" element={<UserList />} />
|
||||
<Route path="/login" element={<Login />} />
|
||||
<Route path="/users/create" element={<CreateUser />} />
|
||||
<Route path="/users/:id/edit" element={<EditUser />} />
|
||||
<Route path="/users/:id/" element={<UserDetail />} />
|
||||
<Route path="/agencies" element={<Agencies />} />
|
||||
<Route path="/agencies/:id" element={<AgencyDetail />} />
|
||||
<Route path="/agency/:id/edit" element={<EditAgecy />} />
|
||||
<Route path="/tours/:id" element={<TourDetail />} />
|
||||
<Route path="/employees" element={<Employees />} />
|
||||
<Route path="/finance" element={<FinancePage />} />
|
||||
@@ -70,9 +97,6 @@ const App = () => {
|
||||
<Route path="/site-pages/" element={<SitePage />} />
|
||||
<Route path="/site-help/" element={<PolicyCrud />} />
|
||||
<Route path="/site-settings/" element={<TourSettings />} />
|
||||
{/* <Route path="/site-settings" element={<SiteSettings />} />
|
||||
<Route path="/page-services" element={<PageServices />} />
|
||||
<Route path="/page-help" element={<PageHelp />} /> */}
|
||||
</Routes>
|
||||
</div>
|
||||
</MainProvider>
|
||||
|
||||
Reference in New Issue
Block a user