import { ObservableSpacedRepetitionSettingsScreen } from '@ulangi/ulangi-observable' ; import { ReviewFeedbackButtonDelegate } from '../../delegates/review-feedback/ReviewFeedbackButtonDelegate' ; import { SpacedRepetitionSettingsDelegate } from '../../delegates/spaced-repetition/SpacedRepetitionSettingsDelegate' ; import { SpacedRepetitionSettingsScreenDelegate } from '../../delegates/spaced-repetition/SpacedRepetitionSettingsScreenDelegate' ; import { LessonScreenStyle } from '../../styles/LessonScreenStyle' ; import { ScreenFactory } from '../ScreenFactory' ; export class SpacedRepetitionSettingsScreenFactory extends ScreenFactory { public createSpacedRepetitionSettingsDelegate ( ) { return new SpacedRepetitionSettingsDelegate ( this . eventBus , this . props . rootStore . setStore ) ; } public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( LessonScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; const spacedRepetitionSettingsDelegate = this . createSpacedRepetitionSettingsDelegate ( ) ; const reviewFeedbackButtonDelegate = new ReviewFeedbackButtonDelegate ( ) ; return new SpacedRepetitionSettingsScreenDelegate ( observableScreen , spacedRepetitionSettingsDelegate , reviewFeedbackButtonDelegate , dialogDelegate , navigatorDelegate ) ; } }