import { ObservablePublicSetDetailScreen } from '@ulangi/ulangi-observable' ; import { AddVocabularyDelegate } from '../../delegates/discover/AddVocabularyDelegate' ; import { PublicSetDetailScreenDelegate } from '../../delegates/discover/PublicSetDetailScreenDelegate' ; import { PublicVocabularyActionMenuDelegate } from '../../delegates/discover/PublicVocabularyActionMenuDelegate' ; import { SecondaryScreenStyle } from '../../styles/SecondaryScreenStyle' ; import { ScreenFactory } from '../ScreenFactory' ; export class PublicSetDetailScreenFactory extends ScreenFactory { public createScreenDelegate ( observableScreen ) { const navigatorDelegate = this . createNavigatorDelegate ( ) ; const dialogDelegate = this . createDialogDelegate ( SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; const addVocabularyDelegate = new AddVocabularyDelegate ( this . eventBus , this . props . rootStore . setStore ) ; const publicVocabularyActionMenuDelegate = new PublicVocabularyActionMenuDelegate ( this . props . observableLightBox , this . props . rootStore . setStore , navigatorDelegate , SecondaryScreenStyle . LIGHT_BOX_SCREEN_STYLES ) ; return new PublicSetDetailScreenDelegate ( observableScreen . publicSet , addVocabularyDelegate , publicVocabularyActionMenuDelegate , dialogDelegate , navigatorDelegate ) ; } }