From bdbf77faa29fc1bfae3bba0803d6c4ae62da9394 Mon Sep 17 00:00:00 2001 From: IRBorisov <8611739+IRBorisov@users.noreply.github.com> Date: Sun, 5 Nov 2023 16:31:49 +0300 Subject: [PATCH] Components refactoring and small fixes --- .../frontend/src/components/Common/Button.tsx | 20 ++++++------- .../src/components/Common/ConceptTooltip.tsx | 9 ++++-- .../src/components/Common/FileInput.tsx | 3 +- .../src/components/Common/MiniButton.tsx | 2 +- .../frontend/src/components/Common/Modal.tsx | 2 +- .../src/components/Common/SelectorButton.tsx | 6 ++-- .../src/components/Common/TextArea.tsx | 15 +++++----- .../src/components/Common/TextInput.tsx | 28 ++++++++++--------- .../src/components/commonInterfaces.ts | 17 +++++++++++ rsconcept/frontend/src/index.css | 1 - rsconcept/frontend/src/pages/LoginPage.tsx | 8 +++--- .../pages/RSFormPage/EditorConstituenta.tsx | 2 +- .../pages/RSFormPage/EditorRSExpression.tsx | 6 ++-- .../pages/RSFormPage/elements/RSTabsMenu.tsx | 6 ++-- .../pages/UserProfilePage/EditorPassword.tsx | 4 +-- .../pages/UserProfilePage/EditorProfile.tsx | 2 +- rsconcept/frontend/src/utils/labels.ts | 2 +- 17 files changed, 78 insertions(+), 55 deletions(-) create mode 100644 rsconcept/frontend/src/components/commonInterfaces.ts diff --git a/rsconcept/frontend/src/components/Common/Button.tsx b/rsconcept/frontend/src/components/Common/Button.tsx index efb5476b..e5a95a2c 100644 --- a/rsconcept/frontend/src/components/Common/Button.tsx +++ b/rsconcept/frontend/src/components/Common/Button.tsx @@ -1,35 +1,35 @@ +import { IColorsProps, IControlProps } from '../commonInterfaces' + interface ButtonProps -extends Omit, 'className' | 'children' | 'title'| 'type'> { +extends IControlProps, IColorsProps, Omit, 'className' | 'children' | 'title'| 'type'> { text?: string icon?: React.ReactNode - tooltip?: string + dense?: boolean loading?: boolean - dimensions?: string - borderClass?: string - colorClass?: string } function Button({ text, icon, tooltip, - dense, disabled, - borderClass = 'border rounded', - colorClass = 'clr-btn-default', + dense, disabled, noBorder, noOutline, + colors = 'clr-btn-default', dimensions = 'w-fit h-fit', loading, ...props }: ButtonProps) { + const borderClass = noBorder ? '' : 'border rounded'; const padding = dense ? 'px-1' : 'px-3 py-2'; + const outlineClass = noOutline ? 'outline-none': 'clr-outline'; const cursor = 'disabled:cursor-not-allowed ' + (loading ? 'cursor-progress ' : 'cursor-pointer '); return ( ); } diff --git a/rsconcept/frontend/src/components/Common/ConceptTooltip.tsx b/rsconcept/frontend/src/components/Common/ConceptTooltip.tsx index 1f150ff5..bc9ad207 100644 --- a/rsconcept/frontend/src/components/Common/ConceptTooltip.tsx +++ b/rsconcept/frontend/src/components/Common/ConceptTooltip.tsx @@ -7,13 +7,18 @@ extends Omit { layer?: string } -function ConceptTooltip({ className, layer, place='bottom', ...props }: ConceptTooltipProps) { +function ConceptTooltip({ + className, + layer='z-tooltip', + place='bottom', + ...props +}: ConceptTooltipProps) { const { darkMode } = useConceptTheme(); return ( , 'className' | 'title' | 'style' | 'accept' | 'type'> { label: string tooltip?: string - acceptType?: string dimensions?: string + + acceptType?: string onChange?: (event: React.ChangeEvent) => void } diff --git a/rsconcept/frontend/src/components/Common/MiniButton.tsx b/rsconcept/frontend/src/components/Common/MiniButton.tsx index 7fdafc78..aaf09909 100644 --- a/rsconcept/frontend/src/components/Common/MiniButton.tsx +++ b/rsconcept/frontend/src/components/Common/MiniButton.tsx @@ -1,5 +1,5 @@ interface MiniButtonProps -extends Omit, 'className' | 'title' |'children' > { +extends Omit, 'className' | 'title' | 'children' > { icon: React.ReactNode tooltip?: string noHover?: boolean diff --git a/rsconcept/frontend/src/components/Common/Modal.tsx b/rsconcept/frontend/src/components/Common/Modal.tsx index 8be6bc10..d6fdbce7 100644 --- a/rsconcept/frontend/src/components/Common/Modal.tsx +++ b/rsconcept/frontend/src/components/Common/Modal.tsx @@ -52,7 +52,7 @@ function Modal({ text={submitText} tooltip={!canSubmit ? submitInvalidTooltip: ''} dimensions='min-w-[6rem] min-h-[2.6rem] w-fit h-fit' - colorClass='clr-btn-primary' + colors='clr-btn-primary' disabled={!canSubmit} onClick={handleSubmit} autoFocus diff --git a/rsconcept/frontend/src/components/Common/SelectorButton.tsx b/rsconcept/frontend/src/components/Common/SelectorButton.tsx index 41b62735..1b3de957 100644 --- a/rsconcept/frontend/src/components/Common/SelectorButton.tsx +++ b/rsconcept/frontend/src/components/Common/SelectorButton.tsx @@ -5,14 +5,14 @@ extends Omit, 'className' | 'child tooltip?: string dimensions?: string borderClass?: string - colorClass?: string + colors?: string transparent?: boolean } function SelectorButton({ text, icon, tooltip, - colorClass = 'clr-btn-default', + colors = 'clr-btn-default', dimensions = 'w-fit h-fit', transparent, ...props @@ -21,7 +21,7 @@ function SelectorButton({ const position = `px-1 flex flex-start items-center gap-1 ${dimensions}` return (