source: frontend/node_modules/.cache/babel-loader/94ec93131d00c6b07bc38ed8bd60fad84c800d10f32f5561803a10930f2daf0a.json

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 3 weeks ago

Fix frontend appearance

  • Property mode set to 100644
File size: 3.2 KB
Line 
1{"ast":null,"code":"var _jsxFileName = \"C:\\\\Users\\\\User\\\\Downloads\\\\medora5\\\\frontend\\\\src\\\\components\\\\ProtectedRoute.js\";\nimport React from 'react';\nimport { Navigate } from 'react-router-dom';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nfunction ProtectedRoute({\n children,\n requiredRoles = []\n}) {\n const token = localStorage.getItem('token');\n const userStr = localStorage.getItem('user');\n\n // If no token, redirect to login\n if (!token) {\n return /*#__PURE__*/_jsxDEV(Navigate, {\n to: \"/login\",\n replace: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 12\n }, this);\n }\n\n // If roles are specified and user's role is not in the list, redirect to dashboard\n if (requiredRoles.length > 0 && userStr) {\n const user = JSON.parse(userStr);\n if (!requiredRoles.includes(user.role)) {\n return /*#__PURE__*/_jsxDEV(Navigate, {\n to: \"/\",\n replace: true\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 14\n }, this);\n }\n }\n return children;\n}\n_c = ProtectedRoute;\nexport default ProtectedRoute;\nvar _c;\n$RefreshReg$(_c, \"ProtectedRoute\");","map":{"version":3,"names":["React","Navigate","jsxDEV","_jsxDEV","ProtectedRoute","children","requiredRoles","token","localStorage","getItem","userStr","to","replace","fileName","_jsxFileName","lineNumber","columnNumber","length","user","JSON","parse","includes","role","_c","$RefreshReg$"],"sources":["C:/Users/User/Downloads/medora5/frontend/src/components/ProtectedRoute.js"],"sourcesContent":["\nimport React from 'react';\nimport { Navigate } from 'react-router-dom';\n\nfunction ProtectedRoute({ children, requiredRoles = [] }) {\n const token = localStorage.getItem('token');\n const userStr = localStorage.getItem('user');\n\n // If no token, redirect to login\n if (!token) {\n return <Navigate to=\"/login\" replace />;\n }\n\n // If roles are specified and user's role is not in the list, redirect to dashboard\n if (requiredRoles.length > 0 && userStr) {\n const user = JSON.parse(userStr);\n if (!requiredRoles.includes(user.role)) {\n return <Navigate to=\"/\" replace />;\n }\n }\n\n return children;\n}\n\nexport default ProtectedRoute;\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,kBAAkB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAE5C,SAASC,cAAcA,CAAC;EAAEC,QAAQ;EAAEC,aAAa,GAAG;AAAG,CAAC,EAAE;EACxD,MAAMC,KAAK,GAAGC,YAAY,CAACC,OAAO,CAAC,OAAO,CAAC;EAC3C,MAAMC,OAAO,GAAGF,YAAY,CAACC,OAAO,CAAC,MAAM,CAAC;;EAE5C;EACA,IAAI,CAACF,KAAK,EAAE;IACV,oBAAOJ,OAAA,CAACF,QAAQ;MAACU,EAAE,EAAC,QAAQ;MAACC,OAAO;IAAA;MAAAC,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAE,CAAC;EACzC;;EAEA;EACA,IAAIV,aAAa,CAACW,MAAM,GAAG,CAAC,IAAIP,OAAO,EAAE;IACvC,MAAMQ,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACV,OAAO,CAAC;IAChC,IAAI,CAACJ,aAAa,CAACe,QAAQ,CAACH,IAAI,CAACI,IAAI,CAAC,EAAE;MACtC,oBAAOnB,OAAA,CAACF,QAAQ;QAACU,EAAE,EAAC,GAAG;QAACC,OAAO;MAAA;QAAAC,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC;IACpC;EACF;EAEA,OAAOX,QAAQ;AACjB;AAACkB,EAAA,GAlBQnB,cAAc;AAoBvB,eAAeA,cAAc;AAAC,IAAAmB,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
Note: See TracBrowser for help on using the repository browser.