From ada335ee21bbc9e94b5cb0393acd69c754f3d009 Mon Sep 17 00:00:00 2001
From: IRBorisov <8611739+IRBorisov@users.noreply.github.com>
Date: Sat, 16 Dec 2023 19:20:26 +0300
Subject: [PATCH] Rework UI toolbars and icons
---
README.md | 1 +
rsconcept/frontend/package-lock.json | 9 +
rsconcept/frontend/package.json | 1 +
.../src/components/Common/ConceptSearch.tsx | 5 +-
.../src/components/Common/ConceptTooltip.tsx | 3 +-
.../src/components/Common/DropdownButton.tsx | 25 +-
.../src/components/Common/FileInput.tsx | 4 +-
.../frontend/src/components/Common/Modal.tsx | 4 +-
.../src/components/Common/PageControls.tsx | 10 +-
.../components/DataTable/PaginationTools.tsx | 11 +-
.../src/components/DataTable/SortingIcon.tsx | 6 +-
.../components/Help/ConstituentaTooltip.tsx | 2 +-
.../src/components/Help/HelpButton.tsx | 5 +-
.../src/components/Help/HelpLibrary.tsx | 6 +-
rsconcept/frontend/src/components/Icons.tsx | 357 +-----------------
.../src/components/Navigation/Logo.tsx | 2 +-
.../src/components/Navigation/Navigation.tsx | 2 +-
.../components/Navigation/ThemeSwitcher.tsx | 25 --
.../components/Navigation/UserDropdown.tsx | 18 +-
.../components/Shared/InfoConstituenta.tsx | 2 +-
.../src/context/AccessModeContext.tsx | 36 ++
.../frontend/src/context/RSFormContext.tsx | 26 +-
.../DlgConstituentaTemplate/ArgumentsTab.tsx | 10 +-
.../DlgEditWordForms/DlgEditWordForms.tsx | 19 +-
.../DlgEditWordForms/WordFormsTable.tsx | 6 +-
rsconcept/frontend/src/index.css | 4 +
rsconcept/frontend/src/models/miscelanious.ts | 9 +
.../frontend/src/pages/CreateRSFormPage.tsx | 4 +-
.../src/pages/LibraryPage/ItemIcons.tsx | 6 +-
.../src/pages/LibraryPage/PickerStrategy.tsx | 4 +-
.../ConstituentaToolbar.tsx | 17 +-
.../EditorConstituenta/EditorConstituenta.tsx | 15 +-
.../EditorConstituenta/FormConstituenta.tsx | 32 +-
.../EditorRSExpression/EditorRSExpression.tsx | 6 +-
.../RSFormPage/EditorRSForm/EditorRSForm.tsx | 21 +-
.../RSFormPage/EditorRSForm/FormRSForm.tsx | 26 +-
.../RSFormPage/EditorRSForm/RSFormToolbar.tsx | 32 +-
.../RSFormPage/EditorRSList/EditorRSList.tsx | 20 +-
.../RSFormPage/EditorRSList/RSListToolbar.tsx | 35 +-
.../pages/RSFormPage/EditorRSList/RSTable.tsx | 12 +-
.../EditorTermGraph/EditorTermGraph.tsx | 5 +-
.../EditorTermGraph/GraphToolbar.tsx | 18 +-
.../src/pages/RSFormPage/RSFormPage.tsx | 5 +-
.../frontend/src/pages/RSFormPage/RSTabs.tsx | 61 ++-
.../src/pages/RSFormPage/RSTabsMenu.tsx | 206 +++++-----
.../ViewConstituents/ConstituentsSearch.tsx | 10 +-
.../ViewConstituents/ConstituentsTable.tsx | 8 -
.../ViewConstituents/ViewConstituents.tsx | 2 +-
rsconcept/frontend/src/pages/RegisterPage.tsx | 4 +-
.../src/pages/UserProfilePage/UserTabs.tsx | 4 +-
rsconcept/frontend/src/utils/labels.ts | 29 +-
51 files changed, 503 insertions(+), 687 deletions(-)
delete mode 100644 rsconcept/frontend/src/components/Navigation/ThemeSwitcher.tsx
create mode 100644 rsconcept/frontend/src/context/AccessModeContext.tsx
diff --git a/README.md b/README.md
index d80e5085..9ce3c227 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,7 @@ This readme file is used mostly to document project dependencies
- axios
- clsx
+ - react-icons
- react-router-dom
- react-toastify
- react-loader-spinner
diff --git a/rsconcept/frontend/package-lock.json b/rsconcept/frontend/package-lock.json
index b2d53616..5f6f6df1 100644
--- a/rsconcept/frontend/package-lock.json
+++ b/rsconcept/frontend/package-lock.json
@@ -18,6 +18,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^4.0.11",
+ "react-icons": "^4.12.0",
"react-intl": "^6.5.5",
"react-loader-spinner": "^5.4.5",
"react-pdf": "^7.6.0",
@@ -8389,6 +8390,14 @@
"react": ">=16.13.1"
}
},
+ "node_modules/react-icons": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz",
+ "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==",
+ "peerDependencies": {
+ "react": "*"
+ }
+ },
"node_modules/react-intl": {
"version": "6.5.5",
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.5.5.tgz",
diff --git a/rsconcept/frontend/package.json b/rsconcept/frontend/package.json
index 5c6874c5..c04f5207 100644
--- a/rsconcept/frontend/package.json
+++ b/rsconcept/frontend/package.json
@@ -22,6 +22,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-error-boundary": "^4.0.11",
+ "react-icons": "^4.12.0",
"react-intl": "^6.5.5",
"react-loader-spinner": "^5.4.5",
"react-pdf": "^7.6.0",
diff --git a/rsconcept/frontend/src/components/Common/ConceptSearch.tsx b/rsconcept/frontend/src/components/Common/ConceptSearch.tsx
index bb6a03ba..e205f99f 100644
--- a/rsconcept/frontend/src/components/Common/ConceptSearch.tsx
+++ b/rsconcept/frontend/src/components/Common/ConceptSearch.tsx
@@ -1,4 +1,5 @@
-import { MagnifyingGlassIcon } from '../Icons';
+import { BiSearchAlt2 } from 'react-icons/bi';
+
import Overlay from './Overlay';
import TextInput from './TextInput';
@@ -16,7 +17,7 @@ function ConceptSearch({ value, onChange, noBorder, dimensions }: ConceptSearchP
position='top-[-0.125rem] left-3 translate-y-1/2'
className='pointer-events-none clr-text-controls'
>
-
+
void
disabled?: boolean
- children: React.ReactNode
+
+ children?: React.ReactNode
}
-function DropdownButton({ tooltip, onClick, disabled, children }: DropdownButtonProps) {
+function DropdownButton({
+ text, icon, children,
+ tooltip, className,
+ disabled,
+ onClick
+}: DropdownButtonProps) {
return (
);
}
diff --git a/rsconcept/frontend/src/components/Common/FileInput.tsx b/rsconcept/frontend/src/components/Common/FileInput.tsx
index 1bb725c5..b4670175 100644
--- a/rsconcept/frontend/src/components/Common/FileInput.tsx
+++ b/rsconcept/frontend/src/components/Common/FileInput.tsx
@@ -2,8 +2,8 @@
import clsx from 'clsx';
import { useRef, useState } from 'react';
+import { BiUpload } from 'react-icons/bi';
-import { UploadIcon } from '../Icons';
import Button from './Button';
import Label from './Label';
@@ -55,7 +55,7 @@ function FileInput({
/>
Страница {pageNumber} из {pageCount}
>);
}
diff --git a/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx b/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx
index 9b87752c..8490acb8 100644
--- a/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx
+++ b/rsconcept/frontend/src/components/DataTable/PaginationTools.tsx
@@ -3,11 +3,10 @@
import { Table } from '@tanstack/react-table';
import clsx from 'clsx';
import { useCallback } from 'react';
+import { BiChevronLeft, BiChevronRight, BiFirstPage, BiLastPage } from 'react-icons/bi';
import { prefixes } from '@/utils/constants';
-import { GotoFirstIcon, GotoLastIcon, GotoNextIcon, GotoPrevIcon } from '../Icons';
-
interface PaginationToolsProps {
table: Table
paginationOptions: number[]
@@ -47,14 +46,14 @@ function PaginationTools({ table, paginationOptions, onChangePaginationOp
onClick={() => table.setPageIndex(0)}
disabled={!table.getCanPreviousPage()}
>
-
+
({ table, paginationOptions, onChangePaginationOp
onClick={() => table.nextPage()}
disabled={!table.getCanNextPage()}
>
-
+