mirror of
https://github.com/shlinkio/shlink-web-client.git
synced 2026-07-24 20:52:00 +00:00
Move more components to shlink-web-component when applicable
This commit is contained in:
19
shlink-web-component/utils/table/TableOrderIcon.tsx
Normal file
19
shlink-web-component/utils/table/TableOrderIcon.tsx
Normal file
@@ -0,0 +1,19 @@
|
||||
import { faCaretDown as caretDownIcon, faCaretUp as caretUpIcon } from '@fortawesome/free-solid-svg-icons';
|
||||
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
||||
import type { Order } from '../../../src/utils/helpers/ordering';
|
||||
|
||||
interface TableOrderIconProps<T> {
|
||||
currentOrder: Order<T>;
|
||||
field: T;
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export function TableOrderIcon<T extends string = string>(
|
||||
{ currentOrder, field, className = 'ms-1' }: TableOrderIconProps<T>,
|
||||
) {
|
||||
if (!currentOrder.dir || currentOrder.field !== field) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <FontAwesomeIcon icon={currentOrder.dir === 'ASC' ? caretUpIcon : caretDownIcon} className={className} />;
|
||||
}
|
||||
Reference in New Issue
Block a user