api ulandi

This commit is contained in:
Samandar Turgunboyev
2025-10-25 18:42:01 +05:00
parent 1a08775451
commit 05b752daf2
84 changed files with 11179 additions and 3724 deletions

36
src/ProtectedRoute.tsx Normal file
View File

@@ -0,0 +1,36 @@
import useUserStore from "@/shared/hooks/user";
import { removeAuthToken, removeRefAuthToken } from "@/shared/lib/authCookies";
import React from "react";
import { Navigate } from "react-router-dom";
import { toast } from "sonner";
const allowedRoles = [
"superuser",
"admin",
"moderator",
"tour_admin",
"buxgalter",
"operator",
];
const ProtectedRoute = ({ children }: { children: React.ReactNode }) => {
const { user } = useUserStore();
if (!user) {
return <Navigate to="/login" replace />;
}
if (!allowedRoles.includes(user.role)) {
toast.error("Kirishga huquq yoq!", {
richColors: true,
position: "top-center",
});
removeAuthToken();
removeRefAuthToken();
return <Navigate to="/login" replace />;
}
return <>{children}</>;
};
export default ProtectedRoute;