Update icons and help

This commit is contained in:
IRBorisov 2024-06-20 11:28:35 +03:00
parent 09f7232687
commit c046ac300f
3 changed files with 55 additions and 9 deletions

View File

@ -32,9 +32,10 @@ export { RiMenuUnfoldFill as IconMenuUnfold } from 'react-icons/ri';
export { LuMoon as IconDarkTheme } from 'react-icons/lu'; export { LuMoon as IconDarkTheme } from 'react-icons/lu';
export { LuSun as IconLightTheme } from 'react-icons/lu'; export { LuSun as IconLightTheme } from 'react-icons/lu';
export { LuFolderTree as IconFolderTree } from 'react-icons/lu'; export { LuFolderTree as IconFolderTree } from 'react-icons/lu';
export { FaRegFolder as IconFolder } from 'react-icons/fa6'; export { LuFolder as IconFolder } from 'react-icons/lu';
export { FaRegFolderOpen as IconFolderOpened } from 'react-icons/fa6'; export { LuFolderOpen as IconFolderOpened } from 'react-icons/lu';
export { FaRegFolderClosed as IconFolderClosed } from 'react-icons/fa6'; export { LuFolderClosed as IconFolderClosed } from 'react-icons/lu';
export { LuFolderDot as IconFolderEmpty } from 'react-icons/lu';
export { LuLightbulb as IconHelp } from 'react-icons/lu'; export { LuLightbulb as IconHelp } from 'react-icons/lu';
export { LuLightbulbOff as IconHelpOff } from 'react-icons/lu'; export { LuLightbulbOff as IconHelpOff } from 'react-icons/lu';
export { RiPushpinFill as IconPin } from 'react-icons/ri'; export { RiPushpinFill as IconPin } from 'react-icons/ri';

View File

@ -4,12 +4,14 @@ import clsx from 'clsx';
import { AnimatePresence, motion } from 'framer-motion'; import { AnimatePresence, motion } from 'framer-motion';
import { useCallback, useLayoutEffect, useMemo, useState } from 'react'; import { useCallback, useLayoutEffect, useMemo, useState } from 'react';
import { IconFolder, IconFolderClosed, IconFolderOpened, IconFolderTree } from '@/components/Icons'; import { IconFolder, IconFolderClosed, IconFolderEmpty, IconFolderOpened, IconFolderTree } from '@/components/Icons';
import BadgeHelp from '@/components/info/BadgeHelp';
import { CProps } from '@/components/props'; import { CProps } from '@/components/props';
import MiniButton from '@/components/ui/MiniButton'; import MiniButton from '@/components/ui/MiniButton';
import { FolderNode, FolderTree } from '@/models/FolderTree'; import { FolderNode, FolderTree } from '@/models/FolderTree';
import { HelpTopic } from '@/models/miscellaneous';
import { animateSideAppear, animateSideView } from '@/styling/animations'; import { animateSideAppear, animateSideView } from '@/styling/animations';
import { globals, prefixes } from '@/utils/constants'; import { globals, PARAMETER, prefixes } from '@/utils/constants';
import { describeFolderNode, labelFolderNode } from '@/utils/labels'; import { describeFolderNode, labelFolderNode } from '@/utils/labels';
interface LibraryTableProps { interface LibraryTableProps {
@ -72,7 +74,13 @@ function LibraryFolders({ folders, currentFolder, setFolder, toggleFolderMode }:
animate={{ ...animateSideView.animate }} animate={{ ...animateSideView.animate }}
exit={{ ...animateSideView.exit }} exit={{ ...animateSideView.exit }}
> >
<div className='h-[2.08rem] flex justify-end pr-1'> <div className='h-[2.08rem] flex justify-between items-center pr-1'>
<BadgeHelp
topic={HelpTopic.UI_LIBRARY}
className={clsx(PARAMETER.TOOLTIP_WIDTH, 'text-sm')}
offset={5}
place='right-start'
/>
<MiniButton <MiniButton
icon={<IconFolderTree size='1.25rem' className='icon-green' />} icon={<IconFolderTree size='1.25rem' className='icon-green' />}
title='Режим: проводник' title='Режим: проводник'
@ -114,7 +122,11 @@ function LibraryFolders({ folders, currentFolder, setFolder, toggleFolderMode }:
noHover noHover
icon={ icon={
folded.includes(item) ? ( folded.includes(item) ? (
item.filesInside ? (
<IconFolderClosed size='1rem' className='icon-primary' /> <IconFolderClosed size='1rem' className='icon-primary' />
) : (
<IconFolderEmpty size='1rem' className='icon-primary' />
)
) : ( ) : (
<IconFolderOpened size='1rem' className='icon-green' /> <IconFolderOpened size='1rem' className='icon-green' />
) )
@ -123,7 +135,11 @@ function LibraryFolders({ folders, currentFolder, setFolder, toggleFolderMode }:
/> />
) : ( ) : (
<div> <div>
<IconFolder size='1rem' /> {item.filesInside ? (
<IconFolder size='1rem' className='clr-text-default' />
) : (
<IconFolderEmpty size='1rem' className='clr-text-controls' />
)}
</div> </div>
)} )}
<div className='self-center'>{labelFolderNode(item)}</div> <div className='self-center'>{labelFolderNode(item)}</div>

View File

@ -1,4 +1,14 @@
import { IconFolder, IconSearch, IconShow, IconSortAsc, IconSortDesc } from '@/components/Icons'; import {
IconFolder,
IconFolderClosed,
IconFolderEmpty,
IconFolderOpened,
IconFolderTree,
IconSearch,
IconShow,
IconSortAsc,
IconSortDesc
} from '@/components/Icons';
function HelpLibrary() { function HelpLibrary() {
return ( return (
@ -21,6 +31,25 @@ function HelpLibrary() {
<li> <li>
<IconFolder size='1rem' className='inline-icon' /> фильтр по расположению <IconFolder size='1rem' className='inline-icon' /> фильтр по расположению
</li> </li>
<h2>Проводник</h2>
<li>клик по папке отображает справа файлы в ней</li>
<li>клик по иконке сворачивает/разворачивает вложенные</li>
<li>
<IconFolderTree size='1rem' className='inline-icon' /> скрыть / отобразить Проводник
</li>
<li>
<IconFolderEmpty size='1rem' className='inline-icon' /> папка без файлов
</li>
<li>
<IconFolder size='1rem' className='inline-icon' /> папка без вложенных
</li>
<li>
<IconFolderClosed size='1rem' className='inline-icon' /> папка с вложенными
</li>
<li>
<IconFolderOpened size='1rem' className='inline-icon icon-green' /> развернутая папка
</li>
</div> </div>
); );
} }