diff --git a/rsconcept/frontend/src/app/Navigation/Navigation.tsx b/rsconcept/frontend/src/app/Navigation/Navigation.tsx index 944789c1..c2892a7f 100644 --- a/rsconcept/frontend/src/app/Navigation/Navigation.tsx +++ b/rsconcept/frontend/src/app/Navigation/Navigation.tsx @@ -3,7 +3,7 @@ import { motion } from 'framer-motion'; import { FaSquarePlus } from 'react-icons/fa6'; import { IoLibrary } from 'react-icons/io5'; -import { EducationIcon } from '@/components/Icons'; +import { IconManuals } from '@/components/Icons'; import { useConceptNavigation } from '@/context/NavigationContext'; import { useConceptOptions } from '@/context/OptionsContext'; import { animateNavigation } from '@/styling/animations'; @@ -59,12 +59,7 @@ function Navigation() { icon={} onClick={navigateLibrary} /> - } - onClick={navigateHelp} - /> + } onClick={navigateHelp} /> diff --git a/rsconcept/frontend/src/app/Navigation/ToggleNavigationButton.tsx b/rsconcept/frontend/src/app/Navigation/ToggleNavigationButton.tsx index 64b9d337..6b551db8 100644 --- a/rsconcept/frontend/src/app/Navigation/ToggleNavigationButton.tsx +++ b/rsconcept/frontend/src/app/Navigation/ToggleNavigationButton.tsx @@ -1,7 +1,7 @@ import clsx from 'clsx'; import { motion } from 'framer-motion'; -import { RiPushpinFill, RiUnpinLine } from 'react-icons/ri'; +import { IconPin, IconUnpin } from '@/components/Icons'; import { useConceptOptions } from '@/context/OptionsContext'; import { animateNavigationToggle } from '@/styling/animations'; @@ -22,8 +22,8 @@ function ToggleNavigationButton() { animate={noNavigationAnimation ? 'off' : 'on'} variants={animateNavigationToggle} > - {!noNavigationAnimation ? : null} - {noNavigationAnimation ? : null} + {!noNavigationAnimation ? : null} + {noNavigationAnimation ? : null} ); } diff --git a/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx b/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx index 5285855b..bd921512 100644 --- a/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx +++ b/rsconcept/frontend/src/app/Navigation/UserDropdown.tsx @@ -1,5 +1,6 @@ -import { LuLightbulb, LuLightbulbOff, LuLogOut, LuMoon, LuSun, LuUserCircle2 } from 'react-icons/lu'; +import { LuLogOut, LuMoon, LuSun } from 'react-icons/lu'; +import { IconHelp, IconHelpOff, IconUser } from '@/components/Icons'; import Dropdown from '@/components/ui/Dropdown'; import DropdownButton from '@/components/ui/DropdownButton'; import { useAuth } from '@/context/AuthContext'; @@ -38,7 +39,7 @@ function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) { } + icon={} onClick={navigateProfile} /> : } + icon={showHelp ? : } title='Отображение иконок подсказок' onClick={toggleShowHelp} /> diff --git a/rsconcept/frontend/src/app/Navigation/UserMenu.tsx b/rsconcept/frontend/src/app/Navigation/UserMenu.tsx index f940ae29..21b42685 100644 --- a/rsconcept/frontend/src/app/Navigation/UserMenu.tsx +++ b/rsconcept/frontend/src/app/Navigation/UserMenu.tsx @@ -1,6 +1,6 @@ import { FaCircleUser } from 'react-icons/fa6'; -import { InDoorIcon } from '@/components/Icons'; +import { IconLogin } from '@/components/Icons'; import { useAuth } from '@/context/AuthContext'; import { useConceptNavigation } from '@/context/NavigationContext'; import useDropdown from '@/hooks/useDropdown'; @@ -20,7 +20,7 @@ function UserMenu() { {!user ? ( } + icon={} onClick={navigateLogin} /> ) : null} diff --git a/rsconcept/frontend/src/components/Icons.tsx b/rsconcept/frontend/src/components/Icons.tsx index 946b3ca7..c2e8c97a 100644 --- a/rsconcept/frontend/src/components/Icons.tsx +++ b/rsconcept/frontend/src/components/Icons.tsx @@ -1,5 +1,50 @@ // Search new icons at https://reactsvgicons.com/ +export { FiSave as IconSave } from 'react-icons/fi'; +export { BiCheck as IconAccept } from 'react-icons/bi'; +export { BiX as IconClose } from 'react-icons/bi'; +export { BiX as IconRemove } from 'react-icons/bi'; +export { BiTrash as IconDestroy } from 'react-icons/bi'; +export { BiReset as IconReset } from 'react-icons/bi'; +export { BiPlusCircle as IconNewItem } from 'react-icons/bi'; +export { BiDuplicate as IconClone } from 'react-icons/bi'; +export { LuReplace as IconReplace } from 'react-icons/lu'; +export { BiDownload as IconDownload } from 'react-icons/bi'; +export { BiUpload as IconUpload } from 'react-icons/bi'; +export { LiaEdit as IconEdit } from 'react-icons/lia'; +export { RiPushpinFill as IconPin } from 'react-icons/ri'; +export { RiUnpinLine as IconUnpin } from 'react-icons/ri'; +export { BiCog as IconSettings } from 'react-icons/bi'; +export { LuUserCircle2 as IconUser } from 'react-icons/lu'; +export { LuCrown as IconOwner } from 'react-icons/lu'; +export { BiMeteor as IconAdmin } from 'react-icons/bi'; +export { LuGlasses as IconReader } from 'react-icons/lu'; +export { FiBell as IconFollow } from 'react-icons/fi'; +export { FiBellOff as IconFollowOff } from 'react-icons/fi'; + +export { BiListUl as IconList } from 'react-icons/bi'; +export { BiFontFamily as IconText } from 'react-icons/bi'; +export { BiFont as IconTextOff } from 'react-icons/bi'; +export { RiTreeLine as IconTree } from 'react-icons/ri'; + +export { LuMinimize as IconGraphClosure } from 'react-icons/lu'; +export { LuMaximize as IconGraphMaximize } from 'react-icons/lu'; +export { LuExpand as IconGraphExpand } from 'react-icons/lu'; +export { BiGitBranch as IconGraphInputs } from 'react-icons/bi'; +export { BiGitMerge as IconGraphOutputs } from 'react-icons/bi'; + +export { BiCheckShield as IconImmutable } from 'react-icons/bi'; +export { RiOpenSourceLine as IconPublic } from 'react-icons/ri'; +export { BiShareAlt as IconShare } from 'react-icons/bi'; +export { LuLightbulb as IconHelp } from 'react-icons/lu'; +export { LuLightbulbOff as IconHelpOff } from 'react-icons/lu'; +export { BiFilterAlt as IconFilter } from 'react-icons/bi'; +export { BiUpvote as IconMoveUp } from 'react-icons/bi'; +export { BiDownvote as IconMoveDown } from 'react-icons/bi'; + +export { LuRotate3D as IconRotate3D } from 'react-icons/lu'; +export { MdOutlineFitScreen as IconFitImage } from 'react-icons/md'; + interface IconSVGProps { viewBox: string; size?: string; @@ -28,7 +73,7 @@ function IconSVG({ viewBox, size = '1.5rem', className, props, children }: IconS ); } -export function EducationIcon(props: IconProps) { +export function IconManuals(props: IconProps) { return ( @@ -36,7 +81,7 @@ export function EducationIcon(props: IconProps) { ); } -export function InDoorIcon(props: IconProps) { +export function IconLogin(props: IconProps) { return ( @@ -45,7 +90,7 @@ export function InDoorIcon(props: IconProps) { ); } -export function CheckboxCheckedIcon() { +export function CheckboxChecked() { return ( @@ -53,7 +98,7 @@ export function CheckboxCheckedIcon() { ); } -export function CheckboxNullIcon() { +export function CheckboxNull() { return ( diff --git a/rsconcept/frontend/src/components/man/BadgeHelp.tsx b/rsconcept/frontend/src/components/man/BadgeHelp.tsx index 56fc1913..9ec99bbd 100644 --- a/rsconcept/frontend/src/components/man/BadgeHelp.tsx +++ b/rsconcept/frontend/src/components/man/BadgeHelp.tsx @@ -1,10 +1,9 @@ -import { LuLightbulb } from 'react-icons/lu'; - import TextURL from '@/components/ui/TextURL'; import Tooltip, { PlacesType } from '@/components/ui/Tooltip'; import { useConceptOptions } from '@/context/OptionsContext'; import { HelpTopic } from '@/models/miscellaneous'; +import { IconHelp } from '../Icons'; import InfoTopic from '../info/InfoTopic'; import { CProps } from '../props'; @@ -22,7 +21,7 @@ function BadgeHelp({ topic, ...restProps }: BadgeHelpProps) { } return (
- +
event.stopPropagation()}>
diff --git a/rsconcept/frontend/src/components/man/HelpLibrary.tsx b/rsconcept/frontend/src/components/man/HelpLibrary.tsx index 8425fa14..af68b362 100644 --- a/rsconcept/frontend/src/components/man/HelpLibrary.tsx +++ b/rsconcept/frontend/src/components/man/HelpLibrary.tsx @@ -1,5 +1,4 @@ -import { BiCheckShield, BiShareAlt } from 'react-icons/bi'; -import { FiBell } from 'react-icons/fi'; +import { IconFollow, IconImmutable, IconPublic } from '../Icons'; function HelpLibrary() { // prettier-ignore @@ -11,15 +10,15 @@ function HelpLibrary() {

Сортировка по клику на заголовок таблицы

Отображение статусов

- +

отслеживаемая обозначает отслеживание схемы

- +

общедоступная отображает схему всем пользователям

- +

неизменная выделяет стандартные схемы

); diff --git a/rsconcept/frontend/src/components/select/SubstitutionsPicker.tsx b/rsconcept/frontend/src/components/select/SubstitutionsPicker.tsx index 8468e2e4..b2676fa6 100644 --- a/rsconcept/frontend/src/components/select/SubstitutionsPicker.tsx +++ b/rsconcept/frontend/src/components/select/SubstitutionsPicker.tsx @@ -1,8 +1,8 @@ 'use client'; import { useCallback, useMemo, useState } from 'react'; -import { BiChevronLeft, BiChevronRight, BiFirstPage, BiLastPage, BiX } from 'react-icons/bi'; -import { LuFlag, LuFlagOff, LuPower, LuPowerOff, LuReplace } from 'react-icons/lu'; +import { BiChevronLeft, BiChevronRight, BiFirstPage, BiLastPage } from 'react-icons/bi'; +import { LuFlag, LuFlagOff, LuPower, LuPowerOff } from 'react-icons/lu'; import ConstituentaBadge from '@/components/info/ConstituentaBadge'; import ConstituentaSelector from '@/components/select/ConstituentaSelector'; @@ -13,6 +13,8 @@ import { useConceptOptions } from '@/context/OptionsContext'; import { IConstituenta, IRSForm, ISubstitution } from '@/models/rsform'; import { describeConstituenta } from '@/utils/labels'; +import { IconRemove, IconReplace } from '../Icons'; + interface SubstitutionsPickerProps { prefixID: string; rows?: number; @@ -141,7 +143,7 @@ function SubstitutionsPicker({ } + icon={} onClick={() => handleDeleteRow(props.row.index)} /> ) @@ -194,7 +196,7 @@ function SubstitutionsPicker({ noHover title='Добавить в таблицу отождествлений' className='mb-[0.375rem] grow-0' - icon={} + icon={} disabled={!leftCst || !rightCst || leftCst === rightCst} onClick={addSubstitution} /> diff --git a/rsconcept/frontend/src/components/ui/Checkbox.tsx b/rsconcept/frontend/src/components/ui/Checkbox.tsx index 3a3c5b3d..3f837025 100644 --- a/rsconcept/frontend/src/components/ui/Checkbox.tsx +++ b/rsconcept/frontend/src/components/ui/Checkbox.tsx @@ -3,7 +3,7 @@ import { useMemo } from 'react'; import { globals } from '@/utils/constants'; -import { CheckboxCheckedIcon } from '../Icons'; +import { CheckboxChecked } from '../Icons'; import { CProps } from '../props'; export interface CheckboxProps extends Omit { @@ -72,7 +72,7 @@ function Checkbox({ > {value ? (
- +
) : null}
diff --git a/rsconcept/frontend/src/components/ui/CheckboxTristate.tsx b/rsconcept/frontend/src/components/ui/CheckboxTristate.tsx index 34ab0662..472d979f 100644 --- a/rsconcept/frontend/src/components/ui/CheckboxTristate.tsx +++ b/rsconcept/frontend/src/components/ui/CheckboxTristate.tsx @@ -3,7 +3,7 @@ import { useMemo } from 'react'; import { globals } from '@/utils/constants'; -import { CheckboxCheckedIcon, CheckboxNullIcon } from '../Icons'; +import { CheckboxChecked, CheckboxNull } from '../Icons'; import { CheckboxProps } from './Checkbox'; export interface CheckboxTristateProps extends Omit { @@ -75,12 +75,12 @@ function CheckboxTristate({ > {value ? (
- +
) : null} {value == null ? (
- +
) : null}
diff --git a/rsconcept/frontend/src/components/ui/FileInput.tsx b/rsconcept/frontend/src/components/ui/FileInput.tsx index 17b71ba1..87d154ef 100644 --- a/rsconcept/frontend/src/components/ui/FileInput.tsx +++ b/rsconcept/frontend/src/components/ui/FileInput.tsx @@ -2,8 +2,8 @@ import clsx from 'clsx'; import { useRef, useState } from 'react'; -import { BiUpload } from 'react-icons/bi'; +import { IconUpload } from '../Icons'; import { CProps } from '../props'; import Button from './Button'; import Label from './Label'; @@ -45,7 +45,7 @@ function FileInput({ id, label, acceptType, title, className, style, onChange, . onChange={handleFileChange} {...restProps} /> -