Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate @pages/FO/{classic|hummingbird}/cms from Core #437

Merged
merged 1 commit into from
Feb 26, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ export {default as foClassicCartPage} from '@pages/FO/classic/cart';
export {default as foClassicCategoryPage} from '@pages/FO/classic/category';
export {default as foClassicCheckoutPage} from '@pages/FO/classic/checkout';
export {default as foClassicCheckoutOrderConfirmationPage} from '@pages/FO/classic/checkout/orderConfirmation';
export {default as foClassicCmsPage} from '@pages/FO/classic/cms';
export {default as foClassicContactUsPage} from '@pages/FO/classic/contactUs';
export {default as foClassicCreateAccountPage} from '@pages/FO/classic/myAccount/create';
export {default as foClassicEmailSubscriptionPage} from '@pages/FO/classic/emailSubscription';
Expand Down Expand Up @@ -365,6 +366,7 @@ export {default as foHummingbirdCartPage} from '@pages/FO/hummingbird/cart';
export {default as foHummingbirdCategoryPage} from '@pages/FO/hummingbird/category';
export {default as foHummingbirdCheckoutPage} from '@pages/FO/hummingbird/checkout';
export {default as foHummingbirdCheckoutOrderConfirmationPage} from '@pages/FO/hummingbird/checkout/orderConfirmation';
export {default as foHummingbirdCmsPage} from '@pages/FO/hummingbird/cms';
export {default as foHummingbirdContactUsPage} from '@pages/FO/hummingbird/contactUs';
export {default as foHummingbirdCreateAccountPage} from '@pages/FO/hummingbird/myAccount/create';
export {default as foHummingbirdHomePage} from '@pages/FO/hummingbird/home';
Expand Down
7 changes: 7 additions & 0 deletions src/interfaces/FO/cms.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import {FOBasePagePageInterface} from '@interfaces/FO';

export interface FoCmsPageInterface extends FOBasePagePageInterface {
readonly pageContent: string;
readonly pageNotFound: string;
readonly pageTitle: string;
}
9 changes: 9 additions & 0 deletions src/pages/FO/classic/cms.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import type {FoCmsPageInterface} from '@interfaces/FO/cms';

/* eslint-disable global-require, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */
function requirePage(): FoCmsPageInterface {
return require('@versions/develop/pages/FO/classic/cms').foCmsPage;
}
/* eslint-enable global-require, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */

export default requirePage();
9 changes: 9 additions & 0 deletions src/pages/FO/hummingbird/cms.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import type {FoCmsPageInterface} from '@interfaces/FO/cms';

/* eslint-disable global-require, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */
function requirePage(): FoCmsPageInterface {
return require('@versions/develop/pages/FO/hummingbird/cms');
}
/* eslint-enable global-require, @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires */

export default requirePage();
31 changes: 31 additions & 0 deletions src/versions/develop/pages/FO/classic/cms.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import {type FoCmsPageInterface} from '@interfaces/FO/cms';
import FOBasePage from '@pages/FO/FOBasePage';

/**
* CMS page, contains functions that can be used on the page
* @class
* @extends FOBasePage
*/
class FoCmsPage extends FOBasePage implements FoCmsPageInterface {
public readonly pageNotFound: string;

public readonly pageTitle: string;

public readonly pageContent: string;

/**
* @constructs
* Setting up texts and selectors to use on cms page
*/
constructor(theme: string = 'classic') {
super(theme);
this.pageNotFound = 'The page you are looking for was not found.';

// Selectors
this.pageTitle = '#main header h1';
this.pageContent = '#content';
}
}

const foCmsPage = new FoCmsPage();
export {foCmsPage, FoCmsPage};
17 changes: 17 additions & 0 deletions src/versions/develop/pages/FO/hummingbird/cms.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import {type FoCmsPageInterface} from '@interfaces/FO/cms';
import {FoCmsPage as FoCmsPageClassic} from '@versions/develop/pages/FO/classic/cms';

/**
* @class
* @extends FOBasePage
*/
class FoCmsPage extends FoCmsPageClassic implements FoCmsPageInterface {
/**
* @constructs
*/
constructor() {
super('hummingbird');
}
}

module.exports = new FoCmsPage();