import {Flex, Box} from '@chakra-ui/react' import { NotificationProvider, NotificationProviderProps } from './internal-plugins/notify/services/notification/context' import {withRedux as withNotifyRedux} from './internal-plugins/notify/redux' import { JaenPageContext, JaenPageProvider } from './internal-plugins/pages/internal/services/page' import {SiteProvider} from './internal-plugins/pages/internal/services/site' import {DiscardButton, EditButton} from './internal-plugins/pages/ui/toolbar' import {IncomingBuildCheckerProvider} from './services/IncomingBuildChecker' import {AdminToolbar} from './ui/components/AdminToolbar' import {ToolbarChangesElement} from './ui/ToolbarChangesElement' import {withSnekFinder} from './withSnekFinder' type NotifyMockProps = { notify: NotificationProviderProps } export type JaenMockProps = NotifyMockProps | JaenPageContext export const withJaenMock =

( Component: React.ComponentType

, mockProps: JaenMockProps ) => { const InnerElement = ({children}: {children: React.ReactNode}) => { if ((mockProps as any).notify) { const props = mockProps as NotifyMockProps const NotifyRedux = withNotifyRedux(NotificationProvider) return ( {children} ) } if ((mockProps as any).jaenPage) { const props = mockProps as JaenPageContext return ( {children} ) } return <>{children} } const MockedComponent = (props: P) => { return ( , , ], right: [] }} /> ) } return withSnekFinder(MockedComponent) }