import { ArrowLeft, Row } from '@past3lle/components' import React, { ReactNode, useCallback } from 'react' import { /* useSidePanelAtom, */ useSidePanelAtomBase } from '../../../state/SidePanel' import { CursiveHeader } from '../../Common/Text' import { SidePanelCssProps, StyledSidePanel } from './styleds' export interface SidePanelProps { header: string children: ReactNode onDismiss?: (...args: any[]) => void onBack?: (...args: any[]) => void styledProps?: SidePanelCssProps } export function SidePanel({ header, children, onBack, onDismiss, styledProps }: SidePanelProps) { const [{ type: panels }, setPanelState] = useSidePanelAtomBase() const onBackCallback = useCallback(() => { setPanelState((state) => ({ ...state, type: state.type.slice(1) })) onBack?.() }, [onBack, setPanelState]) const onDismissCallback = useCallback(() => { setPanelState({ type: [] }) onDismiss?.() }, [onDismiss, setPanelState]) return (
{panels.length > 1 && }
x
{header} {children} ) }