diff --git a/app/client/components/CoreBanners.ts b/app/client/components/CoreBanners.ts new file mode 100644 index 00000000..7df6398a --- /dev/null +++ b/app/client/components/CoreBanners.ts @@ -0,0 +1,10 @@ +import {AppModel} from 'app/client/models/AppModel'; +import {DocPageModel} from 'app/client/models/DocPageModel'; + +export function buildHomeBanners(_app: AppModel) { + return null; +} + +export function buildDocumentBanners(_docPageModel: DocPageModel) { + return null; +} diff --git a/app/client/ui/AppUI.ts b/app/client/ui/AppUI.ts index 10e7b840..23ff48d3 100644 --- a/app/client/ui/AppUI.ts +++ b/app/client/ui/AppUI.ts @@ -82,7 +82,7 @@ function createMainPage(appModel: AppModel, appObj: App) { } else if (pageType === 'admin') { return domAsync(loadAdminPanel().then(m => dom.create(m.AdminPanel, appModel))); } else if (pageType === 'activation') { - return domAsync(loadActivationPage().then(ap => dom.create(ap.ActivationPage, appModel))); + return domAsync(loadActivationPage().then(ap => dom.create(ap.getActivationPage(), appModel))); } else { return dom.create(pagePanelsDoc, appModel, appObj); } diff --git a/app/client/ui/CreateTeamModal.ts b/app/client/ui/CreateTeamModal.ts index 438fc31c..4c633e98 100644 --- a/app/client/ui/CreateTeamModal.ts +++ b/app/client/ui/CreateTeamModal.ts @@ -24,10 +24,10 @@ export async function buildNewSiteModal(context: Disposable, options: { appModel: AppModel, plan?: PlanSelection, onCreate?: () => void -}) { +}): Promise { const { onCreate } = options; - return showModal( + showModal( context, (_owner: Disposable, ctrl: IModalControl) => dom.create(NewSiteModalContent, ctrl, onCreate), dom.cls(cssModalIndex.className), @@ -87,12 +87,12 @@ export function buildUpgradeModal(owner: Disposable, options: { throw new UserError(t(`Billing is not supported in grist-core`)); } -export interface UpgradeButton { +export interface IUpgradeButton { showUpgradeCard(...args: DomArg[]): DomContents; showUpgradeButton(...args: DomArg[]): DomContents; } -export function buildUpgradeButton(owner: IDisposableOwner, app: AppModel): UpgradeButton { +export function buildUpgradeButton(owner: IDisposableOwner, app: AppModel): IUpgradeButton { return { showUpgradeCard: () => null, showUpgradeButton: () => null, diff --git a/app/client/ui/DefaultActivationPage.ts b/app/client/ui/DefaultActivationPage.ts new file mode 100644 index 00000000..859db9e8 --- /dev/null +++ b/app/client/ui/DefaultActivationPage.ts @@ -0,0 +1,18 @@ +import {AppModel} from 'app/client/models/AppModel'; +import { Disposable, IDomCreator } from 'grainjs'; + +export type IActivationPageCreator = IDomCreator<[AppModel]> + +/** + * A blank ActivationPage stand-in, as it's possible for the frontend to try and load an "activation page", + * even though there's no activation in core. + */ +export class DefaultActivationPage extends Disposable { + constructor(_appModel: AppModel) { + super(); + } + + public buildDom() { + return null; + } +} diff --git a/stubs/app/client/components/Banners.ts b/stubs/app/client/components/Banners.ts index 7df6398a..b0aa190b 100644 --- a/stubs/app/client/components/Banners.ts +++ b/stubs/app/client/components/Banners.ts @@ -1,10 +1,2 @@ -import {AppModel} from 'app/client/models/AppModel'; -import {DocPageModel} from 'app/client/models/DocPageModel'; +export { buildHomeBanners, buildDocumentBanners } from 'app/client/components/CoreBanners'; -export function buildHomeBanners(_app: AppModel) { - return null; -} - -export function buildDocumentBanners(_docPageModel: DocPageModel) { - return null; -} diff --git a/stubs/app/client/ui/ActivationPage.ts b/stubs/app/client/ui/ActivationPage.ts index aa2ce08a..99b90e57 100644 --- a/stubs/app/client/ui/ActivationPage.ts +++ b/stubs/app/client/ui/ActivationPage.ts @@ -1,12 +1,7 @@ -import {AppModel} from 'app/client/models/AppModel'; -import {Disposable} from 'grainjs'; +import { + DefaultActivationPage, IActivationPageCreator +} from "app/client/ui/DefaultActivationPage"; -export class ActivationPage extends Disposable { - constructor(_appModel: AppModel) { - super(); - } - - public buildDom() { - return null; - } +export function getActivationPage(): IActivationPageCreator { + return DefaultActivationPage; }