diff --git a/package-lock.json b/package-lock.json index 895b0bb9210a61f22b4f30d0cd4ac7a5514222c3..5759af94eb14ea75d249fd305293b620435f6102 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3934,6 +3934,12 @@ "node-int64": "^0.4.0" } }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.2.1.tgz", + "integrity": "sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==", + "dev": true + }, "buffer": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", @@ -5815,6 +5821,15 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", + "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, "electron-to-chromium": { "version": "1.3.473", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.473.tgz", @@ -5981,6 +5996,12 @@ "is-symbol": "^1.0.2" } }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -7014,6 +7035,15 @@ "utils-extend": "^1.0.4" } }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", + "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -9307,6 +9337,12 @@ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -9620,6 +9656,26 @@ "handlebars": "^4.0.3" } }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", + "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, "jest": { "version": "23.6.0", "resolved": "https://registry.npmjs.org/jest/-/jest-23.6.0.tgz", @@ -13362,6 +13418,27 @@ "mimic-fn": "^1.0.0" } }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, "opn": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", @@ -19018,6 +19095,191 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, + "source-map-explorer": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/source-map-explorer/-/source-map-explorer-2.5.2.tgz", + "integrity": "sha512-gBwOyCcHPHcdLbgw6Y6kgoH1uLKL6hN3zz0xJcNI2lpnElZliIlmSYAjUVwAWnc7+HscoTyh1ScR7ITtFuEnxg==", + "dev": true, + "requires": { + "btoa": "^1.2.1", + "chalk": "^4.1.0", + "convert-source-map": "^1.7.0", + "ejs": "^3.1.5", + "escape-html": "^1.0.3", + "glob": "^7.1.6", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "open": "^7.3.1", + "source-map": "^0.7.3", + "temp": "^0.9.4", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "string-width": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", @@ -19680,6 +19942,16 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + } + }, "terser": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", diff --git a/package.json b/package.json index cadd5e71c3925e3a64a0d386e886b374bbe37e5f..6a21760714ff3d963b0a965899970ae86e670018 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,8 @@ "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-react": "^7.21.5", "eslint-plugin-react-hooks": "^1.6.1", - "prettier": "1.18.2" + "prettier": "1.18.2", + "source-map-explorer": "^2.5.2" }, "watch": { "build": { @@ -70,6 +71,7 @@ } }, "scripts": { + "analyze": "NODE_PATH=src/ source-map-explorer 'build/static/js/*.js'", "start": "NODE_PATH=src/ PORT=4000 react-scripts start watch", "build": "NODE_PATH=src/ react-scripts build", "test": "NODE_PATH=src/ react-scripts test", diff --git a/src/Admin/Components/Components/AdminTemplate.js b/src/Admin/Components/Components/AdminTemplate.js new file mode 100644 index 0000000000000000000000000000000000000000..3677dea35865b67356093efd63ad77b8ed6332ab --- /dev/null +++ b/src/Admin/Components/Components/AdminTemplate.js @@ -0,0 +1,64 @@ +/*Copyright (C) 2019 Centro de Computacao Cientifica e Software Livre +Departamento de Informatica - Universidade Federal do Parana + +This file is part of Plataforma Integrada MEC. + +Plataforma Integrada MEC is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Plataforma Integrada MEC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with Plataforma Integrada MEC. If not, see <http://www.gnu.org/licenses/>.*/ + +import React, { useContext } from "react"; +import { Store } from 'Store' + +const Unauthorized = React.lazy(() => import('./Unauthorized')); +const AppBarAdmin = React.lazy(() => import('./AppBar')); + +const AdminTemplate = (props) => { + + const { state } = useContext(Store); + + const CheckUserPermission = () => { + let canUserEdit = false; + + if (state.userIsLoggedIn) { + const roles = [...state.currentUser.roles]; + for (let i = 0; i < roles.length; i++) + if (roles[i].name === 'admin' || roles[i].name === 'editor') + canUserEdit = true; + } + else { + canUserEdit = false; + } + + return canUserEdit; + } + + if (CheckUserPermission()) + return ( + <div style={{ backgroundColor: " #D3D3D3" }}> + <AppBarAdmin /> + <div style={{ padding: "2em" }}> + {props.inner} + </div> + </div> + ) + else + return ( + <div style={{ backgroundColor: " #D3D3D3" }}> + <div style={{ padding: "2em" }}> + <Unauthorized /> + </div> + </div> + ) +} + +export default AdminTemplate; \ No newline at end of file diff --git a/src/App.js b/src/App.js index 5bd3940a0de9b84e293a8ac8c591f401fa1a82c1..62667f3e08edbe6c56da270c593152e29f788bc6 100644 --- a/src/App.js +++ b/src/App.js @@ -25,7 +25,7 @@ import { BrowserRouter, Switch, Route, Redirect } from "react-router-dom"; import Header from "./Components/Header"; import createBrowserHistory from 'history/createBrowserHistory' -const Unauthorized = React.lazy(() => import('./Admin/Components/Components/Unauthorized')); +const AdminTemplate = React.lazy(() => import('./Admin/Components/Components/AdminTemplate')); const Home = React.lazy(() => import('./Pages/HomeFunction')); const Search = React.lazy(() => import("./Pages/Search")); const EcFooter = React.lazy(() => import("./Components/EcFooter")); @@ -58,6 +58,7 @@ const FormationMaterialPage = React.lazy(() => import("./Pages/FormationMaterial const FormationMaterialIframe = React.lazy(() => import("./Pages/FormationMaterialIframe.js")); const MaterialPage = React.lazy(() => import("./Pages/MaterialPage")); const PageNotFound = React.lazy(() => import("./Pages/PageNotFound.js")); + const NoteVariables = React.lazy(() => import("./Admin/Pages/Pages/SubPages/NoteVariables")); const Institution = React.lazy(() => import("./Admin/Pages/Pages/SubPages/Institutions")); const SendEmail = React.lazy(() => import("./Admin/Pages/Pages/SubPages/SendEmail")); @@ -96,87 +97,6 @@ const UserPermissions = React.lazy(() => import("./Admin/Pages/Pages/SubPages/Pe const EditRole = React.lazy(() => import("./Admin/Components/Components/Inputs/EditRoles")); const CreateRole = React.lazy(() => import("./Admin/Components/Components/Inputs/CreateRole")); const BlockedUser = React.lazy(() => import("./Admin/Pages/Pages/SubPages/BlockedUsers")); -const AppBarAdmin = React.lazy(() => import('./Admin/Components/Components/AppBar')); - - -/* -import Unauthorized from './Admin/Components/Components/Unauthorized' -import Home from "./Pages/HomeFunction"; -import Search from "./Pages/Search"; -import Header from "./Components/Header"; -import EcFooter from "./Components/EcFooter"; -import GNUAGPLfooter from "./Components/AGPLFooter"; -import UserPage from "./Pages/UserPage"; -import UserTerms from "./Pages/UserTerms"; -import Contact from "./Pages/Contact"; -import Teste from "./Pages/Teste"; -import AboutPage from "./Pages/AboutPage"; -import HelpCenter from "./Pages/HelpCenter"; -import TabResoursePub from "./Pages/TabsHelp/TabResoursePub"; -import TabResourseFind from "./Pages/TabsHelp/TabResourseFind"; -import TabNetPart from "./Pages/TabsHelp/TabNetPart"; -import TabManageAc from "./Pages/TabsHelp/TabManageAc"; -import PasswordRecoveryPage from "./Pages/PasswordRecoveryPage.js"; -import PageProfessor from "./Pages/PageProfessor.js"; -import ResourcePage from "./Pages/ResourcePage"; -import { BrowserRouter, Switch, Route, Redirect } from "react-router-dom"; -import TermsPage from "./Pages/TermsPage.js"; -import PublicationPermissionsPage from "./Pages/PublicationPermissionsPage.js"; -import TabPlataformaMEC from "./Pages/TabsHelp/TabPlataformaMEC"; -import ItemStore from "./Pages/ItemStore.js"; -import EditProfilePage from "./Pages/EditProfilePage.js"; -import PublicUserPage from "./Pages/PublicUserPage.js"; -import UploadPage from "./Pages/UploadPage.js"; -import EditLearningObjectPage from "./Pages/EditLearningObjectPage.js"; -import SiteMap from "./Pages/SiteMap"; -import Accessibility from "./Pages/Accessibility"; -import CollectionPage from "./Pages/CollectionPage.js"; -import FormationMaterialPage from "./Pages/FormationMaterialPage.js"; -import FormationMaterialIframe from "./Pages/FormationMaterialIframe.js"; -import MaterialPage from "./Pages/MaterialPage"; -import PageNotFound from "./Pages/PageNotFound.js"; - -import NoteVariables from "./Admin/Pages/Pages/SubPages/NoteVariables"; -import Institution from "./Admin/Pages/Pages/SubPages/Institutions"; -import SendEmail from "./Admin/Pages/Pages/SubPages/SendEmail"; -import Inframe from "./Admin/Pages/Pages/SubPages/Inframe"; -import Languages from "./Admin/Pages/Pages/SubPages/Languages"; -import Activity from "./Admin/Pages/Pages/SubPages/Activity"; -import InstitutionCard from "./Admin/Components/Components/DataCards/InstitutionsCard"; -import InstitutionsInput from "./Admin/Components/Components/Inputs/IntitutionsInputs"; -import CreateInstitution from "./Admin/Components/Components/Inputs/CreateInstitution"; -import NoteVarCard from "./Admin/Components/Components/DataCards/NoteVarCard"; -import NoteVarInputs from "./Admin/Components/Components/Inputs/NoteVarInputs"; -import EditLanguage from "./Admin/Components/Components/Inputs/EditLanguage"; -import CreateLanguage from "./Admin/Components/Components/Inputs/CreateLanguage"; -import ActivityCard from "./Admin/Components/Components/DataCards/ActivityCard"; -import CommunityQuestions from "./Admin/Pages/Pages/SubPages/CommunityQuestions"; -import CommunityCard from "./Admin/Components/Components/DataCards/CommunityQuestionCard"; -import Collections from "./Admin/Pages/Pages/SubPages/Collections"; -import CollectionCard from "./Admin/Components/Components/DataCards/CollectionCard"; -import EditCollection from "./Admin/Components/Components/Inputs/EditCollection"; -import Ratings from "./Admin/Pages/Pages/SubPages/Rating"; -import RatingCard from "./Admin/Components/Components/DataCards/RatingCard"; -import EditRating from "./Admin/Components/Components/Inputs/EditRating"; -import CreateRating from "./Admin/Components/Components/Inputs/CreateRating"; -import Questions from "./Admin/Pages/Pages/SubPages/Questions"; -import CreateQuestions from "./Admin/Components/Components/Inputs/CreateQuestion"; -import EducationalObject from "./Admin/Pages/Pages/SubPages/EducationalObjects"; -import EducationalObjectCard from "./Admin/Components/Components/DataCards/EducationalObjectsCard"; -import EducationalObjectEdit from "./Admin/Components/Components/Inputs/EditEducationalObect"; -import Complaints from "./Admin/Pages/Pages/SubPages/Complaints"; -import ComplaintCard from "./Admin/Components/Components/DataCards/ComplaintsCard"; -import AproveTeacher from "./Admin/Pages/Pages/SubPages/AproveTeacher"; -import UserCard from "./Admin/Components/Components/DataCards/UserCard"; -import EditUser from "./Admin/Components/Components/Inputs/EditUser"; -import UserList from "./Admin/Pages/Pages/SubPages/Users"; -import UserPermissions from "./Admin/Pages/Pages/SubPages/Permissions"; -import EditRole from "./Admin/Components/Components/Inputs/EditRoles"; -import CreateRole from "./Admin/Components/Components/Inputs/CreateRole"; -import BlockedUser from "./Admin/Pages/Pages/SubPages/BlockedUsers"; -import AppBarAdmin from './Admin/Components/Components/AppBar' -import createBrowserHistory from 'history/createBrowserHistory' -*/ export default function App() { // eslint-disable-next-line @@ -189,22 +109,6 @@ export default function App() { siteId: 5 }); const customHistory = createBrowserHistory() - - const CheckUserPermission = () => { - let canUserEdit = false; - - if (state.userIsLoggedIn) { - const roles = [...state.currentUser.roles]; - for (let i = 0; i < roles.length; i++) - if (roles[i].name === 'admin' || roles[i].name === 'editor') - canUserEdit = true; - } - else { - canUserEdit = false; - } - - return canUserEdit; - } async function supportsWebp() { if (!createImageBitmap) return false; @@ -253,26 +157,6 @@ export default function App() { return () => window.removeEventListener("resize", setWindowSize); }, [window.innerWidth, window.innerHeight]); - const AdminTemplate = (props) => { - if (CheckUserPermission()) - return ( - <div style={{ backgroundColor: " #D3D3D3" }}> - <AppBarAdmin /> - <div style={{ padding: "2em" }}> - {props.inner} - </div> - </div> - ) - else - return ( - <div style={{ backgroundColor: " #D3D3D3" }}> - <div style={{ padding: "2em" }}> - <Unauthorized /> - </div> - </div> - ) - } - const LoadingScreen = () => ( <div style={{ position: "absolute",