import { ObservableThemeScreen } from '@ulangi/ulangi-observable' ; import { ThemeScreenDelegate } from '../../delegates/theme/ThemeScreenDelegate' ; import { ThemeSelectionMenuDelegate } from '../../delegates/theme/ThemeSelectionMenuDelegate' ; import { ThemeSettingsDelegate } from '../../delegates/theme/ThemeSettingsDelegate' ; import { SecondaryScreenStyle } from '../../styles/SecondaryScreenStyle' ; import { ScreenFactory } from '../ScreenFactory' ; export class ThemeScreenFactory extends ScreenFactory { public createThemeSettingsDelegate ( ) { return new ThemeSettingsDelegate ( this . props . rootStore . userStore ) ; } public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; const themeSelectionMenuDelegate = new ThemeSelectionMenuDelegate ( navigatorDelegate , SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; return new ThemeScreenDelegate ( this . eventBus , observableScreen , themeSelectionMenuDelegate , dialogDelegate ) ; } }