import classNames from 'classnames'; import React from 'react'; import { useHistory } from 'react-router-dom'; import Helmet from 'soapbox/components/helmet'; import { Card, CardBody, CardHeader, CardTitle } from '../card/card'; interface IColumn { /** Route the back button goes to. */ backHref?: string, /** Column title text. */ label?: string, /** Whether this column should have a transparent background. */ transparent?: boolean, /** Whether this column should have a title and back button. */ withHeader?: boolean, /** Extra class name for top
element. */ className?: string, } /** A backdrop for the main section of the UI. */ const Column: React.FC = React.forwardRef((props, ref: React.ForwardedRef): JSX.Element => { const { backHref, children, label, transparent = false, withHeader = true, className } = props; const history = useHistory(); const handleBackClick = () => { if (backHref) { history.push(backHref); return; } if (history.length === 1) { history.push('/'); } else { history.goBack(); } }; const renderChildren = () => { if (transparent) { return
{children}
; } return ( {withHeader ? ( ) : null} {children} ); }; return (
{label} {renderChildren()}
); }); export default Column;