Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/rest/market-expired/src/curtain/ |
Upload File : |
import type { PopupConfig } from '../type/popup-config'; import type { MarketExpiredCurtain } from './market-expired-curtain'; import PopupCategory from '../type/popup-category'; import { MarketTrialCurtain } from './market-trial-curtain'; import { MarketSubscriptionCurtain } from './market-subscription-curtain'; import { MarketTransitionCurtain } from './market-transition-curtain'; import CurtainPage from '../type/curtain-page'; export class CurtainFactory { config: PopupConfig; constructor(config: PopupConfig) { this.config = config; } createCurtain(curtainPage: CurtainPage): MarketExpiredCurtain { const CurtainClass = this.#getCurtainClass(); return new CurtainClass({ marketSubscriptionUrl: this.config.marketSubscriptionUrl, type: this.config.type, expireDays: this.config.expireDays, curtainPage, }); } #getCurtainClass(): string { switch (this.config.category) { case PopupCategory.TRIAL: return MarketTrialCurtain; case PopupCategory.SUBSCRIPTION: return MarketSubscriptionCurtain; case PopupCategory.TRANSITION: default: return MarketTransitionCurtain; } } }