UNPKG

@defikitdotnet/x-ai-combat

Version:

XCombatAI - Social Media Engagement Template for the Agent Framework

23 lines 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const jsx_runtime_1 = require("react/jsx-runtime"); const react_router_dom_1 = require("react-router-dom"); const AuthContext_1 = require("../contexts/AuthContext"); /** * Protected route component that redirects to login if user is not authenticated */ const ProtectedRoute = ({ redirectPath = '/login', children }) => { const { isAuthenticated, isLoading } = (0, AuthContext_1.useAuth)(); // Show loading spinner while checking auth status if (isLoading) { return ((0, jsx_runtime_1.jsx)("div", { className: "flex justify-center items-center h-screen", children: (0, jsx_runtime_1.jsx)("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900" }) })); } // Redirect to login if not authenticated if (!isAuthenticated) { return (0, jsx_runtime_1.jsx)(react_router_dom_1.Navigate, { to: redirectPath, replace: true }); } // Render children or outlet (for nested routes) return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children || (0, jsx_runtime_1.jsx)(react_router_dom_1.Outlet, {}) }); }; exports.default = ProtectedRoute; //# sourceMappingURL=ProtectedRoute.js.map