import { ObservableAutoArchiveScreen } from '@ulangi/ulangi-observable' ; import { AutoArchiveScreenDelegate } from '../../delegates/auto-archive/AutoArchiveScreenDelegate' ; import { AutoArchiveSettingsDelegate } from '../../delegates/auto-archive/AutoArchiveSettingsDelegate' ; import { LevelSelectionMenuDelegate } from '../../delegates/vocabulary/LevelSelectionMenuDelegate' ; import { SecondaryScreenStyle } from '../../styles/SecondaryScreenStyle' ; import { ScreenFactory } from '../ScreenFactory' ; export class AutoArchiveScreenFactory extends ScreenFactory { public createAutoArchiveSettingsDelegate ( ) { return new AutoArchiveSettingsDelegate ( this . props . rootStore . userStore ) ; } public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; const levelSelectionMenuDelegate = new LevelSelectionMenuDelegate ( navigatorDelegate , SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; return new AutoArchiveScreenDelegate ( this . eventBus , observableScreen . autoArchiveSettings , levelSelectionMenuDelegate , dialogDelegate ) ; } }