All files / app/order PrintLink.tsx

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 374x 4x   4x 4x           4x   4x   4x       4x       4x                         4x  
import { throttle } from 'lodash';
import React, { memo, useCallback, FunctionComponent } from 'react';
 
import { TranslatedString } from '../locale';
import { IconPrint } from '../ui/icon';
 
export interface PrintLinkProps {
    className?: string;
}
 
const PRINT_MODAL_THROTTLE = 500;
 
const PrintLink: FunctionComponent<PrintLinkProps> = ({ className }) => {
 
    const handleClick = useCallback(throttle(() => {
        window.print();
    }, PRINT_MODAL_THROTTLE), []);
 
    Iif (typeof window.print !== 'function') {
        return null;
    }
 
    return (
        <a
            className={ className || 'cart-header-link' }
            id="cart-print-link"
            onClick={ handleClick }
        >
            <IconPrint />
            { ' ' }
            <TranslatedString id="cart.print_action" />
        </a>
    );
};
 
export default memo(PrintLink);