mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 20:40:15 +02:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { useTranslation } from 'react-i18next';
|
|
|
|
import { ActionIcon, ActionIconProps } from '/@/shared/components/action-icon/action-icon';
|
|
import { SortOrder } from '/@/shared/types/domain-types';
|
|
|
|
interface OrderToggleButtonProps {
|
|
buttonProps?: Partial<ActionIconProps>;
|
|
disabled?: boolean;
|
|
onToggle: () => void;
|
|
sortOrder: SortOrder;
|
|
}
|
|
|
|
export const OrderToggleButton = ({
|
|
buttonProps,
|
|
disabled,
|
|
onToggle,
|
|
sortOrder,
|
|
}: OrderToggleButtonProps) => {
|
|
const { t } = useTranslation();
|
|
|
|
return (
|
|
<ActionIcon
|
|
disabled={disabled}
|
|
icon={sortOrder === SortOrder.ASC ? 'sortAsc' : 'sortDesc'}
|
|
iconProps={{
|
|
size: 'lg',
|
|
}}
|
|
onClick={onToggle}
|
|
tooltip={{
|
|
label:
|
|
sortOrder === SortOrder.ASC
|
|
? t('common.ascending', { postProcess: 'sentenceCase' })
|
|
: t('common.descending', { postProcess: 'sentenceCase' }),
|
|
}}
|
|
variant="subtle"
|
|
{...buttonProps}
|
|
/>
|
|
);
|
|
};
|