UNPKG

phx-react

Version:

PHX REACT

71 lines 4.53 kB
"use strict"; 'use client'; exports.__esModule = true; exports.PHXPagePermissionV3 = void 0; var tslib_1 = require("tslib"); var solid_1 = require("@heroicons/react/24/solid"); var Card_1 = require("../Card"); var react_1 = tslib_1.__importStar(require("react")); var js_cookie_1 = tslib_1.__importDefault(require("js-cookie")); var constants_1 = require("../../utils/constants"); var clientQueryV3_1 = tslib_1.__importDefault(require("../Func/clientQueryV3")); var query_1 = require("../../query"); function PHXPagePermissionV3(_a) { var _this = this; var children = _a.children, code = _a.code; var _b = (0, react_1.useState)([]), perCode = _b[0], setPerCode = _b[1]; var cookie = js_cookie_1["default"].get(constants_1.isLoggedCookie); (0, react_1.useEffect)(function () { if (cookie) { var data = JSON.parse(cookie); var id_1 = data.id, school_id_1 = data.school_id; var fetchDataPer = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { var res, userPermission, rolePermission, dataCodePermissionRole, dataCodePermissionUser, allCodes, uniqueValues, error_1; var _a, _b; return tslib_1.__generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 2, , 3]); return [4 /*yield*/, (0, clientQueryV3_1["default"])({ query: query_1.GET_PERMISSION_DETAIL_USER_V3, variables: { id: id_1, school_id: school_id_1 } })]; case 1: res = _c.sent(); userPermission = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.permission_user; rolePermission = (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.permission_role; dataCodePermissionRole = rolePermission === null || rolePermission === void 0 ? void 0 : rolePermission.map(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.permission) === null || _a === void 0 ? void 0 : _a.code; }); dataCodePermissionUser = userPermission === null || userPermission === void 0 ? void 0 : userPermission.map(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.permission) === null || _a === void 0 ? void 0 : _a.code; }); allCodes = tslib_1.__spreadArray(tslib_1.__spreadArray([], dataCodePermissionRole, true), dataCodePermissionUser, true); uniqueValues = Array.from(new Set(allCodes)); setPerCode(uniqueValues); return [3 /*break*/, 3]; case 2: error_1 = _c.sent(); console.error('Error fetching school data:', error_1); return [3 /*break*/, 3]; case 3: return [2 /*return*/]; } }); }); }; fetchDataPer()["catch"](console.error); } }, []); if (perCode.length > 0) { var checkPermission = perCode.some(function (item) { return item === code; }); if (checkPermission) { return react_1["default"].createElement(react_1["default"].Fragment, null, children); } else { return (react_1["default"].createElement("div", { className: 'mt-5' }, react_1["default"].createElement(Card_1.PHXCard, null, react_1["default"].createElement("div", { className: 'mb-10 mt-10 sm:mb-20 sm:mt-20 lg:mb-32 lg:mt-32' }, react_1["default"].createElement("div", { className: 'flex items-center justify-center' }, react_1["default"].createElement(solid_1.LockClosedIcon, { className: 'text-gray-400', height: 70, width: 70 })), react_1["default"].createElement("div", { className: 'mt-5 flex items-center justify-center text-base font-bold text-gray-800' }, "B\u1EA1n kh\u00F4ng c\u00F3 quy\u1EC1n truy c\u1EADp"))))); } } return null; } exports.PHXPagePermissionV3 = PHXPagePermissionV3; //# sourceMappingURL=PagePermissionV3.js.map