Feat(UI): Blog with article page and Newsletter signup form.

This commit is contained in:
2025-08-09 19:07:58 +01:00
parent 2541aaf849
commit 36d9eb6888
51 changed files with 3434 additions and 892 deletions

View File

@@ -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);