import { MenuItem } from '@invoke-ai/ui-library'; import { useAppDispatch } from 'app/store/storeHooks'; import { useNewCanvasSession, useNewGallerySession, } from 'features/controlLayers/components/NewSessionConfirmationAlertDialog'; import { allEntitiesDeleted } from 'features/controlLayers/store/canvasSlice'; import { paramsReset } from 'features/controlLayers/store/paramsSlice'; import { memo, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { PiArrowsCounterClockwiseBold, PiFilePlusBold } from 'react-icons/pi'; export const SessionMenuItems = memo(() => { const { t } = useTranslation(); const dispatch = useAppDispatch(); const { newGallerySessionWithDialog } = useNewGallerySession(); const { newCanvasSessionWithDialog } = useNewCanvasSession(); const resetCanvasLayers = useCallback(() => { dispatch(allEntitiesDeleted()); }, [dispatch]); const resetGenerationSettings = useCallback(() => { dispatch(paramsReset()); }, [dispatch]); return ( <> } onClick={newGallerySessionWithDialog}> {t('controlLayers.newGallerySession')} } onClick={newCanvasSessionWithDialog}> {t('controlLayers.newCanvasSession')} } onClick={resetCanvasLayers}> {t('controlLayers.resetCanvasLayers')} } onClick={resetGenerationSettings}> {t('controlLayers.resetGenerationSettings')} ); }); SessionMenuItems.displayName = 'SessionMenuItems';