M: Multiple minor UI fixes
Some checks are pending
Frontend CI / build (22.x) (push) Waiting to run
Frontend CI / notify-failure (push) Blocked by required conditions

This commit is contained in:
Ivan 2025-07-03 14:36:15 +03:00
parent 4fc8cea3d7
commit 7f33d44a57
19 changed files with 24 additions and 29 deletions

View File

@ -48,7 +48,7 @@ export function HelpLibrary() {
<IconUserSearch size='1rem' className='inline-icon' /> фильтр по пользователю
</li>
<li>
<IconSearch size='1rem' className='inline-icon' /> фильтр по названию и шифру
<IconSearch size='1rem' className='inline-icon' /> фильтр по названию и сокращению
</li>
<li>
<IconFilterReset size='1rem' className='inline-icon' /> сбросить фильтры

View File

@ -59,7 +59,7 @@ export function PickSchema({
const columns = [
columnHelper.accessor('alias', {
id: 'alias',
header: 'Шифр',
header: 'Сокращение',
size: 150,
minSize: 80,
maxSize: 150

View File

@ -88,7 +88,7 @@ export function ToolbarSearch({ className, total, filtered }: ToolbarSearchProps
/>
<SelectUser
aria-label='Выбор пользователя для фильтра по владельцу'
placeholder='Выберите владельца'
placeholder='Выбрать владельца'
noBorder
className='min-w-60 mx-1 mb-1 cc-hover-bg select-none'
filter={filterNonEmptyUsers}

View File

@ -36,7 +36,7 @@ export function useLibraryColumns() {
]),
columnHelper.accessor('alias', {
id: 'alias',
header: 'Шифр',
header: 'Сокращение',
size: 150,
minSize: 80,
maxSize: 150,

View File

@ -18,7 +18,7 @@ interface OssStatsProps {
export function OssStats({ className, stats }: OssStatsProps) {
return (
<aside className={cn('grid grid-cols-4 gap-1 justify-items-end h-min', className)}>
<aside className={cn('grid grid-cols-4 gap-1 justify-items-end h-min select-none', className)}>
<div id='count_operations' className='w-fit flex gap-3 hover:cursor-default '>
<span>Всего</span>
<span>{stats.count_all}</span>

View File

@ -62,7 +62,7 @@ export function PickMultiOperation({ rows, items, value, onChange, className, ..
const columns = [
columnHelper.accessor('alias', {
id: 'alias',
header: 'Шифр',
header: 'Сокращение',
size: 300,
minSize: 150,
maxSize: 300
@ -79,7 +79,7 @@ export function PickMultiOperation({ rows, items, value, onChange, className, ..
id: 'actions',
size: 0,
cell: props => (
<div className='flex w-fit'>
<div className='flex gap-1 w-fit'>
<MiniButton
title='Удалить'
className='px-0'

View File

@ -14,7 +14,7 @@ interface SelectBlockProps extends Styling {
popoverClassname?: string;
}
export function SelectBlock({ items, placeholder = 'Выберите блок', ...restProps }: SelectBlockProps) {
export function SelectBlock({ items, placeholder = 'Выбор блока', ...restProps }: SelectBlockProps) {
return (
<ComboBox
items={items}

View File

@ -14,7 +14,7 @@ interface SelectOperationProps extends Styling {
popoverClassname?: string;
}
export function SelectOperation({ items, placeholder = 'Выберите операцию', ...restProps }: SelectOperationProps) {
export function SelectOperation({ items, placeholder = 'Выбор операции', ...restProps }: SelectOperationProps) {
return (
<ComboBox
items={items}

View File

@ -77,7 +77,7 @@ export function DlgCreateBlock() {
return (
<ModalForm
header='Создание операции'
header='Создание блока'
submitText='Создать'
canSubmit={isValid}
onSubmit={event => void methods.handleSubmit(onSubmit)(event)}

View File

@ -77,7 +77,7 @@ export function TabInputOperation() {
<SelectParent
items={manager.oss.blocks}
value={field.value ? manager.oss.blockByID.get(field.value) ?? null : null}
placeholder='Блок содержания'
placeholder='Родительский блок'
onChange={value => field.onChange(value ? value.id : null)}
/>
)}

View File

@ -42,7 +42,7 @@ export function TabSynthesisOperation() {
<SelectParent
items={manager.oss.blocks}
value={field.value ? manager.oss.blockByID.get(field.value) ?? null : null}
placeholder='Блок содержания'
placeholder='Родительский блок'
onChange={value => field.onChange(value ? value.id : null)}
/>
)}

View File

@ -39,7 +39,7 @@ export function TabOperation() {
<SelectParent
items={manager.oss.blocks}
value={field.value ? manager.oss.blockByID.get(field.value) ?? null : null}
placeholder='Блок содержания'
placeholder='Родительский блок'
onChange={value => field.onChange(value ? value.id : null)}
/>
)}

View File

@ -122,8 +122,8 @@ export function DlgRelocateConstituents() {
<div className='flex gap-1 items-center bg-input border-b rounded-t-md'>
<SelectLibraryItem
noBorder
className='w-1/2'
placeholder='Выберите исходную схему'
className='w-1/2 shrink-1'
placeholder='Исходная схема'
items={sourceSchemas}
value={source}
onChange={handleSelectSource}
@ -135,8 +135,8 @@ export function DlgRelocateConstituents() {
/>
<SelectLibraryItem
noBorder
className='w-1/2'
placeholder='Выберите целевую схему'
className='w-1/2 shrink-1'
placeholder='Целевая схема'
items={destinationSchemas}
value={destinationItem}
onChange={handleSelectDestination}

View File

@ -231,7 +231,7 @@ export function PickSubstitutions({
<SelectLibraryItem
id='substitute-left-schema'
noBorder
placeholder='Выберите аргумент'
placeholder='Аргумент'
items={allowSelfSubstitution ? schemas : schemas.filter(item => item.id !== rightArgument?.id)}
value={leftArgument}
onChange={setLeftArgument}
@ -263,7 +263,7 @@ export function PickSubstitutions({
<SelectLibraryItem
id='substitute-right-schema'
noBorder
placeholder='Выберите аргумент'
placeholder='Аргумент'
items={allowSelfSubstitution ? schemas : schemas.filter(item => item.id !== leftArgument?.id)}
value={rightArgument}
onChange={setRightArgument}

View File

@ -29,7 +29,7 @@ interface RSFormStatsProps {
export function RSFormStats({ className, stats }: RSFormStatsProps) {
return (
<aside className={cn('h-min', 'grid grid-cols-4 gap-1 justify-items-end ', className)}>
<aside className={cn('h-min', 'grid grid-cols-4 gap-1 justify-items-end select-none', className)}>
<div id='count_all' className='col-span-2 w-fit flex gap-3 hover:cursor-default'>
<span>Всего</span>
<span>{stats.count_all}</span>

View File

@ -16,7 +16,7 @@ interface SelectConstituentaProps {
export function SelectConstituenta({
items,
placeholder = 'Выберите конституенту',
placeholder = 'Выбор конституенты',
...restProps
}: SelectConstituentaProps) {
return (

View File

@ -67,7 +67,7 @@ export function TabTemplate() {
noBorder
noSearch
clearable
placeholder='Выберите категорию'
placeholder='Категория'
className='grow'
idFunc={cst => String(cst.id)}
labelValueFunc={cst => cst.term_raw}

View File

@ -31,12 +31,7 @@ function compareUsers(a: IUserInfo, b: IUserInfo) {
return a.id - b.id;
}
export function SelectUser({
filter,
noAnonymous,
placeholder = 'Выберите пользователя',
...restProps
}: SelectUserProps) {
export function SelectUser({ filter, noAnonymous, placeholder = 'Выбор пользователя', ...restProps }: SelectUserProps) {
const { users } = useUsers();
const getUserLabel = useLabelUser();

View File

@ -151,7 +151,7 @@
@utility cc-animate-panel {
transition-property: translate, opacity;
transition-timing-function: var(--ease-bezier);
transition-duration: var(--duration-transform);
transition-duration: var(--duration-move);
}
@utility cc-animate-position {