Feat(UI): Blog with article page and Newsletter signup form.
This commit is contained in:
@@ -5,7 +5,7 @@ import BasePage from "../base.js";
|
||||
|
||||
|
||||
export default class PageBlogArticle extends BasePage {
|
||||
static hash = hashPageBlogHome;
|
||||
static hash = null;
|
||||
|
||||
constructor(router) {
|
||||
super(router);
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
// internal
|
||||
// import BasePage from "../base.js";
|
||||
import PageBlogHome from "./home.js";
|
||||
// external
|
||||
|
||||
|
||||
export default class PageBlogBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients extends PageBlogHome {
|
||||
static hash = hashPageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients;
|
||||
|
||||
constructor(router) {
|
||||
super(router);
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.sharedInitialize();
|
||||
this.hookupFormNewsletter();
|
||||
this.hookupButtonSubmitFormContactUs();
|
||||
}
|
||||
|
||||
leave() {
|
||||
super.leave();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
// internal
|
||||
// import BasePage from "../base.js";
|
||||
import PageBlogHome from "./home.js";
|
||||
// external
|
||||
|
||||
|
||||
export default class PageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess extends PageBlogHome {
|
||||
static hash = hashPageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess;
|
||||
|
||||
constructor(router) {
|
||||
super(router);
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.sharedInitialize();
|
||||
this.hookupFormNewsletter();
|
||||
this.hookupButtonSubmitFormContactUs();
|
||||
}
|
||||
|
||||
leave() {
|
||||
super.leave();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
|
||||
// internal
|
||||
// import BasePage from "../base.js";
|
||||
import PageBlogHome from "./home.js";
|
||||
// external
|
||||
|
||||
|
||||
export default class PageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress extends PageBlogHome {
|
||||
static hash = hashPageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress;
|
||||
|
||||
constructor(router) {
|
||||
super(router);
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.sharedInitialize();
|
||||
// this.hookupButtonsNav();
|
||||
this.hookupFormNewsletter();
|
||||
this.hookupButtonSubmitFormContactUs();
|
||||
}
|
||||
|
||||
leave() {
|
||||
super.leave();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
// internal
|
||||
// import BasePage from "../base.js";
|
||||
import PageBlogHome from "./home.js";
|
||||
// external
|
||||
|
||||
|
||||
export default class PageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025 extends PageBlogHome {
|
||||
static hash = hashPageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025;
|
||||
|
||||
constructor(router) {
|
||||
super(router);
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.sharedInitialize();
|
||||
this.hookupFormNewsletter();
|
||||
this.hookupButtonSubmitFormContactUs();
|
||||
}
|
||||
|
||||
leave() {
|
||||
super.leave();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,20 @@ export default class PageBlogHome extends BasePage {
|
||||
initialize() {
|
||||
this.sharedInitialize();
|
||||
// this.hookupButtonsNav();
|
||||
this.hookupFormNewsletter();
|
||||
this.hookupButtonSubmitFormContactUs();
|
||||
}
|
||||
|
||||
hookupButtonSubmitFormContactUs() {
|
||||
const button = document.querySelector('form input[type="submit"]');
|
||||
button.classList.add(flagButton);
|
||||
button.classList.add(flagButtonPrimary);
|
||||
button.innerText = 'Subscribe Now';
|
||||
}
|
||||
|
||||
hookupFormNewsletter() {
|
||||
let submitButton = document.querySelector('#submit');
|
||||
submitButton.innerText = 'Subscribe Now';
|
||||
}
|
||||
|
||||
leave() {
|
||||
|
||||
16
static/js/pages/blog/newsletter-success.js
Normal file
16
static/js/pages/blog/newsletter-success.js
Normal file
@@ -0,0 +1,16 @@
|
||||
// internal
|
||||
import BasePage from "../base.js";
|
||||
// vendor
|
||||
import { Altcha } from "../../vendor/altcha.js";
|
||||
|
||||
export default class PageBlogNewsletterSuccess extends BasePage {
|
||||
static hash = hashPageBlogNewsletterSuccess;
|
||||
|
||||
constructor(router) {
|
||||
super(router);
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.sharedInitialize();
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,11 @@ import PageApplyFoundingPartner from './pages/core/apply-founding-partner.js';
|
||||
import PageApplyFoundingPartnerSuccess from './pages/core/apply-founding-partner-success.js';
|
||||
// Blog
|
||||
import PageBlogHome from './pages/blog/home.js';
|
||||
import PageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients from './pages/blog/article_how_to_scale_your_dog_training_business_from_25_to_100_plus_clients.js';
|
||||
import PageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess from './pages/blog/article_how_to_scale_your_dog_training_business_from_25_to_100_plus_clients.js';
|
||||
import PageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress from './pages/blog/article_the_science_behind_dog_training_assessments_how_to_track_real_progress.js';
|
||||
import PageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025 from './pages/blog/article_why_every_professional_trainer_needs_a_command_dictionary_in_2025.js';
|
||||
import PageBlogNewsletterSuccess from './pages/blog/newsletter-success.js';
|
||||
// Dog
|
||||
import PageDogHome from './pages/dog/home.js';
|
||||
import PageDogCommandCategories from './pages/dog/command_categories.js';
|
||||
@@ -50,6 +55,11 @@ export default class Router {
|
||||
this.pages[hashPageApplyFoundingPartnerSuccess] = { name: 'PageApplyFoundingPartnerSuccess', module: PageApplyFoundingPartnerSuccess };
|
||||
// Blog
|
||||
this.pages[hashPageBlogHome] = { name: 'PageBlogHome', module: PageBlogHome };
|
||||
this.pages[hashPageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients] = { name: 'PageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients', module: PageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients };
|
||||
this.pages[hashPageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess] = { name: 'PageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess', module: PageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess };
|
||||
this.pages[hashPageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress] = { name: 'PageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress', module: PageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress };
|
||||
this.pages[hashPageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025] = { name: 'PageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025', module: PageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025 };
|
||||
this.pages[hashPageBlogNewsletterSuccess] = { name: 'PageBlogNewsletterSuccess', module: PageBlogNewsletterSuccess };
|
||||
// Dog
|
||||
this.pages[hashPageDogHome] = { name: 'PageDogHome', module: PageDogHome };
|
||||
this.pages[hashPageDogCommandCategories] = { name: 'PageDogCommands', module: PageDogCommandCategories };
|
||||
@@ -83,6 +93,11 @@ export default class Router {
|
||||
this.routes[hashPageApplyFoundingPartnerSuccess] = (isPopState = false) => this.navigateToHash(hashPageApplyFoundingPartnerSuccess, isPopState);
|
||||
// Blog
|
||||
this.routes[hashPageBlogHome] = (isPopState = false) => this.navigateToHash(hashPageBlogHome, isPopState);
|
||||
this.routes[hashPageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients] = (isPopState = false) => this.navigateToHash(hashPageBlogArticleHowToScaleYourDogTrainingBusinessFrom25To100PlusClients, isPopState);
|
||||
this.routes[hashPageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess] = (isPopState = false) => this.navigateToHash(hashPageBlogArticleHowToScaleYourDogTrainingBusinessFromSoloToMultiTrainerSuccess, isPopState);
|
||||
this.routes[hashPageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress] = (isPopState = false) => this.navigateToHash(hashPageBlogArticleTheScienceBehindDogTrainingAssessmentsHowToTrackRealProgress, isPopState);
|
||||
this.routes[hashPageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025] = (isPopState = false) => this.navigateToHash(hashPageBlogArticleWhyEveryProfessionalTrainerNeedsACommandDictionaryIn2025, isPopState);
|
||||
this.routes[hashPageBlogNewsletterSuccess] = (isPopState = false) => this.navigateToHash(hashPageBlogNewsletterSuccess, isPopState);
|
||||
// Dog
|
||||
this.routes[hashPageDogHome] = (isPopState = false) => this.navigateToHash(hashPageDogHome, isPopState);
|
||||
this.routes[hashPageDogCommandCategories] = (isPopState = false) => this.navigateToHash(hashPageDogCommandCategories, isPopState);
|
||||
|
||||
Reference in New Issue
Block a user