import { ObservableWritingScreen } from '@ulangi/ulangi-observable' ; import { SetSelectionMenuDelegate } from '../../delegates/set/SetSelectionMenuDelegate' ; import { WritingCountsDelegate } from '../../delegates/writing/WritingCountsDelegate' ; import { WritingScreenDelegate } from '../../delegates/writing/WritingScreenDelegate' ; import { WritingSettingsDelegate } from '../../delegates/writing/WritingSettingsDelegate' ; import { LessonScreenStyle } from '../../styles/LessonScreenStyle' ; import { ScreenFactory } from '../ScreenFactory' ; export class WritingScreenFactory extends ScreenFactory { public createSetSelectionMenuDelegateWithStyles ( ) { return this . createSetSelectionMenuDelegate ( LessonScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; } public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( LessonScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; const writingSettingsDelegate = new WritingSettingsDelegate ( this . eventBus , this . props . rootStore . setStore ) ; const writingCountsDelegate = new WritingCountsDelegate ( this . eventBus , this . props . rootStore . setStore , writingSettingsDelegate ) ; return new WritingScreenDelegate ( this . eventBus , this . props . rootStore . setStore , this . props . observableConverter , observableScreen , writingSettingsDelegate , writingCountsDelegate , dialogDelegate , navigatorDelegate ) ; } }