From 8c00974cbc334a51319b06788ff45ca3bf66a5e5 Mon Sep 17 00:00:00 2001 From: Tal Rofe Date: Sat, 16 Jul 2022 18:04:07 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=94=A5=20auth=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit auth page --- apps/frontend/package.json | 5 +- apps/frontend/src/App.tsx | 13 +- apps/frontend/src/App.view.tsx | 28 +- ...oginBackground.png => auth-background.png} | Bin apps/frontend/src/assets/images/brandLogo.png | Bin 17959 -> 0 bytes .../containers/Auth/Auth.module.scss | 2 +- .../GroupCenter/GroupCenter.module.scss | 16 - .../containers/GroupCenter/GroupCenter.tsx | 47 - .../GroupCenter/GroupCenter.view.tsx | 70 -- .../GroupDetails/GroupDetails.module.scss | 8 - .../GroupCenter/GroupDetails/GroupDetails.tsx | 33 - .../GroupDetails/GroupDetails.view.tsx | 42 - .../GroupInfo/GroupInfo.module.scss | 123 --- .../GroupDetails/GroupInfo/GroupInfo.tsx | 113 -- .../GroupDetails/GroupInfo/GroupInfo.view.tsx | 140 --- .../LibrariesList/LibrariesList.module.scss | 13 - .../NewPolicy/LibrariesList/LibrariesList.tsx | 26 - .../LibrariesList/LibrariesList.view.tsx | 46 - .../LibrariesList/Library/Library.module.scss | 82 -- .../LibrariesList/Library/Library.tsx | 34 - .../LibrariesList/Library/Library.view.tsx | 115 -- .../NewPolicy/LibrariesList/Library/index.ts | 3 - .../Policies/NewPolicy/LibrariesList/index.ts | 3 - .../Policies/NewPolicy/NewPolicy.module.scss | 121 --- .../Policies/NewPolicy/NewPolicy.tsx | 60 -- .../Policies/NewPolicy/NewPolicy.view.tsx | 123 --- .../PolicyConfigurationButton.module.scss | 19 - .../PolicyConfigurationButton.tsx | 54 - .../PolicyConfigurationButton.view.tsx | 44 - .../PolicyConfigurationButton/index.ts | 3 - .../SideBarFilters/SideBarFilters.module.scss | 60 -- .../SideBarFilters/SideBarFilters.tsx | 14 - .../SideBarFilters/SideBarFilters.view.tsx | 39 - .../NewPolicy/SideBarFilters/index.ts | 3 - .../GroupInfo/Policies/NewPolicy/index.ts | 3 - .../NoPolicies/NoPolicies.module.scss | 88 -- .../Policies/NoPolicies/NoPolicies.tsx | 14 - .../Policies/NoPolicies/NoPolicies.view.tsx | 49 - .../GroupInfo/Policies/NoPolicies/index.ts | 3 - .../GroupInfo/Policies/Policies.module.scss | 86 -- .../GroupInfo/Policies/Policies.tsx | 19 - .../GroupInfo/Policies/Policies.view.tsx | 50 - .../PoliciesList/PoliciesList.module.scss | 3 - .../Policies/PoliciesList/PoliciesList.tsx | 18 - .../PoliciesList/PoliciesList.view.tsx | 25 - .../GroupInfo/Policies/PoliciesList/index.ts | 3 - .../NewPolicyConfiguration.module.scss | 72 -- .../NewPolicyConfiguration.tsx | 16 - .../NewPolicyConfiguration.view.tsx | 45 - .../NewPolicyConfiguration/index.ts | 3 - .../PolicyConfiguration.module.scss | 4 - .../PolicyConfiguration.tsx | 25 - .../PolicyConfiguration.view.tsx | 55 - .../PolicySidebar/PolicySidebar.module.scss | 148 --- .../PolicySidebar/PolicySidebar.tsx | 24 - .../PolicySidebar/PolicySidebar.view.tsx | 106 -- .../PolicySidebar/index.ts | 3 - .../FileFormat/FileFormat.module.scss | 11 - .../RuleCreation/FileFormat/FileFormat.tsx | 43 - .../FileFormat/FileFormat.view.tsx | 40 - .../FileFormat/Header/Header.module.scss | 38 - .../RuleCreation/FileFormat/Header/Header.tsx | 32 - .../FileFormat/Header/Header.view.tsx | 58 - .../RuleCreation/FileFormat/Header/index.ts | 3 - .../InputCodeForm/InputCodeForm.module.scss | 8 - .../InputCodeForm/InputCodeForm.tsx | 28 - .../InputCodeForm/InputCodeForm.view.tsx | 41 - .../FileFormat/InputCodeForm/index.ts | 3 - .../RuleCreation/FileFormat/index.ts | 3 - .../Manually/Manually.module.scss | 22 - .../RuleCreation/Manually/Manually.tsx | 75 -- .../RuleCreation/Manually/Manually.view.tsx | 61 -- .../CodeBasedConfigurations.module.scss | 141 --- .../CodeBasedConfigurations.tsx | 54 - .../CodeBasedConfigurations.view.tsx | 88 -- .../CodeBasedConfigurations/index.ts | 3 - .../Header/Header.module.scss | 38 - .../RuleConfiguration/Header/Header.tsx | 81 -- .../RuleConfiguration/Header/Header.view.tsx | 51 - .../RuleConfiguration/Header/index.ts | 3 - .../RuleAlertType/RuleAlertType.module.scss | 46 - .../RuleAlertType/RuleAlertType.tsx | 22 - .../RuleAlertType/RuleAlertType.view.tsx | 39 - .../RuleConfiguration/RuleAlertType/index.ts | 3 - .../RuleConfiguration.module.scss | 91 -- .../RuleConfiguration/RuleConfiguration.tsx | 48 - .../RuleConfiguration.view.tsx | 85 -- .../SelectedRule/SelectedRule.module.scss | 62 -- .../SelectedRule/SelectedRule.tsx | 18 - .../SelectedRule/SelectedRule.view.tsx | 60 -- .../RuleConfiguration/SelectedRule/index.ts | 3 - .../Manually/RuleConfiguration/index.ts | 3 - .../SelectRules/Header/Header.module.scss | 99 -- .../Manually/SelectRules/Header/Header.tsx | 34 - .../SelectRules/Header/Header.view.tsx | 72 -- .../Manually/SelectRules/Header/index.ts | 3 - .../RulesList/Rule/Rule.module.scss | 42 - .../SelectRules/RulesList/Rule/Rule.tsx | 33 - .../SelectRules/RulesList/Rule/Rule.view.tsx | 55 - .../SelectRules/RulesList/Rule/index.ts | 3 - .../RulesList/RulesList.module.scss | 7 - .../SelectRules/RulesList/RulesList.tsx | 29 - .../SelectRules/RulesList/RulesList.view.tsx | 50 - .../Manually/SelectRules/RulesList/index.ts | 3 - .../SelectRules/SelectRules.module.scss | 13 - .../Manually/SelectRules/SelectRules.tsx | 49 - .../Manually/SelectRules/SelectRules.view.tsx | 49 - .../Manually/SelectRules/index.ts | 3 - .../SelectedRule/SelectedRule.module.scss | 67 -- .../SelectedRule/SelectedRule.tsx | 31 - .../SelectedRule/SelectedRule.view.tsx | 50 - .../SelectedRules/SelectedRule/index.ts | 3 - .../SelectedRules/SelectedRules.module.scss | 59 -- .../Manually/SelectedRules/SelectedRules.tsx | 76 -- .../SelectedRules/SelectedRules.view.tsx | 56 - .../Manually/SelectedRules/index.ts | 3 - .../RuleCreation/Manually/index.ts | 3 - .../RuleCreation/Options/Options.module.scss | 97 -- .../RuleCreation/Options/Options.tsx | 16 - .../RuleCreation/Options/Options.view.tsx | 57 - .../RuleCreation/Options/index.ts | 3 - .../Recommended/Recommended.module.scss | 3 - .../RuleCreation/Recommended/Recommended.tsx | 14 - .../Recommended/Recommended.view.tsx | 21 - .../RuleCreation/Recommended/index.ts | 3 - .../RuleCreation/RuleCreation.module.scss | 8 - .../RuleCreation/RuleCreation.tsx | 54 - .../RuleCreation/RuleCreation.view.tsx | 86 -- .../PolicyConfiguration/RuleCreation/index.ts | 3 - .../Policies/PolicyConfiguration/index.ts | 3 - .../GroupDetails/GroupInfo/Policies/index.ts | 3 - .../GroupDetails/GroupInfo/index.ts | 3 - .../GroupCenter/GroupDetails/index.ts | 3 - .../GroupsList/Group/Group.module.scss | 80 -- .../GroupsSidebar/GroupsList/Group/Group.tsx | 30 - .../GroupsList/Group/Group.view.tsx | 71 -- .../GroupsSidebar/GroupsList/Group/index.ts | 3 - .../GroupsList/GroupsList.module.scss | 16 - .../GroupsSidebar/GroupsList/GroupsList.tsx | 26 - .../GroupsList/GroupsList.view.tsx | 40 - .../GroupsSidebar/GroupsList/index.ts | 3 - .../GroupsSidebar/GroupsSidebar.module.scss | 60 -- .../GroupsSidebar/GroupsSidebar.tsx | 72 -- .../GroupsSidebar/GroupsSidebar.view.tsx | 56 - .../NoGroups/NoGroups.module.scss | 25 - .../GroupsSidebar/NoGroups/NoGroups.tsx | 14 - .../GroupsSidebar/NoGroups/NoGroups.view.tsx | 25 - .../GroupsSidebar/NoGroups/index.ts | 3 - .../GroupCenter/GroupsSidebar/index.ts | 3 - .../containers/GroupCenter/index.ts | 3 - .../Sidebar/Sidebar.module.scss | 65 -- .../TokenManagement/Sidebar/Sidebar.tsx | 14 - .../TokenManagement/Sidebar/Sidebar.view.tsx | 39 - .../TokenManagement/Sidebar/index.ts | 3 - .../TokenManagement.module.scss | 13 - .../TokenManagement/TokenManagement.tsx | 14 - .../TokenManagement/TokenManagement.view.tsx | 24 - .../TokensDetails/TokensDetails.module.scss | 6 - .../TokensDetails/TokensDetails.tsx | 14 - .../TokensDetails/TokensDetails.view.tsx | 23 - .../TokenManagement/TokensDetails/index.ts | 3 - .../containers/TokenManagement/index.ts | 3 - .../UserSettings/UserSettings.module.scss | 3 - .../containers/UserSettings/UserSettings.tsx | 14 - .../UserSettings/UserSettings.view.tsx | 18 - .../containers/UserSettings/index.ts | 3 - .../src/components/layout/Header/Header.tsx | 15 +- .../FileFormat.module.scss | 11 - .../FileFormat.tsx | 36 - .../FileFormat.view.tsx | 44 - .../Header/Header.module.scss | 38 - .../Header/Header.tsx | 32 - .../Header/Header.view.tsx | 58 - .../Header/index.ts | 3 - .../InputCodeForm/InputCodeForm.module.scss | 8 - .../InputCodeForm/InputCodeForm.tsx | 26 - .../InputCodeForm/InputCodeForm.view.tsx | 41 - .../InputCodeForm/index.ts | 3 - .../ui/CodeBasedConfigurationsInput/index.ts | 3 - .../src/components/ui/Input/Input.module.scss | 7 - .../src/components/ui/Input/Input.tsx | 26 - .../src/components/ui/Input/Input.view.tsx | 27 - .../frontend/src/components/ui/Input/index.ts | 3 - .../NavigateBackButton.module.scss | 19 - .../NavigateBackButton/NavigateBackButton.tsx | 22 - .../NavigateBackButton.view.tsx | 34 - .../components/ui/NavigateBackButton/index.ts | 3 - .../SelectFromOptions.module.scss | 78 -- .../SelectFromOptions/SelectFromOptions.tsx | 36 - .../SelectFromOptions.view.tsx | 74 -- .../components/ui/SelectFromOptions/index.ts | 3 - .../ui/VSvg/__snapshots__/VSvg.test.tsx.snap | 22 - apps/frontend/src/data/fileFormts.ts | 1 - apps/frontend/src/data/librariesList.ts | 987 ------------------ apps/frontend/src/data/monthsName.ts | 14 - .../src/data/newPolicySortByOptions.ts | 1 - apps/frontend/src/data/policiesFilter.ts | 3 - apps/frontend/src/data/ruleAlertTypes.ts | 1 - apps/frontend/src/pages/groupCenter.tsx | 13 - apps/frontend/src/pages/tokenManagement.tsx | 14 - apps/frontend/src/store/app.ts | 1 - apps/frontend/src/store/middlewares/auth.ts | 4 +- apps/frontend/src/utils/currentDate.ts | 8 - apps/frontend/src/utils/validators.ts | 10 - pnpm-lock.yaml | 363 +------ 205 files changed, 27 insertions(+), 7892 deletions(-) rename apps/frontend/src/assets/images/{starsLoginBackground.png => auth-background.png} (100%) delete mode 100644 apps/frontend/src/assets/images/brandLogo.png delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupCenter.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupCenter.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupCenter.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupDetails/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.module.scss delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.view.tsx delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/index.ts delete mode 100644 apps/frontend/src/components/containers/GroupCenter/index.ts delete mode 100644 apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.module.scss delete mode 100644 apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.tsx delete mode 100644 apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.view.tsx delete mode 100644 apps/frontend/src/components/containers/TokenManagement/Sidebar/index.ts delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokenManagement.module.scss delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokenManagement.tsx delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokenManagement.view.tsx delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.module.scss delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.tsx delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.view.tsx delete mode 100644 apps/frontend/src/components/containers/TokenManagement/TokensDetails/index.ts delete mode 100644 apps/frontend/src/components/containers/TokenManagement/index.ts delete mode 100644 apps/frontend/src/components/containers/UserSettings/UserSettings.module.scss delete mode 100644 apps/frontend/src/components/containers/UserSettings/UserSettings.tsx delete mode 100644 apps/frontend/src/components/containers/UserSettings/UserSettings.view.tsx delete mode 100644 apps/frontend/src/components/containers/UserSettings/index.ts delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.module.scss delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.tsx delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.view.tsx delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.module.scss delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.tsx delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.view.tsx delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/index.ts delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.module.scss delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.tsx delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.view.tsx delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/index.ts delete mode 100644 apps/frontend/src/components/ui/CodeBasedConfigurationsInput/index.ts delete mode 100644 apps/frontend/src/components/ui/Input/Input.module.scss delete mode 100644 apps/frontend/src/components/ui/Input/Input.tsx delete mode 100644 apps/frontend/src/components/ui/Input/Input.view.tsx delete mode 100644 apps/frontend/src/components/ui/Input/index.ts delete mode 100644 apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.module.scss delete mode 100644 apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.tsx delete mode 100644 apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.view.tsx delete mode 100644 apps/frontend/src/components/ui/NavigateBackButton/index.ts delete mode 100644 apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.module.scss delete mode 100644 apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.tsx delete mode 100644 apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.view.tsx delete mode 100644 apps/frontend/src/components/ui/SelectFromOptions/index.ts delete mode 100644 apps/frontend/src/components/ui/VSvg/__snapshots__/VSvg.test.tsx.snap delete mode 100644 apps/frontend/src/data/fileFormts.ts delete mode 100644 apps/frontend/src/data/librariesList.ts delete mode 100644 apps/frontend/src/data/monthsName.ts delete mode 100644 apps/frontend/src/data/newPolicySortByOptions.ts delete mode 100644 apps/frontend/src/data/policiesFilter.ts delete mode 100644 apps/frontend/src/data/ruleAlertTypes.ts delete mode 100644 apps/frontend/src/pages/groupCenter.tsx delete mode 100644 apps/frontend/src/pages/tokenManagement.tsx delete mode 100644 apps/frontend/src/utils/currentDate.ts delete mode 100644 apps/frontend/src/utils/validators.ts diff --git a/apps/frontend/package.json b/apps/frontend/package.json index c8292708d..86af82820 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -19,7 +19,6 @@ }, "dependencies": { "@reduxjs/toolkit": "1.8.3", - "@uiw/react-textarea-code-editor": "2.0.2", "axios": "0.27.2", "i18next": "21.8.13", "react": "18.2.0", @@ -28,8 +27,7 @@ "react-redux": "8.0.2", "react-router-dom": "6.3.0", "react-scripts": "5.0.1", - "typescript": "4.7.4", - "uniqid": "5.4.0" + "typescript": "4.7.4" }, "devDependencies": { "@babel/core": "7.18.6", @@ -40,7 +38,6 @@ "@types/react": "18.0.15", "@types/react-dom": "18.0.6", "@types/react-router-dom": "5.3.3", - "@types/uniqid": "5.3.2", "@typescript-eslint/eslint-plugin": "5.30.5", "@typescript-eslint/parser": "5.30.5", "depcheck": "1.4.3", diff --git a/apps/frontend/src/App.tsx b/apps/frontend/src/App.tsx index bd586c244..f303c11ae 100644 --- a/apps/frontend/src/App.tsx +++ b/apps/frontend/src/App.tsx @@ -6,7 +6,7 @@ import { type PayloadAction } from '@reduxjs/toolkit'; import { backendApiAxios } from './utils/http'; import type { IAutoLoginResponseData } from './interfaces/responses'; import type { ILoginPayload } from './store/interfaces/auth'; -import type { AppDispatch, AppState } from './store/app'; +import type { AppState } from './store/app'; import { authActions } from './store/reducers/auth'; import AppView from './App.view'; @@ -26,7 +26,7 @@ const App: React.FC = (props: React.PropsWithChildren) => { const authorizationInterceptor = backendApiAxios.interceptors.request.use((request) => { let token: string | null; - if (request.url === '/user/auth/auto-login') { + if (request.url === '/user/auth/auto-login' || request.url === '/user/auth/refresh-token') { token = localStorage.getItem('token'); } else { token = sessionStorage.getItem('token'); @@ -74,11 +74,4 @@ const mapStateToProps = (state: AppState) => { }; }; -const mapDispatchToProps = (dispatch: AppDispatch): PropsFromDispatch => { - return { - login: (loginPayload: ILoginPayload): PayloadAction => - dispatch(authActions.login(loginPayload)), - }; -}; - -export default connect(mapStateToProps, mapDispatchToProps)(React.memo(App)); +export default connect(mapStateToProps, { login: authActions.login })(React.memo(App)); diff --git a/apps/frontend/src/App.view.tsx b/apps/frontend/src/App.view.tsx index d23b98274..f5043989a 100644 --- a/apps/frontend/src/App.view.tsx +++ b/apps/frontend/src/App.view.tsx @@ -8,31 +8,19 @@ interface Props { } const Auth = React.lazy(() => import('./pages/Auth')); -const GroupCenter = React.lazy(() => import('./pages/GroupCenter')); -const TokenManagement = React.lazy(() => import('./pages/TokenManagement')); const ExternalAuthRedirect = React.lazy(() => import('./pages/ExternalAuthRedirect')); const AppView: React.FC = (props: React.PropsWithChildren) => ( - - {!props.isAuthenticated && ( - <> - } /> - } /> - } /> - - )} - {props.isAuthenticated && ( - <> -
- - } /> - } /> - } /> - - )} - + {!props.isAuthenticated && ( + + } /> + } /> + } /> + + )} + {props.isAuthenticated &&
} ); diff --git a/apps/frontend/src/assets/images/starsLoginBackground.png b/apps/frontend/src/assets/images/auth-background.png similarity index 100% rename from apps/frontend/src/assets/images/starsLoginBackground.png rename to apps/frontend/src/assets/images/auth-background.png diff --git a/apps/frontend/src/assets/images/brandLogo.png b/apps/frontend/src/assets/images/brandLogo.png deleted file mode 100644 index 0367c655f0da807c734cf6af594fe7d08ff09508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17959 zcmce8WkXco*Y?oejdVzNN~d&7Hwq)&okPfgNOuYnN;lHoB@W%)(w+DD{h#mfyx`5S z&z!y2UU^+>O_Zj(0v0+sItT>9Qc{%D27%z>|NBEl20jVt6dVJAsIr`JAZZ2Y(TJh zMqlc`_TGHK`Vri6x49AW5DIDRe_qBnU84C8&vyMAHv8(7%3p8u>wkM7$1$I(Xo+%xsA zZmn3Q4jSGczF=d-WI3EA8t+xLEi1&a0LxHFonqWPKPxQ0P_3(X_?hIb(hRMWTVIro z?~C{kGIj)*{HKO>b!&vjhjZ2ERTX7ppmmu2?91=owi>UW_vaa+r_qKj(+81*Br>S3 z*ci(g)jr#ulvKigenaPIA;cX)*uflH+Huggb4#Z7_y00PbDdTLKZ{C=#{tSL`MXx# z-Jw0$ZuG(5yZMM}xrs3R0K|DS=zecStmm4`z$K*bowfEuI+lw{1C_SV-0?&J%f%JE zQ-BGYlJGO=oahl@LN53*`jgBQeA*^YY(pr6y2fe*su`G+v%dPa-N!%;93APRzb)HQ zYj#BNwkd@pF151^Zd$Hv)XciY+AdcWv8$WhU`na_Wk(_CG&<`}kKV`MVtqiCIjT zy7@4c4MUSVu}g?3XNjlp6NHdf`}Ol`;Jze?-G0XN?0b11#_LCsBwQK9ERI{^ijSUH z@6IT?f?xl2k{`v=b@S7+B1cO`O)iQHO6Yh=0+Jy7rRFKxCd6o5my)346Om(++ z-LVMLhI2zU-Up@BL=X98K)z=;kY^)Z7*~h0{>x;Ko?JdiGd=^f)xhx$H^CALzkNMh z^9va9&{AYF1Myxopd%BiHvm3)n5>CrDn8EPJ|F$|nD%e5K)yH(jW%4v)K}VlZ2#($ zn$p9eU_vcQ8}YNr>| z)*&CU!`>jff}g0R{n3xEenUoecLOtu7{gIXvi#M0cUNJoc;&+&A^w~a2AOiH=wiDD z8aF59p~V@M|5PTNwQ1>_EByd7>sL9}vN?p$A4PPOBK9%3=McGVty>?9873A2^AGp| zzl*>0INojQZ)_fa<{oxyVM(0O(&bV77j+7rWs}Z@y76w!)!lo|u*AGm^Q8%JXnlW! zPMNuOyy{rIdD2hlu%qm!N{FzzTGUcDS@c&0t=ul1WUWW4aOs$_Z1X}mo=XJEW84T( z#bD;Gh{)PQf@^uWcq;7sXq^jwg4elSXRYBuX}(pixHY6I(bNhBOiBqj)|(qf~J*@dq6; zP$^69i?UZ4J&3(9zohhfbs)i;8?JKYsUKyFtCupPR}Gvn!*JXU4oan=Umi^jY?fx^ z2)(L%=S?on&>%r#=obNZ-NRLWcm084!!7WFoJw%^yVZ{(>9}-PrsmDGm1TbwSMKBd zD>da-r1sIj=N_0qaM6%1S}~y9g@(75VQ>KhnSRc>*PE07DS^z=cHh*@LcUGt6;^_a z-d-HtA@$ca!3sKfC)*kKp~9?^N>;E)94;NdW2?Q}M&4(yO%B{wgzr#)@o&F_&tAD# z^eVMy7HZd^xCMocH~!R%MdU8YN2Vbs+&P2EiXsu$U~FzD#)1?y!&Yh!!T>&T`gaS0 zzzyKF&0?#f!0lM>t-$~ECZm{Q3sX2j-F{`mIb&Gz)NN!RV-6QiqSg13H!NxLsuv1I zPI|zVl1oD=lzJJoTK8)7aXiK8&~Tjk_*oYQ3CHc;*hojDh%(gOn8G+E@Avf+hqi=Y zz(YGc7Lg1SC06y8I9dFZ3GCBNsCD?oWGKp;X8aoS{AsjVZ4WXE@qqDM1KoY4Z%mNk_ znv~rm@@Dr@T+4u5(pv%Sv5!kN3Pz`$uv1hO%O-CUHVicUK(!fDC^Z2g{igV9;as-3 zFJpo({H$ucz1ULosIo>imK|9@Actvwn5BF(imvwUT0*-@gVDKJ>e9d2VgxkWfWd!W zKg$1U9@030_Dw-k#e5O)Eb*IV4t&KG4&JBHcQ~gL%jx%jufElpt%608aSJ@G4*BKB zkkn>AI&N`(r`%Vsl9xCS&qpyej=T0S9+q0;fWNKOh#@9=!LJrYwWM;=v+cZn(;)45@JV|Kgfi^l0D$-$o?L)#1RO;~An}qwOHQ|;`l-E&_ z^Ph#mmfY4n=CSqtW8G{Brd&d{W$t|w;m?V7JCjDw)#l2@0Q zK}6#>un)Eqko+b7?nyup_&JOqwZWO|u^MAT0SMO?3yWIS!D~5%-0)IAU~A*+qzYpr$N5h%Bl5k3AU22?#&g;Mb0WJ2#uVl_5v zh3W-!v#WUX66ipiEooiPfe2@uGq)i*lmyN{Up)}hQIArh({e$-1 zuGn3k+z?~54eJl-`OFx&4#&F9HVd0xuG)C6kiz$%1oPC>08y=FM^qY|qIMT^`DJXWQlBQ|en;|D&Bi zDt?A4G{gh}jYzZD^f^t+?byQJ`A)2}bN zf=6GlDMb_$pitiZS~-Uxi$$!l*ed>VU(A+ikGJRgZs=^EiP~W;jW$PR5-`U~s;T_m zR9B1@%JyO%v<(eRA@tIg>66hTtk3~Inq)@9uMD4uQ5oj(4AFfWM~c36DrMI_^TJ%i z&(iWv{Hd2t?5DlFwVx;9{K%vXVHtf3N|12$ft|(LT_9fg(b*hmFI<_2f1~}kS^cka zcxti7LT?ryB$PhE5UqgD5RR+)H3WQgTA8zAwNfJj*xLq%Y-QVzM#`Nbx}RyE{G2`~ zz@zbexRUIsSlIo@wJheT`wr$C&RpT>t@h%$4M(N%-S|`R#UFZ-DOo~@e@cbH^k^fw&fZXaf(8inj8FVB;jbOHH<$9=0g&3}ycBWj^?;2&t526v`J zLJ_rT68hnG6@Hdpew|+sT?9->X00(u2TynDUPwP@Ujt4|9@DUdBUBM0N4HBlY8jXj z-(dd%M%BAbVwM~oC|g>q^sRdMAv>drH%9?6mr${96CLxnv4{Vi7EDQQe_<*Z-;3W# zIHv0tBB!%R9JefIfdV%?RLT|zqawT{W2<)?Zx-Hwze!q%q@k+IT5X=WwB8+J9uadH z2TCt%t%koBG{jJOnqqOhl;wO}`b9Q8%&Vh9Nao{$pBNR$HQ#(TDp3*j@3 zck)-h1U#rPij(@7&f#fg!`00grH20La(nTCT#uy0zF3>xN}&JBHTLnNSr}h;#13s= z#xSZJq5d0^UxIV1w=!aDkH>0;Xy0Npu^9qB0@{gzqwA6EPSvG9Vy02>yHH9_se#Fj zU1MnVJe>a3$LqaY89WRkckp|~Dfw1}kh)fcZ@La-lsUm5^EJB%zi0}z{H@Oq*7pAj zqS6EIf^ET7K7ti*!B(0Vi{4<~UpPf#a<+;P=-*Pz_mWj#Qvv7DHtRvE6`=Ci{)2*Z z@|${OI}|l8WM>syOGKMyQ_NKse*9Dfd`nrJ1a)6ZNshJiC30fY%Y*!x2c)&QO%4@y zMofkgYbXsZ`W_A7m`_xT8(eHia;dhe#<*Yoz72kG_n)8i+Gw5)gAQaa_@`;0e z14m_e7vfHE#DSEcddTy6G{iO{vXg+GsOwwtB{ZJF-ZCo0Zj!hoc5*?y)bKXaq_|hE z6exP+S^l_K1+eVUK1rj?-J!jU+HjhB2HwRKB_}Ct;c)y)8IR7vJ}gxx*?6H5`*--{w=VLiP>pUU`cI>;El8bn>X#Tcx4 zlQtXvW4e<3C*rgB1ZRJvH%r8EXmUdc5rO}?ot93goejF&G-u1nZr{vrl@zXhF|In0 z+E{<)q%XI(7yLI)%n0v+fLhyME=)a`;Uj&MzcVSuyH|8NaRb>CtEfJJ+?@)+p#hb- z74*Q6*#l8gT><)+8K>Zgm6EHobb?WTW9Y$IZ4V8D@`rI5yh3*o;-Ti10C52!YBk(b z7FnENP|0NGW`KGPR{@xj-(c43y3kl)8W+^Om-0dG?SO<0n=g0;f#rzLEO9C_ZhCTm zx5mNGVBt5>y6Jxxl5B23ft33s%9;D8)nEs*2_%&{K=33%xJ!f{rtMzJf3gfo*)>cR z3U+z#mLywz8D56v-C^$Y^CYHmfZ&gDB?M}<=wuwLuC{jEkzbf+a7bNUS?6uyEcyW( zj!5N^l#Xs2p5J0G;t@RZ<-V&2LzH zc}#0~O(5Yx001PNu&P5paVc*p9dA(WRZ!ta3aiaA{j`akE!}&JwI|C}-+y~sF!w?Z z*j!8IJGPfMa&vbVuJWI0-dDcOJz_r-OHT+muL7jGR!*62cK6kcb|mQ)8_zS%o<1R( zq!n9X#fXc30i5(bpe1?uVOtNW;YR-$YqtTwYw+MnnFP*UI@n&#SmM_I9*%!HqotU9 z6*%PNWB!7H6(v9%IMv_5B|8$I@b@d=@nO=)4Z2B`dwLp%-9S+~=Y_-2?MV;?=$q|GXa>$dG_CsZ< z8A%+{=a9}k6+~h@$7;jd$>_4%lw^g^3%nL~8yoNc^5e;UQ{BVs=wBZeT%gZt51gY4 zmeA<>Qa$%g{nV)8T2}*ai*(m~0Ch|pdgvNH* z{;%d5PxDkf1)l|8z?9SSqzh-titC_%*H_BV#T2MB=C>QV;rw;LpBUnW!Iu$>(S8Y1 zrf>#td7=1p*@#E3S;d`V?`Lb!HGm@G`0TwQJ=zrrVwXNaKk=^<}*$qTVf`)Hbei=g2-0@rW5s$$=%}#uO{P|MR}2|0`mcx4zZp zYH1=^t1PegTHq*RIX!t*HL2}#cQ8GqUd=Jp&U(Yu_j(YY2UEbgINLa^L>7wCsr+E^ z{$bfm*^Fg>9Dq1x3P-`0qx3}W4~O|`vDN3TiozoS&yt*&7<#2PXm37y|B|Ji!nTIe zrCVE;NrveYb-#u(7nE{yJ(Rl!oO{ggXCNJw-P!?qWGuOgTyPRr8Kxy6s4aw2G5C6^ zIq$>4UmIsTyV8RX-C8ukvjSiZ_lj#0&|&5TzEXO%Y(i6O%55(WkP0*&h|&2tP-)iB z4O#cGhDniROb}Rl*;hC@^49E$z@%T;nK26gR9xzt>b~tf6a%HGfulfXHsVDlAMO>3 zy-VMgu=UwiP~N?tDu|i#D&l`DrifW`plTU+4`tHt7kK?XhY!$3 z^BWbjQB`V(2bU*>H#Y4bHr1{o?pCe^j5Z%K(=^x0L4gzLepcAwFv(pf~K zn!X}(Ld}6@uPnmc(a%DJeV4ZIJh8kbkh3jL0H;pOOAk=Wy$p37a@tp{4%d?}c0?bV zg-|^r*~jkmF)4J)by79RULS6b^*?QEsfyjA6Xv|V&UVqhcz6clO=5#mT{*ArqFA8GvHfVamdOTQl51n!8Bu~p{|9eUhc2`RAB_e^%^G3hq%XB1hi|h-Q zsR1EsG-owVnTOJ8ep1(ON~z=nu`f9^yO^W0I5rG(mj`bjHe&V!IG<8}{`|*FpU$(5 z^A&X$Z;EY1W;hZ0gntzT@w~10TumsCyss4o>}TFk%ayQeGtkSe7!^DlkCw_ zSi{-ogg^)z0WAwJr__M6b1--{&PWaW$HYglW2E5veCm@Mfp5Cfup@gojRq+0{{j_8ynbIZIqlU`Jd04 z%G+`Hb9`=1R%rGMp9Gp+k0%@qpOo~HjOv)JH@9s&i7^`TNLkaett_1H)=r3{`uoiBQhwuK_lyLvbT-csg|mnsM?;wf$zpTfr5qX04x# z<~P2FI0t$BK}K%5$h01ozu7bt+h;4O{^n-jAqJDomoSW}%yEOHlAa|9 zE`}85`w|j$$7oH`rg)xplZj2hiaf|*;i9_vQH~!`$`s~H`qVJ47f^kQPpYU*6a3e6 zqKc!z^B88emU2vO553EOS96^@WLxIGHH-yU@Y#9h0*BzUaEQh7L%Q_c>cyt5vca=6 z%u+@gU7Ne@u(zJcca>=D!82s>O-xXf@MSaltRa(}} zs(B3tp9TtUx_kB*l0|O%a=FZM^g&f)-W&bkn&iQSqAO+`GyMuklU;<+KUN|^g6Lu} z%17Vt`{U$W%1b>=xyOR$OVk3vXDxa=p{GwlxJvS@1=#u<`WY~XHU69rx`BS*9 zy-slj(s+25VxV|Qg6=!zNpc^_j`rJ{kn?vV3E@I)6U(BSkOD+Q-x}pZgqW z?H-c(Q0hZ=XJ)vcL$+qIdh?IAoySmW8*GZ+DrO#vzKVkuzy$?hj%|c*gd4HRCk+XU zPhH->Fle3WCLmC}x!S|bUMALHc{vgU33j}mHvLpE&Qs8-Uo%=g=_f>O_#F3}WKX+R zNgnYDk1yi%(GbYTzVsB59Us4-5|PM&EM7693QOxW%CWAG7SjObu}4a!o&L{S{cE&o z-IPbRX7%I5Ee6ia#fT=l^tEKwP82B$nOJ22XQ$y~n5f1BFIYGUo+aXUxoJhz^(DaE z{VXKFyJIH6a@#c*=A+Np#@?|Snsh>f7q5io3gz^lqPFgT3Tm4Pgt@`AWZ+s?&U|w0 zZu60&FjYaCMd5MZ1wNyNK-5+bI7o(76wwQl$#4FZ6k06DPb!yal#up*@( zh)by4NTYVV+#-m+_rlHbCnMawuVT-7G@%kRS2MUtz*hXjO^@W3%lYpmzDzofiHc@` z4>XdyE1TZ^dd_P9N1?`Z$8_giA;V0F=&$0@H#OE&slEqkKTQ1>YizPt1 zrD$a~0c+!(R zv)Ra3e%HFWMI&}M=pP34Y5sCOU%x2H>Cw8vdnl}-O(Ws4)HY7^;HYubzWr)n*jqE}8}F zBzl#xZ*I-E;$=#&)}%~2q|N_amU$7!3OiHf3n9!I7*f~O>n?jUAIq&5J-wm?EbMCB0lP>(QS$Pl`5g&GGgO`beW>|W@5W?x()t;yx zn6)AiQiuIpY1oSApvT8^;f2S8>wgtDwPs5}kimfY_JHiaF`1s1z1oUEp<>!JbQb8f z(Zo^|KMCVNKLG;Vk|D1?$UwLBh11i7nLtpk3)oxd=p^f+?hXFe<1}f2MHRDj$iO<` zP|1f%B|J-oo4aOeBc6s~kG{x^^qyL=7jTI$I8rYNHg7ba_7QK24a<9M2;IALAC8#*j2W!)>Mq3Gm#V2NJ@-Ov;= zy)WEcCC?~%O2)_c%$^UH3-!u(*@V!usN~g#^%I@4Y|{|YE_wP`a6g>a1_c@I}J;dVyh zXZ*C@0us_>_8q)>3e4qSIkAjCT4wC*L}E~J04WxE*{M$jQeK;=Q=t?W^0DV|gkpw~ z2p9YmU8#Nee!xywKg`v}%oD^^>~efqZ%=sjrGP}G10$RJ8`{xAnO`%$UL}8yd^jfy zu9gD}Wr%%MrOsnZ=L|(**YJOllVRd3)~6cdc>$L`1MBqtEvKiz8tz7Aw~&_ z7t+kt`?L&=E^B~hFyBhD<-_q(%JQ{<0Hu=$08Q3ed82gw#csW>Inlf^2ss44@F^^# ziPum(+gB}B$L))wNE~VqfKA5SH3^h+Ru3N`PpyC`iuur9=`2LMCV%bNuhI)`=i<5Q z0gLMIvM?xbxMrN;j)p=1)#&iiL}!c(Es~7oEC0#Etd=e%IqL@{$oO#}B5Z$JGkoGt;`O)mmx1Fo$!AEH`I-S!XuDS@gW? zJAUu&oYqg)|2mYjkH^XQi&0p7>Voc6uqve!QA&da=bR};+Rm!oj>vp#%qvAL60ckK zJq_N;2X$3O692)_J877q94gH*@)1h;j{RQ3n?(-_%TyDDD2v?e*=mb8rqJX_=E`Ug zV}bfOx!FJ>qrHZoDhmECzzo2<+O+n_5-sKDp>k??6N zI}0g@i_Nsu*-pA*d)q#%-% zja+U@#k)L!;YepHaopG-mVYAW%LK$uhrqWhawyWO^Jwh`5g!BCDS(33yUVF4OJVy) zCJq-Zn4=^|x?3e+D4S!d$H^GF+)q`!{l14g$?b={phCZ0^hB-qw zyGP-Y(O(xXjBE4Uyrur*Z-1P$?px#L!sY)5B5dlypW%2-AEx}R(BsG!uCbhoqiPn! zf4@zrN4lP!UfX!n28w6}B?AZ+l+VDrn@pu<)GHI4E_mj(#VQqd&b_4nUF#+cQ z?fA}L_TQJb=3RD>emcP1ukjG`eGKOdx(2Y0zUJXT8tE8t--kVdsZ-GOlm{^_eCVGL zR96;pdmi6w@2|6YiLLWt=`m8F$$LM%^a+mmxt##(Mn$NfeZbRyT1-MAK0?IuAj{2Qo?2wor&?mYkRpa@H$S&Ui31nHa>hS9+Eg;h>0#a8OHi|;aa+pC z1EmYmPtX`C__3sww<)MURQGV{R0%=pjyt|6S{Dz!0P8@`5)aw{EViMD`r}zIXgHTr z<_?#yN`HrPc=j9HYz6>f6-qrZGyeM0kL|fL@$q(odh778`W@=Ejgm$@OFq4J7b7%a22A2s;mcA8>D|qW9qdm1J~d$uTCb z6VTEC9g<(;J+PeMw14?1qVyl_PwOS?%jM{uB7eh-)$*TI5UJ@e7>rE?gX~0Uz$HLm7k+X$B|=#i}X7D-zMscy-v zwBU}2yHWs9F;|H@lIlb7KjC{Gtkpzk5jEyS9nSvbzi^+xO=JZo4+JbYv^{XT2Jl<}@;1iTd-$<1MY+ z_p^ff43zgtUO`DB_HoAnKEy!1#am!J&ibp}u6zh15Uxbr)0W1 zK{?R-6S5ZNdWg}Ml-}F~m^}3Rx}{9?$E9EAygEl!+vG#RIoSj{3c6QgAa^=wp+N+0 z1UtOb`p87A(biV~k$NsaC3E@^24hHQwjct>87eXWVacQ76_UD_N9(rg3`V#?o;&GU zq%PbS&8+Y`K?9D(b*Qv5J!yhR`C6{_`TzofNq0f0r`)ud^7`yC&Xh8GjU6)kU+0X> zdwThO!BT~Pv6w!hjWLT2pG}?m%-%%(#6xWr6+RxtW`gsn`@GtOE0diUSnvHhJ{uBd zuZF?{z!Kqg#xu3~Z{Y&ipr6o4Xv3Ykx$4>~Ij21rBw$+b9LMI0I-9Jb=(Wac&PhgS zGEBgQg=^sTe=gZWaaPZwYWprLSD}Y@Lys$3qKor36S4U7|60gm;_%8cn1*=@td48* z)Jo98t2uDhHENH4swvU5VE}9optI1LZw)8^V$2`E9nicG>mem3PAArH?KPe_dA3$x z+#vnbV#qEgkU^xxvCvS;aUBwW=neB%i#$)OW{JmJvD5RuEfpt<_ZJE0;tu;j>=0y5 zAXx&<%u;8NNsNRJu#v=-80%5D`)lH`k*fcWd8 zzCeEG9azxG;RRP1;&^%)Ht}cQyg|E%-_S6cuEEHjgx|Lp`HJdm23lKOJftS-w0eHM z|9V{TsFsw!FVD@%pQ;&N8$efBthRP(br{)6n2x=LL2FEN{H1oOL5ZP2Kf_?Q8hwQ9@QG8&sMip%s9GedgHEO zes6o-iguCd(r6qg=c&5^Ya`hk9)<^k126GoWD2CB)%8sm1#_Y1*550E$h%Ex{iiHe zY|=p4EZA(Xz*jx1M^=0(Y8bReO4q4PH;?P4T}-tvD!A391=CWd+Yes!1>D^+ho~+> z69V+7HGDWV_swFT(EI+%h5fq7?781(`Yae3V7M zLmQ>EwL|cD9Gx`7qsD#@0Z9unx&@3fHeC1hVld2I{pe8e!`rU8yRCEi-ygZYuQoXN zMdRyz=~HC*eEOG)2-YIXBawE2+tIb|S^hyGI7NZ>7UgD=^|b&y^S}&5dk#+%iuMjf zWg&WHr=fndG*8)9HQ9+Vf(I2U^JHT7qn7dnGPj>wA2HjGgq45nPt3qAOo~XB?dK*4 zrfPo#oe=(d(-d`?sL-dAobrh1x#%|LkmGcNN#b8PsB2;S(tXA2JH}8=%bd zzh*SCpnTKF@UrNbx$2sop6-$eR=%}!Dd{T0C|J6@v16fGrkF>hqu{R2ixtf!%c%ov zAC@D)`67J4AHZPvFE!Edt`b-0IYCZH{&EJls-k6G+2C~l!UR*&^l)StIIy0C$vrVh zX#q^6W}l>wqki0exV5nw(>?tUq#l)z**6`bLR}u6!xVH5gdnkDH^jZ_yt*a+CNyXG zWjLBG=T*6(Ve5fQY>_MY{u5Da5lmHL)JaDj9Z?^|Fe+ZtPjpv2ABhwtPxfnXE-g&U zW8E`}sY?Cd9jen6f<8xuQ6t{~$0>Z-S_pGK7T#u=CD-d_0LrvK@|_NcnpGnXbnQ6{(QjFe ziWQ2VqBl#6LxS3V&F-*JM*TF2Fa?S~)P2+AAZmzDo$(-^7CD0B)3XWP@eahdrKmzd zc1L|>^Wswzo0y4g-xgfQGN7o5UUtRPHCz>$*)81M^!S}bsNjauk`(fu?~gkkDZ;^R z)YVkgse^mj_QThj{g<2^Pp{-=aXIR8lt5le3*FFa6qjPG%p!!AT&h5PYK>RqM#wQz zy|sIUpa<$~PBSRQ?ssoWn7Yfb1@$ZG4={mdK85f?`m?_|dVzx_(?J=7c^cc7WSXnx zK=!Q_n;dzTKo2@m%&Pxbd_V({8YUx6sM3Q{(u zSv_u?EcomyOdAlAurWMHV4bM%%ty(X?pqga(>s{3*+lkX3Ai^uRD%kG+x*`RWr1e~ zjJ=oS`d5CVF|>cA-kCB6e6Qxt_3EpPg?`=cI9ucJU|Yzo1>68mC=5`2yP;8|I1j@4 zEf(KEX7iOIxtu9Tuf)gJ#x`fEOA3l|jV9%qo5uz?3RgDKJlfT%kf{isyJ zfol^lRI)N7=SLCJdCy-Al^O#P`-!c#j(V(A_j+Wy^dBf$To{?nX#^4-)WicZ(xaFd z7mI7jdM4LBaQy&-q1{?nbg>z8{Yy|36P*$q9*$1)jodp^BGTpzc?>>5H|A#+y#Fdm z8C*-D8;X68N|x)APN*3+rut&>jFe$Y9bA z#Cow`2ThAa!HiqfUujFashi3jmuAu5MY1Y~WpvnVDwx)kbqeG#{yi^|7otkN+_j=% zp`v}P{+hTI=mohg{wXS0{&=}IgerH3yp=xtB(pe%ASAq{XG*_=N3owe6A`RlJhA)= zPjUZ^L%%y`tZmqX6Hl2rlU?NBcqxF>bi{uZ>sUx=+hv1E_ciZ;8!D|0?Ksn`fR^0w zaQelY)pccq&Wp+afC*O#hY*R&#fe#Ms{E~t1AFYBZQtg2y0I*(fYW;@0S#XwBVF!# zxg{zdJ+&3Zz0ggSanOEjz*5V}AithS2H97jKPF!ZT`qY*pZxa}S*u^T>Liw$Tu5p1 zAa=@aLvMyZA6(q9Dlqkf4TF>Wxp7Zy;w@~ImcyGPm)%(qK?ZpO64$M+ZS8QLj^$q; z!iC6yj-T}ao0nvhdxXCd&%fR%`G!;KAKS%@ufAj>J6W8Gj?KR;Wv0nwXN>jWgZsma zstUrs1~ANA z0%+4K&nT+6jqq*}euf^H^oRj?$zYc&w*-awrG+5Rv#956&;q086O!k0Z1RMso3w9S z++lDxV)aSkf@reTwHlaUcZj`wXqRyZ+9bmDI`4stXOs@-KaNCl*?35em){KZqgDaO zyyIK#$#hnEqwksvU}9Iea6j_K*ABn89d(H{pN&HSLg}nfiVn+_3Soh@)8q!GKSM-SEV>3VQHS2TU*H^!ZAanns{I@UbiZUh71 zhI1xFfa+_Wa#j$X`iSgZ7QGWAarxh{VVxq;biOWOTalzQYM>dGV|7^dnUYN}c-LdJ zz=zJoiM-)0P8Ykn^E-_1c3$<@#32l@=I~RXtNF>NJN>ial)lK8Ua*WdRS&MR8IGL7 zt5vrzNqQ?>{E?I8dvu0!Za$w-`H9Gb8|s@Zb$Y~pPPQlak)xWw4Qjo?tzmNE7%cHF z-R0d^-RTFCB||}!bn|j+HTVr5`2F%hPzRes3GhcX@JDpmi)TU##3` z%kkN%uR>-D(Mv3w=a>}yIV#DqKwo;My6rcG9M`h7w~5}abRMpLDxXJNsIW6f!%Kl| z3zpbW-Gc=8*v;>8EZWMX=nK_U7(PniJ?f&Ximb96*etO3rTe4^3CEm8zmx0sEuwdt z37@`?v@VgtBOWNE4li>!L5}3RwL$&{s&Qb!r7M(@feg@oUREM1^~#^O7F8R>>zVrr zBi1Y#zc;JMz4oa{#SE|(NfH)fiC=G;unJ6}4;uG4{H>WfMr>K3+M_Ioutd>#2!G}P z^Zl=59Fb$StBg-et1ema4e^Z>jl-tAqtrR{E%&h1<;;}lt*uL zskoQ0bvm`Ow3GH;t~|K#$s?Q0xpYg**-|=*REXSANWY2PU@>knon&73yR{c)d zT7jtkXr-eJp^hEvchngS!G$PeKG(G@Pwne1)GbTHrDteX*U;*K8TCCZ$iz)Br2sY6S97Qw= zt8^rCm3n$!mRdliWmRo~0V9!BB=XVnPd6fyWnah5t zuzpXbb#X5$-U+iSk;M{9MZj~&c&Q}Zk}4P->_!b;JEKz3(T_HN&N*O^k;7Lu()VFr zAM+v$d01{do`kb=7SR_@#Dkvxvo3CeNi5GvkI16BGg~q)SCxyktY?KaEj5b6#}EO- zJ8v=~c0}(Hy{PLdn#vf;#Q>Zfck^`%i4ru6{n%IYDO5aBdRz?{BI3mutx9j=F5_ga zy2k+S6p{MyH?BvoRnQo5FR{%Xa#LUQTx$kk*((heZ+x}}N>680SE zK%SV_Wl6q!=K620Oqt1ZL*{3R+4Q8UBzJFU6Kz5X6W=7#I!_MA2f#a9!L}%C?5TNj zWKcIGeKUBfhfXw7#0E`(mh~LM3gEp_uxE*s{h0CxC_p*V;ptvprx4EP` zUEiO`6M*Vvk_r1Okk$?Vt+yGxHM0jAouh67ayu`SZ3_4`z71@p|C4M+o^@U${(^M<0gBH7I~nB-)(_IC18kZLRovIKR{ zN#Q?sWBkqq<(7=$XDPtIvUH9hwMtg=DVdLkp#JJI?bs8w%U#tkqMN#EQvTla(W=`- z_GZp-RFJv`yoIsZ-Yj@%b5L#X9D-_s@pZvwx4b^XKT^pTl@>lCkxy#a-7yj-YQ)!x zy$*~5z2H|Oxycb+dw&pH{dhGdi=rBdCnHC7i*uwdT)85WPG(9*n7Wkm#TYV=Id*A~ zs{*8lYd>On0YRiEWTO8pEt%h7zl`d|^Asm_CaE}~eBbj+Di+S8>Erz&r?t}>O)DZg zZ796w1NQX6<41=Doa(4SqSs!9zdz*l6WyzDnTBnr%jklUSoij#6E>bO#|L78jWBn)sfN)Ff z>@O+xet#02z5lzZaPpQw$}`!&L3@i?kKM%*7RNj}zxZXGc;u0tJ$+2(wCAjA-70bE zJ|!%f`uq{A8m0i5&*$=fmHKQiqOTM_iyH1K^=@>PZ3md)Cz<~BIbzLR$=9FYW72^b zBOV=6PiBV1$Dft9lWB$yBHwUj?zAnV3RNZBW=Hi3kZnL`nG+ul*cci4!SsKIC6~ zw-6xpbz^`+SIF;tp_1Z4w2Ip@cHf#DYT4{|k5nhy0-Abp>Om?SD;q^mPDd zncPO#K!I?6(djDd|FL&Bp>b7V7{{OY-aFN}C{^6K5R~pjLq*^X%uiXhmHpcF-#Hr66-bS1HwK@*Wqw>u~OPO^oecza6=rH0e~Xfv};(U>*fc;XrXMfeUfHcxqizI61r6?|f0xdvPNkFjGs;@U`j<3u`Tc^u{N*1Yu8%#jjVdcQvxZk^a=H~+NFWUsjNV;*Z|-wVtAZ0O4s>-;L0 zf&l=l=V$I}4mZZWe9CNP$JSc4q8FCCNn_RCsYeM904N4)|DySK$;}=!(_of!XB8kW zw^xHka8FO)^w$~92>{5*p}y&fAPjc6{D@qavzRlB0J*4!I>OTY9(q^-KrvO1P0Gqc zGm`CbQ>V$s*E{EW0wgy1%k@TZZ&a!ETloT)Jpn+$mD+2HqJ@DVn!no3;)f-jmut;IvbJ4Vt{;?W zZ&axrUq|f#fC7on+}<3zOgiAwZGZXqx_4o@+>X|lbYIw6JCRAn0DwY>+G`4<@Kg{5 z4@ma19?00q@n z8PdVNsW%$ZBQlL$>AAoC5qwzp-qc(_3G(gxW5Si zkd1%yPILgk21bAY08$}9005~FAOL_=2oL~3Dg+1sAQb`x0FVj+0su&b0097`LVy4O tQXxP90I3il0Dx2o5CA|bzXbpQ|Nnr{Ve0D5QM&*D002ovPDHLkV1f-xFjxQp diff --git a/apps/frontend/src/components/containers/Auth/Auth.module.scss b/apps/frontend/src/components/containers/Auth/Auth.module.scss index b4be167d3..07035a242 100644 --- a/apps/frontend/src/components/containers/Auth/Auth.module.scss +++ b/apps/frontend/src/components/containers/Auth/Auth.module.scss @@ -14,7 +14,7 @@ justify-content: center; width: 50%; padding: 0 80px; - background-image: url('../../../assets/images/starsLoginBackground.png'); + background-image: url('../../../assets/images/auth-background.png'); background-repeat: no-repeat; background-position: center; background-size: cover; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupCenter.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupCenter.module.scss deleted file mode 100644 index d67efcf93..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupCenter.module.scss +++ /dev/null @@ -1,16 +0,0 @@ -@use 'sass:map'; - -@import '../../../styles/variables.scss'; - -.groupCenterContainer { - display: flex; - height: 100%; - - // overflow: hidden; - - .innerGroupDetalis { - display: flex; - width: 100%; - height: 100%; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupCenter.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupCenter.tsx deleted file mode 100644 index 8bfc26d3e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupCenter.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import React, { useState } from 'react'; - -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; -import GroupCenterView from './GroupCenter.view'; - -interface IProps {} - -const GroupCenter: React.FC = () => { - const [selectedGroupState, setSelectGroupState] = useState(null); - - const [selectedLibraryState, setSelectLibraryState] = useState(null); - - const [policyLabelInputState, setPolicyLabelInputState] = useState(null); - - const onPolicyLabelInputChanged = (input: string) => setPolicyLabelInputState(() => input); - - const onSelectedLibrary = (library: ILibrary) => { - setSelectLibraryState(() => library); - }; - - const onCancelSelectedLibrary = () => { - setSelectLibraryState(() => null); - }; - - const onSelectedGroup = (group: IGroup) => { - setSelectGroupState(() => group); - setSelectLibraryState(() => null); - }; - - return ( - - ); -}; - -GroupCenter.displayName = 'GroupCenter'; -GroupCenter.defaultProps = {}; - -export default React.memo(GroupCenter); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupCenter.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupCenter.view.tsx deleted file mode 100644 index 2bdac6897..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupCenter.view.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import React from 'react'; -import { Route, useLocation } from 'react-router-dom'; -// import { Trans, useTranslation } from 'react-i18next'; - -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; - -import GroupsSidebar from './GroupsSidebar'; -import GroupDetails from './GroupDetails'; - -import classes from './GroupCenter.module.scss'; -import PolicyConfiguration from './GroupDetails/GroupInfo/Policies/PolicyConfiguration'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const GroupCenterView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - const route = useLocation(); - - let currentPage; - - if (route.pathname.includes('/Policy')) { - currentPage = 'configurations'; - } else if (route.pathname.includes('/manuel')) { - currentPage = 'manual'; - } - - return ( -
- {currentPage !== 'configurations' && ( -
- - -
- )} - - - -
- ); -}; - -GroupCenterView.displayName = 'GroupCenterView'; -GroupCenterView.defaultProps = {}; - -export default React.memo(GroupCenterView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.module.scss deleted file mode 100644 index e3c43a243..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.module.scss +++ /dev/null @@ -1,8 +0,0 @@ -.groupDetails { - display: flex; - justify-content: center; - width: 100%; - height: 100%; - padding: 39px 122px 20px; - background-color: #f2f2f2; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.tsx deleted file mode 100644 index 710bcde57..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; - -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; - -import GroupDetailsView from './GroupDetails.view'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const GroupDetails: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -GroupDetails.displayName = 'GroupDetails'; -GroupDetails.defaultProps = {}; - -export default React.memo(GroupDetails); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.view.tsx deleted file mode 100644 index 4dbe99623..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupDetails.view.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react'; -import { Route } from 'react-router-dom'; - -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; - -import GroupInfo from './GroupInfo'; - -import classes from './GroupDetails.module.scss'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const GroupDetailsView: React.FC = (props: React.PropsWithChildren) => { - return ( -
- - {props.selectedGroup !== null && ( - - )} - -
- ); -}; - -GroupDetailsView.displayName = 'GroupDetailsView'; -GroupDetailsView.defaultProps = {}; - -export default React.memo(GroupDetailsView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.module.scss deleted file mode 100644 index 24c4a9b3c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.module.scss +++ /dev/null @@ -1,123 +0,0 @@ -@use 'sass:map'; - -@import './../../../../../styles/variables.scss'; - -.groupInfo { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - height: 100%; - - .innerGroupInfo { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - padding: 22px 13px; - background-color: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 5px; - - .groupLableContainer { - display: flex; - align-items: center; - width: 160px; - - &__lable { - width: 100%; - font-size: 2.4rem; - font-weight: 560; - color: #202428; - border-bottom: 1px solid transparent; - - &:disabled { - font-weight: 750; - border-bottom: 2px solid rgb(95 95 95); - } - } - - .editLableButton { - display: flex; - width: fit-content; - margin-left: 10px; - - &__icon { - width: 15px; - height: 15px; - fill: transparent; - stroke: #4b4a65; - } - } - - .updateLableButtonsContainer { - display: flex; - - // .updateChangesButton { - // &__icon { - // } - // } - - // .cancelChangesButton { - // &__icon { - // } - // } - } - } - - .createdTime { - display: flex; - align-items: center; - - &__text { - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - } - - .createdTimeDate { - display: flex; - align-items: center; - } - } - - .uniqueIdContainer { - display: flex; - align-items: center; - - &__text { - margin-right: 20px; - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - } - - .uniqueId { - display: flex; - align-items: center; - padding: 8px 7px; - border: 1px solid #bbb8ca; - border-radius: 5px; - - &__id { - margin-right: 12px; - font-size: 1.7rem; - font-weight: 460; - color: #8b8b8b; - } - - &__icon { - width: 21px; - height: 22px; - } - } - } - - .moreInfoButton { - &__icon { - width: 31px; - height: 7px; - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.tsx deleted file mode 100644 index 9b7f88c1a..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.tsx +++ /dev/null @@ -1,113 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { Dispatch } from 'redux'; -import { connect } from 'react-redux'; -import { useParams } from 'react-router-dom'; -import axios, { AxiosError } from 'axios'; - -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; -import { IParams } from '@/interfaces/params'; -import * as fromApp from '@/store/app'; -import * as groupsActions from '@/store/actions/groups'; -import { IEditGroupLable } from '@/interfaces/editGroupLable'; - -import GroupInfoView from './GroupInfo.view'; - -interface IPropsFromState { - readonly groups: IGroup[]; -} - -interface IPropsFromDispatch { - editGroupLable: (groupId: string, newLable: string) => groupsActions.EditGroupLabel; -} - -interface IProps extends IPropsFromState, IPropsFromDispatch { - readonly selectedGroup: IGroup | null; - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const GroupInfo: React.FC = (props: React.PropsWithChildren) => { - const [isNewPolicyClickedState, setIsNewPolicyClickedState] = useState(false); - const [isLableOnEditState, setIsLableOnEditState] = useState(false); - const [groupLableState, setGroupLableState] = useState(null); - - const { groupId } = useParams(); - - const onChangeGroupLable = (newGroupLable: string) => { - if (newGroupLable.length) { - axios - .post(`${process.env.REACT_APP_BACKEND_URL}/edit-label`, { - label: newGroupLable, - }) - .then(() => { - props.editGroupLable(groupId!, newGroupLable); - }) - .catch((err: AxiosError) => { - alert(err.response?.data); - }); - } - }; - - const selectedGroup = props.groups.filter((group) => group.id === groupId)[0]; - - useEffect(() => { - setGroupLableState(() => selectedGroup!.label); - }, [selectedGroup]); - - const onLableOnEdit = () => { - setIsLableOnEditState(!isLableOnEditState); - }; - - const onUpdateLableChanges = () => { - setIsLableOnEditState(false); - }; - - const onCancelLableChanges = () => { - setIsLableOnEditState(false); - }; - - const onCreateNewPolicy = () => { - setIsNewPolicyClickedState(() => !isNewPolicyClickedState); - }; - - return ( - - ); -}; - -GroupInfo.displayName = 'GroupInfo'; -GroupInfo.defaultProps = {}; - -const mapStateToProps = (state: fromApp.AppState) => { - return { - groups: state.groups.groups, - }; -}; - -const mapDispatchToProps = (dispatch: Dispatch): IPropsFromDispatch => { - return { - editGroupLable: (groupId: string, newLable: string): groupsActions.EditGroupLabel => - dispatch(groupsActions.editGroupLabel(groupId, newLable)), - }; -}; - -export default connect(mapStateToProps, mapDispatchToProps)(React.memo(GroupInfo)); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.view.tsx deleted file mode 100644 index 9e3501a16..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/GroupInfo.view.tsx +++ /dev/null @@ -1,140 +0,0 @@ -/* eslint-disable max-lines */ -import React from 'react'; -import { Route, useLocation } from 'react-router-dom'; - -import VSvg from '@/ui/VSvg'; - -// import { Trans, useTranslation } from 'react-i18next'; -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; - -import Policies from './Policies'; -import NewPolicy from './Policies/NewPolicy'; - -import classes from './GroupInfo.module.scss'; -import PolicyConfiguration from './Policies/PolicyConfiguration'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly isNewPolicyClicked: boolean; - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; - readonly isLableOnEdit: boolean; - readonly groupLable: string | null; - readonly onUpdateLableChanges: () => void; - readonly onCancelLableChanges: () => void; - readonly onChangeGroupLable: (_: string) => void; - readonly onLableOnEdit: () => void; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; - readonly onCreateNewPolicy: () => void; -} - -const GroupInfoView: React.FC = (props: React.PropsWithChildren) => { - const route = useLocation(); - - let currentPage; - - if (route.pathname === '/groupCenter/group') { - currentPage = 'group'; - } else if (route.pathname === '/groupCenter/group/newPolicy/policyConfiguration') { - currentPage = 'policyConfiguration'; - } - - // const { t } = useTranslation(); - - return ( -
- {currentPage === 'group' && ( - <> -
-
- props.onChangeGroupLable} - /> - {props.groupLable} - {props.isLableOnEdit ? ( - - ) : ( -
- - -
- )} -
-
- Created in: -
- - {props.selectedGroup?.createdAt} - -
-
-
- Unique ID: -
- {props.selectedGroup?.id} - -
-
- -
- - - )} - - {currentPage !== 'policyConfiguration' && ( - - )} - - - - -
- ); -}; - -GroupInfoView.displayName = 'GroupInfoView'; -GroupInfoView.defaultProps = {}; - -export default React.memo(GroupInfoView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.module.scss deleted file mode 100644 index edcf548d4..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.module.scss +++ /dev/null @@ -1,13 +0,0 @@ -.librariesList { - display: grid; - grid-template-rows: unset; - grid-template-columns: auto auto; - grid-auto-rows: 53%; // play with this to change height of the children, 50% will fill half - grid-auto-flow: row; - width: 100%; - height: 100%; - padding-right: 15px; - margin-left: 24px; - overflow-x: hidden; - overflow-y: auto; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.tsx deleted file mode 100644 index 8642793b7..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; - -import LibrariesListView from './LibrariesList.view'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const LibrariesList: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -LibrariesList.displayName = 'LibrariesList'; -LibrariesList.defaultProps = {}; - -export default React.memo(LibrariesList); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.view.tsx deleted file mode 100644 index b6187e39f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/LibrariesList.view.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import uniqid from 'uniqid'; -// import { Trans, useTranslation } from 'react-i18next'; -import { ILibrary } from '@/interfaces/library'; -import { librariesList } from '@/data/librariesList'; - -import Library from './Library'; - -import classes from './LibrariesList.module.scss'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const LibrariesListView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - const libraries = Object.keys(librariesList) as (keyof typeof librariesList)[]; - - return ( -
- {libraries.map((library, index) => ( - - ))} -
- ); -}; - -LibrariesListView.displayName = 'LibrariesListView'; -LibrariesListView.defaultProps = {}; - -export default React.memo(LibrariesListView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.module.scss deleted file mode 100644 index d666af6a7..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.module.scss +++ /dev/null @@ -1,82 +0,0 @@ -.library { - display: flex; - justify-content: space-between; - height: fit-content; - padding: 14px; - border-radius: 10px; - - .innerLibrary { - display: flex; - - &__logo { - width: 53px; - height: 53px; - padding: 8px 6px; - margin-right: 13px; - background-color: #f9f9f9; - border-radius: 50%; - box-shadow: -1px 2px 9px 2px rgb(0 0 0 / 8%); - } - - .textContainer { - display: flex; - flex-direction: column; - align-items: flex-start; - - &__title { - font-size: 1.8rem; - font-weight: 660; - color: #4b4a65; - } - - .madeByContainer { - display: flex; - align-items: center; - margin: 3px 0; - - &__text { - font-size: 1.5rem; - font-weight: 350; - } - } - - &__description { - margin-bottom: 3px; - font-size: 1.5rem; - font-weight: 350; - text-align: left; - } - - .typeAndCategory { - display: flex; - align-items: center; - - &__type { - padding: 2px 16px; - margin-right: 5px; - color: #bbb8ca; - border: 1px solid #bbb8ca; - border-radius: 10px; - } - - &__category { - padding: 2px 16px; - color: #bbb8ca; - border: 1px solid #bbb8ca; - border-radius: 10px; - } - } - } - } - - .cancelSelectedLibraryButton { - z-index: 1; - display: flex; - height: fit-content; - - &__cancelButton { - width: 12px; - height: 12px; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.tsx deleted file mode 100644 index 2ebbbe649..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; - -import LibraryView from './Library.view'; - -interface IProps extends ILibrary { - readonly selectedLibrary: ILibrary | null; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const Library: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -Library.displayName = 'Library'; -Library.defaultProps = {}; - -export default React.memo(Library); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.view.tsx deleted file mode 100644 index 6f90ec6d5..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/Library.view.tsx +++ /dev/null @@ -1,115 +0,0 @@ -/* eslint-disable max-lines */ -import React from 'react'; -import { ILibrary } from '@/interfaces/library'; -import VSvg from '@/ui/VSvg'; - -// import { Trans, useTranslation } from 'react-i18next'; - -import tempLibraryLogo from '../../../../../../../../../assets/images/brandLogo.png'; - -import classes from './Library.module.scss'; - -interface IProps extends ILibrary { - readonly selectedLibrary: ILibrary | null; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const LibraryView: React.FC = (props: React.PropsWithChildren) => { - let isLibrarySelected = false; - - if (props.selectedLibrary?.index === props.index) { - isLibrarySelected = true; - } else { - isLibrarySelected = false; - } - // const { t } = useTranslation(); - - return ( -
- - - -
- ); -}; - -LibraryView.displayName = 'LibraryView'; -LibraryView.defaultProps = {}; - -export default React.memo(LibraryView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/index.ts deleted file mode 100644 index d7a827977..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/Library/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Library from './Library'; - -export default Library; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/index.ts deleted file mode 100644 index 797c47452..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/LibrariesList/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import LibrariesList from './LibrariesList'; - -export default LibrariesList; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.module.scss deleted file mode 100644 index 39391813c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.module.scss +++ /dev/null @@ -1,121 +0,0 @@ -@use 'sass:map'; - -@import '../../../../../../../styles/variables.scss'; - -.newPolicy { - display: flex; - width: 100%; - height: 100%; - overflow: hidden; - - .innerNewPolicy { - display: flex; - flex-direction: column; - width: 100%; - padding: 22px 13px; - background-color: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 5px; - - &__title { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - } - - .policyConfigurationButtonContainer { - display: flex; - justify-content: flex-end; - - &__link { - text-decoration: none; - } - } - - .searchContainer { - display: flex; - flex-direction: column; - margin: 23px 125px 0 38px; - - .policyLabel { - display: flex; - align-items: center; - justify-content: space-between; - - &__text { - margin: 0 21px 0 14px; - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - white-space: nowrap; - } - - &__input { - width: 100%; - padding: 8px 0 8px 21px; - font-size: 1.7rem; - font-weight: 350; - color: #8b8b8b; - background-color: #fefefe; - border: 2px solid; - border-radius: 10px; - box-shadow: 0 11px 15px rgb(0 0 0 / 5%); - } - } - - .libraryAndSortBy { - display: flex; - align-items: flex-start; - justify-content: space-between; - margin-top: 13px; - - .library { - display: flex; - align-items: center; - width: 70%; - margin-right: 21px; - - &__text { - margin-right: 18px; - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - white-space: nowrap; - } - - .libraryInputContainer { - display: flex; - align-items: center; - width: 100%; - padding: 8px 0 8px 21px; - margin-left: 4px; - background-color: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 10px; - box-shadow: 0 11px 15px rgb(0 0 0 / 5%); - - &__icon { - width: 15px; - height: 15px; - margin-right: 7px; - fill: #8b8b8b; - } - - &__input { - font-size: 1.7rem; - font-weight: 350; - color: #8b8b8b; - } - } - } - } - } - - .innerLibrary { - display: flex; - height: map.get($sizes, newpolicy-library-inner-height); - margin: 100px 0 0 38px; - overflow: hidden; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.tsx deleted file mode 100644 index 33be533c5..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import React, { useState } from 'react'; - -import { IGroup } from '@/interfaces/group'; -import { ILibrary } from '@/interfaces/library'; - -import NewPolicyView from './NewPolicy.view'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; -} - -const NewPolicy: React.FC = (props: React.PropsWithChildren) => { - const [isSortByClicketState, setIsSortByClicketState] = useState(false); - - const [isPolicyConfigurationClickedState, setIsPolicyConfigurationClickedState] = useState< - boolean | null - >(false); - - const [selectedSortByOptionIndexState, setSelectedSortByOptionIndexState] = useState(null); - - const onSelectedSortBy = (index: number) => { - setSelectedSortByOptionIndexState(() => index); - setIsSortByClicketState(() => false); - }; - - const onPolicyConfiguratoinClicked = () => { - setIsPolicyConfigurationClickedState(() => !isPolicyConfigurationClickedState); - }; - - const onSortBy = () => { - setIsSortByClicketState(() => !isSortByClicketState); - }; - - return ( - - ); -}; - -NewPolicy.displayName = 'NewPolicy'; -NewPolicy.defaultProps = {}; - -export default React.memo(NewPolicy); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.view.tsx deleted file mode 100644 index 2807ddcb6..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/NewPolicy.view.tsx +++ /dev/null @@ -1,123 +0,0 @@ -/* eslint-disable max-lines */ -import React from 'react'; -import { Link } from 'react-router-dom'; -import { ILibrary } from '@/interfaces/library'; -import VSvg from '@/ui/VSvg'; -import SelectFromOptions from '@/ui/SelectFromOptions'; - -import { IGroup } from '@/interfaces/group'; -import { sortByOptions } from '@/data/newPolicySortByOptions'; - -import SideBarFilters from './SideBarFilters'; -import LibrariesList from './LibrariesList'; -import PolicyConfigurationButton from './PolicyConfigurationButton'; - -// import { Trans, useTranslation } from 'react-i18next'; - -import classes from './NewPolicy.module.scss'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly isSortByClicked: boolean; - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly isPolicyConfigurationClicked: boolean | null; - readonly selectedSortByOptionIndex: number | null; - readonly onSelectedSortBy: (index: number) => void; - readonly onPolicyConfiguratoinClicked: () => void; - readonly onPolicyLabelInputChanged: (input: string) => void; - readonly onSelectedLibrary: (library: ILibrary) => void; - readonly onCancelSelectedLibrary: () => void; - readonly onSortBy: () => void; -} - -const NewPolicyView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
-

New Policy

-
- {props.selectedLibrary && - props.policyLabelInput !== null && - props.policyLabelInput?.length !== 0 ? ( - - - - ) : ( - - )} -
-
-
- Label: - - props.onPolicyLabelInputChanged(value) - } - /> -
-
-
- Library: -
- - -
-
-
- -
-
-
-
- - -
-
-
- ); -}; - -NewPolicyView.displayName = 'NewPolicyView'; -NewPolicyView.defaultProps = {}; - -export default React.memo(NewPolicyView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.module.scss deleted file mode 100644 index 793b4e702..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.module.scss +++ /dev/null @@ -1,19 +0,0 @@ -.policyConfigurationButton { - display: flex; - align-items: center; - padding: 11px 20px; - border-radius: 10px; - - &__text { - margin-right: 16px; - font-size: 1.6rem; - font-weight: 460; - white-space: nowrap; - } - - &__icon { - width: 8px; - height: 14px; - fill: transparent; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.tsx deleted file mode 100644 index 74b296101..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import React from 'react'; -import { Dispatch } from 'redux'; -import { connect } from 'react-redux'; -import uniqid from 'uniqid'; - -import { currentDate } from '@/utils/currentDate'; - -import { IGroup } from '@/interfaces/group'; -import { IPolicy } from '@/interfaces/policy'; - -import * as groupsActions from '@/store/actions/groups'; - -import PolicyConfigurationButtonView from './PolicyConfigurationButton.view'; - -interface IPropsFromDispatch { - addPolicy: (groupId: string, policy: IPolicy) => groupsActions.AddPolicy; -} - -interface IProps extends IPropsFromDispatch { - readonly isButtonDisabled: boolean; - readonly selectedGroup: IGroup | null; - readonly policyLabelInput: string | null; -} - -const PolicyConfigurationButton: React.FC = (props: React.PropsWithChildren) => { - const onCreateNewPolicy = () => { - props.addPolicy(props.selectedGroup?.id || '', { - id: uniqid(), - label: props.policyLabelInput || '', - createdAt: currentDate(), - libraryName: '', - rules: null, - }); - }; - - return ( - - ); -}; - -PolicyConfigurationButton.displayName = 'PolicyConfigurationButton'; -PolicyConfigurationButton.defaultProps = {}; - -const mapDispatchToProps = (dispatch: Dispatch): IPropsFromDispatch => { - return { - addPolicy: (groupId: string, policy: IPolicy): groupsActions.AddPolicy => - dispatch(groupsActions.addPolicy(groupId, policy)), - }; -}; - -export default connect(null, mapDispatchToProps)(React.memo(PolicyConfigurationButton)); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.view.tsx deleted file mode 100644 index 9f43122bb..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/PolicyConfigurationButton.view.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; -import VSvg from '@/ui/VSvg'; - -import classes from './PolicyConfigurationButton.module.scss'; - -interface IProps { - readonly isButtonDisabled: boolean; - readonly onCreateNewPolicy: () => void; -} - -const PolicyConfigurationButtonView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( - - ); -}; - -PolicyConfigurationButtonView.displayName = 'PolicyConfigurationButtonView'; -PolicyConfigurationButtonView.defaultProps = {}; - -export default React.memo(PolicyConfigurationButtonView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/index.ts deleted file mode 100644 index 69056f87e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/PolicyConfigurationButton/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import PolicyConfigurationButton from './PolicyConfigurationButton'; - -export default PolicyConfigurationButton; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.module.scss deleted file mode 100644 index dd03422ba..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.module.scss +++ /dev/null @@ -1,60 +0,0 @@ -.sideBarFilters { - display: flex; - flex-direction: column; - width: 15%; - - .typesContainer { - display: flex; - flex-direction: column; - - &__title { - margin-bottom: 21px; - font-size: 2rem; - font-weight: 560; - color: #4b4a65; - } - - .typeButton { - display: flex; - width: min-content; - - &__type { - font-size: 1.8rem; - font-weight: 460; - color: #5d5b7a; - } - } - - .typeButton:not(:last-child) { - margin-bottom: 11px; - } - } - - .categoriesContainer { - display: flex; - flex-direction: column; - margin-top: 44px; - - &__title { - margin-bottom: 21px; - font-size: 2rem; - font-weight: 560; - color: #4b4a65; - } - - .categoryButton { - display: flex; - width: min-content; - - &__category { - font-size: 1.8rem; - font-weight: 460; - color: #5d5b7a; - } - } - - .categoryButton:not(:last-child) { - margin-bottom: 11px; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.tsx deleted file mode 100644 index cb67cab62..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import SideBarFiltersView from './SideBarFilters.view'; - -interface IProps {} - -const SideBarFilters: React.FC = () => { - return ; -}; - -SideBarFilters.displayName = 'SideBarFilters'; -SideBarFilters.defaultProps = {}; - -export default React.memo(SideBarFilters); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.view.tsx deleted file mode 100644 index 1a6fa900c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/SideBarFilters.view.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; - -import { types, categories } from '@/data/policiesFilter'; - -// import { Trans, useTranslation } from 'react-i18next'; - -import classes from './SideBarFilters.module.scss'; - -interface IProps {} - -const SideBarFiltersView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
-
- Types - {types.map((type, index) => ( - - ))} -
-
- Categories - {categories.map((category, index) => ( - - ))} -
-
- ); -}; - -SideBarFiltersView.displayName = 'SideBarFiltersView'; -SideBarFiltersView.defaultProps = {}; - -export default React.memo(SideBarFiltersView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/index.ts deleted file mode 100644 index 2628eae5b..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/SideBarFilters/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SideBarFilters from './SideBarFilters'; - -export default SideBarFilters; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/index.ts deleted file mode 100644 index 3b1e2fce0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NewPolicy/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import NewPolicy from './NewPolicy'; - -export default NewPolicy; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.module.scss deleted file mode 100644 index 767b840f0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.module.scss +++ /dev/null @@ -1,88 +0,0 @@ -.noPolicies { - display: flex; - justify-content: flex-start; - - .innerNoPolicies { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 100%; - margin: 60px 22px 100px; - - &__title { - font-size: 2.4rem; - font-weight: 560; - color: #4b4a65; - } - - .stepsContainer { - display: flex; - align-items: center; - justify-content: center; - margin-top: 77px; - - .libraryStep { - display: flex; - flex-direction: column; - align-items: center; - margin-right: 10px; - - .iconsContainer { - display: flex; - align-items: flex-start; - - &__brandLogo { - width: 49px; - height: 50px; - padding: 6px; - margin-right: 10px; - background-color: #f2f2f2; - border-radius: 50%; - } - - &__chooseLibrary { - width: 133px; - height: 103px; - } - } - - &__description { - margin-top: 12px; - font-size: 1.6rem; - font-weight: 460; - color: #4b4a65; - } - } - - &__arrowRight { - width: 35px; - margin: 0 60px; - fill: #4b4a65; - } - - .rulesStep { - position: relative; - display: flex; - flex-direction: column; - align-items: center; - - &__buildRules { - width: 183px; - height: 72px; - fill: transparent; - } - - &__text { - width: fit-content; - margin-top: 20px; - font-size: 1.5rem; - font-weight: 460; - line-height: 20px; - color: #4b4a65; - text-align: center; - } - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.tsx deleted file mode 100644 index 3ff0bcc10..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import NoPoliciesView from './NoPolicies.view'; - -interface IProps {} - -const NoPolicies: React.FC = () => { - return ; -}; - -NoPolicies.displayName = 'NoPolicies'; -NoPolicies.defaultProps = {}; - -export default React.memo(NoPolicies); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.view.tsx deleted file mode 100644 index 588903524..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/NoPolicies.view.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; - -// import { Trans, useTranslation } from 'react-i18next'; - -import brandLogo from '../../../../../../../assets/images/brandLogo.png'; - -import classes from './NoPolicies.module.scss'; - -interface IProps {} - -const NoPoliciesView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
-
-

Create your first Policy

-
-
-
- brand logo - -
- Choose a Library -
- -
- - - Build your own rules -
- or choose a recommended policy -
-
-
-
-
- ); -}; - -NoPoliciesView.displayName = 'NoPoliciesView'; -NoPoliciesView.defaultProps = {}; - -export default React.memo(NoPoliciesView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/index.ts deleted file mode 100644 index 3bf882a54..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/NoPolicies/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import NoPolicies from './NoPolicies'; - -export default NoPolicies; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.module.scss deleted file mode 100644 index 598d5f859..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.module.scss +++ /dev/null @@ -1,86 +0,0 @@ -@use 'sass:map'; - -@import '../../../../../../styles/variables.scss'; - -.policies { - display: flex; - flex-direction: column; - width: 100%; - height: 100%; - margin-top: 30px; - background: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 5px; - - .innerPolicies { - display: flex; - flex-direction: column; - justify-content: center; - width: 100%; - padding: 14px 22px; - - &__title { - font-size: 2.2rem; - font-weight: 560; - color: #202428; - } - - .policiesListHeader { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - margin-top: 12px; - - .leftSideContainer { - display: flex; - align-items: center; - - &__orderNumber { - margin-right: 23px; - font-size: 1.7rem; - font-weight: 460; - color: #8b8b8b; - } - - &__category { - font-size: 1.7rem; - font-weight: 460; - color: #8b8b8b; - } - - &__category:not(:last-child) { - margin-right: 83px; - } - } - - .buttonContainer { - display: flex; - align-items: center; - padding: 8px 9px; - background-color: #2355a0; - border: 1px solid #2355a0; - border-radius: 10px; - - &__text { - margin-right: 5px; - font-size: 1.6rem; - font-weight: 560; - color: #f2f2f2; - } - - &__icon { - width: 15px; - height: 15px; - fill: #f2f2f2; - } - } - } - } - - .dividerLine { - width: 100%; - margin-top: 10px; - border: 2px solid #e7e7e7; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.tsx deleted file mode 100644 index b9320d7ff..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -import { IGroup } from '@/interfaces/group'; - -import PoliciesView from './Policies.view'; - -interface IProps { - readonly selectedGroup: IGroup | null; - readonly onCreateNewPolicy: () => void; -} - -const Policies: React.FC = (props: React.PropsWithChildren) => { - return ; -}; - -Policies.displayName = 'Policies'; -Policies.defaultProps = {}; - -export default React.memo(Policies); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.view.tsx deleted file mode 100644 index 8a9d21dd8..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/Policies.view.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; -import { IGroup } from '@/interfaces/group'; -import VSvg from '@/ui/VSvg'; -// import { Trans, useTranslation } from 'react-i18next'; - -import NoPolicies from './NoPolicies'; - -import classes from './Policies.module.scss'; -import PoliciesList from './PoliciesList'; - -interface IProps { - readonly selectedGroup: IGroup | null; -} - -const PoliciesView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
-

Policies

-
-
- # - Label - Library - Category - Num. of Rules -
- - New - - -
-
-
- {props.selectedGroup?.policies.length !== 0 ? ( - - ) : ( - - )} -
- ); -}; - -PoliciesView.displayName = 'PoliciesView'; -PoliciesView.defaultProps = {}; - -export default React.memo(PoliciesView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.module.scss deleted file mode 100644 index db7d4f045..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.module.scss +++ /dev/null @@ -1,3 +0,0 @@ -.policiesList { - display: flex; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.tsx deleted file mode 100644 index 43772f776..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; - -import { IGroup } from '@/interfaces/group'; - -import PoliciesListView from './PoliciesList.view'; - -interface IProps { - readonly selectedGroup: IGroup | null; -} - -const PoliciesList: React.FC = (props: React.PropsWithChildren) => { - return ; -}; - -PoliciesList.displayName = 'PoliciesList'; -PoliciesList.defaultProps = {}; - -export default React.memo(PoliciesList); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.view.tsx deleted file mode 100644 index af8f8937a..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/PoliciesList.view.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; - -import { IGroup } from '@/interfaces/group'; - -import classes from './PoliciesList.module.scss'; - -interface IProps { - readonly selectedGroup: IGroup | null; -} - -const PoliciesListView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-

{props.selectedGroup?.label}

-
- ); -}; - -PoliciesListView.displayName = 'PoliciesListView'; -PoliciesListView.defaultProps = {}; - -export default React.memo(PoliciesListView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/index.ts deleted file mode 100644 index 52028915e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PoliciesList/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import PoliciesList from './PoliciesList'; - -export default PoliciesList; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.module.scss deleted file mode 100644 index f970c5329..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.module.scss +++ /dev/null @@ -1,72 +0,0 @@ -.newPolicyConfiguration { - display: flex; - flex-direction: column; - justify-content: center; - width: 100%; - height: 100%; - padding: 74px 122px; - background-color: #f2f2f2; - - .innerNewPolicyConfiguration { - display: flex; - flex-direction: column; - width: 100%; - height: 100%; - background-color: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 10px; - - .headerContainer { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - height: fit-content; - padding: 0 21px 0 26px; - margin-top: 15px; - - .titleContainer { - display: flex; - align-items: center; - - &__text { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - white-space: nowrap; - } - } - - .ruleCreationButton { - display: flex; - align-items: center; - justify-content: space-between; - padding: 10px 19px; - background-color: #2355a0; - border: 1px solid #2d3a7d; - border-radius: 10px; - - &__text { - margin-right: 15px; - font-size: 1.5rem; - font-weight: 460; - color: #fefefe; - white-space: nowrap; - } - - &__icon { - width: 15px; - height: 10px; - fill: transparent; - stroke: #fefefe; - } - } - } - - .dividerLine { - width: 100%; - margin-top: 23px; - border: 2px solid #e7e7e7; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.tsx deleted file mode 100644 index 618d338ea..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; - -import NewPolicyConfigurationView from './NewPolicyConfiguration.view'; - -interface IProps { - readonly policyLabelInput: string | null; -} - -const NewPolicyConfiguration: React.FC = (props: React.PropsWithChildren) => { - return ; -}; - -NewPolicyConfiguration.displayName = 'NewPolicyConfiguration'; -NewPolicyConfiguration.defaultProps = {}; - -export default React.memo(NewPolicyConfiguration); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.view.tsx deleted file mode 100644 index 8eb79e0f0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/NewPolicyConfiguration.view.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; -// import { Trans, useTranslation } from 'react-i18next'; - -import VSvg from '@/ui/VSvg'; -import NavigateBackButton from '@/ui/NavigateBackButton'; -import classes from './NewPolicyConfiguration.module.scss'; - -interface IProps { - readonly policyLabelInput: string | null; -} - -const NewPolicyConfigurationView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
- - -
-
-
-

{props.policyLabelInput}

-   -

- Policy Configurations

-
- - - -
-
-
-
- ); -}; - -NewPolicyConfigurationView.displayName = 'NewPolicyConfigurationView'; -NewPolicyConfigurationView.defaultProps = {}; - -export default React.memo(NewPolicyConfigurationView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/index.ts deleted file mode 100644 index c4e3e52b6..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/NewPolicyConfiguration/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import NewPolicyConfiguration from './NewPolicyConfiguration'; - -export default NewPolicyConfiguration; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.module.scss deleted file mode 100644 index 7ebba02c8..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.module.scss +++ /dev/null @@ -1,4 +0,0 @@ -.policyConfiguration { - display: flex; - width: 100%; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.tsx deleted file mode 100644 index 7e32503c9..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; - -import PolicyConfigurationView from './PolicyConfiguration.view'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - - readonly policyLabelInput: string | null; -} - -const PolicyConfiguration: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -PolicyConfiguration.displayName = 'RuleCreation'; -PolicyConfiguration.defaultProps = {}; - -export default React.memo(PolicyConfiguration); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.view.tsx deleted file mode 100644 index 70723847c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicyConfiguration.view.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React, { Suspense } from 'react'; -import { Redirect, Route, Switch, useLocation } from 'react-router-dom'; -import { ILibrary } from '@/interfaces/library'; - -import PolicySidebar from './PolicySidebar'; -import RuleCreation from './RuleCreation'; - -import classes from './PolicyConfiguration.module.scss'; -import NewPolicyConfiguration from './NewPolicyConfiguration'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; -} - -const PolicyConfiguration: React.FC = (props: React.PropsWithChildren) => { - const route = useLocation(); - - let currentPage; - - if (route.pathname.includes('/manual')) { - currentPage = 'manual'; - } - - return ( -
- - - - - - - - - - - - -
- ); -}; - -PolicyConfiguration.displayName = 'PolicyConfiguration'; -PolicyConfiguration.defaultProps = {}; - -export default React.memo(PolicyConfiguration); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.module.scss deleted file mode 100644 index 8abb5408a..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.module.scss +++ /dev/null @@ -1,148 +0,0 @@ -.container { - position: sticky; - width: 100%; - max-width: 16%; - - .sidebar { - position: fixed; - display: flex; - width: 15%; - padding-left: 14px; - background-color: #fefefe; - - .innerSidebar { - display: flex; - flex-direction: column; - width: 100%; - height: 100%; - - .backToGroupContainer { - display: flex; - align-items: center; - margin: 34px 24px 34px 0; - - .buttonContainer { - &__icon { - margin-right: 10px; - fill: transparent; - } - } - - &__text { - font-size: 1.4rem; - font-weight: 560; - color: #4b4a65; - white-space: nowrap; - } - - &__groupLabel { - font-size: 1.4rem; - font-weight: 560; - color: #7a4df3; - white-space: nowrap; - } - } - - &__divider { - width: 90%; - border: 2px solid #e7e7e7; - } - - .policyDetailsContainer { - display: flex; - flex-direction: column; - width: fit-content; - margin-top: 11px; - margin-right: 32px; - - .policyLabelContainer { - display: flex; - align-items: center; - justify-content: space-between; - - &__label { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - } - - &__icon { - width: 31px; - height: 7px; - } - } - - .createdTimeContainer { - display: flex; - margin: 15px 0; - - &__title { - margin-right: 5px; - } - - &__text { - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - white-space: nowrap; - } - } - - .libraryName { - display: flex; - flex-direction: column; - - &__title { - margin-bottom: 5px; - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - } - - .innerLibraryName { - display: flex; - align-items: center; - - &__logo { - width: 24px; - height: 22px; - } - - &__props { - margin: 0 8px 0 10px; - font-size: 2.2rem; - font-weight: 560; - color: #4b4a65; - white-space: nowrap; - } - - &__changeButton { - font-size: 1.8rem; - font-weight: 560; - color: #2049b0; - } - } - } - - .libraryCategory { - display: flex; - flex-direction: column; - margin-top: 15px; - - &__title { - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - } - - &__props { - margin-top: 5px; - font-size: 2.2rem; - font-weight: 560; - color: #4b4a65; - } - } - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.tsx deleted file mode 100644 index b0c2a3474..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; - -import PolicySidebarView from './PolicySidebar.view'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - readonly policyLabelInput: string | null; -} - -const PolicySidebar: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -PolicySidebar.displayName = 'PolicySidebar'; -PolicySidebar.defaultProps = {}; - -export default React.memo(PolicySidebar); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.view.tsx deleted file mode 100644 index 94db8a8f8..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/PolicySidebar.view.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; -import { ILibrary } from '@/interfaces/library'; -import VSvg from '@/ui/VSvg'; -import { concatClasses } from '../../../../../../../../utils/component'; - -// import { Trans, useTranslation } from 'react-i18next'; - -import tempLogo from '../../../../../../../../assets/images/brandLogo.png'; - -import classes from './PolicySidebar.module.scss'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - - readonly policyLabelInput: string | null; -} - -const PolicySidebarView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
-
-
- - - - Back To -   - Group Label -   - Group -
-
-
-
-

- {props.policyLabelInput} -

- -
-
- - Created in: - - 24 -   - May -   - 2022 -
-
- Library -
- library logo - - {props.selectedLibrary?.title} - - -
-
-
- Type - - {props.selectedLibrary?.type} - -
- -
- Category - - {props.selectedLibrary?.category} - -
- -
- Rules - Manual -
-
-
-
-
- ); -}; - -PolicySidebarView.displayName = 'PolicySidebarView'; -PolicySidebarView.defaultProps = {}; - -export default React.memo(PolicySidebarView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/index.ts deleted file mode 100644 index 148671e25..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/PolicySidebar/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import PolicySidebar from './PolicySidebar'; - -export default PolicySidebar; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.module.scss deleted file mode 100644 index 3c19592a6..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -.fileFormat { - display: flex; - flex-direction: column; - justify-content: space-between; - width: 100%; - height: 100%; - margin-top: 15px; - overflow: auto; - background-color: #fefefe; - border-radius: 10px; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.tsx deleted file mode 100644 index 72c7b51ec..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import React, { useState } from 'react'; - -import FileFormatView from './FileFormat.view'; - -interface IProps { - readonly policyLabelInput: string | null; -} - -const FileFormat: React.FC = (props: React.PropsWithChildren) => { - const [selectedFileFormatIndexState, setSelectedFileFormatIndexState] = useState(0); - const [isFileFormatClickedState, setIsFileFormatClickedState] = useState(false); - const [isEditFileFormatState, setIsEditFileFormatState] = useState(false); - - const onEditFileFormatButton = () => { - setIsEditFileFormatState(() => !isEditFileFormatState); - }; - - const onFileFormatButton = () => { - setIsFileFormatClickedState(() => !isFileFormatClickedState); - }; - - const onSelectedFileFormat = (index: number) => { - setSelectedFileFormatIndexState(() => index); - setIsFileFormatClickedState(() => false); - }; - - return ( - - ); -}; - -FileFormat.displayName = 'FileFormat'; -FileFormat.defaultProps = {}; - -export default React.memo(FileFormat); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.view.tsx deleted file mode 100644 index 86a79c6a6..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/FileFormat.view.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; - -import classes from './FileFormat.module.scss'; -import Header from './Header'; -import InputCodeForm from './InputCodeForm'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly onEditFileFormatButton: () => void; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; -} - -const FileFormatView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
- -
- ); -}; - -FileFormatView.displayName = 'FileFormatView'; -FileFormatView.defaultProps = {}; - -export default React.memo(FileFormatView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.module.scss deleted file mode 100644 index 50fb4c46e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.module.scss +++ /dev/null @@ -1,38 +0,0 @@ -.header { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - height: fit-content; - padding: 4px 18px; - background-color: #e7e7e7; - border-top: 2px solid #bbb8ca; - border-right: 2px solid #bbb8ca; - border-left: 2px solid #bbb8ca; - border-radius: 10px 10px 0 0; - - .leftSideContainer { - display: flex; - align-items: center; - - &__text { - font-size: 1.7rem; - font-weight: 560; - color: #4b4a65; - } - } - - .rightSideContainer { - display: flex; - align-items: center; - - .editFileFormatButton { - &__icon { - width: 24px; - height: 24px; - margin-right: 16px; - fill: #33383e; - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.tsx deleted file mode 100644 index 8337a4dab..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; - -import HeaderView from './Header.view'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onEditFileFormatButton: () => void; -} - -const Header: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -Header.displayName = 'Header'; -Header.defaultProps = {}; - -export default React.memo(Header); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.view.tsx deleted file mode 100644 index 33330e1b2..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/Header.view.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; -import VSvg from '@/ui/VSvg'; -import { fileFormats } from '@/data/fileFormts'; - -import SelectFromOptions from '@/ui/SelectFromOptions'; -import classes from './Header.module.scss'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onEditFileFormatButton: () => void; -} - -const HeaderView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
- {props.policyLabelInput} -   - Rule Configuration -
-
- - - -
-
- ); -}; - -HeaderView.displayName = 'HeaderView'; -HeaderView.defaultProps = {}; - -export default React.memo(HeaderView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/index.ts deleted file mode 100644 index a9ce1058c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/Header/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Header from './Header'; - -export default Header; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.module.scss deleted file mode 100644 index e6f5bf116..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.module.scss +++ /dev/null @@ -1,8 +0,0 @@ -.inputFormCode { - display: flex; - height: 100%; - overflow-y: auto; - background-color: #fefefe; - border: 2px solid #bbb8ca; - border-radius: 0 0 10px 10px; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.tsx deleted file mode 100644 index 5603c12b4..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React, { useState } from 'react'; - -import InputCodeFormView from './InputCodeForm.view'; - -interface IProps { - readonly selectedFileFormatIndex: number; - readonly isEditFileFormat: boolean; -} - -const InputCodeForm: React.FC = (props: React.PropsWithChildren) => { - const [inputCodeState, setInputCodeState] = useState(''); - - const onInputCodeChange = (input: string) => setInputCodeState(() => input); - - return ( - - ); -}; - -InputCodeForm.displayName = 'InputCodeForm'; -InputCodeForm.defaultProps = {}; - -export default React.memo(InputCodeForm); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.view.tsx deleted file mode 100644 index 51a27fbb9..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/InputCodeForm.view.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; -import CodeEditor from '@uiw/react-textarea-code-editor'; -import { fileFormats } from '@/data/fileFormts'; - -import classes from './InputCodeForm.module.scss'; - -interface IProps { - readonly inputCode: string; - readonly selectedFileFormatIndex: number; - readonly isEditFileFormat: boolean; - readonly onInputCodeChange: (input: string) => void; -} - -const InputCodeFormView: React.FC = (props: React.PropsWithChildren) => { - return ( -
- 0 && props.isEditFileFormat ? '#202428' : '#999', - width: '100%', - height: '100%', - fontFamily: - 'ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace', - }} - onChange={(value) => props.onInputCodeChange(value.target.value)} - /> -
- ); -}; - -InputCodeFormView.displayName = 'InputCodeFormView'; -InputCodeFormView.defaultProps = {}; - -export default React.memo(InputCodeFormView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/index.ts deleted file mode 100644 index 81303e208..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/InputCodeForm/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import InputCodeForm from './InputCodeForm'; - -export default InputCodeForm; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/index.ts deleted file mode 100644 index df825b9d9..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/FileFormat/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import FileFormat from './FileFormat'; - -export default FileFormat; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.module.scss deleted file mode 100644 index dec466aa1..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.module.scss +++ /dev/null @@ -1,22 +0,0 @@ -.manually { - display: flex; - justify-content: center; - - .container { - position: sticky; - width: 50%; - - .rightSideContainer { - position: fixed; - display: flex; - width: 40%; - height: 730px; - } - } -} - -@media (max-width: 1600px) { - .rightSideContainer { - height: 638px !important; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.tsx deleted file mode 100644 index aa2807644..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import React, { useState } from 'react'; - -import { librariesList } from '@/data/librariesList'; -import { ILibrary } from '@/interfaces/library'; -import { IRule } from '@/interfaces/rule'; - -import ManuallyView from './Manually.view'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; -} - -const Manually: React.FC = (props: React.PropsWithChildren) => { - const [selectedRuleState, setSelectedRuleState] = useState(null); - const [selectedRuleAlertTypeIndexState, setSelectedRuleAlertTypeIndexState] = useState(-1); - const [selectedRulesState, setSelectedRulesState] = useState([]); - const [isRuleOnUpdate, setIsRuleOnUpdate] = useState(false); - - const selectedLibraryName = props.selectedLibrary!.title; - - const rulesObject = librariesList[selectedLibraryName as keyof typeof librariesList].rulesList; - - const onSelectedRule = (rule: IRule) => { - if (!isRuleOnUpdate) { - setSelectedRuleAlertTypeIndexState(() => 0); - setSelectedRuleState(rule); - } - }; - - const onSelectedRuleAlertType = (index: number) => { - setSelectedRuleAlertTypeIndexState(() => index); - }; - - const onRemoveRule = () => { - setSelectedRuleState(null); - setSelectedRuleAlertTypeIndexState(() => -1); - setIsRuleOnUpdate(false); - }; - - const onAddRuleToList = (rule: IRule) => { - setSelectedRulesState(() => [...selectedRulesState, rule]); - setSelectedRuleState(null); - setSelectedRuleAlertTypeIndexState(() => -1); - setIsRuleOnUpdate(false); - }; - - const onEditSelectedRule = (rule: IRule) => { - setIsRuleOnUpdate(true); - - setSelectedRuleState(() => rule); - setSelectedRuleAlertTypeIndexState(() => 0); - }; - - return ( - - ); -}; - -Manually.displayName = 'Manually'; -Manually.defaultProps = {}; - -export default React.memo(Manually); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.view.tsx deleted file mode 100644 index be2da665b..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/Manually.view.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; -import { IRule } from '@/interfaces/rule'; - -import classes from './Manually.module.scss'; -import SelectRules from './SelectRules'; -import RuleConfiguration from './RuleConfiguration'; -import SelectedRules from './SelectedRules'; - -interface IProps { - readonly rulesObject: { [key: string]: string } | Record>; - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly selectedRuleAlertTypeIndex: number; - readonly onSelectedRule: (rule: IRule) => void; - readonly onSelectedRuleAlertType: (index: number) => void; - readonly onRemoveRule: () => void; - readonly onAddRuleToList: (rule: IRule) => void; - readonly onEditSelectedRule: (rule: IRule) => void; -} - -const ManuallyView: React.FC = (props: React.PropsWithChildren) => { - return ( -
- - -
-
- - - -
-
-
- ); -}; - -ManuallyView.displayName = 'ManuallyView'; -ManuallyView.defaultProps = {}; - -export default React.memo(ManuallyView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.module.scss deleted file mode 100644 index 677933324..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.module.scss +++ /dev/null @@ -1,141 +0,0 @@ -.inputCodeConfigurations { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 34px 35px 24px; - border-bottom: 2px solid #e7e7e7; - - &__icon { - width: 50px; - height: 56px; - } - - &__text { - margin: 11px 0 8px; - font-size: 1.7rem; - font-weight: 460; - color: #4b4a65; - text-align: center; - } - - .editButton { - display: flex; - align-items: center; - padding: 11px 20px; - border-radius: 10px; - - &__text { - margin-right: 16px; - font-size: 1.6rem; - font-weight: 460; - color: #fefefe; - } - - &__icon { - width: 5.5px; - height: 9.5px; - fill: transparent; - stroke: #fefefe; - } - } - - .disabled { - position: absolute; - z-index: +1; - width: 800%; - height: 200%; - background-color: rgb(231 231 231 / 100%); - opacity: 0.5; - } - - .codeBasedConfigurations { - position: fixed; - top: 50%; - left: 50%; - z-index: +100; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 40%; - height: 70%; - padding: 24px 60px; - background: #fefefe; - background-color: #fefefe; - border-radius: 10px; - transform: translate(-50%, -50%); - - .goBackButton { - position: relative; - right: 55%; - - &__icon { - width: 11px; - height: 19px; - fill: transparent; - stroke: rgb(32 36 40 / 100%); - } - } - - .innerCodeBasedConfigurations { - display: flex; - width: 100%; - height: 100%; - } - - .doneButtonContainer { - display: flex; - justify-content: center; - width: fit-content; - padding: 10px 19px; - margin-top: 50px; - background: #2355a0; - border: 1px solid #2d3a7d; - border-radius: 10px; - - .button { - display: flex; - align-items: center; - - &__text { - margin-right: 15px; - font-size: 1.5rem; - font-weight: 460; - color: #fefefe; - } - - &__icon { - width: 15px; - height: 10px; - fill: transparent; - stroke: #fefefe; - } - } - } - } -} - -@media (max-width: 1600px) { - .inputCodeConfigurations { - padding: 14px 35px 6px !important; - - &__icon { - width: 50px !important; - height: 56px !important; - } - - &__text { - font-size: 1.4rem !important; - } - - .editButton { - padding: 11px 20px; - - &__text { - margin-right: 12px !important; - font-size: 1.2rem !important; - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.tsx deleted file mode 100644 index 12331a942..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import React, { useState } from 'react'; -import { IRule } from '@/interfaces/rule'; - -import CodeBasedConfigurationsView from './CodeBasedConfigurations.view'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedRule: IRule | null; - readonly isBasedCodeConfigurationsClicked: boolean; - readonly ruleCodeBasedConfigurationsInput: string; - readonly onClickBasedCodeConfigurations: () => void; - readonly onCodeBasedConfigurationsInputChanged: (input: string) => void; -} - -const CodeBasedConfigurations: React.FC = (props: React.PropsWithChildren) => { - const [selectedFileFormatIndexState, setSelectedFileFormatIndexState] = useState(0); - const [isFileFormatClickedState, setIsFileFormatClickedState] = useState(false); - const [isEditFileFormatState, setIsEditFileFormatState] = useState(false); - - const onEditFileFormatButton = () => { - setIsEditFileFormatState(() => !isEditFileFormatState); - }; - - const onFileFormatButton = () => { - setIsFileFormatClickedState(() => !isFileFormatClickedState); - }; - - const onSelectedFileFormat = (index: number) => { - setSelectedFileFormatIndexState(() => index); - setIsFileFormatClickedState(() => false); - }; - - return ( - - ); -}; - -CodeBasedConfigurations.displayName = 'CodeBasedConfigurations'; -CodeBasedConfigurations.defaultProps = {}; - -export default React.memo(CodeBasedConfigurations); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.view.tsx deleted file mode 100644 index 602088da9..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/CodeBasedConfigurations.view.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; -// import { Trans, useTranslation } from 'react-i18next'; -import { IRule } from '@/interfaces/rule'; - -import BasedCodeConfigurations from '@/ui/CodeBasedConfigurationsInput'; -import classes from './CodeBasedConfigurations.module.scss'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedRule: IRule | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly isBasedCodeConfigurationsClicked: boolean; - readonly ruleCodeBasedConfigurationsInput: string; - readonly onEditFileFormatButton: () => void; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onClickBasedCodeConfigurations: () => void; - readonly onCodeBasedConfigurationsInputChanged: (input: string) => void; -} - -const CodeBasedConfigurationsView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
- - Input code-based configurations - - - {props.isBasedCodeConfigurationsClicked && ( -
- -
- -
- -
- )} -
- ); -}; - -CodeBasedConfigurationsView.displayName = 'CodeBasedConfigurationsView'; -CodeBasedConfigurationsView.defaultProps = {}; - -export default React.memo(CodeBasedConfigurationsView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/index.ts deleted file mode 100644 index e7cf3db05..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/CodeBasedConfigurations/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import CodeBasedConfigurations from './CodeBasedConfigurations'; - -export default CodeBasedConfigurations; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.module.scss deleted file mode 100644 index 2672e2ddc..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.module.scss +++ /dev/null @@ -1,38 +0,0 @@ -.header { - display: flex; - align-items: center; - justify-content: space-between; - padding: 15px 17px; - - &__title { - font-size: 2rem; - font-weight: 560; - color: #202428; - } - - .addRuleButton { - display: flex; - align-items: center; - - .buttonContainer { - display: flex; - margin-right: 8px; - - &__addIcon { - width: 34px; - height: 34px; - } - - &__updateIcon { - width: 34px; - height: 34px; - } - } - - &__text { - font-size: 1.6rem; - font-weight: 560; - color: #242337; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.tsx deleted file mode 100644 index f4b6f9c25..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React from 'react'; -import axios, { AxiosError } from 'axios'; -import { connect } from 'react-redux'; -import { Dispatch } from 'redux'; -import { useParams } from 'react-router-dom'; - -import { ruleAlertTypes } from '@/data/ruleAlertTypes'; -import { IRule } from '@/interfaces/rule'; -import { ICreateRule } from '@/interfaces/createRule'; -import { IParams } from '@/interfaces/params'; - -import * as groupsActions from '@/store/actions/groups'; - -import HeaderView from './Header.view'; - -interface IPropsFromDispatch { - addRule: (grouId: string, policyId: string, rule: IRule) => groupsActions.AddRule; -} - -interface IProps extends IPropsFromDispatch { - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly ruleCodeBasedConfigurationsInput: string; - readonly selectedRuleAlertTypeIndex: number; -} - -const Header: React.FC = (props: React.PropsWithChildren) => { - const { groupId, policyId } = useParams(); - const ruleConfiguration = [ruleAlertTypes[props.selectedRuleAlertTypeIndex]]; - - ruleConfiguration.push(props.ruleCodeBasedConfigurationsInput); - - const onAddRuleToList = () => { - axios - .post(`${process.env.REACT_APP_BACKEND_URL}/add-rule`, { - rule: props.selectedRule?.name, - ruleConfiguration: ruleConfiguration, - }) - .then(() => { - props.addRule(groupId!, policyId!, props.selectedRule!); - }) - .catch((err: AxiosError) => { - alert(err.response?.data); - }); - }; - - const onUpdateRule = () => { - axios - .post(`${process.env.REACT_APP_BACKEND_URL}/edit-rule`, { - rule: props.selectedRule?.name, - ruleConfiguration: ruleConfiguration, - }) - .then(() => { - props.addRule(groupId!, policyId!, props.selectedRule!); - }) - .catch((err: AxiosError) => { - alert(err.response?.data); - }); - }; - - return ( - - ); -}; - -Header.displayName = 'Header'; -Header.defaultProps = {}; - -const mapDispatchToProps = (dispatch: Dispatch): IPropsFromDispatch => { - return { - addRule: (groupId: string, policyId: string, rule: IRule): groupsActions.AddRule => - dispatch(groupsActions.addRule(groupId, policyId, rule)), - }; -}; - -export default connect(null, mapDispatchToProps)(React.memo(Header)); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.view.tsx deleted file mode 100644 index 1b47b6aef..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/Header.view.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; -// import { Trans, useTranslation } from 'react-i18next'; -import { IRule } from '@/interfaces/rule'; - -import classes from './Header.module.scss'; - -interface IProps { - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly onAddRuleToList: () => void; - readonly onUpdateRule: () => void; -} - -const HeaderView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
- Rule Configuration -
- {props.selectedRules.includes(props.selectedRule!) ? ( - - ) : ( - - )} - - - {props.selectedRules.includes(props.selectedRule!) ? 'Update Rule' : 'Add Rule'} - -
-
- ); -}; - -HeaderView.displayName = 'HeaderView'; -HeaderView.defaultProps = {}; - -export default React.memo(HeaderView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/index.ts deleted file mode 100644 index a9ce1058c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/Header/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Header from './Header'; - -export default Header; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.module.scss deleted file mode 100644 index 2aeabdf6d..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.module.scss +++ /dev/null @@ -1,46 +0,0 @@ -.ruleAlertContainer { - display: flex; - justify-content: center; - padding: 36px 28px; - border-bottom: 2px solid #e7e7e7; - - .innerRuleAlert { - display: flex; - justify-content: space-between; - width: 100%; - - .alertType { - display: flex; - align-items: center; - - .checkboxBorder { - display: flex; - align-items: center; - justify-content: center; - width: 20px; - height: 20px; - margin-right: 4px; - border: 1px solid #202428; - border-radius: 50%; - - &__button { - width: 14px; - height: 14px; - border-radius: 50%; - } - } - - &__text { - font-size: 1.8rem; - font-weight: 560; - color: #4b4a65; - } - } - } -} - -@media (max-width: 1600px) { - .ruleAlertContainer { - padding: 16px 18px !important; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.tsx deleted file mode 100644 index d258416d7..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; - -import RuleAlertTypeView from './RuleAlertType.view'; - -interface IProps { - readonly selectedRuleAlertTypeIndex: number; - readonly onSelectedRuleAlertType: (index: number) => void; -} - -const RuleAlertType: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -RuleAlertType.displayName = 'RuleAlertType'; -RuleAlertType.defaultProps = {}; - -export default React.memo(RuleAlertType); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.view.tsx deleted file mode 100644 index 064cfe061..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/RuleAlertType.view.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import { ruleAlertTypes } from '@/data/ruleAlertTypes'; - -import classes from './RuleAlertType.module.scss'; - -interface IProps { - readonly selectedRuleAlertTypeIndex: number; - readonly onSelectedRuleAlertType: (index: number) => void; -} - -const RuleAlertTypeView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
- {ruleAlertTypes.map((ruleAlertType, index) => ( -
-
-
- {ruleAlertType} -
- ))} -
-
- ); -}; - -RuleAlertTypeView.displayName = 'RuleAlertTypeView'; -RuleAlertTypeView.defaultProps = {}; - -export default React.memo(RuleAlertTypeView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/index.ts deleted file mode 100644 index 2880f652a..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleAlertType/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import RuleAlertType from './RuleAlertType'; - -export default RuleAlertType; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.module.scss deleted file mode 100644 index b92c91b86..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.module.scss +++ /dev/null @@ -1,91 +0,0 @@ -.ruleConfiguration { - position: relative; - display: flex; - width: 50%; - height: 100%; - background-color: #fafafa; - border: 2px solid #e7e7e7; - border-radius: 5px; - - .disabled { - position: absolute; - z-index: +1; - width: 100%; - height: 100%; - background-color: rgb(231 231 231 / 100%); - opacity: 0.3; - } - - .innerRuleConfiguration { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - - .inputRuleConfigurations { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 34px 35px 24px; - - &__icon { - width: 150px; - height: 60px; - } - - &__text { - margin: 11px 0 8px; - font-size: 1.7rem; - font-weight: 460; - color: #4b4a65; - text-align: center; - } - - .editButton { - display: flex; - align-items: center; - padding: 11px 20px; - border-radius: 10px; - - &__text { - margin-right: 16px; - font-size: 1.6rem; - font-weight: 460; - color: #fefefe; - } - - &__icon { - width: 5.5px; - height: 9.5px; - fill: transparent; - stroke: #fefefe; - } - } - } - } -} - -@media (max-width: 1600px) { - .inputRuleConfigurations { - padding: 14px 35px 6px !important; - - &__icon { - width: 140px !important; - height: 70px !important; - } - - &__text { - font-size: 1.4rem !important; - } - - .editButton { - padding: 11px 20px; - - &__text { - margin-right: 12px !important; - font-size: 1.2rem !important; - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.tsx deleted file mode 100644 index 8b0ef4071..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React, { useState } from 'react'; -import { IRule } from '@/interfaces/rule'; - -import RuleConfigurationView from './RuleConfiguration.view'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly selectedRuleAlertTypeIndex: number; - readonly onSelectedRuleAlertType: (index: number) => void; - readonly onRemoveRule: () => void; -} - -const RuleConfiguration: React.FC = (props: React.PropsWithChildren) => { - const [ruleCodeBasedConfigurationsInputState, setRuleCodeBasedConfigurationsInputState] = - useState(''); - - const [isBasedCodeConfigurationsClickedState, setIsBasedCodeConfigurationsClickedState] = - useState(false); - - const onCodeBasedConfigurationsInputChanged = (input: string) => - setRuleCodeBasedConfigurationsInputState(() => input); - - const onClickBasedCodeConfigurations = () => { - setIsBasedCodeConfigurationsClickedState(() => !isBasedCodeConfigurationsClickedState); - }; - - return ( - - ); -}; - -RuleConfiguration.displayName = 'RuleConfiguration'; -RuleConfiguration.defaultProps = {}; - -export default React.memo(RuleConfiguration); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.view.tsx deleted file mode 100644 index 6bf3d230c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/RuleConfiguration.view.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; - -import { IRule } from '@/interfaces/rule'; -import VSvg from '@/ui/VSvg'; - -import SelectedRule from './SelectedRule'; -import Header from './Header'; -import classes from './RuleConfiguration.module.scss'; -import RuleAlertType from './RuleAlertType'; -import CodeBasedConfigurations from './CodeBasedConfigurations'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly selectedRuleAlertTypeIndex: number; - readonly isBasedCodeConfigurationsClicked: boolean; - readonly ruleCodeBasedConfigurationsInput: string; - readonly onSelectedRuleAlertType: (index: number) => void; - readonly onRemoveRule: () => void; - readonly onClickBasedCodeConfigurations: () => void; - readonly onCodeBasedConfigurationsInputChanged: (input: string) => void; -} - -const RuleConfigurationView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
- -
-
- - - - - -
- - - Input code-based configurations - - -
-
-
- ); -}; - -RuleConfigurationView.displayName = 'RuleConfigurationView'; -RuleConfigurationView.defaultProps = {}; - -export default React.memo(RuleConfigurationView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.module.scss deleted file mode 100644 index 4a5401e93..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.module.scss +++ /dev/null @@ -1,62 +0,0 @@ -.selectedRule { - display: flex; - align-items: center; - min-height: 180px !important; - padding: 16px; - - // border-image: linear-gradient(to right, rgba(79, 51, 155, 0.5), rgba(79, 51, 155, 1)) 1; - border-color: transparent; - border-style: solid; - border-width: 2px; - - .innerRule { - display: flex; - align-items: center; - justify-content: space-between; - - .leftSideContainer { - display: flex; - flex-direction: column; - justify-content: center; - width: 40%; - margin-right: 14px; - - &__ruleName { - font-size: 1.7rem; - font-weight: 560; - color: #4b4a65; - } - - &__catagory { - margin-top: 2px; - font-size: 1.7rem; - font-weight: 460; - color: #4b4a65; - } - } - - .middleSideContainer { - display: flex; - width: 45%; - - &__description { - margin-top: 2px; - font-size: 1.7rem; - font-weight: 460; - line-height: 20px; - color: #4b4a65; - } - } - - .removeRuleButton { - align-items: center; - - &__icon { - width: 25px; - height: 25px; - fill: transparent; - stroke: #7084a3; - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.tsx deleted file mode 100644 index b8d70d9fa..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { IRule } from '@/interfaces/rule'; - -import SelectedRuleView from './SelectedRule.view'; - -interface IProps { - readonly selectedRule: IRule | null; - readonly onRemoveRule: () => void; -} - -const SelectedRule: React.FC = (props: React.PropsWithChildren) => { - return ; -}; - -SelectedRule.displayName = 'SelectedRule'; -SelectedRule.defaultProps = {}; - -export default React.memo(SelectedRule); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.view.tsx deleted file mode 100644 index d6e2153d0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/SelectedRule.view.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; - -import { IRule } from '@/interfaces/rule'; - -import classes from './SelectedRule.module.scss'; - -interface IProps { - readonly selectedRule: IRule | null; - readonly onRemoveRule: () => void; -} - -const SelectedRuleView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
-
- {props.selectedRule?.name} - - {props.selectedRule?.catagory} - -
-
- - {props.selectedRule?.description} - -
- -
-
- ); -}; - -SelectedRuleView.displayName = 'SelectedRuleView'; -SelectedRuleView.defaultProps = {}; - -export default React.memo(SelectedRuleView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/index.ts deleted file mode 100644 index f30273634..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/SelectedRule/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SelectedRule from './SelectedRule'; - -export default SelectedRule; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/index.ts deleted file mode 100644 index 7d0131933..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/RuleConfiguration/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import RuleConfiguration from './RuleConfiguration'; - -export default RuleConfiguration; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.module.scss deleted file mode 100644 index 949465021..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.module.scss +++ /dev/null @@ -1,99 +0,0 @@ -.header { - display: flex; - width: 100%; - padding: 18px 26px 0; - - .innerHeader { - display: flex; - flex-direction: column; - width: 100%; - - .titleContainer { - display: flex; - align-items: center; - width: fit-content; - - &__text { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - } - - &__text:not(:last-child) { - margin-right: 10px; - } - } - - .libraryInformation { - display: flex; - align-items: center; - margin: 30px 0 21px; - - &__logo { - width: 45px; - height: 41px; - margin-right: 18px; - } - - &__name { - font-size: 4rem; - font-weight: 560; - color: #4b4a65; - } - } - - .searchFiltersContainer { - display: flex; - align-items: center; - justify-content: center; - width: 100%; - - .searchRules { - display: flex; - align-items: center; - width: 100%; - padding: 7px 0 7px 23px; - margin-right: 12px; - background-color: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 10px; - - &__icon { - width: 15px; - height: 15px; - margin-right: 7px; - fill: #8b8b8b; - } - - &__input { - width: 100%; - height: 100%; - font-size: 1.7rem; - font-weight: 350; - color: #8b8b8b; - } - } - } - - .autoFixContainer { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - margin-left: 12px; - - &__checkbox { - width: 19px; - height: 19px; - color: #4b4a65; - } - - &__text { - margin-top: 12px; - font-size: 1.7rem; - font-weight: 500; - color: #4b4a65; - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.tsx deleted file mode 100644 index be7fd4be0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; - -import HeaderView from './Header.view'; - -interface IProps { - readonly rulesObject: { [key: string]: string } | Record>; - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly selectedCatagoryIndex: number | null; - readonly isCatagoryClicked: boolean; - readonly onSelectCatagoryButton: () => void; - readonly onSelectedCatagory: (index: number) => void; -} - -const Header: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -Header.displayName = 'Header'; -Header.defaultProps = {}; - -export default React.memo(Header); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.view.tsx deleted file mode 100644 index 2d445ee5f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/Header.view.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React from 'react'; - -// import { Trans, useTranslation } from 'react-i18next'; -import VSvg from '@/ui/VSvg'; -import SelectFromOptions from '@/ui/SelectFromOptions'; -import { ILibrary } from '@/interfaces/library'; - -import tempLogo from '../../../../../../../../../../../assets/images/brandLogo.png'; - -import classes from './Header.module.scss'; - -interface IProps { - readonly rulesObject: { [key: string]: string } | Record>; - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly selectedCatagoryIndex: number | null; - readonly isCatagoryClicked: boolean; - readonly onSelectCatagoryButton: () => void; - readonly onSelectedCatagory: (index: number) => void; -} - -const HeaderView: React.FC = (props: React.PropsWithChildren) => { - const rulesCatagories = Object.keys(props.rulesObject); - // const { t } = useTranslation(); - - return ( -
-
-
- {props.policyLabelInput} - Rule Creation -
-
- temp logo - - {props.selectedLibrary?.title} - -
- -
-
- - -
- -
- - Autofix -
-
-
-
- ); -}; - -HeaderView.displayName = 'HeaderView'; -HeaderView.defaultProps = {}; - -export default React.memo(HeaderView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/index.ts deleted file mode 100644 index a9ce1058c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/Header/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Header from './Header'; - -export default Header; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.module.scss deleted file mode 100644 index ea915790e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.module.scss +++ /dev/null @@ -1,42 +0,0 @@ -.rule { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - border-color: transparent; - border-style: solid; - border-width: 2px; - - &__name { - width: 170px; - margin: 0 5px 0 20px; - font-size: 1.7rem; - font-weight: 560; - color: #4b4a65; - } - - &__description { - width: 230px; - margin: 4.5px 0; - font-size: 1.7rem; - font-weight: 560; - color: #4b4a65; - } - - &__catagory { - font-size: 1.7rem; - font-weight: 460; - color: #4b4a65; - } - - .addRuleButton { - display: flex; - margin-right: 20px; - - &__icon { - width: 27px; - height: 27px; - fill: #70839e; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.tsx deleted file mode 100644 index 07af38c97..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import React from 'react'; -import { IRule } from '@/interfaces/rule'; - -import RuleView from './Rule.view'; - -interface IProps { - readonly id: string; - readonly index: number; - readonly ruleName: string; - readonly ruleDescription: string; - readonly ruleCatagory: string; - readonly selectedRule: IRule | null; - readonly onSelectedRule: (rule: IRule) => void; -} - -const Rule: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -Rule.displayName = 'Rule'; -Rule.defaultProps = {}; - -export default React.memo(Rule); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.view.tsx deleted file mode 100644 index f64226e2a..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/Rule.view.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; - -import { IRule } from '@/interfaces/rule'; -import classes from './Rule.module.scss'; - -interface IProps { - readonly id: string; - readonly index: number; - readonly ruleName: string; - readonly ruleDescription: string; - readonly ruleCatagory: string; - readonly selectedRule: IRule | null; - readonly onSelectedRule: (rule: IRule) => void; -} - -const RuleView: React.FC = (props: React.PropsWithChildren) => { - const isRuleIndexEven = props.index % 2 === 0; - - return ( -
- {props.ruleName} - {props.ruleDescription} - {props.ruleCatagory} - -
- ); -}; - -RuleView.displayName = 'RuleView'; -RuleView.defaultProps = {}; - -export default React.memo(RuleView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/index.ts deleted file mode 100644 index a2ed56abb..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/Rule/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Rule from './Rule'; - -export default Rule; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.module.scss deleted file mode 100644 index 3f2ee1678..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.module.scss +++ /dev/null @@ -1,7 +0,0 @@ -.rulesList { - display: flex; - flex-direction: column; - width: 100%; - margin-top: 21px; - border-top: 2px solid #e7e7e7; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.tsx deleted file mode 100644 index 2a9d5659d..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react'; - -import { ILibrary } from '@/interfaces/library'; -import { IRule } from '@/interfaces/rule'; - -import RulesListView from './RulesList.view'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - readonly selectedRule: IRule | null; - readonly selectedCatagoryIndex: number | null; - readonly onSelectedRule: (rule: IRule) => void; -} - -const RulesList: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -RulesList.displayName = 'RulesList'; -RulesList.defaultProps = {}; - -export default React.memo(RulesList); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.view.tsx deleted file mode 100644 index 92aaab9f0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/RulesList.view.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import uniqid from 'uniqid'; - -import { IRule } from '@/interfaces/rule'; -import { librariesList } from '@/data/librariesList'; -import { ILibrary } from '@/interfaces/library'; -import classes from './RulesList.module.scss'; - -import Rule from './Rule'; - -interface IProps { - readonly selectedLibrary: ILibrary | null; - readonly selectedRule: IRule | null; - readonly selectedCatagoryIndex: number | null; - readonly onSelectedRule: (rule: IRule) => void; -} - -const RulesListView: React.FC = (props: React.PropsWithChildren) => { - const selectedLibraryName = props.selectedLibrary!.title; - - const rulesObject = librariesList[selectedLibraryName as keyof typeof librariesList].rulesList; - - return ( -
- {Object.keys(rulesObject).map((ruleCatagory, outerIndex) => { - return Object.keys(rulesObject[ruleCatagory as keyof typeof rulesObject]).map( - (rule, innerIndex) => { - return ( - - ); - }, - ); - })} -
- ); -}; - -RulesListView.displayName = 'RulesListView'; -RulesListView.defaultProps = {}; - -export default React.memo(RulesListView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/index.ts deleted file mode 100644 index 494fb0c1c..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/RulesList/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import RulesList from './RulesList'; - -export default RulesList; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.module.scss deleted file mode 100644 index 6b0e87550..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.module.scss +++ /dev/null @@ -1,13 +0,0 @@ -.leftSideContainer { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 100%; - max-width: 45%; - height: 100%; - margin-right: 21px; - background-color: #fafafa; - border: 2px solid #e7e7e7; - border-radius: 5px; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.tsx deleted file mode 100644 index 74f706d60..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useState } from 'react'; - -import { IRule } from '@/interfaces/rule'; -import { ILibrary } from '@/interfaces/library'; - -import SelectRulesView from './SelectRules.view'; - -interface IProps { - readonly rulesObject: { [key: string]: string } | Record>; - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly onSelectedRule: (rule: IRule) => void; -} - -const SelectRules: React.FC = (props: React.PropsWithChildren) => { - const [selectedCatagoryIndexState, setSelectedCatagoryIndexState] = useState(null); - const [isCatagoryClickedState, setIsCatagoryClickedState] = useState(false); - - const onSelectCatagoryButton = () => { - setIsCatagoryClickedState(() => !isCatagoryClickedState); - }; - - const onSelectedCatagory = (index: number) => { - setSelectedCatagoryIndexState(() => index); - setIsCatagoryClickedState(() => false); - }; - - return ( - - ); -}; - -SelectRules.displayName = 'SelectRules'; -SelectRules.defaultProps = {}; - -export default React.memo(SelectRules); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.view.tsx deleted file mode 100644 index 3a9f62e4b..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/SelectRules.view.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; - -import { IRule } from '@/interfaces/rule'; -import { ILibrary } from '@/interfaces/library'; - -import classes from './SelectRules.module.scss'; - -import Header from './Header'; -import RulesList from './RulesList'; - -interface IProps { - readonly rulesObject: { [key: string]: string } | Record>; - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly selectedCatagoryIndex: number | null; - readonly isCatagoryClicked: boolean; - readonly selectedRule: IRule | null; - readonly selectedRules: IRule[]; - readonly onSelectedRule: (rule: IRule) => void; - readonly onSelectCatagoryButton: () => void; - readonly onSelectedCatagory: (index: number) => void; -} - -const SelectRulesView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
- -
- ); -}; - -SelectRulesView.displayName = 'SelectRulesView'; -SelectRulesView.defaultProps = {}; - -export default React.memo(SelectRulesView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/index.ts deleted file mode 100644 index ac76f6ef0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectRules/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SelectRules from './SelectRules'; - -export default SelectRules; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.module.scss deleted file mode 100644 index b88e61bd3..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.module.scss +++ /dev/null @@ -1,67 +0,0 @@ -.selectedRule { - display: flex; - flex-direction: column; - width: 100%; - margin: 0 16px 7px; - - .innerSelectedrule { - display: flex; - align-items: center; - justify-content: space-between; - - .leftSideContainer { - display: flex; - flex-direction: column; - - &__name { - font-size: 1.7rem; - font-weight: 560; - color: rgb(75 74 101 / 100%); - } - - &__catagory { - margin-top: 10px; - font-size: 1.7rem; - font-weight: 460; - color: rgb(75 74 101 / 100%); - } - } - - .middleSideContainer { - display: flex; - flex-direction: column; - - &__text { - font-size: 1.7rem; - font-weight: 350; - color: rgb(75 74 101 / 100%); - } - } - - .rightSideContainer { - display: flex; - flex-direction: column; - align-items: center; - - &__removeRule { - width: 25px; - height: 25px; - fill: transparent; - stroke: #7084a3; - } - - &__editRule { - width: 25px; - height: 25px; - margin-top: 8px; - fill: #2355a0; - } - } - } - - &__divider { - width: 100%; - margin-top: 6px; - border: 1px solid rgb(231 231 231 / 100%); - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.tsx deleted file mode 100644 index 8bb7f23c6..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import { IRule } from '@/interfaces/rule'; - -import SelectedRuleView from './SelectedRule.view'; - -interface IProps { - readonly selectedRule: IRule | null; - readonly ruleName: string; - readonly ruleCatagory: string; - readonly ruleAlertType: string | undefined; - readonly onRemoveRule: () => void; - readonly onEditSelectedRule: (rule: IRule) => void; -} - -const SelectedRule: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -SelectedRule.displayName = 'SelectedRule'; -SelectedRule.defaultProps = {}; - -export default React.memo(SelectedRule); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.view.tsx deleted file mode 100644 index 992544ea9..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/SelectedRule.view.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; -// import { Trans, useTranslation } from 'react-i18next'; -import { IRule } from '@/interfaces/rule'; - -import classes from './SelectedRule.module.scss'; - -interface IProps { - readonly selectedRule: IRule | null; - readonly ruleName: string; - readonly ruleCatagory: string; - readonly ruleAlertType: string | undefined; - readonly onRemoveRule: () => void; - readonly onEditSelectedRule: (rule: IRule) => void; -} - -const SelectedRuleView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
-
- {props.ruleName} - {props.ruleCatagory} -
-
- {props.ruleAlertType} - //todo: validate if there is code cinfig - {1 > 0 && + Code Config.} - + Rule Config. -
-
- - -
-
-
-
- ); -}; - -SelectedRuleView.displayName = 'SelectedRuleView'; -SelectedRuleView.defaultProps = {}; - -export default React.memo(SelectedRuleView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/index.ts deleted file mode 100644 index f30273634..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRule/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SelectedRule from './SelectedRule'; - -export default SelectedRule; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.module.scss deleted file mode 100644 index d6b4d1676..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.module.scss +++ /dev/null @@ -1,59 +0,0 @@ -.ruleConfiguration { - display: flex; - flex-direction: column; - align-items: center; - width: 50%; - height: 100%; - margin-left: 22px; - background-color: #fafafa; - border: 2px solid #e7e7e7; - border-style: solid; - border-width: 2px; - border-radius: 5px; - - .disabled { - position: absolute; - z-index: +1; - width: 49%; - height: 100%; - background-color: rgb(231 231 231 / 100%); - opacity: 0.3; - } - - .innerRuleConfiguration { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: 100%; - - &__title { - padding: 14px 0; - font-size: 2.4rem; - font-weight: 560; - color: rgb(32 36 40 / 100%); - } - - .headerDivider { - width: 100%; - border: 1px solid rgb(231 231 231 / 100%); - } - - .selectedRules { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - height: 655px; - padding: 7px 16px 0; - overflow-x: hidden; - overflow-y: auto; - } - } -} - -@media (max-width: 1600px) { - .selectedRules { - height: 520px !important; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.tsx deleted file mode 100644 index a2ff7bd9e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react'; -import axios, { AxiosError } from 'axios'; -import { Dispatch } from 'redux'; -import { connect } from 'react-redux'; -import { useParams } from 'react-router-dom'; - -import { IParams } from '@/interfaces/params'; -import { IGroup } from '@/interfaces/group'; -import { IRule } from '@/interfaces/rule'; -import { IRemoveRule } from '@/interfaces/removeRule'; - -import * as fromApp from '@/store/app'; -import * as groupsActions from '@/store/actions/groups'; - -import SelectedRulesView from './SelectedRules.view'; - -interface IPropsFromState { - readonly groups: IGroup[]; -} - -interface IPropsFromDispatch { - removeRule: (grouId: string, policyId: string, ruleId: string) => groupsActions.RemoveRule; -} - -interface IProps extends IPropsFromState, IPropsFromDispatch { - readonly selectedRule: IRule | null; - readonly onEditSelectedRule: (rule: IRule) => void; -} - -const SelectedRules: React.FC = (props: React.PropsWithChildren) => { - const { groupId, policyId, ruleId } = useParams(); - - const onRemoveRule = () => { - axios - .post(`${process.env.REACT_APP_BACKEND_URL}/remove-rule`, { - rule: props.selectedRule?.name, - }) - .then(() => { - props.removeRule(groupId!, policyId!, ruleId!); - }) - .catch((err: AxiosError) => { - alert(err.response?.data); - }); - }; - - const selectedGroup = props.groups.filter((group) => group.id === groupId)[0]; - const selectedPolicy = selectedGroup!.policies.filter((policy) => policy.id === policyId)[0]; - const selectedRules = selectedPolicy!.rules; - - return ( - - ); -}; - -SelectedRules.displayName = 'SelectedRules'; -SelectedRules.defaultProps = {}; - -const mapStateToProps = (state: fromApp.AppState) => { - return { - groups: state.groups.groups, - }; -}; - -const mapDispatchToProps = (dispatch: Dispatch): IPropsFromDispatch => { - return { - removeRule: (groupId: string, policyId: string, ruleId: string): groupsActions.RemoveRule => - dispatch(groupsActions.removeRule(groupId, policyId, ruleId)), - }; -}; - -export default connect(mapStateToProps, mapDispatchToProps)(React.memo(SelectedRules)); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.view.tsx deleted file mode 100644 index 68c6dac08..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/SelectedRules.view.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; - -import { IRule } from '@/interfaces/rule'; - -import classes from './SelectedRules.module.scss'; -import SelectedRule from './SelectedRule/SelectedRule'; - -interface IProps { - readonly selectedRule: IRule | null; - readonly selectedRules: Record | null; - readonly onRemoveRule: () => void; - readonly onEditSelectedRule: (rule: IRule) => void; -} - -const SelectedRulesView: React.FC = (props: React.PropsWithChildren) => { - return ( -
- -
- Selected Rules -
-
- {props.selectedRules && - Object.values(props.selectedRules).map((rule, index) => { - return ( - - ); - })} -
-
-
- ); -}; - -SelectedRulesView.displayName = 'SelectedRulesView'; -SelectedRulesView.defaultProps = {}; - -export default React.memo(SelectedRulesView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/index.ts deleted file mode 100644 index 45a4b8e3f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/SelectedRules/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SelectedRules from './SelectedRules'; - -export default SelectedRules; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/index.ts deleted file mode 100644 index 948cf0b76..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Manually/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Manually from './Manually'; - -export default Manually; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.module.scss deleted file mode 100644 index 023e4e994..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.module.scss +++ /dev/null @@ -1,97 +0,0 @@ -.options { - display: flex; - flex-direction: column; - justify-content: space-between; - width: 100%; - height: 100%; - padding: 18px 20px; - margin-top: 15px; - background-color: #fefefe; - border: 2px solid #e7e7e7; - border-radius: 10px; - - .titleContainer { - display: flex; - align-items: center; - - &__text { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - white-space: nowrap; - } - } - - .creationOptionsContainer { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - - &__title { - position: relative; - bottom: 40px; - font-size: 1.9rem; - font-weight: 650; - color: #4b4a65; - } - - .innerOptions { - display: flex; - align-items: center; - - .option { - display: flex; - flex-direction: column; - align-items: center; - padding: 12px 31px 73px; - text-decoration: none; - background-color: #f8f8f8; - border: 1.5px solid #e7e7e7; - border-radius: 7px; - - &__description { - width: 140px; - font-size: 1.6rem; - font-weight: 460; - color: #4b4a65; - text-align: center; - } - - &__manuallyIcon { - width: 160px; - height: 90px; - margin-top: 22px; - } - - &__recommendedIcon { - width: 132px; - height: 93px; - margin-top: 18px; - } - - &__fileFormatIcon { - width: 70px; - height: 76px; - margin-top: 35px; - } - } - - .option:not(:last-child) { - margin-right: 74px; - } - } - } - - .doThisLaterButtonContainer { - display: flex; - justify-content: flex-end; - width: 100%; - - &__button { - font-size: 1.9rem; - font-weight: 460; - color: #4b4a65; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.tsx deleted file mode 100644 index 5f42362f1..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; - -import OptionsView from './Options.view'; - -interface IProps { - readonly policyLabelInput: string | null; -} - -const Options: React.FC = (props: React.PropsWithChildren) => { - return ; -}; - -Options.displayName = 'Options'; -Options.defaultProps = {}; - -export default React.memo(Options); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.view.tsx deleted file mode 100644 index 9f404e531..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/Options.view.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; -// import { Trans, useTranslation } from 'react-i18next'; - -import VSvg from '@/ui/VSvg'; -import classes from './Options.module.scss'; - -interface IProps { - readonly policyLabelInput: string | null; -} - -const OptionsView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
-

{props.policyLabelInput}

-   -

- Rule Creation

-
-
- I want to... -
- - - Manually create and configure rules - - - - - - Use the library`s recommended rule policy - - - - - - Input rules in a file format(yaml, jsfile, json) - - - -
-
-
- -
-
- ); -}; - -OptionsView.displayName = 'OptionsView'; -OptionsView.defaultProps = {}; - -export default React.memo(OptionsView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/index.ts deleted file mode 100644 index b6cba4fa6..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Options/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Options from './Options'; - -export default Options; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.module.scss deleted file mode 100644 index d43f7d899..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.module.scss +++ /dev/null @@ -1,3 +0,0 @@ -.recommended { - display: flex; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.tsx deleted file mode 100644 index 7d49023d0..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import RecommendedView from './Recommended.view'; - -interface IProps {} - -const Recommended: React.FC = () => { - return ; -}; - -Recommended.displayName = 'Recommended'; -Recommended.defaultProps = {}; - -export default React.memo(Recommended); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.view.tsx deleted file mode 100644 index 3d41c9b78..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/Recommended.view.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; - -import classes from './Recommended.module.scss'; - -interface IProps {} - -const RecommendedView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
-

Recommended

-
- ); -}; - -RecommendedView.displayName = 'RecommendedView'; -RecommendedView.defaultProps = {}; - -export default React.memo(RecommendedView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/index.ts deleted file mode 100644 index 33acc18dd..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/Recommended/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Recommended from './Recommended'; - -export default Recommended; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.module.scss deleted file mode 100644 index 868d3ad27..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.module.scss +++ /dev/null @@ -1,8 +0,0 @@ -.ruleCration { - display: flex; - flex-direction: column; - justify-content: center; - width: 100%; - height: 100%; - background-color: #f2f2f2; -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.tsx deleted file mode 100644 index 253ce1411..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import React, { useState } from 'react'; - -import { ILibrary } from '@/interfaces/library'; -import RuleCreationView from './RuleCreation.view'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; -} - -const RuleCreation: React.FC = (props: React.PropsWithChildren) => { - const [selectedFileFormatIndexState, setSelectedFileFormatIndexState] = useState(0); - const [isFileFormatClickedState, setIsFileFormatClickedState] = useState(false); - const [isEditFileFormatState, setIsEditFileFormatState] = useState(false); - - const [policyCodeBasedConfigurationsInputState, setPolicyCodeBasedConfigurationsInputState] = - useState(''); - - const onEditFileFormatButton = () => { - setIsEditFileFormatState(() => !isEditFileFormatState); - }; - - const onFileFormatButton = () => { - setIsFileFormatClickedState(() => !isFileFormatClickedState); - }; - - const onSelectedFileFormat = (index: number) => { - setSelectedFileFormatIndexState(() => index); - setIsFileFormatClickedState(() => false); - }; - - const onPolicyCodeBasedConfigurationsInputChanged = (input: string) => - setPolicyCodeBasedConfigurationsInputState(() => input); - - return ( - - ); -}; - -RuleCreation.displayName = 'RuleCreation'; -RuleCreation.defaultProps = {}; - -export default React.memo(RuleCreation); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.view.tsx deleted file mode 100644 index 97a2ee15f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/RuleCreation.view.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import React, { Suspense } from 'react'; -import { Redirect, Route, Switch, useLocation } from 'react-router-dom'; - -import { ILibrary } from '@/interfaces/library'; - -import CodeBasedConfigurations from '@/ui/CodeBasedConfigurationsInput'; -import NavigateBackButton from '@/ui/NavigateBackButton'; -import classes from './RuleCreation.module.scss'; -import Options from './Options'; -import Recommended from './Recommended'; -import Manually from './Manually'; - -interface IProps { - readonly policyLabelInput: string | null; - readonly selectedLibrary: ILibrary | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly policyCodeBasedConfigurationsInputState: string; - readonly onEditFileFormatButton: () => void; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onPolicyCodeBasedConfigurationsInputChanged: (input: string) => void; -} - -const RuleCreationView: React.FC = (props: React.PropsWithChildren) => { - const route = useLocation(); - - let currentPage; - - if (route.pathname === '/groupCenter/group/Policy/ruleOnboarding') { - currentPage = 'options'; - } else if (route.pathname.includes('/manual')) { - currentPage = 'manually'; - } - - return ( -
- - - {currentPage === 'options' && } - - - - - - - - - - - - - - - -
- ); -}; - -RuleCreationView.displayName = 'RuleCreationView'; -RuleCreationView.defaultProps = {}; - -export default React.memo(RuleCreationView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/index.ts deleted file mode 100644 index 0f6f821c3..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/RuleCreation/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import RuleCreation from './RuleCreation'; - -export default RuleCreation; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/index.ts deleted file mode 100644 index fae0bec5a..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/PolicyConfiguration/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import PolicyConfiguration from './PolicyConfiguration'; - -export default PolicyConfiguration; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/index.ts deleted file mode 100644 index e82d5b985..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/Policies/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Policies from './Policies'; - -export default Policies; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/index.ts deleted file mode 100644 index 549170a97..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/GroupInfo/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import GroupInfo from './GroupInfo'; - -export default GroupInfo; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupDetails/index.ts deleted file mode 100644 index a0910ec35..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupDetails/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import GroupDetails from './GroupDetails'; - -export default GroupDetails; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.module.scss deleted file mode 100644 index 583741731..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.module.scss +++ /dev/null @@ -1,80 +0,0 @@ -.group { - display: flex; - padding: 38px 0; - - .innerGroup { - display: flex; - justify-content: space-between; - width: 100%; - height: min-content; - padding: 0 24px; - - .leftSideContainer { - display: flex; - flex-direction: column; - - &__title { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - } - - .uniqueIdContainer { - display: flex; - align-items: center; - - &__text { - margin: 12px 4px 12px 0; - font-size: 1.6rem; - font-weight: 460; - color: #4b4a65; - } - - &__icon { - width: 21px; - height: 22px; - } - } - - .policiesContainer { - display: flex; - align-items: center; - - &__text { - margin-right: 4px; - font-size: 1.6rem; - font-weight: 460; - color: #4b4a65; - } - - &__policy { - width: 27px; - height: 27px; - background-color: #d9d9d9; - border-radius: 5px; - } - - &__policy:not(:last-child) { - margin-right: 4px; - } - } - } - - .getInfoButtonContainer { - display: flex; - - .getInfoButton { - display: flex; - align-items: center; - justify-content: center; - - &__icon { - width: 11px; - height: 19px; - fill: transparent; - stroke: #bbb8ca; - } - } - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.tsx deleted file mode 100644 index 084508835..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; - -import { IGroup } from '@/interfaces/group'; - -import GroupView from './Group.view'; - -interface IProps extends IGroup { - readonly key: number; - readonly selectedGroup: IGroup | null; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const Group: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -Group.displayName = 'Group'; -Group.defaultProps = {}; - -export default React.memo(Group); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.view.tsx deleted file mode 100644 index 518c1145f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/Group.view.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react'; -import { Link } from 'react-router-dom'; -import VSvg from '@/ui/VSvg'; - -import { IGroup } from '@/interfaces/group'; - -import classes from './Group.module.scss'; - -interface IProps extends IGroup { - readonly key: number; - readonly selectedGroup: IGroup | null; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const GroupView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
-
-

{props.label}

-
- Unique ID: - {props.id} - -
-
- Policies: - {props.policies.map((policy, index) => { - if (index < 4) { - return ( - - {policy.id} - - ); - } - - return; - })} -
-
- - - -
-
- ); -}; - -GroupView.displayName = 'GroupView'; -GroupView.defaultProps = {}; - -export default React.memo(GroupView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/index.ts deleted file mode 100644 index 648248b04..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/Group/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Group from './Group'; - -export default Group; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.module.scss deleted file mode 100644 index 8cf2679df..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.module.scss +++ /dev/null @@ -1,16 +0,0 @@ -.groupsList { - display: flex; - flex-direction: column; - height: 100%; - overflow-y: auto; - - &__dividerLine { - width: 80%; - margin: 0 auto !important; - border: 2px solid #e7e7e7; - } - - &__dividerLine:not(:last-child) { - margin-bottom: 38px; - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.tsx deleted file mode 100644 index 12ca3c2cf..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; - -import { IGroup } from '@/interfaces/group'; - -import GroupsListView from './GroupsList.view'; - -interface IProps { - readonly groups: IGroup[]; - readonly selectedGroup: IGroup | null; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const GroupsList: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -GroupsList.displayName = 'GroupsList'; -GroupsList.defaultProps = {}; - -export default GroupsList; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.view.tsx deleted file mode 100644 index a26447b71..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/GroupsList.view.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; -import { IGroup } from '@/interfaces/group'; - -import Group from './Group'; -import classes from './GroupsList.module.scss'; - -interface IProps { - readonly groupsList: IGroup[] | []; - readonly selectedGroup: IGroup | null; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const GroupsListView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
- {props.groupsList.map((group, index) => ( - <> - -
- - ))} -
- ); -}; - -GroupsListView.displayName = 'GroupsListView'; -GroupsListView.defaultProps = {}; - -export default React.memo(GroupsListView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/index.ts deleted file mode 100644 index 64377ff1f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsList/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import GroupsList from './GroupsList'; - -export default GroupsList; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.module.scss deleted file mode 100644 index 2bc3325e2..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.module.scss +++ /dev/null @@ -1,60 +0,0 @@ -@use 'sass:map'; - -@import '../../../../styles/variables.scss'; - -.sidebar { - display: flex; - justify-content: center; - - .innerSidebar { - display: flex; - flex-direction: column; - max-width: fit-content; - - .searchContainer { - display: flex; - height: min-content; - margin: 27px 27px 0 28px; - border-radius: 10px; - - &__input { - padding: 8px 0 8px 10px; - margin-right: 8px; - font-size: 1.7rem; - font-weight: 350; - color: #8b8b8b; - background-color: #f2f2f2; - border: 2px solid #e7e7e7; - border-radius: 10px; - } - - .buttonContainer { - display: flex; - align-items: center; - padding: 8px 9px; - background-color: #25a023; - border: 1px solid #2f7d2d; - border-radius: 10px; - - &__text { - margin-right: 5px; - font-size: 1.6rem; - font-weight: 560; - color: #f2f2f2; - } - - &__icon { - width: 15px; - height: 15px; - fill: #f2f2f2; - } - } - } - - .dividerLine { - width: 100%; - margin-top: 27px; - border: 2px solid #e7e7e7; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.tsx deleted file mode 100644 index d6ae6ea40..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React from 'react'; -import { connect } from 'react-redux'; -import { Dispatch } from 'redux'; -import axios, { AxiosError, AxiosResponse } from 'axios'; -import uniqid from 'uniqid'; - -import { IGroup } from '@/interfaces/group'; -import { IGroupId } from '@/interfaces/groupId'; -import { currentDate } from '@/utils/currentDate'; - -import * as fromApp from '@/store/app'; -import * as groupsActions from '@/store/actions/groups'; -import GroupsSidebarView from './GroupsSidebar.view'; - -interface IPropsFromState { - readonly groups: IGroup[]; -} - -interface IPropsFromDispatch { - addGroup: (group: IGroup) => groupsActions.AddGroup; -} - -interface IProps extends IPropsFromState, IPropsFromDispatch { - readonly selectedGroup: IGroup | null; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const GroupsSidebar: React.FC = (props: React.PropsWithChildren) => { - const onCreateNewGroup = () => { - axios - .post(`${process.env.REACT_APP_BACKEND_URL}/create`, {}) - .then((response: AxiosResponse) => { - props.addGroup({ - label: 'New Group', - createdAt: currentDate(), - id: response.data.id, - policies: [], - }); - }) - .catch((err: AxiosError) => { - alert(err.response?.data); - }); - - props.addGroup({ label: 'New Group', createdAt: currentDate(), id: uniqid(), policies: [] }); - }; - - return ( - - ); -}; - -GroupsSidebar.displayName = 'GroupsSidebar'; -GroupsSidebar.defaultProps = {}; - -const mapStateToProps = (state: fromApp.AppState) => { - return { - groups: state.groups.groups, - }; -}; - -const mapDispatchToProps = (dispatch: Dispatch): IPropsFromDispatch => { - return { - addGroup: (group: IGroup): groupsActions.AddGroup => dispatch(groupsActions.addGroup(group)), - }; -}; - -export default connect(mapStateToProps, mapDispatchToProps)(React.memo(GroupsSidebar)); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.view.tsx deleted file mode 100644 index cda382cf4..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/GroupsSidebar.view.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; - -import { IGroup } from '@/interfaces/group'; - -import VSvg from '@/ui/VSvg'; -import NoGroups from './NoGroups'; -import GroupsList from './GroupsList'; -import classes from './GroupsSidebar.module.scss'; - -interface IProps { - readonly groups: IGroup[]; - readonly selectedGroup: IGroup | null; - readonly onCreateNewGroup: () => void; - readonly onSelectedGroup: (group: IGroup) => void; -} - -const GroupsSidebarView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
-
- - -
-
- {props.groups.length === 0 && } - {props.groups.length > 0 && ( - - )} -
-
- ); -}; - -GroupsSidebarView.displayName = 'GroupsSidebarView'; -GroupsSidebarView.defaultProps = {}; - -export default React.memo(GroupsSidebarView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.module.scss b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.module.scss deleted file mode 100644 index f2de7d04f..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.module.scss +++ /dev/null @@ -1,25 +0,0 @@ -.createGroup { - display: flex; - justify-content: center; - - .innerCreateGroup { - display: flex; - flex-direction: column; - align-items: center; - margin-top: 60px; - - &__title { - font-size: 2.4rem; - font-weight: 560; - color: #202428; - } - - .createGroupIcon { - width: 208px; - height: 113px; - margin-top: 21px; - background: #e7e7e7; - border-radius: 5px; - } - } -} diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.tsx deleted file mode 100644 index 485f59680..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import NoGroupsView from './NoGroups.view'; - -interface IProps {} - -const NoGroups: React.FC = () => { - return ; -}; - -NoGroups.displayName = 'NoGroups'; -NoGroups.defaultProps = {}; - -export default React.memo(NoGroups); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.view.tsx b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.view.tsx deleted file mode 100644 index 3b1ef518e..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/NoGroups.view.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; -import VSvg from '@/ui/VSvg'; - -import classes from './NoGroups.module.scss'; - -interface IProps {} - -const NoGroupsView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
-
-

Create your first Group

- -
-
- ); -}; - -NoGroupsView.displayName = 'NoGroupsView'; -NoGroupsView.defaultProps = {}; - -export default React.memo(NoGroupsView); diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/index.ts deleted file mode 100644 index c438bf8ff..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/NoGroups/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import NoGroups from './NoGroups'; - -export default NoGroups; diff --git a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/index.ts b/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/index.ts deleted file mode 100644 index 2fdd6f9ff..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/GroupsSidebar/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import GroupsSidebar from './GroupsSidebar'; - -export default GroupsSidebar; diff --git a/apps/frontend/src/components/containers/GroupCenter/index.ts b/apps/frontend/src/components/containers/GroupCenter/index.ts deleted file mode 100644 index 377d4f804..000000000 --- a/apps/frontend/src/components/containers/GroupCenter/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import GroupCenter from './GroupCenter'; - -export default GroupCenter; diff --git a/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.module.scss b/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.module.scss deleted file mode 100644 index 7abbdd876..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.module.scss +++ /dev/null @@ -1,65 +0,0 @@ -.sidebar { - display: flex; - width: 18%; - height: 100%; - background-color: rgb(254 254 254 / 100%); - - .innerSidebar { - display: flex; - flex-direction: column; - width: 100%; - - .headerContainer { - display: flex; - flex-direction: column; - align-items: center; - width: 100%; - - &__title { - padding: 21px 0; - font-size: 2.4rem; - font-weight: 560; - color: rgb(75 74 101 / 100%); - } - - &__divider { - width: 100%; - border: 2px solid rgb(231 231 231 / 100%); - } - } - - .userDetalis { - display: flex; - justify-content: center; - margin-top: 30px; - - .usernameContainer { - display: flex; - align-items: center; - - .userProfilePicture { - display: flex; - margin-right: 9px; - - &__icon { - width: 19px; - height: 19px; - } - } - - &__title { - margin-right: 5px; - font-size: 2rem; - font-weight: 560; - color: rgb(139 139 139 / 100%); - } - - &__username { - font-size: 2rem; - font-weight: 460; - color: rgb(139 139 139 / 100%); - } - } - } - } -} diff --git a/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.tsx b/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.tsx deleted file mode 100644 index a291dcd4b..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import SidebarView from './Sidebar.view'; - -interface IProps {} - -const Sidebar: React.FC = () => { - return ; -}; - -Sidebar.displayName = 'Sidebar'; -Sidebar.defaultProps = {}; - -export default React.memo(Sidebar); diff --git a/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.view.tsx b/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.view.tsx deleted file mode 100644 index 02b22b091..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/Sidebar/Sidebar.view.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; -// import { Trans, useTranslation } from 'react-i18next'; - -import classes from './Sidebar.module.scss'; - -interface IProps {} - -const SidebarView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
-
-
-

Settings

-
-
-
-
-
- -
- Username: - Amir -
-
-
-
- ); -}; - -SidebarView.displayName = 'SidebarView'; -SidebarView.defaultProps = {}; - -export default React.memo(SidebarView); diff --git a/apps/frontend/src/components/containers/TokenManagement/Sidebar/index.ts b/apps/frontend/src/components/containers/TokenManagement/Sidebar/index.ts deleted file mode 100644 index 006af70c9..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/Sidebar/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Sidebar from './Sidebar'; - -export default Sidebar; diff --git a/apps/frontend/src/components/containers/TokenManagement/TokenManagement.module.scss b/apps/frontend/src/components/containers/TokenManagement/TokenManagement.module.scss deleted file mode 100644 index 926800adc..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokenManagement.module.scss +++ /dev/null @@ -1,13 +0,0 @@ -.tokenManagement { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - height: 100%; - - .container { - display: flex; - flex-direction: column; - height: 100%; - } -} diff --git a/apps/frontend/src/components/containers/TokenManagement/TokenManagement.tsx b/apps/frontend/src/components/containers/TokenManagement/TokenManagement.tsx deleted file mode 100644 index 837ccd95c..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokenManagement.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import TokenManagementView from './TokenManagement.view'; - -interface IProps {} - -const TokenManagement: React.FC = () => { - return ; -}; - -TokenManagement.displayName = 'TokenManagement'; -TokenManagement.defaultProps = {}; - -export default React.memo(TokenManagement); diff --git a/apps/frontend/src/components/containers/TokenManagement/TokenManagement.view.tsx b/apps/frontend/src/components/containers/TokenManagement/TokenManagement.view.tsx deleted file mode 100644 index db5e839dc..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokenManagement.view.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import Sidebar from './Sidebar'; -// import { Trans, useTranslation } from 'react-i18next'; - -import classes from './TokenManagement.module.scss'; -import TokensDetails from './TokensDetails'; - -interface IProps {} - -const TokenManagementView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
- - -
- ); -}; - -TokenManagementView.displayName = 'TokenManagementView'; -TokenManagementView.defaultProps = {}; - -export default React.memo(TokenManagementView); diff --git a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.module.scss b/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.module.scss deleted file mode 100644 index a32444412..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.module.scss +++ /dev/null @@ -1,6 +0,0 @@ -.tokensDetalis { - display: flex; - width: 100%; - height: 100%; - background-color: rgb(242 242 242 / 100%); -} diff --git a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.tsx b/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.tsx deleted file mode 100644 index ca0538006..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import TokensDetailsView from './TokensDetails.view'; - -interface IProps {} - -const TokensDetails: React.FC = () => { - return ; -}; - -TokensDetails.displayName = 'TokensDetails'; -TokensDetails.defaultProps = {}; - -export default React.memo(TokensDetails); diff --git a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.view.tsx b/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.view.tsx deleted file mode 100644 index 2a4ddcb2c..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/TokensDetails.view.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; - -import classes from './TokensDetails.module.scss'; - -interface IProps {} - -const TokensDetailsView: React.FC = () => { - // const { t } = useTranslation(); - - return ( -
-
- Token Detalis -
-
- ); -}; - -TokensDetailsView.displayName = 'TokensDetailsView'; -TokensDetailsView.defaultProps = {}; - -export default React.memo(TokensDetailsView); diff --git a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/index.ts b/apps/frontend/src/components/containers/TokenManagement/TokensDetails/index.ts deleted file mode 100644 index 18fc4d1fc..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/TokensDetails/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TokensDetails from './TokensDetails'; - -export default TokensDetails; diff --git a/apps/frontend/src/components/containers/TokenManagement/index.ts b/apps/frontend/src/components/containers/TokenManagement/index.ts deleted file mode 100644 index ede31d0e9..000000000 --- a/apps/frontend/src/components/containers/TokenManagement/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import TokenManagement from './TokenManagement'; - -export default TokenManagement; diff --git a/apps/frontend/src/components/containers/UserSettings/UserSettings.module.scss b/apps/frontend/src/components/containers/UserSettings/UserSettings.module.scss deleted file mode 100644 index 00ed6f591..000000000 --- a/apps/frontend/src/components/containers/UserSettings/UserSettings.module.scss +++ /dev/null @@ -1,3 +0,0 @@ -.userSettings { - display: flex; -} diff --git a/apps/frontend/src/components/containers/UserSettings/UserSettings.tsx b/apps/frontend/src/components/containers/UserSettings/UserSettings.tsx deleted file mode 100644 index 86f426b2f..000000000 --- a/apps/frontend/src/components/containers/UserSettings/UserSettings.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import UserSettingsView from './UserSettings.view'; - -interface IProps {} - -const UserSettings: React.FC = () => { - return ; -}; - -UserSettings.displayName = 'UserSettings'; -UserSettings.defaultProps = {}; - -export default React.memo(UserSettings); diff --git a/apps/frontend/src/components/containers/UserSettings/UserSettings.view.tsx b/apps/frontend/src/components/containers/UserSettings/UserSettings.view.tsx deleted file mode 100644 index cefb3ee3d..000000000 --- a/apps/frontend/src/components/containers/UserSettings/UserSettings.view.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; - -import classes from './TokenManagement.module.scss'; - -interface IProps {} - -const UserSettingsView: React.FC = () => { - return ( -
-

user settings

-
- ); -}; - -UserSettingsView.displayName = 'UserSettingsView'; -UserSettingsView.defaultProps = {}; - -export default React.memo(UserSettingsView); diff --git a/apps/frontend/src/components/containers/UserSettings/index.ts b/apps/frontend/src/components/containers/UserSettings/index.ts deleted file mode 100644 index 48df754fd..000000000 --- a/apps/frontend/src/components/containers/UserSettings/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import UserSettings from './UserSettings'; - -export default UserSettings; diff --git a/apps/frontend/src/components/layout/Header/Header.tsx b/apps/frontend/src/components/layout/Header/Header.tsx index e03791760..2652dcdad 100644 --- a/apps/frontend/src/components/layout/Header/Header.tsx +++ b/apps/frontend/src/components/layout/Header/Header.tsx @@ -1,8 +1,7 @@ import React from 'react'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { connect } from 'react-redux'; -import { type PayloadAction } from '@reduxjs/toolkit'; -import type { AppDispatch } from '@/store/app'; import { authActions } from '@/store/reducers/auth'; import HeaderView from './Header.view'; @@ -14,7 +13,9 @@ interface IPropsFromDispatch { interface IProps extends IPropsFromDispatch {} const Header: React.FC = (props: React.PropsWithChildren) => { - const onExitButton = () => props.logout(); + const onExitButton = () => { + props.logout(); + }; return ; }; @@ -22,10 +23,4 @@ const Header: React.FC = (props: React.PropsWithChildren) => { Header.displayName = 'Header'; Header.defaultProps = {}; -const mapDispatchToProps = (dispatch: AppDispatch): IPropsFromDispatch => { - return { - logout: (): PayloadAction => dispatch(authActions.logout()), - }; -}; - -export default connect(null, mapDispatchToProps)(React.memo(Header)); +export default connect(null, { logout: authActions.logout })(React.memo(Header)); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.module.scss b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.module.scss deleted file mode 100644 index 3c19592a6..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -.fileFormat { - display: flex; - flex-direction: column; - justify-content: space-between; - width: 100%; - height: 100%; - margin-top: 15px; - overflow: auto; - background-color: #fefefe; - border-radius: 10px; -} diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.tsx b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.tsx deleted file mode 100644 index 53bac3da2..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; - -import FileFormatView from './FileFormat.view'; - -interface IProps { - readonly labelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly inputCode: string; - readonly onEditFileFormatButton: () => void; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onChangeInput: (input: string) => void; -} - -const FileFormat: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -FileFormat.displayName = 'FileFormat'; -FileFormat.defaultProps = {}; - -export default React.memo(FileFormat); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.view.tsx b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.view.tsx deleted file mode 100644 index 224e1f598..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/FileFormat.view.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; - -import classes from './FileFormat.module.scss'; -import Header from './Header'; -import InputCodeForm from './InputCodeForm'; - -interface IProps { - readonly labelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly inputCode: string; - readonly onEditFileFormatButton: () => void; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onChangeInput: (input: string) => void; -} - -const FileFormatView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
- -
- ); -}; - -FileFormatView.displayName = 'FileFormatView'; -FileFormatView.defaultProps = {}; - -export default React.memo(FileFormatView); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.module.scss b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.module.scss deleted file mode 100644 index 50fb4c46e..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.module.scss +++ /dev/null @@ -1,38 +0,0 @@ -.header { - display: flex; - align-items: center; - justify-content: space-between; - width: 100%; - height: fit-content; - padding: 4px 18px; - background-color: #e7e7e7; - border-top: 2px solid #bbb8ca; - border-right: 2px solid #bbb8ca; - border-left: 2px solid #bbb8ca; - border-radius: 10px 10px 0 0; - - .leftSideContainer { - display: flex; - align-items: center; - - &__text { - font-size: 1.7rem; - font-weight: 560; - color: #4b4a65; - } - } - - .rightSideContainer { - display: flex; - align-items: center; - - .editFileFormatButton { - &__icon { - width: 24px; - height: 24px; - margin-right: 16px; - fill: #33383e; - } - } - } -} diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.tsx b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.tsx deleted file mode 100644 index 5305c1183..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; - -import HeaderView from './Header.view'; - -interface IProps { - readonly labelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onEditFileFormatButton: () => void; -} - -const Header: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -Header.displayName = 'Header'; -Header.defaultProps = {}; - -export default React.memo(Header); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.view.tsx b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.view.tsx deleted file mode 100644 index 13b7b81a8..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/Header.view.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; -import VSvg from '@/ui/VSvg'; -import { fileFormats } from '@/data/fileFormts'; - -import SelectFromOptions from '@/ui/SelectFromOptions'; -import classes from './Header.module.scss'; - -interface IProps { - readonly labelInput: string | null; - readonly selectedFileFormatIndex: number; - readonly isFileFormatClicked: boolean; - readonly isEditFileFormat: boolean; - readonly onFileFormatButton: () => void; - readonly onSelectedFileFormat: (index: number) => void; - readonly onEditFileFormatButton: () => void; -} - -const HeaderView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
-
- {props.labelInput} -   - Rule Configuration -
-
- - - -
-
- ); -}; - -HeaderView.displayName = 'HeaderView'; -HeaderView.defaultProps = {}; - -export default React.memo(HeaderView); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/index.ts b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/index.ts deleted file mode 100644 index a9ce1058c..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/Header/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Header from './Header'; - -export default Header; diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.module.scss b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.module.scss deleted file mode 100644 index e6f5bf116..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.module.scss +++ /dev/null @@ -1,8 +0,0 @@ -.inputFormCode { - display: flex; - height: 100%; - overflow-y: auto; - background-color: #fefefe; - border: 2px solid #bbb8ca; - border-radius: 0 0 10px 10px; -} diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.tsx b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.tsx deleted file mode 100644 index 737a53172..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; - -import InputCodeFormView from './InputCodeForm.view'; - -interface IProps { - readonly selectedFileFormatIndex: number; - readonly isEditFileFormat: boolean; - readonly inputCode: string; - readonly onChangeInput: (input: string) => void; -} - -const InputCodeForm: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -InputCodeForm.displayName = 'InputCodeForm'; -InputCodeForm.defaultProps = {}; - -export default React.memo(InputCodeForm); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.view.tsx b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.view.tsx deleted file mode 100644 index 26b15b373..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/InputCodeForm.view.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; -import CodeEditor from '@uiw/react-textarea-code-editor'; -import { fileFormats } from '@/data/fileFormts'; - -import classes from './InputCodeForm.module.scss'; - -interface IProps { - readonly inputCode: string; - readonly selectedFileFormatIndex: number; - readonly isEditFileFormat: boolean; - readonly onChangeInput: (input: string) => void; -} - -const InputCodeFormView: React.FC = (props: React.PropsWithChildren) => { - return ( -
- 0 && props.isEditFileFormat ? '#202428' : '#999', - width: '100%', - height: '100%', - fontFamily: - 'ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace', - }} - onChange={(value) => props.onChangeInput(value.target.value)} - /> -
- ); -}; - -InputCodeFormView.displayName = 'InputCodeFormView'; -InputCodeFormView.defaultProps = {}; - -export default React.memo(InputCodeFormView); diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/index.ts b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/index.ts deleted file mode 100644 index 81303e208..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/InputCodeForm/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import InputCodeForm from './InputCodeForm'; - -export default InputCodeForm; diff --git a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/index.ts b/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/index.ts deleted file mode 100644 index df825b9d9..000000000 --- a/apps/frontend/src/components/ui/CodeBasedConfigurationsInput/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import FileFormat from './FileFormat'; - -export default FileFormat; diff --git a/apps/frontend/src/components/ui/Input/Input.module.scss b/apps/frontend/src/components/ui/Input/Input.module.scss deleted file mode 100644 index 03d8b1af7..000000000 --- a/apps/frontend/src/components/ui/Input/Input.module.scss +++ /dev/null @@ -1,7 +0,0 @@ -.input { - padding: 19px 80px 19px 19px; - margin-bottom: 10px; - background-color: #fefefe; - border-radius: 10px; - box-shadow: 0 4px 6px rgb(0 0 0 / 5%); -} diff --git a/apps/frontend/src/components/ui/Input/Input.tsx b/apps/frontend/src/components/ui/Input/Input.tsx deleted file mode 100644 index 46ee96e6d..000000000 --- a/apps/frontend/src/components/ui/Input/Input.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; - -import InputComponentView from './Input.view'; - -interface IProps { - readonly placeholder: string; - readonly type: string; - readonly value: string | null; - readonly onChange: (_: string) => void; -} - -const InputComponent: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -InputComponent.displayName = 'InputComponent'; -InputComponent.defaultProps = {}; - -export default React.memo(InputComponent); diff --git a/apps/frontend/src/components/ui/Input/Input.view.tsx b/apps/frontend/src/components/ui/Input/Input.view.tsx deleted file mode 100644 index f1c060864..000000000 --- a/apps/frontend/src/components/ui/Input/Input.view.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; - -import classes from './Input.module.scss'; - -interface IProps { - readonly placeholder: string; - readonly type: string; - readonly value: string | null; - readonly onChange: (_: string) => void; -} - -const InputComponentView: React.FC = (props: React.PropsWithChildren) => { - return ( - props.onChange(value)} - /> - ); -}; - -InputComponentView.displayName = 'InputComponentView'; -InputComponentView.defaultProps = {}; - -export default React.memo(InputComponentView); diff --git a/apps/frontend/src/components/ui/Input/index.ts b/apps/frontend/src/components/ui/Input/index.ts deleted file mode 100644 index a122bd4be..000000000 --- a/apps/frontend/src/components/ui/Input/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Input from './Input'; - -export default Input; diff --git a/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.module.scss b/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.module.scss deleted file mode 100644 index 42f0b50e5..000000000 --- a/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.module.scss +++ /dev/null @@ -1,19 +0,0 @@ -.navigateBackButton { - position: relative; - display: flex; - align-items: center; - width: fit-content; - - &__icon { - width: 11px; - height: 19px; - margin-right: 10px; - fill: transparent; - } - - &__text { - font-size: 1.8rem; - font-weight: 460; - color: #4b4a65; - } -} diff --git a/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.tsx b/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.tsx deleted file mode 100644 index 00ebda980..000000000 --- a/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import { useNavigate } from 'react-router-dom'; - -import NavigateBackButtonView from './NavigateBackButton.view'; - -interface IProps { - readonly position: { - readonly bottom: string; - readonly right: string; - }; -} - -const NavigateBackButton: React.FC = (props: React.PropsWithChildren) => { - const navigate = useNavigate(); - - return navigate(-1)} />; -}; - -NavigateBackButton.displayName = 'NavigateBackButton'; -NavigateBackButton.defaultProps = {}; - -export default React.memo(NavigateBackButton); diff --git a/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.view.tsx b/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.view.tsx deleted file mode 100644 index 69288aa37..000000000 --- a/apps/frontend/src/components/ui/NavigateBackButton/NavigateBackButton.view.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; -// import { Trans, useTranslation } from 'react-i18next'; -import VSvg from '@/ui/VSvg'; - -import classes from './NavigateBackButton.module.scss'; - -interface IProps { - readonly position: { - readonly bottom: string; - readonly right: string; - }; - readonly onGoBack: () => void; -} - -const NavigateBackButtonView: React.FC = (props: React.PropsWithChildren) => { - // const { t } = useTranslation(); - - return ( -
- - -
- ); -}; - -NavigateBackButtonView.displayName = 'NavigateBackButtonView'; -NavigateBackButtonView.defaultProps = {}; - -export default React.memo(NavigateBackButtonView); diff --git a/apps/frontend/src/components/ui/NavigateBackButton/index.ts b/apps/frontend/src/components/ui/NavigateBackButton/index.ts deleted file mode 100644 index 20623aff2..000000000 --- a/apps/frontend/src/components/ui/NavigateBackButton/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import NavigateBackButton from './NavigateBackButton'; - -export default NavigateBackButton; diff --git a/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.module.scss b/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.module.scss deleted file mode 100644 index 5d295cd05..000000000 --- a/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.module.scss +++ /dev/null @@ -1,78 +0,0 @@ -.selectedOptionsContainer { - position: relative; - right: 0; - display: flex; - flex-direction: column; - align-items: center; - justify-content: space-between; - box-shadow: (0 11.4496px 15.6131px rgb(0 0 0 / 5%)); - - .selectedOptionsVisible { - display: flex; - align-items: center; - justify-content: space-between; - height: 100%; - padding: 10px 14px; - white-space: nowrap; - background-color: #fefefe; - - &__text { - font-size: 1.5rem; - font-weight: 360; - color: #4b4a65; - } - - .moreOptionsButton { - &__arrowDown { - width: 11px; - height: 8px; - fill: transparent; - stroke: #202428; - } - - &__arrowRight { - width: 8px; - height: 11px; - fill: transparent; - stroke: #202428; - } - } - } - - .selectedOptionsInvisible { - position: absolute; - top: 40px; - z-index: 1; - display: flex; - flex-direction: column; - align-items: flex-start; - justify-content: space-between; - padding: 10px 14px; - white-space: nowrap; - background-color: #fefefe; - border-radius: 0 0 10px 10px; - - &__divider { - width: 100%; - margin-bottom: 9px; - border: 1px solid #e7e7e7; - } - - &__text { - font-size: 1.5rem; - font-weight: 360; - color: #4b4a65; - } - - &__option { - font-size: 1.5rem; - font-weight: 360; - color: #4b4a65; - text-align: left; - } - - &__option:not(:last-child) { - margin-bottom: 5px; - } - } -} diff --git a/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.tsx b/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.tsx deleted file mode 100644 index ba36e0002..000000000 --- a/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; - -import SelectFromOptionsView from './SelectFromOptions.view'; - -interface IProps { - readonly defaultValue?: string; - readonly componentWidth: string; - readonly border: string; - readonly selectedOptionIndex: number | null; - readonly isShowMoreClicked: boolean; - readonly optionsList: string[]; - readonly isVisibleValueBlocked?: boolean; - readonly onSelectOptionsButton: () => void; - readonly onSelectedOption: (index: number) => void; -} - -const SelectFromOptions: React.FC = (props: React.PropsWithChildren) => { - return ( - - ); -}; - -SelectFromOptions.displayName = 'SelectFromOptions'; -SelectFromOptions.defaultProps = {}; - -export default React.memo(SelectFromOptions); diff --git a/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.view.tsx b/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.view.tsx deleted file mode 100644 index 0efa8b0fa..000000000 --- a/apps/frontend/src/components/ui/SelectFromOptions/SelectFromOptions.view.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import React from 'react'; -import VSvg from '@/ui/VSvg'; - -import classes from './SelectFromOptions.module.scss'; - -interface IProps { - readonly defaultValue?: string; - readonly componentWidth: string; - readonly border: string; - readonly selectedOptionIndex: number | null; - readonly isShowMoreClicked: boolean; - readonly optionsList: string[]; - readonly isVisibleValueBlocked?: boolean; - readonly onSelectOptionsButton: () => void; - readonly onSelectedOption: (index: number) => void; -} - -const SelectFromOptionsView: React.FC = (props: React.PropsWithChildren) => { - return ( -
-
- - {props.selectedOptionIndex !== null - ? props.optionsList[props.selectedOptionIndex]!.length > 12 - ? props.optionsList[props.selectedOptionIndex]!.slice(0, 12) + '...' - : props.optionsList[props.selectedOptionIndex!] - : props.defaultValue} - - -
-
- {props.optionsList.map((option, index) => ( - - ))} -
-
- ); -}; - -SelectFromOptionsView.displayName = 'SelectFromOptionsView'; -SelectFromOptionsView.defaultProps = {}; - -export default React.memo(SelectFromOptionsView); diff --git a/apps/frontend/src/components/ui/SelectFromOptions/index.ts b/apps/frontend/src/components/ui/SelectFromOptions/index.ts deleted file mode 100644 index a345bf923..000000000 --- a/apps/frontend/src/components/ui/SelectFromOptions/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import SelectFromOptions from './SelectFromOptions'; - -export default SelectFromOptions; diff --git a/apps/frontend/src/components/ui/VSvg/__snapshots__/VSvg.test.tsx.snap b/apps/frontend/src/components/ui/VSvg/__snapshots__/VSvg.test.tsx.snap deleted file mode 100644 index 3d39c6333..000000000 --- a/apps/frontend/src/components/ui/VSvg/__snapshots__/VSvg.test.tsx.snap +++ /dev/null @@ -1,22 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` Should render the component unchanged 1`] = ` -
- - - - - - - -
-`; diff --git a/apps/frontend/src/data/fileFormts.ts b/apps/frontend/src/data/fileFormts.ts deleted file mode 100644 index dbbb4714c..000000000 --- a/apps/frontend/src/data/fileFormts.ts +++ /dev/null @@ -1 +0,0 @@ -export const fileFormats = ['json', 'yaml', 'js']; diff --git a/apps/frontend/src/data/librariesList.ts b/apps/frontend/src/data/librariesList.ts deleted file mode 100644 index f7bc752e1..000000000 --- a/apps/frontend/src/data/librariesList.ts +++ /dev/null @@ -1,987 +0,0 @@ -/* eslint-disable max-lines */ -export const librariesList = { - ESLint: { - logo: '../assets/images/eslintLogo.png', - title: 'ESLint', - madeBy: 'Nicholas C. Zakas', - description: ' Code linting is a type of static analysis that is frequently', - type: 'type', - category: 'category', - rulesList: { - possibleProblems: { - 'array-callback-return': 'enforce `return` statements in callbacks of array methods', - 'constructor-super': 'require `super()` calls in constructors', - - 'for-direction': - 'enforce "for" loop update clause moving the counter in the right direction.', - 'getter-return': 'enforce `return` statements in getters', - 'no-async-promise-executor': 'disallow using an async function as a Promise executor', - 'no-await-in-loop': 'disallow `await` inside of loops', - 'no-class-assign': 'disallow reassigning class members', - 'no-compare-neg-zero': 'disallow comparing against -0', - 'no-cond-assign': 'disallow assignment operators in conditional expressions', - 'no-const-assign': 'disallow reassigning `const` variables', - - 'no-constant-binary-expression': - "disallow expressions where the operation doesn't affect the value", - 'no-constant-condition': 'disallow constant expressions in conditions', - 'no-constructor-return': 'disallow returning value from constructor', - 'no-control-regex': 'disallow control characters in regular expressions', - 'no-debugger': 'disallow the use of `debugger`', - 'no-dupe-args': 'disallow duplicate arguments in `function` definitions', - 'no-dupe-class-members': 'disallow duplicate class members', - 'no-dupe-else-if': 'disallow duplicate conditions in if-else-if chains', - 'no-dupe-keys': 'disallow duplicate keys in object literals', - 'no-duplicate-case': 'disallow duplicate case labels', - 'no-duplicate-imports': 'disallow duplicate module imports', - 'no-empty-character-class': 'disallow empty character classes in regular expressions', - 'no-empty-pattern': 'disallow empty destructuring patterns', - 'no-ex-assign': 'disallow reassigning exceptions in `catch` clauses', - 'no-fallthrough': 'disallow fallthrough of `case` statements', - 'no-func-assign': 'disallow reassigning `function` declarations', - 'no-import-assign': 'disallow assigning to imported bindings', - 'no-inner-declarations': 'disallow variable or `function` declarations in nested blocks', - 'no-invalid-regexp': 'disallow invalid regular expression strings in `RegExp` constructors', - 'no-irregular-whitespace': 'disallow irregular whitespace', - 'no-loss-of-precision': 'disallow literal numbers that lose precision', - - 'no-misleading-character-class': - 'disallow characters which are made with multiple code points in character class syntax', - 'no-new-symbol': 'disallow `new` operators with the `Symbol` object', - 'no-obj-calls': 'disallow calling global object properties as functions', - 'no-promise-executor-return': 'disallow returning values from Promise executor functions', - - 'no-prototype-builtins': - 'disallow calling some `Object.prototype` methods directly on objects', - 'no-self-assign': 'disallow assignments where both sides are exactly the same', - 'no-self-compare': 'disallow comparisons where both sides are exactly the same', - 'no-setter-return': 'disallow returning values from setters', - 'no-sparse-arrays': 'disallow sparse arrays', - - 'no-template-curly-in-string': - 'disallow template literal placeholder syntax in regular strings', - 'no-this-before-super': 'disallow `this`/`super` before calling `super()` in constructors', - - 'no-undef': - 'disallow the use of undeclared variables unless mentioned in `/*global */` comments', - 'no-unexpected-multiline': 'disallow confusing multiline expressions', - 'no-unmodified-loop-condition': 'disallow unmodified loop conditions', - - 'no-unreachable': - 'disallow unreachable code after `return`, `throw`, `continue`, and `break` statements', - 'no-unreachable-loop': 'disallow loops with a body that allows only one iteration', - 'no-unsafe-finally': 'disallow control flow statements in `finally` blocks', - 'no-unsafe-negation': 'disallow negating the left operand of relational operators', - - 'no-unsafe-optional-chaining': - 'disallow use of optional chaining in contexts where the `undefined` value is not allowed', - 'no-unused-private-class-members': 'disallow unused private class members', - 'no-unused-vars': 'disallow unused variables', - 'no-use-before-define': 'disallow the use of variables before they are defined', - 'no-useless-backreference': 'disallow useless backreferences in regular expressions', - - 'require-atomic-updates': - 'disallow assignments that can lead to race conditions due to usage of `await` or `yield`', - 'use-isnan': 'require calls to `isNaN()` when checking for `NaN`', - 'valid-typeof': 'enforce comparing `typeof` expressions against valid strings', - }, - - suggestions: { - 'accessor-pairs': 'enforce getter and setter pairs in objects and classes', - 'arrow-body-style': 'require braces around arrow function bodies', - 'block-scoped-var': 'enforce the use of variables within the scope they are defined', - 'camelcase': 'enforce camelcase naming convention', - 'capitalized-comments': 'enforce or disallow capitalization of the first letter of a comment', - 'class-methods-use-this': 'enforce that class methods utilize `this`', - 'complexity': 'enforce a maximum cyclomatic complexity allowed in a program', - 'consistent-return': 'require `return` statements to either always or never specify values', - 'consistent-this': 'enforce consistent naming when capturing the current execution context', - 'curly': 'enforce consistent brace style for all control statements', - 'default-case': 'require `default` cases in `switch` statements', - 'default-case-last': 'enforce default clauses in switch statements to be last', - 'default-param-last': 'enforce default parameters to be last', - 'dot-notation': 'enforce dot notation whenever possible', - 'eqeqeq': 'require the use of `===` and `!==`', - - 'func-name-matching': - 'require function names to match the name of the variable or property to which they are assigned', - 'func-names': 'require or disallow named `function` expressions', - 'func-style': 'enforce the consistent use of either `function` declarations or expressions', - 'grouped-accessor-pairs': 'require grouped accessor pairs in object literals and classes', - 'guard-for-in': 'require `for-in` loops to include an `if` statement', - 'id-denylist': 'disallow specified identifiers', - 'id-length': 'enforce minimum and maximum identifier lengths', - 'id-match': 'require identifiers to match a specified regular expression', - 'init-declarations': 'require or disallow initialization in variable declarations', - 'max-classes-per-file': 'enforce a maximum number of classes per file', - 'max-depth': 'enforce a maximum depth that blocks can be nested', - 'max-lines': 'enforce a maximum number of lines per file', - 'max-lines-per-function': 'enforce a maximum number of lines of code in a function', - 'max-nested-callbacks': 'enforce a maximum depth that callbacks can be nested', - 'max-params': 'enforce a maximum number of parameters in function definitions', - 'max-statements': 'enforce a maximum number of statements allowed in function blocks', - 'multiline-comment-style': 'enforce a particular style for multiline comments', - 'new-cap': 'require constructor names to begin with a capital letter', - 'no-alert': 'disallow the use of `alert`, `confirm`, and `prompt`', - 'no-array-constructor': 'disallow `Array` constructors', - 'no-bitwise': 'disallow bitwise operators', - 'no-caller': 'disallow the use of `arguments.caller` or `arguments.callee`', - 'no-case-declarations': 'disallow lexical declarations in case clauses', - - 'no-confusing-arrow': - 'disallow arrow functions where they could be confused with comparisons', - 'no-console': 'disallow the use of `console`', - 'no-continue': 'disallow `continue` statements', - 'no-delete-var': 'disallow deleting variables', - - 'no-div-regex': - 'disallow division operators explicitly at the beginning of regular expressions', - 'no-else-return': 'disallow `else` blocks after `return` statements in `if` statements', - 'no-empty': 'disallow empty block statements', - 'no-empty-function': 'disallow empty functions', - 'no-eq-null': 'disallow `null` comparisons without type-checking operators', - 'no-eval': 'disallow the use of `eval()`', - 'no-extend-native': 'disallow extending native types', - 'no-extra-bind': 'disallow unnecessary calls to `.bind()`', - 'no-extra-boolean-cast': 'disallow unnecessary boolean casts', - 'no-extra-label': 'disallow unnecessary labels', - 'no-extra-semi': 'disallow unnecessary semicolons', - 'no-floating-decimal': 'disallow leading or trailing decimal points in numeric literals', - 'no-global-assign': 'disallow assignments to native objects or read-only global variables', - 'no-implicit-coercion': 'disallow shorthand type conversions', - 'no-implicit-globals': 'disallow declarations in the global scope', - 'no-implied-eval': 'disallow the use of `eval()`-like methods', - 'no-inline-comments': 'disallow inline comments after code', - - 'no-invalid-this': - 'disallow use of `this` in contexts where the value of `this` is `undefined`', - 'no-iterator': 'disallow the use of the `__iterator__` property', - 'no-label-var': 'disallow labels that share a name with a variable', - 'no-labels': 'disallow labeled statements', - 'no-lone-blocks': 'disallow unnecessary nested blocks', - 'no-lonely-if': 'disallow `if` statements as the only statement in `else` blocks', - - 'no-loop-func': - 'disallow function declarations that contain unsafe references inside loop statements', - 'no-magic-numbers': 'disallow magic numbers', - 'no-mixed-operators': 'disallow mixed binary operators', - 'no-multi-assign': 'disallow use of chained assignment expressions', - 'no-multi-str': 'disallow multiline strings', - 'no-negated-condition': 'disallow negated conditions', - 'no-nested-ternary': 'disallow nested ternary expressions', - 'no-new': 'disallow `new` operators outside of assignments or comparisons', - 'no-new-func': 'disallow `new` operators with the `Function` object', - 'no-new-object': 'disallow `Object` constructors', - - 'no-new-wrappers': - 'disallow `new` operators with the `String`, `Number`, and `Boolean` objects', - 'no-nonoctal-decimal-escape': 'disallow `\\8` and `\\9` escape sequences in string literals', - 'no-octal': 'disallow octal literals', - 'no-octal-escape': 'disallow octal escape sequences in string literals', - 'no-param-reassign': 'disallow reassigning `function` parameters', - 'no-plusplus': 'disallow the unary operators `++` and `--`', - 'no-proto': 'disallow the use of the `__proto__` property', - 'no-redeclare': 'disallow variable redeclaration', - 'no-regex-spaces': 'disallow multiple spaces in regular expressions', - 'no-restricted-exports': 'disallow specified names in exports', - 'no-restricted-globals': 'disallow specified global variables', - 'no-restricted-imports': 'disallow specified modules when loaded by `import`', - 'no-restricted-properties': 'disallow certain properties on certain objects', - 'no-restricted-syntax': 'disallow specified syntax', - 'no-return-assign': 'disallow assignment operators in `return` statements', - 'no-return-await': 'disallow unnecessary `return await`', - 'no-script-url': 'disallow `javascript:` urls', - 'no-sequences': 'disallow comma operators', - - 'no-shadow': - 'disallow variable declarations from shadowing variables declared in the outer scope', - 'no-shadow-restricted-names': 'disallow identifiers from shadowing restricted names', - 'no-ternary': 'disallow ternary operators', - 'no-throw-literal': 'disallow throwing literals as exceptions', - 'no-undef-init': 'disallow initializing variables to `undefined`', - 'no-undefined': 'disallow the use of `undefined` as an identifier', - 'no-underscore-dangle': 'disallow dangling underscores in identifiers', - 'no-unneeded-ternary': 'disallow ternary operators when simpler alternatives exist', - 'no-unused-expressions': 'disallow unused expressions', - 'no-unused-labels': 'disallow unused labels', - 'no-useless-call': 'disallow unnecessary calls to `.call()` and `.apply()`', - 'no-useless-catch': 'disallow unnecessary `catch` clauses', - - 'no-useless-computed-key': - 'disallow unnecessary computed property keys in objects and classes', - 'no-useless-concat': 'disallow unnecessary concatenation of literals or template literals', - 'no-useless-constructor': 'disallow unnecessary constructors', - 'no-useless-escape': 'disallow unnecessary escape characters', - - 'no-useless-rename': - 'disallow renaming import, export, and destructured assignments to the same name', - 'no-useless-return': 'disallow redundant return statements', - 'no-var': 'require `let` or `const` instead of `var`', - 'no-void': 'disallow `void` operators', - 'no-warning-comments': 'disallow specified warning terms in comments', - 'no-with': 'disallow `with` statements', - - 'object-shorthand': - 'require or disallow method and property shorthand syntax for object literals', - 'one-var': 'enforce variables to be declared either together or separately in functions', - 'one-var-declaration-per-line': 'require or disallow newlines around variable declarations', - 'operator-assignment': 'require or disallow assignment operator shorthand where possible', - 'prefer-arrow-callback': 'require using arrow functions for callbacks', - - 'prefer-const': - 'require `const` declarations for variables that are never reassigned after declared', - 'prefer-destructuring': 'require destructuring from arrays and/or objects', - - 'prefer-exponentiation-operator': - 'disallow the use of `Math.pow` in favor of the `**` operator', - 'prefer-named-capture-group': 'enforce using named capture group in regular expression', - - 'prefer-numeric-literals': - 'disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals', - - 'prefer-object-has-own': - 'disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`', - - 'prefer-object-spread': - 'disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.', - 'prefer-promise-reject-errors': 'require using Error objects as Promise rejection reasons', - - 'prefer-regex-literals': - 'disallow use of the `RegExp` constructor in favor of regular expression literals', - 'prefer-rest-params': 'require rest parameters instead of `arguments`', - 'prefer-spread': 'require spread operators instead of `.apply()`', - 'prefer-template': 'require template literals instead of string concatenation', - 'quote-props': 'require quotes around object literal property names', - 'radix': 'enforce the consistent use of the radix argument when using `parseInt()`', - 'require-await': 'disallow async functions which have no `await` expression', - 'require-unicode-regexp': 'enforce the use of `u` flag on RegExp', - 'require-yield': 'require generator functions to contain `yield`', - 'sort-imports': 'enforce sorted import declarations within modules', - 'sort-keys': 'require object keys to be sorted', - 'sort-vars': 'require variables within the same declaration block to be sorted', - 'spaced-comment': 'enforce consistent spacing after the `//` or `/*` in a comment', - 'strict': 'require or disallow strict mode directives', - 'symbol-description': 'require symbol descriptions', - 'vars-on-top': 'require `var` declarations be placed at the top of their containing scope', - 'yoda': 'require or disallow "Yoda" conditions', - }, - layoutAndFormatting: { - 'array-bracket-newline': 'enforce linebreaks after opening and before closing array brackets', - 'array-bracket-spacing': 'enforce consistent spacing inside array brackets', - 'array-element-newline': 'enforce line breaks after each array element', - 'arrow-parens': 'require parentheses around arrow function arguments', - 'arrow-spacing': 'enforce consistent spacing before and after the arrow in arrow functions', - - 'block-spacing': - 'disallow or enforce spaces inside of blocks after opening block and before closing block', - 'brace-style': 'enforce consistent brace style for blocks', - 'comma-dangle': 'require or disallow trailing commas', - 'comma-spacing': 'enforce consistent spacing before and after commas', - 'comma-style': 'enforce consistent comma style', - 'computed-property-spacing': 'enforce consistent spacing inside computed property brackets', - 'dot-location': 'enforce consistent newlines before and after dots', - 'eol-last': 'require or disallow newline at the end of files', - - 'func-call-spacing': - 'require or disallow spacing between function identifiers and their invocations', - 'function-call-argument-newline': 'enforce line breaks between arguments of a function call', - 'function-paren-newline': 'enforce consistent line breaks inside function parentheses', - - 'generator-star-spacing': - 'enforce consistent spacing around `*` operators in generator functions', - 'implicit-arrow-linebreak': 'enforce the location of arrow function bodies', - 'indent': 'enforce consistent indentation', - - 'jsx-quotes': - 'enforce the consistent use of either double or single quotes in JSX attributes', - - 'key-spacing': - 'enforce consistent spacing between keys and values in object literal properties', - 'keyword-spacing': 'enforce consistent spacing before and after keywords', - 'line-comment-position': 'enforce position of line comments', - 'linebreak-style': 'enforce consistent linebreak style', - 'lines-around-comment': 'require empty lines around comments', - 'lines-between-class-members': 'require or disallow an empty line between class members', - 'max-len': 'enforce a maximum line length', - 'max-statements-per-line': 'enforce a maximum number of statements allowed per line', - 'multiline-ternary': 'enforce newlines between operands of ternary expressions', - 'new-parens': 'enforce or disallow parentheses when invoking a constructor with no arguments', - 'newline-per-chained-call': 'require a newline after each call in a method chain', - 'no-extra-parens': 'disallow unnecessary parentheses', - 'no-mixed-spaces-and-tabs': 'disallow mixed spaces and tabs for indentation', - 'no-multi-spaces': 'disallow multiple spaces', - 'no-multiple-empty-lines': 'disallow multiple empty lines', - 'no-tabs': 'disallow all tabs', - 'no-trailing-spaces': 'disallow trailing whitespace at the end of lines', - 'no-whitespace-before-property': 'disallow whitespace before properties', - 'nonblock-statement-body-position': 'enforce the location of single-line statements', - - 'object-curly-newline': - 'enforce consistent line breaks after opening and before closing braces', - 'object-curly-spacing': 'enforce consistent spacing inside braces', - 'object-property-newline': 'enforce placing object properties on separate lines', - 'operator-linebreak': 'enforce consistent linebreak style for operators', - 'padded-blocks': 'require or disallow padding within blocks', - 'padding-line-between-statements': 'require or disallow padding lines between statements', - 'quotes': 'enforce the consistent use of either backticks, double, or single quotes', - - 'rest-spread-spacing': - 'enforce spacing between rest and spread operators and their expressions', - 'semi': 'require or disallow semicolons instead of ASI', - 'semi-spacing': 'enforce consistent spacing before and after semicolons', - 'semi-style': 'enforce location of semicolons', - 'space-before-blocks': 'enforce consistent spacing before blocks', - - 'space-before-function-paren': - 'enforce consistent spacing before `function` definition opening parenthesis', - 'space-in-parens': 'enforce consistent spacing inside parentheses', - 'space-infix-ops': 'require spacing around infix operators', - 'space-unary-ops': 'enforce consistent spacing before or after unary operators', - 'switch-colon-spacing': 'enforce spacing around colons of switch statements', - - 'template-curly-spacing': - 'require or disallow spacing around embedded expressions of template strings', - - 'template-tag-spacing': - 'require or disallow spacing between template tags and their literals', - 'unicode-bom': 'require or disallow Unicode byte order mark (BOM)', - 'wrap-iife': 'require parentheses around immediate `function` invocations', - 'wrap-regex': 'require parenthesis around regex literals', - 'yield-star-spacing': 'require or disallow spacing around the `*` in `yield*` expressions', - }, - }, - }, - Stylelint: { - logo: '../assets/images/eslintLogo.png', - title: 'Stylelint', - madeBy: 'Nicholas C. Zakas', - description: ' Code linting is a type of static analysis that is frequently', - type: 'type', - category: 'category', - rulesList: { - yazif: { - 'color-no-invalid-hex': 'Disallow invalid hex colors.', - 'font-family-no-duplicate-names': 'Disallow duplicate font family names.', - 'font-family-no-missing-generic-family-keyword': - 'Disallow missing generic families in lists of font family names.', - 'named-grid-areas-no-invalid': 'Disallow invalid named grid areas.', - 'function-calc-no-unspaced-operator': 'Disallow an unspaced operator within calc functions.', - 'function-linear-gradient-no-nonstandard-direction': - 'Disallow direction values in linear-gradient() calls that are not valid according to the standard syntax.', - 'function-no-unknown': 'Disallow unknown functions.', - 'string-no-newline': 'Disallow (unescaped) newlines in strings.', - 'unit-no-unknown': 'Disallow unknown units.', - 'custom-property-no-missing-var-function': - 'Disallow missing var function for custom properties.', - 'property-no-unknown': 'Disallow unknown properties.', - 'keyframe-declaration-no-important': 'Disallow !important within keyframe declarations.', - 'keyframe-block-no-duplicate-selectors': - 'Disallow duplicate selectors within keyframe blocks.', - 'declaration-block-no-duplicate-custom-properties': - 'Disallow duplicate custom properties within declaration blocks.', - 'declaration-block-no-duplicate-properties': - 'Disallow duplicate properties within declaration blocks.', - 'declaration-block-no-shorthand-property-overrides': - 'Disallow shorthand properties that override related longhand properties.', - 'block-no-empty': 'Disallow empty blocks.', - 'selector-pseudo-class-no-unknown': 'Disallow unknown pseudo-class selectors.', - 'selector-pseudo-element-no-unknown': 'Disallow unknown pseudo-element selectors.', - 'selector-type-no-unknown': 'Disallow unknown type selectors.', - 'media-feature-name-no-unknown': 'Disallow unknown media feature names.', - 'at-rule-no-unknown': 'Disallow unknown at-rules.', - 'comment-no-empty': 'Disallow empty comments.', - 'no-descending-specificity': - 'Disallow selectors of lower specificity from coming after overriding selectors of higher specificity.', - 'no-duplicate-at-import-rules': 'Disallow duplicate @import rules within a stylesheet.', - 'no-duplicate-selectors': 'Disallow duplicate selectors within a stylesheet.', - 'no-empty-source': 'Disallow empty sources.', - 'no-invalid-double-slash-comments': - 'Disallow double-slash comments (//...) which are not supported by CSS.', - 'no-invalid-position-at-import-rule': - 'Disallow invalid position @import rules within a stylesheet.', - 'alpha-value-notation': - 'Specify percentage or number notation for alpha-values (Autofixable).', - 'hue-degree-notation': 'Specify number or angle notation for degree hues (Autofixable).', - 'color-function-notation': - 'Specify modern or legacy notation for applicable color-functions (Autofixable).', - 'color-hex-alpha': 'Require or disallow alpha channel for hex colors.', - 'color-hex-length': 'Specify short or long notation for hex colors (Autofixable).', - 'color-named': 'Require (where possible) or disallow named colors.', - 'color-no-hex': 'Disallow hex colors.', - 'length-zero-no-unit': 'Disallow units for zero lengths (Autofixable).', - 'font-family-name-quotes': - 'Specify whether or not quotation marks should be used around font family names (Autofixable).', - 'font-weight-notation': - 'Require numeric or named (where possible) font-weight values. Also, when named values are expected, require only valid names.', - 'function-allowed-list': 'Specify a list of allowed functions.', - }, - cheddar: { - 'function-disallowed-list': 'Specify a list of disallowed functions.', - 'function-url-no-scheme-relative': 'Disallow scheme-relative urls.', - 'function-url-quotes': 'Require or disallow quotes for urls.', - 'function-url-scheme-allowed-list': 'Specify a list of allowed URL schemes.', - 'function-url-scheme-disallowed-list': 'Specify a list of disallowed URL schemes.', - 'keyframes-name-pattern': 'Specify a pattern for keyframe names.', - 'number-max-precision': 'Limit the number of decimal places allowed in numbers.', - 'time-min-milliseconds': 'Specify the minimum number of milliseconds for time values.', - 'unit-allowed-list': 'Specify a list of allowed units.', - 'unit-disallowed-list': 'Specify a list of disallowed units.', - 'shorthand-property-no-redundant-values': - 'Disallow redundant values in shorthand properties (Autofixable).', - 'value-no-vendor-prefix': 'Disallow vendor prefixes for values (Autofixable).', - 'custom-property-pattern': 'Specify a pattern for custom properties.', - 'property-allowed-list': 'Specify a list of allowed properties.', - 'property-disallowed-list': 'Specify a list of disallowed properties.', - 'property-no-vendor-prefix': 'Disallow vendor prefixes for properties (Autofixable).', - 'declaration-no-important': 'Disallow !important within declarations.', - 'declaration-property-max-values': - 'Limit the number of values for a list of properties within declarations.', - 'declaration-property-unit-allowed-list': - 'Specify a list of allowed property and unit pairs within declarations.', - 'declaration-property-unit-disallowed-list': - 'Specify a list of disallowed property and unit pairs within declarations.', - 'declaration-property-value-allowed-list': - 'Specify a list of allowed property and value pairs within declarations.', - 'declaration-property-value-disallowed-list': - 'Specify a list of disallowed property and value pairs within declarations.', - 'declaration-block-no-redundant-longhand-properties': - 'Disallow longhand properties that can be combined into one shorthand property.', - 'declaration-block-single-line-max-declarations': - 'Limit the number of declarations within a single-line declaration block.', - 'selector-attribute-name-disallowed-list': 'Specify a list of disallowed attribute names.', - 'selector-attribute-operator-allowed-list': 'Specify a list of allowed attribute operators.', - 'selector-attribute-operator-disallowed-list': - 'Specify a list of disallowed attribute operators.', - 'selector-attribute-quotes': 'Require or disallow quotes for attribute values.', - 'selector-class-pattern': 'Specify a pattern for class selectors.', - 'selector-combinator-allowed-list': 'Specify a list of allowed combinators.', - 'selector-combinator-disallowed-list': 'Specify a list of disallowed combinators.', - 'selector-disallowed-list': 'Specify a list of disallowed selectors.', - 'selector-id-pattern': 'Specify a pattern for ID selectors.', - 'selector-max-attribute': 'Limit the number of attribute selectors in a selector.', - 'selector-max-class': 'Limit the number of classes in a selector.', - 'selector-max-combinators': 'Limit the number of combinators in a selector.', - 'selector-max-compound-selectors': 'Limit the number of compound selectors in a selector.', - 'selector-max-id': 'Limit the number of ID selectors in a selector.', - 'selector-max-pseudo-class': 'Limit the number of pseudo-classes in a selector.', - 'selector-max-specificity': 'Limit the specificity of selectors.', - 'selector-max-type': 'Limit the number of type in a selector.', - 'selector-max-universal': 'Limit the number of universal selectors in a selector.', - 'selector-nested-pattern': - 'Specify a pattern for the selectors of rules nested within rules.', - 'selector-no-qualifying-type': 'Disallow qualifying a selector by type.', - 'selector-no-vendor-prefix': 'Disallow vendor prefixes for selectors (Autofixable).', - 'selector-not-notation': - 'Specify simple or complex notation for :not() pseudo-classes (Autofixable).', - 'selector-pseudo-class-allowed-list': 'Specify a list of allowed pseudo-class selectors.', - 'selector-pseudo-class-disallowed-list': - 'Specify a list of disallowed pseudo-class selectors.', - 'selector-pseudo-element-allowed-list': 'Specify a list of allowed pseudo-element selectors.', - 'selector-pseudo-element-colon-notation': - 'Specify single or double colon notation for applicable pseudo-elements (Autofixable).', - 'selector-pseudo-element-disallowed-list': - 'Specify a list of disallowed pseudo-element selectors.', - 'rule-selector-property-disallowed-list': - 'Specify a list of disallowed properties for selectors within rules.', - 'media-feature-name-allowed-list': 'Specify a list of allowed media feature names.', - 'media-feature-name-disallowed-list': 'Specify a list of disallowed media feature names.', - 'media-feature-name-no-vendor-prefix': - 'Disallow vendor prefixes for media feature names (Autofixable).', - 'media-feature-name-value-allowed-list': - 'Specify a list of allowed media feature name and value pairs.', - 'custom-media-pattern': 'Specify a pattern for custom media query names.', - 'at-rule-allowed-list': 'Specify a list of allowed at-rules.', - 'at-rule-disallowed-list': 'Specify a list of disallowed at-rules.', - 'at-rule-no-vendor-prefix': 'Disallow vendor prefixes for at-rules (Autofixable).', - 'at-rule-property-required-list': 'Specify a list of required properties for an at-rule.', - 'comment-pattern': 'Specify a pattern for comments.', - 'comment-word-disallowed-list': 'Specify a list of disallowed words within comments.', - 'max-nesting-depth': 'Limit the depth of nesting.', - 'no-irregular-whitespace': 'Disallow irregular whitespace.', - 'no-unknown-animations': 'Disallow unknown animations.', - 'unicode-bom': 'Require or disallow Unicode BOM.', - 'value-keyword-case': 'Specify lowercase or uppercase for keywords values (Autofixable).', - 'function-name-case': 'Specify lowercase or uppercase for function names (Autofixable).', - 'custom-property-empty-line-before': - 'Require or disallow an empty line before custom properties (Autofixable).', - 'selector-type-case': 'Specify lowercase or uppercase for type selectors (Autofixable).', - 'rule-empty-line-before': 'Require or disallow an empty line before rules (Autofixable).', - 'at-rule-empty-line-before': - 'Require or disallow an empty line before at-rules (Autofixable).', - 'comment-empty-line-before': - 'Require or disallow an empty line before comments (Autofixable).', - 'comment-whitespace-inside': - 'Require or disallow whitespace on the inside of comment markers (Autofixable).', - 'color-hex-case': 'Specify lowercase or uppercase for hex colors (Autofixable).', - 'function-comma-newline-after': - 'Require a newline or disallow whitespace after the commas of functions (Autofixable).', - 'function-comma-newline-before': - 'Require a newline or disallow whitespace before the commas of functions (Autofixable).', - 'function-comma-space-after': - 'Require a single space or disallow whitespace after the commas of functions (Autofixable).', - 'function-comma-space-before': - 'Require a single space or disallow whitespace before the commas of functions (Autofixable).', - 'function-max-empty-lines': - 'Limit the number of adjacent empty lines within functions (Autofixable).', - 'function-parentheses-newline-inside': - 'Require a newline or disallow whitespace on the inside of the parentheses of functions (Autofixable).', - 'function-parentheses-space-inside': - 'Require a single space or disallow whitespace on the inside of the parentheses of functions (Autofixable).', - 'function-whitespace-after': 'Require or disallow whitespace after functions (Autofixable).', - 'number-leading-zero': - 'Require or disallow a leading zero for fractional numbers less than 1 (Autofixable).', - 'number-no-trailing-zeros': 'Disallow trailing zeros in numbers (Autofixable).', - 'string-quotes': 'Specify single or double quotes around strings (Autofixable).', - 'unit-case': 'Specify lowercase or uppercase for units (Autofixable).', - 'value-list-comma-newline-after': - 'Require a newline or disallow whitespace after the commas of value lists (Autofixable).', - 'value-list-comma-newline-before': - 'Require a newline or disallow whitespace before the commas of value lists.', - 'value-list-comma-space-after': - 'Require a single space or disallow whitespace after the commas of value lists (Autofixable).', - 'value-list-comma-space-before': - 'Require a single space or disallow whitespace before the commas of value lists (Autofixable).', - 'value-list-max-empty-lines': - 'Limit the number of adjacent empty lines within value lists (Autofixable).', - 'property-case': 'Specify lowercase or uppercase for properties (Autofixable).', - 'declaration-bang-space-after': - 'Require a single space or disallow whitespace after the bang of declarations (Autofixable).', - 'declaration-bang-space-before': - 'Require a single space or disallow whitespace before the bang of declarations (Autofixable).', - 'declaration-colon-newline-after': - 'Require a newline or disallow whitespace after the colon of declarations (Autofixable).', - 'declaration-colon-space-after': - 'Require a single space or disallow whitespace after the colon of declarations (Autofixable).', - 'declaration-colon-space-before': - 'Require a single space or disallow whitespace before the colon of declarations (Autofixable).', - 'declaration-empty-line-before': - 'Require or disallow an empty line before declarations (Autofixable).', - 'declaration-block-semicolon-newline-after': - 'Require a newline or disallow whitespace after the semicolons of declaration blocks (Autofixable).', - 'declaration-block-semicolon-newline-before': - 'Require a newline or disallow whitespace before the semicolons of declaration blocks.', - 'declaration-block-semicolon-space-after': - 'Require a single space or disallow whitespace after the semicolons of declaration blocks (Autofixable).', - 'declaration-block-semicolon-space-before': - 'Require a single space or disallow whitespace before the semicolons of declaration blocks (Autofixable).', - 'declaration-block-trailing-semicolon': - 'Require or disallow a trailing semicolon within declaration blocks (Autofixable).', - 'block-closing-brace-empty-line-before': - 'Require or disallow an empty line before the closing brace of blocks (Autofixable).', - 'block-closing-brace-newline-after': - 'Require a newline or disallow whitespace after the closing brace of blocks (Autofixable).', - 'block-closing-brace-newline-before': - 'Require a newline or disallow whitespace before the closing brace of blocks (Autofixable).', - 'block-closing-brace-space-after': - 'Require a single space or disallow whitespace after the closing brace of blocks.', - 'block-closing-brace-space-before': - 'Require a single space or disallow whitespace before the closing brace of blocks (Autofixable).', - 'block-opening-brace-newline-after': - 'Require a newline after the opening brace of blocks (Autofixable).', - 'block-opening-brace-newline-before': - 'Require a newline or disallow whitespace before the opening brace of blocks (Autofixable).', - 'block-opening-brace-space-after': - 'Require a single space or disallow whitespace after the opening brace of blocks (Autofixable).', - 'block-opening-brace-space-before': - 'Require a single space or disallow whitespace before the opening brace of blocks (Autofixable).', - 'selector-attribute-brackets-space-inside': - 'Require a single space or disallow whitespace on the inside of the brackets within attribute selectors (Autofixable).', - 'selector-attribute-operator-space-after': - 'Require a single space or disallow whitespace after operators within attribute selectors (Autofixable).', - 'selector-attribute-operator-space-before': - 'Require a single space or disallow whitespace before operators within attribute selectors (Autofixable).', - 'selector-combinator-space-after': - 'Require a single space or disallow whitespace after the combinators of selectors (Autofixable).', - 'selector-combinator-space-before': - 'Require a single space or disallow whitespace before the combinators of selectors (Autofixable).', - 'selector-descendant-combinator-no-non-space': - 'Disallow non-space characters for descendant combinators of selectors (Autofixable).', - 'selector-max-empty-lines': - 'Limit the number of adjacent empty lines within selectors (Autofixable).', - 'selector-pseudo-class-case': - 'Specify lowercase or uppercase for pseudo-class selectors (Autofixable).', - 'selector-pseudo-class-parentheses-space-inside': - 'Require a single space or disallow whitespace on the inside of the parentheses within pseudo-class selectors (Autofixable).', - 'selector-pseudo-element-case': - 'Specify lowercase or uppercase for pseudo-element selectors (Autofixable).', - 'selector-list-comma-newline-after': - 'Require a newline or disallow whitespace after the commas of selector lists (Autofixable).', - 'selector-list-comma-newline-before': - 'Require a newline or disallow whitespace before the commas of selector lists (Autofixable).', - 'selector-list-comma-space-after': - 'Require a single space or disallow whitespace after the commas of selector lists (Autofixable).', - 'selector-list-comma-space-before': - 'Require a single space or disallow whitespace before the commas of selector lists (Autofixable).', - 'media-feature-colon-space-after': - 'Require a single space or disallow whitespace after the colon in media features (Autofixable).', - 'media-feature-colon-space-before': - 'Require a single space or disallow whitespace before the colon in media features (Autofixable).', - 'media-feature-name-case': - 'Specify lowercase or uppercase for media feature names (Autofixable).', - 'media-feature-parentheses-space-inside': - 'Require a single space or disallow whitespace on the inside of the parentheses within media features (Autofixable).', - 'media-feature-range-operator-space-after': - 'Require a single space or disallow whitespace after the range operator in media features (Autofixable).', - 'media-feature-range-operator-space-before': - 'Require a single space or disallow whitespace before the range operator in media features (Autofixable).', - 'media-query-list-comma-newline-after': - 'Require a newline or disallow whitespace after the commas of media query lists (Autofixable).', - 'media-query-list-comma-newline-before': - 'Require a newline or disallow whitespace before the commas of media query lists.', - 'media-query-list-comma-space-after': - 'Require a single space or disallow whitespace after the commas of media query lists (Autofixable).', - 'media-query-list-comma-space-before': - 'Require a single space or disallow whitespace before the commas of media query lists (Autofixable).', - 'at-rule-name-case': 'Specify lowercase or uppercase for at-rules names (Autofixable).', - 'at-rule-name-newline-after': 'Require a newline after at-rule names.', - 'at-rule-name-space-after': 'Require a single space after at-rule names (Autofixable).', - 'at-rule-semicolon-newline-after': - 'Require a newline after the semicolon of at-rules (Autofixable).', - 'at-rule-semicolon-space-before': - 'Require a single space or disallow whitespace before the semicolons of at-rules.', - 'indentation': 'Specify indentation (Autofixable).', - 'linebreaks': 'Specify unix or windows linebreaks (Autofixable).', - 'max-empty-lines': 'Limit the number of adjacent empty lines (Autofixable).', - 'max-line-length': 'Limit the length of a line.', - 'no-eol-whitespace': 'Disallow end-of-line whitespace (Autofixable).', - 'no-missing-end-of-source-newline': 'Disallow missing end-of-source newlines (Autofixable).', - 'no-empty-first-line': 'Disallow empty first lines (Autofixable).', - 'no-extra-semicolons': 'Disallow extra semicolons (Autofixable).', - }, - }, - }, - Yazif: { - logo: '../assets/images/eslintLogo.png', - title: 'ESLint', - madeBy: 'Nicholas C. Zakas', - description: ' Code linting is a type of static analysis that is frequently', - type: 'type', - category: 'category', - rulesList: { - //from index 0 to index 83 catagory- Possible Problems - //from index 84 to index 150 catagory- suggestions - //from index 150 to index 211 caragory - Layout & Formatting - 'array-callback-return': 'enforce `return` statements in callbacks of array methods', - 'constructor-super': 'require `super()` calls in constructors', - - 'for-direction': 'enforce "for" loop update clause moving the counter in the right direction.', - 'getter-return': 'enforce `return` statements in getters', - 'no-async-promise-executor': 'disallow using an async function as a Promise executor', - 'no-await-in-loop': 'disallow `await` inside of loops', - 'no-class-assign': 'disallow reassigning class members', - 'no-compare-neg-zero': 'disallow comparing against -0', - 'no-cond-assign': 'disallow assignment operators in conditional expressions', - 'no-const-assign': 'disallow reassigning `const` variables', - - 'no-constant-binary-expression': - "disallow expressions where the operation doesn't affect the value", - 'no-constant-condition': 'disallow constant expressions in conditions', - 'no-constructor-return': 'disallow returning value from constructor', - 'no-control-regex': 'disallow control characters in regular expressions', - 'no-debugger': 'disallow the use of `debugger`', - 'no-dupe-args': 'disallow duplicate arguments in `function` definitions', - 'no-dupe-class-members': 'disallow duplicate class members', - 'no-dupe-else-if': 'disallow duplicate conditions in if-else-if chains', - 'no-dupe-keys': 'disallow duplicate keys in object literals', - 'no-duplicate-case': 'disallow duplicate case labels', - 'no-duplicate-imports': 'disallow duplicate module imports', - 'no-empty-character-class': 'disallow empty character classes in regular expressions', - 'no-empty-pattern': 'disallow empty destructuring patterns', - 'no-ex-assign': 'disallow reassigning exceptions in `catch` clauses', - 'no-fallthrough': 'disallow fallthrough of `case` statements', - 'no-func-assign': 'disallow reassigning `function` declarations', - 'no-import-assign': 'disallow assigning to imported bindings', - 'no-inner-declarations': 'disallow variable or `function` declarations in nested blocks', - 'no-invalid-regexp': 'disallow invalid regular expression strings in `RegExp` constructors', - 'no-irregular-whitespace': 'disallow irregular whitespace', - 'no-loss-of-precision': 'disallow literal numbers that lose precision', - - 'no-misleading-character-class': - 'disallow characters which are made with multiple code points in character class syntax', - 'no-new-symbol': 'disallow `new` operators with the `Symbol` object', - 'no-obj-calls': 'disallow calling global object properties as functions', - 'no-promise-executor-return': 'disallow returning values from Promise executor functions', - - 'no-prototype-builtins': 'disallow calling some `Object.prototype` methods directly on objects', - 'no-self-assign': 'disallow assignments where both sides are exactly the same', - 'no-self-compare': 'disallow comparisons where both sides are exactly the same', - 'no-setter-return': 'disallow returning values from setters', - 'no-sparse-arrays': 'disallow sparse arrays', - - 'no-template-curly-in-string': 'disallow template literal placeholder syntax in regular strings', - 'no-this-before-super': 'disallow `this`/`super` before calling `super()` in constructors', - - 'no-undef': 'disallow the use of undeclared variables unless mentioned in `/*global */` comments', - 'no-unexpected-multiline': 'disallow confusing multiline expressions', - 'no-unmodified-loop-condition': 'disallow unmodified loop conditions', - - 'no-unreachable': - 'disallow unreachable code after `return`, `throw`, `continue`, and `break` statements', - 'no-unreachable-loop': 'disallow loops with a body that allows only one iteration', - 'no-unsafe-finally': 'disallow control flow statements in `finally` blocks', - 'no-unsafe-negation': 'disallow negating the left operand of relational operators', - - 'no-unsafe-optional-chaining': - 'disallow use of optional chaining in contexts where the `undefined` value is not allowed', - 'no-unused-private-class-members': 'disallow unused private class members', - 'no-unused-vars': 'disallow unused variables', - 'no-use-before-define': 'disallow the use of variables before they are defined', - 'no-useless-backreference': 'disallow useless backreferences in regular expressions', - - 'require-atomic-updates': - 'disallow assignments that can lead to race conditions due to usage of `await` or `yield`', - 'use-isnan': 'require calls to `isNaN()` when checking for `NaN`', - 'valid-typeof': 'enforce comparing `typeof` expressions against valid strings', - //----- - 'accessor-pairs': 'enforce getter and setter pairs in objects and classes', - 'arrow-body-style': 'require braces around arrow function bodies', - 'block-scoped-var': 'enforce the use of variables within the scope they are defined', - 'camelcase': 'enforce camelcase naming convention', - 'capitalized-comments': 'enforce or disallow capitalization of the first letter of a comment', - 'class-methods-use-this': 'enforce that class methods utilize `this`', - 'complexity': 'enforce a maximum cyclomatic complexity allowed in a program', - 'consistent-return': 'require `return` statements to either always or never specify values', - 'consistent-this': 'enforce consistent naming when capturing the current execution context', - 'curly': 'enforce consistent brace style for all control statements', - 'default-case': 'require `default` cases in `switch` statements', - 'default-case-last': 'enforce default clauses in switch statements to be last', - 'default-param-last': 'enforce default parameters to be last', - 'dot-notation': 'enforce dot notation whenever possible', - 'eqeqeq': 'require the use of `===` and `!==`', - - 'func-name-matching': - 'require function names to match the name of the variable or property to which they are assigned', - 'func-names': 'require or disallow named `function` expressions', - 'func-style': 'enforce the consistent use of either `function` declarations or expressions', - 'grouped-accessor-pairs': 'require grouped accessor pairs in object literals and classes', - 'guard-for-in': 'require `for-in` loops to include an `if` statement', - 'id-denylist': 'disallow specified identifiers', - 'id-length': 'enforce minimum and maximum identifier lengths', - 'id-match': 'require identifiers to match a specified regular expression', - 'init-declarations': 'require or disallow initialization in variable declarations', - 'max-classes-per-file': 'enforce a maximum number of classes per file', - 'max-depth': 'enforce a maximum depth that blocks can be nested', - 'max-lines': 'enforce a maximum number of lines per file', - 'max-lines-per-function': 'enforce a maximum number of lines of code in a function', - 'max-nested-callbacks': 'enforce a maximum depth that callbacks can be nested', - 'max-params': 'enforce a maximum number of parameters in function definitions', - 'max-statements': 'enforce a maximum number of statements allowed in function blocks', - 'multiline-comment-style': 'enforce a particular style for multiline comments', - 'new-cap': 'require constructor names to begin with a capital letter', - 'no-alert': 'disallow the use of `alert`, `confirm`, and `prompt`', - 'no-array-constructor': 'disallow `Array` constructors', - 'no-bitwise': 'disallow bitwise operators', - 'no-caller': 'disallow the use of `arguments.caller` or `arguments.callee`', - 'no-case-declarations': 'disallow lexical declarations in case clauses', - - 'no-confusing-arrow': 'disallow arrow functions where they could be confused with comparisons', - 'no-console': 'disallow the use of `console`', - 'no-continue': 'disallow `continue` statements', - 'no-delete-var': 'disallow deleting variables', - - 'no-div-regex': 'disallow division operators explicitly at the beginning of regular expressions', - 'no-else-return': 'disallow `else` blocks after `return` statements in `if` statements', - 'no-empty': 'disallow empty block statements', - 'no-empty-function': 'disallow empty functions', - 'no-eq-null': 'disallow `null` comparisons without type-checking operators', - 'no-eval': 'disallow the use of `eval()`', - 'no-extend-native': 'disallow extending native types', - 'no-extra-bind': 'disallow unnecessary calls to `.bind()`', - 'no-extra-boolean-cast': 'disallow unnecessary boolean casts', - 'no-extra-label': 'disallow unnecessary labels', - 'no-extra-semi': 'disallow unnecessary semicolons', - 'no-floating-decimal': 'disallow leading or trailing decimal points in numeric literals', - 'no-global-assign': 'disallow assignments to native objects or read-only global variables', - 'no-implicit-coercion': 'disallow shorthand type conversions', - 'no-implicit-globals': 'disallow declarations in the global scope', - 'no-implied-eval': 'disallow the use of `eval()`-like methods', - 'no-inline-comments': 'disallow inline comments after code', - - 'no-invalid-this': 'disallow use of `this` in contexts where the value of `this` is `undefined`', - 'no-iterator': 'disallow the use of the `__iterator__` property', - 'no-label-var': 'disallow labels that share a name with a variable', - 'no-labels': 'disallow labeled statements', - 'no-lone-blocks': 'disallow unnecessary nested blocks', - 'no-lonely-if': 'disallow `if` statements as the only statement in `else` blocks', - - 'no-loop-func': - 'disallow function declarations that contain unsafe references inside loop statements', - 'no-magic-numbers': 'disallow magic numbers', - 'no-mixed-operators': 'disallow mixed binary operators', - 'no-multi-assign': 'disallow use of chained assignment expressions', - 'no-multi-str': 'disallow multiline strings', - 'no-negated-condition': 'disallow negated conditions', - 'no-nested-ternary': 'disallow nested ternary expressions', - 'no-new': 'disallow `new` operators outside of assignments or comparisons', - 'no-new-func': 'disallow `new` operators with the `Function` object', - 'no-new-object': 'disallow `Object` constructors', - - 'no-new-wrappers': 'disallow `new` operators with the `String`, `Number`, and `Boolean` objects', - 'no-nonoctal-decimal-escape': 'disallow `\\8` and `\\9` escape sequences in string literals', - 'no-octal': 'disallow octal literals', - 'no-octal-escape': 'disallow octal escape sequences in string literals', - 'no-param-reassign': 'disallow reassigning `function` parameters', - 'no-plusplus': 'disallow the unary operators `++` and `--`', - 'no-proto': 'disallow the use of the `__proto__` property', - 'no-redeclare': 'disallow variable redeclaration', - 'no-regex-spaces': 'disallow multiple spaces in regular expressions', - 'no-restricted-exports': 'disallow specified names in exports', - 'no-restricted-globals': 'disallow specified global variables', - 'no-restricted-imports': 'disallow specified modules when loaded by `import`', - 'no-restricted-properties': 'disallow certain properties on certain objects', - 'no-restricted-syntax': 'disallow specified syntax', - 'no-return-assign': 'disallow assignment operators in `return` statements', - 'no-return-await': 'disallow unnecessary `return await`', - 'no-script-url': 'disallow `javascript:` urls', - 'no-sequences': 'disallow comma operators', - - 'no-shadow': - 'disallow variable declarations from shadowing variables declared in the outer scope', - 'no-shadow-restricted-names': 'disallow identifiers from shadowing restricted names', - 'no-ternary': 'disallow ternary operators', - 'no-throw-literal': 'disallow throwing literals as exceptions', - 'no-undef-init': 'disallow initializing variables to `undefined`', - 'no-undefined': 'disallow the use of `undefined` as an identifier', - 'no-underscore-dangle': 'disallow dangling underscores in identifiers', - 'no-unneeded-ternary': 'disallow ternary operators when simpler alternatives exist', - 'no-unused-expressions': 'disallow unused expressions', - 'no-unused-labels': 'disallow unused labels', - 'no-useless-call': 'disallow unnecessary calls to `.call()` and `.apply()`', - 'no-useless-catch': 'disallow unnecessary `catch` clauses', - - 'no-useless-computed-key': 'disallow unnecessary computed property keys in objects and classes', - 'no-useless-concat': 'disallow unnecessary concatenation of literals or template literals', - 'no-useless-constructor': 'disallow unnecessary constructors', - 'no-useless-escape': 'disallow unnecessary escape characters', - - 'no-useless-rename': - 'disallow renaming import, export, and destructured assignments to the same name', - 'no-useless-return': 'disallow redundant return statements', - 'no-var': 'require `let` or `const` instead of `var`', - 'no-void': 'disallow `void` operators', - 'no-warning-comments': 'disallow specified warning terms in comments', - 'no-with': 'disallow `with` statements', - - 'object-shorthand': - 'require or disallow method and property shorthand syntax for object literals', - 'one-var': 'enforce variables to be declared either together or separately in functions', - 'one-var-declaration-per-line': 'require or disallow newlines around variable declarations', - 'operator-assignment': 'require or disallow assignment operator shorthand where possible', - 'prefer-arrow-callback': 'require using arrow functions for callbacks', - - 'prefer-const': - 'require `const` declarations for variables that are never reassigned after declared', - 'prefer-destructuring': 'require destructuring from arrays and/or objects', - - 'prefer-exponentiation-operator': 'disallow the use of `Math.pow` in favor of the `**` operator', - 'prefer-named-capture-group': 'enforce using named capture group in regular expression', - - 'prefer-numeric-literals': - 'disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals', - - 'prefer-object-has-own': - 'disallow use of `Object.prototype.hasOwnProperty.call()` and prefer use of `Object.hasOwn()`', - - 'prefer-object-spread': - 'disallow using Object.assign with an object literal as the first argument and prefer the use of object spread instead.', - 'prefer-promise-reject-errors': 'require using Error objects as Promise rejection reasons', - - 'prefer-regex-literals': - 'disallow use of the `RegExp` constructor in favor of regular expression literals', - 'prefer-rest-params': 'require rest parameters instead of `arguments`', - 'prefer-spread': 'require spread operators instead of `.apply()`', - 'prefer-template': 'require template literals instead of string concatenation', - 'quote-props': 'require quotes around object literal property names', - 'radix': 'enforce the consistent use of the radix argument when using `parseInt()`', - 'require-await': 'disallow async functions which have no `await` expression', - 'require-unicode-regexp': 'enforce the use of `u` flag on RegExp', - 'require-yield': 'require generator functions to contain `yield`', - 'sort-imports': 'enforce sorted import declarations within modules', - 'sort-keys': 'require object keys to be sorted', - 'sort-vars': 'require variables within the same declaration block to be sorted', - 'spaced-comment': 'enforce consistent spacing after the `//` or `/*` in a comment', - 'strict': 'require or disallow strict mode directives', - 'symbol-description': 'require symbol descriptions', - 'vars-on-top': 'require `var` declarations be placed at the top of their containing scope', - 'yoda': 'require or disallow "Yoda" conditions', - //--------------------------------------------------------------------------------------------- - 'array-bracket-newline': 'enforce linebreaks after opening and before closing array brackets', - 'array-bracket-spacing': 'enforce consistent spacing inside array brackets', - 'array-element-newline': 'enforce line breaks after each array element', - 'arrow-parens': 'require parentheses around arrow function arguments', - 'arrow-spacing': 'enforce consistent spacing before and after the arrow in arrow functions', - - 'block-spacing': - 'disallow or enforce spaces inside of blocks after opening block and before closing block', - 'brace-style': 'enforce consistent brace style for blocks', - 'comma-dangle': 'require or disallow trailing commas', - 'comma-spacing': 'enforce consistent spacing before and after commas', - 'comma-style': 'enforce consistent comma style', - 'computed-property-spacing': 'enforce consistent spacing inside computed property brackets', - 'dot-location': 'enforce consistent newlines before and after dots', - 'eol-last': 'require or disallow newline at the end of files', - - 'func-call-spacing': - 'require or disallow spacing between function identifiers and their invocations', - 'function-call-argument-newline': 'enforce line breaks between arguments of a function call', - 'function-paren-newline': 'enforce consistent line breaks inside function parentheses', - - 'generator-star-spacing': - 'enforce consistent spacing around `*` operators in generator functions', - 'implicit-arrow-linebreak': 'enforce the location of arrow function bodies', - 'indent': 'enforce consistent indentation', - - 'jsx-quotes': 'enforce the consistent use of either double or single quotes in JSX attributes', - - 'key-spacing': 'enforce consistent spacing between keys and values in object literal properties', - 'keyword-spacing': 'enforce consistent spacing before and after keywords', - 'line-comment-position': 'enforce position of line comments', - 'linebreak-style': 'enforce consistent linebreak style', - 'lines-around-comment': 'require empty lines around comments', - 'lines-between-class-members': 'require or disallow an empty line between class members', - 'max-len': 'enforce a maximum line length', - 'max-statements-per-line': 'enforce a maximum number of statements allowed per line', - 'multiline-ternary': 'enforce newlines between operands of ternary expressions', - 'new-parens': 'enforce or disallow parentheses when invoking a constructor with no arguments', - 'newline-per-chained-call': 'require a newline after each call in a method chain', - 'no-extra-parens': 'disallow unnecessary parentheses', - 'no-mixed-spaces-and-tabs': 'disallow mixed spaces and tabs for indentation', - 'no-multi-spaces': 'disallow multiple spaces', - 'no-multiple-empty-lines': 'disallow multiple empty lines', - 'no-tabs': 'disallow all tabs', - 'no-trailing-spaces': 'disallow trailing whitespace at the end of lines', - 'no-whitespace-before-property': 'disallow whitespace before properties', - 'nonblock-statement-body-position': 'enforce the location of single-line statements', - - 'object-curly-newline': 'enforce consistent line breaks after opening and before closing braces', - 'object-curly-spacing': 'enforce consistent spacing inside braces', - 'object-property-newline': 'enforce placing object properties on separate lines', - 'operator-linebreak': 'enforce consistent linebreak style for operators', - 'padded-blocks': 'require or disallow padding within blocks', - 'padding-line-between-statements': 'require or disallow padding lines between statements', - 'quotes': 'enforce the consistent use of either backticks, double, or single quotes', - - 'rest-spread-spacing': 'enforce spacing between rest and spread operators and their expressions', - 'semi': 'require or disallow semicolons instead of ASI', - 'semi-spacing': 'enforce consistent spacing before and after semicolons', - 'semi-style': 'enforce location of semicolons', - 'space-before-blocks': 'enforce consistent spacing before blocks', - - 'space-before-function-paren': - 'enforce consistent spacing before `function` definition opening parenthesis', - 'space-in-parens': 'enforce consistent spacing inside parentheses', - 'space-infix-ops': 'require spacing around infix operators', - 'space-unary-ops': 'enforce consistent spacing before or after unary operators', - 'switch-colon-spacing': 'enforce spacing around colons of switch statements', - - 'template-curly-spacing': - 'require or disallow spacing around embedded expressions of template strings', - - 'template-tag-spacing': 'require or disallow spacing between template tags and their literals', - 'unicode-bom': 'require or disallow Unicode byte order mark (BOM)', - 'wrap-iife': 'require parentheses around immediate `function` invocations', - 'wrap-regex': 'require parenthesis around regex literals', - 'yield-star-spacing': 'require or disallow spacing around the `*` in `yield*` expressions', - }, - }, -}; diff --git a/apps/frontend/src/data/monthsName.ts b/apps/frontend/src/data/monthsName.ts deleted file mode 100644 index 842f35240..000000000 --- a/apps/frontend/src/data/monthsName.ts +++ /dev/null @@ -1,14 +0,0 @@ -export const monthsName = [ - 'January', - 'February', - 'March', - 'April', - 'May', - 'June', - 'July', - 'August', - 'September', - 'October', - 'November', - 'December', -]; diff --git a/apps/frontend/src/data/newPolicySortByOptions.ts b/apps/frontend/src/data/newPolicySortByOptions.ts deleted file mode 100644 index c64f99165..000000000 --- a/apps/frontend/src/data/newPolicySortByOptions.ts +++ /dev/null @@ -1 +0,0 @@ -export const sortByOptions = ['Popularity', 'Names: A-Z']; diff --git a/apps/frontend/src/data/policiesFilter.ts b/apps/frontend/src/data/policiesFilter.ts deleted file mode 100644 index fed6049f9..000000000 --- a/apps/frontend/src/data/policiesFilter.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const types = ['linter', 'others']; - -export const categories = ['Yazif', 'Yazif', 'Yazif', 'Yazif']; diff --git a/apps/frontend/src/data/ruleAlertTypes.ts b/apps/frontend/src/data/ruleAlertTypes.ts deleted file mode 100644 index cab5f12ef..000000000 --- a/apps/frontend/src/data/ruleAlertTypes.ts +++ /dev/null @@ -1 +0,0 @@ -export const ruleAlertTypes = ['off', 'warn', 'error']; diff --git a/apps/frontend/src/pages/groupCenter.tsx b/apps/frontend/src/pages/groupCenter.tsx deleted file mode 100644 index bb7679e8b..000000000 --- a/apps/frontend/src/pages/groupCenter.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; - -import GroupCenter from '../components/containers/GroupCenter'; - -interface IProps {} - -const GroupCenterPage: React.FC = () => { - return ; -}; - -GroupCenterPage.displayName = 'GroupCenterPage'; - -export default GroupCenterPage; diff --git a/apps/frontend/src/pages/tokenManagement.tsx b/apps/frontend/src/pages/tokenManagement.tsx deleted file mode 100644 index 3df9deff7..000000000 --- a/apps/frontend/src/pages/tokenManagement.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; - -import TokenManagement from '../components/containers/TokenManagement'; -// import Features from '../components/containers/Features'; - -interface IProps {} - -const TokenManagerPage: React.FC = () => { - return ; -}; - -TokenManagerPage.displayName = 'tokenManagement'; - -export default TokenManagerPage; diff --git a/apps/frontend/src/store/app.ts b/apps/frontend/src/store/app.ts index 66dd03634..7ff040c92 100644 --- a/apps/frontend/src/store/app.ts +++ b/apps/frontend/src/store/app.ts @@ -1,7 +1,6 @@ import { configureStore } from '@reduxjs/toolkit'; import authReducer from './reducers/auth'; - import authListenMiddleware from './middlewares/auth'; const store = configureStore({ diff --git a/apps/frontend/src/store/middlewares/auth.ts b/apps/frontend/src/store/middlewares/auth.ts index fa51c483b..1aba46772 100644 --- a/apps/frontend/src/store/middlewares/auth.ts +++ b/apps/frontend/src/store/middlewares/auth.ts @@ -24,14 +24,14 @@ listenerMiddleware.startListening({ let isLoggedIn = true; while (isLoggedIn) { + await listnerApi.delay(ACCESS_TOKEN_REFRESH_TIMEOUT); + try { const response = await backendApiAxios.post( '/user/auth/refresh-token', ); sessionStorage.setItem('token', response.data.accessToken); - - await listnerApi.delay(ACCESS_TOKEN_REFRESH_TIMEOUT); } catch { listnerApi.dispatch(authActions.logout()); diff --git a/apps/frontend/src/utils/currentDate.ts b/apps/frontend/src/utils/currentDate.ts deleted file mode 100644 index ed6520df9..000000000 --- a/apps/frontend/src/utils/currentDate.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { monthsName } from '@/data/monthsName'; - -export const currentDate = () => { - return new Date().getDate() + ' ' + monthsName[new Date().getMonth()] + ' ' + new Date().getFullYear(); - // day: new Date().getDate(), - // month: monthsName[new Date().getMonth()], - // year: new Date().getFullYear(), -}; diff --git a/apps/frontend/src/utils/validators.ts b/apps/frontend/src/utils/validators.ts deleted file mode 100644 index 6efbae820..000000000 --- a/apps/frontend/src/utils/validators.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * The function validates for a valid email - * @param email the email input - * @returns boolean flag indicates whether the email is valid - */ -export const validateEmail = (email: string) => { - const emailRegex = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/; - - return emailRegex.test(email); -}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6260516fc..df8eecdcd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,10 +13,8 @@ importers: '@types/react': 18.0.15 '@types/react-dom': 18.0.6 '@types/react-router-dom': 5.3.3 - '@types/uniqid': 5.3.2 '@typescript-eslint/eslint-plugin': 5.30.5 '@typescript-eslint/parser': 5.30.5 - '@uiw/react-textarea-code-editor': 2.0.2 axios: 0.27.2 depcheck: 1.4.3 eslint: 8.19.0 @@ -46,10 +44,8 @@ importers: tsconfig-paths-webpack-plugin: 3.5.2 typescript: 4.7.4 typescript-plugin-css-modules: 3.4.0 - uniqid: 5.4.0 dependencies: '@reduxjs/toolkit': 1.8.3_kkwg4cbsojnjnupd3btipussee - '@uiw/react-textarea-code-editor': 2.0.2_biqbaboplfbrettd7655fr4n2y axios: 0.27.2 i18next: 21.8.13 react: 18.2.0 @@ -59,7 +55,6 @@ importers: react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y react-scripts: 5.0.1_vu2atnx4dbjezbluzf4fvm7i7a typescript: 4.7.4 - uniqid: 5.4.0 devDependencies: '@babel/core': 7.18.6 '@babel/plugin-syntax-flow': 7.18.6_@babel+core@7.18.6 @@ -69,7 +64,6 @@ importers: '@types/react': 18.0.15 '@types/react-dom': 18.0.6 '@types/react-router-dom': 5.3.3 - '@types/uniqid': 5.3.2 '@typescript-eslint/eslint-plugin': 5.30.5_6zdoc3rn4mpiddqwhppni2mnnm '@typescript-eslint/parser': 5.30.5_4x5o4skxv6sl53vpwefgt23khm depcheck: 1.4.3 @@ -381,7 +375,7 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 dev: true /@babel/parser/7.18.6: @@ -1273,7 +1267,7 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.18.6_@babel+core@7.18.6 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.18.6 '@babel/preset-modules': 0.1.5_@babel+core@7.18.6 - '@babel/types': 7.18.7 + '@babel/types': 7.18.8 babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.18.6 babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.18.6 babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.18.6 @@ -1328,13 +1322,6 @@ packages: core-js-pure: 3.23.4 regenerator-runtime: 0.13.9 - /@babel/runtime/7.17.9: - resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.9 - dev: false - /@babel/runtime/7.18.6: resolution: {integrity: sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==} engines: {node: '>=6.9.0'} @@ -1543,17 +1530,6 @@ packages: dependencies: postcss: 8.4.14 - /@csstools/selector-specificity/2.0.1_444rcjjorr3kpoqtvoodsr46pu: - resolution: {integrity: sha512-aG20vknL4/YjQF9BSV7ts4EWm/yrjagAN7OWBNmlbEOUiu0llj4OGrFoOKK3g2vey4/p2omKCoHrWtPxSwV3HA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.3 - postcss-selector-parser: ^6.0.10 - dependencies: - postcss: 8.4.14 - postcss-selector-parser: 6.0.10 - dev: true - /@csstools/selector-specificity/2.0.2_444rcjjorr3kpoqtvoodsr46pu: resolution: {integrity: sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==} engines: {node: ^12 || ^14 || >=16} @@ -2226,12 +2202,6 @@ packages: dependencies: '@types/node': 18.0.0 - /@types/hast/2.3.4: - resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} - dependencies: - '@types/unist': 2.0.6 - dev: false - /@types/history/4.7.11: resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} dev: true @@ -2295,17 +2265,9 @@ packages: /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - /@types/parse5/6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - dev: false - /@types/prettier/2.6.3: resolution: {integrity: sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg==} - /@types/prismjs/1.26.0: - resolution: {integrity: sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==} - dev: false - /@types/prop-types/15.7.5: resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} @@ -2378,14 +2340,6 @@ packages: /@types/trusted-types/2.0.2: resolution: {integrity: sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==} - /@types/uniqid/5.3.2: - resolution: {integrity: sha512-/NYoaZpWsnAJDsGYeMNDeG3p3fuUb4AiC7MfKxi5VSu18tXd08w6Ch0fKW94T4FeLXXZwZPoFgHA1O0rDYKyMQ==} - dev: true - - /@types/unist/2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - dev: false - /@types/use-sync-external-store/0.0.3: resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} dev: false @@ -2593,23 +2547,10 @@ packages: '@typescript-eslint/types': 5.30.5 eslint-visitor-keys: 3.3.0 - /@uiw/react-textarea-code-editor/2.0.2_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-RIV6WQ7TeAkvbYcWAEuum0AxnvD1e3l/zhFbG053Q0I/qo/4hZXIbGgKsNwN/PN8/sdoEQk9pjqjt8zrPVz7nw==} - peerDependencies: - react: '>=16.9.0' - react-dom: '>=16.9.0' - dependencies: - '@babel/runtime': 7.17.9 - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - rehype: 12.0.1 - rehype-prism-plus: 1.3.2 - dev: false - /@vue/compiler-core/3.2.37: resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==} dependencies: - '@babel/parser': 7.18.6 + '@babel/parser': 7.18.8 '@vue/shared': 3.2.37 estree-walker: 2.0.2 source-map: 0.6.1 @@ -2625,7 +2566,7 @@ packages: /@vue/compiler-sfc/3.2.37: resolution: {integrity: sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==} dependencies: - '@babel/parser': 7.18.6 + '@babel/parser': 7.18.8 '@vue/compiler-core': 3.2.37 '@vue/compiler-dom': 3.2.37 '@vue/compiler-ssr': 3.2.37 @@ -2647,7 +2588,7 @@ packages: /@vue/reactivity-transform/3.2.37: resolution: {integrity: sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==} dependencies: - '@babel/parser': 7.18.6 + '@babel/parser': 7.18.8 '@vue/compiler-core': 3.2.37 '@vue/shared': 3.2.37 estree-walker: 2.0.2 @@ -3220,10 +3161,6 @@ packages: transitivePeerDependencies: - supports-color - /bail/2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: false - /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -3396,10 +3333,6 @@ packages: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} - /ccount/2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: false - /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -3446,22 +3379,6 @@ packages: resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} engines: {node: '>=12.20'} - /character-entities-html4/2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - dev: false - - /character-entities-legacy/3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - dev: false - - /character-entities/2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: false - - /character-reference-invalid/2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - dev: false - /check-types/11.1.2: resolution: {integrity: sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==} @@ -3553,10 +3470,6 @@ packages: dependencies: delayed-stream: 1.0.0 - /comma-separated-tokens/2.0.2: - resolution: {integrity: sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==} - dev: false - /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -4015,12 +3928,6 @@ packages: /decimal.js/10.3.1: resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} - /decode-named-character-reference/1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} - dependencies: - character-entities: 2.0.2 - dev: false - /decode-uri-component/0.2.0: resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} engines: {node: '>=0.10'} @@ -4072,7 +3979,7 @@ packages: hasBin: true dependencies: '@babel/parser': 7.16.4 - '@babel/traverse': 7.18.6 + '@babel/traverse': 7.18.8 '@vue/compiler-sfc': 3.2.37 camelcase: 6.3.0 cosmiconfig: 7.0.1 @@ -4888,10 +4795,6 @@ packages: transitivePeerDependencies: - supports-color - /extend/3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: false - /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -5310,67 +5213,6 @@ packages: dependencies: function-bind: 1.1.1 - /hast-util-from-parse5/7.1.0: - resolution: {integrity: sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ==} - dependencies: - '@types/hast': 2.3.4 - '@types/parse5': 6.0.3 - '@types/unist': 2.0.6 - hastscript: 7.0.2 - property-information: 6.1.1 - vfile: 5.3.4 - vfile-location: 4.0.1 - web-namespaces: 2.0.1 - dev: false - - /hast-util-is-element/2.1.2: - resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==} - dependencies: - '@types/hast': 2.3.4 - '@types/unist': 2.0.6 - dev: false - - /hast-util-parse-selector/3.1.0: - resolution: {integrity: sha512-AyjlI2pTAZEOeu7GeBPZhROx0RHBnydkQIXlhnFzDi0qfXTmGUWoCYZtomHbrdrheV4VFUlPcfJ6LMF5T6sQzg==} - dependencies: - '@types/hast': 2.3.4 - dev: false - - /hast-util-to-html/8.0.3: - resolution: {integrity: sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==} - dependencies: - '@types/hast': 2.3.4 - ccount: 2.0.1 - comma-separated-tokens: 2.0.2 - hast-util-is-element: 2.1.2 - hast-util-whitespace: 2.0.0 - html-void-elements: 2.0.1 - property-information: 6.1.1 - space-separated-tokens: 2.0.1 - stringify-entities: 4.0.3 - unist-util-is: 5.1.1 - dev: false - - /hast-util-to-string/2.0.0: - resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} - dependencies: - '@types/hast': 2.3.4 - dev: false - - /hast-util-whitespace/2.0.0: - resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==} - dev: false - - /hastscript/7.0.2: - resolution: {integrity: sha512-uA8ooUY4ipaBvKcMuPehTAB/YfFLSSzCwFSwT6ltJbocFUKH/GDHLN+tflq7lSRf9H86uOuxOFkh1KgIy3Gg2g==} - dependencies: - '@types/hast': 2.3.4 - comma-separated-tokens: 2.0.2 - hast-util-parse-selector: 3.1.0 - property-information: 6.1.1 - space-separated-tokens: 2.0.1 - dev: false - /he/1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -5453,10 +5295,6 @@ packages: engines: {node: '>=8'} dev: true - /html-void-elements/2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - dev: false - /html-webpack-plugin/5.5.0_webpack@5.73.0: resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} engines: {node: '>=10.13.0'} @@ -5716,17 +5554,6 @@ packages: resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} - /is-alphabetical/2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - dev: false - - /is-alphanumerical/2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 - dev: false - /is-arrayish/0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -5748,11 +5575,6 @@ packages: call-bind: 1.0.2 has-tostringtag: 1.0.0 - /is-buffer/2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: false - /is-callable/1.2.4: resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} engines: {node: '>= 0.4'} @@ -5768,10 +5590,6 @@ packages: dependencies: has-tostringtag: 1.0.0 - /is-decimal/2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - dev: false - /is-docker/2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -5795,10 +5613,6 @@ packages: dependencies: is-extglob: 2.1.1 - /is-hexadecimal/2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - dev: false - /is-lower-case/1.1.3: resolution: {integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==} dependencies: @@ -5835,11 +5649,6 @@ packages: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} engines: {node: '>=10'} - /is-plain-obj/4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: false - /is-plain-object/5.0.0: resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} @@ -7263,19 +7072,6 @@ packages: dependencies: callsites: 3.1.0 - /parse-entities/4.0.0: - resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==} - dependencies: - '@types/unist': 2.0.6 - character-entities: 2.0.2 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - dev: false - /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -7290,10 +7086,6 @@ packages: engines: {node: '>= 0.10'} dev: true - /parse-numeric-range/1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - dev: false - /parse5/6.0.1: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} @@ -8231,10 +8023,6 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 - /property-information/6.1.1: - resolution: {integrity: sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==} - dev: false - /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -8630,15 +8418,6 @@ packages: '@babel/runtime': 7.18.6 dev: false - /refractor/4.7.0: - resolution: {integrity: sha512-X3JUDE7nq1csWs7Etg5v7hW10RzF4lYesEn/KDbllocj0itZrs3paO2ZEgYUXrlgXzY3IN+eDRByyIvzcfF9Tg==} - dependencies: - '@types/hast': 2.3.4 - '@types/prismjs': 1.26.0 - hastscript: 7.0.2 - parse-entities: 4.0.0 - dev: false - /regenerate-unicode-properties/10.0.1: resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==} engines: {node: '>=4'} @@ -8691,43 +8470,6 @@ packages: dependencies: jsesc: 0.5.0 - /rehype-parse/8.0.4: - resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==} - dependencies: - '@types/hast': 2.3.4 - hast-util-from-parse5: 7.1.0 - parse5: 6.0.1 - unified: 10.1.2 - dev: false - - /rehype-prism-plus/1.3.2: - resolution: {integrity: sha512-fQXzzMpQu+XM/GUsT0GdwfU8gwpUJ1QjE0BLrMjuULkpFW6/GViNvUJKtIiYc9/uSh6k33CB0YbSa90Bs6R3TQ==} - dependencies: - hast-util-to-string: 2.0.0 - parse-numeric-range: 1.3.0 - refractor: 4.7.0 - rehype-parse: 8.0.4 - unist-util-filter: 4.0.0 - unist-util-visit: 4.1.0 - dev: false - - /rehype-stringify/9.0.3: - resolution: {integrity: sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==} - dependencies: - '@types/hast': 2.3.4 - hast-util-to-html: 8.0.3 - unified: 10.1.2 - dev: false - - /rehype/12.0.1: - resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} - dependencies: - '@types/hast': 2.3.4 - rehype-parse: 8.0.4 - rehype-stringify: 9.0.3 - unified: 10.1.2 - dev: false - /relateurl/0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} @@ -9173,10 +8915,6 @@ packages: /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - /space-separated-tokens/2.0.1: - resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==} - dev: false - /spdx-correct/3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: @@ -9308,13 +9046,6 @@ packages: dependencies: safe-buffer: 5.2.1 - /stringify-entities/4.0.3: - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} - dependencies: - character-entities-html4: 2.1.0 - character-entities-legacy: 3.0.0 - dev: false - /stringify-object/3.3.0: resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} engines: {node: '>=4'} @@ -9484,7 +9215,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dependencies: - '@csstools/selector-specificity': 2.0.1_444rcjjorr3kpoqtvoodsr46pu + '@csstools/selector-specificity': 2.0.2_444rcjjorr3kpoqtvoodsr46pu balanced-match: 2.0.0 colord: 2.9.2 cosmiconfig: 7.0.1 @@ -9790,10 +9521,6 @@ packages: engines: {node: '>=8'} dev: true - /trough/2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} - dev: false - /tryer/1.0.1: resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} @@ -9970,61 +9697,12 @@ packages: resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} engines: {node: '>=4'} - /unified/10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} - dependencies: - '@types/unist': 2.0.6 - bail: 2.0.2 - extend: 3.0.2 - is-buffer: 2.0.5 - is-plain-obj: 4.1.0 - trough: 2.1.0 - vfile: 5.3.4 - dev: false - - /uniqid/5.4.0: - resolution: {integrity: sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A==} - dev: false - /unique-string/2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} dependencies: crypto-random-string: 2.0.0 - /unist-util-filter/4.0.0: - resolution: {integrity: sha512-H4iTOv2p+n83xjhx7eGFA3zSx7Xcv3Iv9lNQRpXiR8dmm9LtslhyjVlQrZLbkk4jwUrJgc8PPGkOOrfhb76s4Q==} - dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.1.1 - unist-util-visit-parents: 5.1.0 - dev: false - - /unist-util-is/5.1.1: - resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} - dev: false - - /unist-util-stringify-position/3.0.2: - resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} - dependencies: - '@types/unist': 2.0.6 - dev: false - - /unist-util-visit-parents/5.1.0: - resolution: {integrity: sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==} - dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.1.1 - dev: false - - /unist-util-visit/4.1.0: - resolution: {integrity: sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==} - dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.1.1 - unist-util-visit-parents: 5.1.0 - dev: false - /universalify/0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -10130,29 +9808,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vfile-location/4.0.1: - resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==} - dependencies: - '@types/unist': 2.0.6 - vfile: 5.3.4 - dev: false - - /vfile-message/3.1.2: - resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==} - dependencies: - '@types/unist': 2.0.6 - unist-util-stringify-position: 3.0.2 - dev: false - - /vfile/5.3.4: - resolution: {integrity: sha512-KI+7cnst03KbEyN1+JE504zF5bJBZa+J+CrevLeyIMq0aPU681I2rQ5p4PlnQ6exFtWiUrg26QUdFMnAKR6PIw==} - dependencies: - '@types/unist': 2.0.6 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.2 - vfile-message: 3.1.2 - dev: false - /void-elements/3.1.0: resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=} engines: {node: '>=0.10.0'} @@ -10186,10 +9841,6 @@ packages: dependencies: minimalistic-assert: 1.0.1 - /web-namespaces/2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - dev: false - /webidl-conversions/4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}