import { useCallback } from 'react'; import { FormattedMessage } from 'react-intl'; import { ReactComponent as ArrowBackIcon } from '@material-symbols/svg-600/outlined/arrow_back.svg'; import { Icon } from 'flavours/glitch/components/icon'; import { ButtonInTabsBar } from 'flavours/glitch/features/ui/util/columns_context'; import { useAppHistory } from './router'; type OnClickCallback = () => void; function useHandleClick(onClick?: OnClickCallback) { const history = useAppHistory(); return useCallback(() => { if (onClick) { onClick(); } else if (history.location.state?.fromMastodon) { history.goBack(); } else { history.push('/'); } }, [history, onClick]); } export const ColumnBackButton: React.FC<{ onClick: OnClickCallback }> = ({ onClick, }) => { const handleClick = useHandleClick(onClick); const component = ( ); return {component}; }; export const ColumnBackButtonSlim: React.FC<{ onClick: OnClickCallback }> = ({ onClick, }) => { const handleClick = useHandleClick(onClick); return (
{/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}
); };