From b0c5c5e051caf5cf9eefa7b8df3deed800da2d04 Mon Sep 17 00:00:00 2001 From: sdarbinyan Date: Sun, 5 Jul 2026 03:37:35 +0400 Subject: [PATCH] feat static pages system with dynamic footer and safe html rendering --- src/app/app.routes.ts | 8 + .../components/footer/footer.component.html | 45 ++++- src/app/components/footer/footer.component.ts | 157 ++++++++++++++++- .../config/static-page-resolver.service.ts | 158 ++++++++++++++++++ .../static-page/static-page.component.html | 18 ++ .../static-page/static-page.component.scss | 39 +++++ .../static-page/static-page.component.ts | 82 +++++++++ .../models/config/bootstrap-config.model.ts | 2 + src/app/shared/models/config/index.ts | 1 + .../shared/models/config/navigation.model.ts | 30 +++- .../shared/models/config/static-page.model.ts | 36 ++++ 11 files changed, 566 insertions(+), 10 deletions(-) create mode 100644 src/app/core/config/static-page-resolver.service.ts create mode 100644 src/app/pages/static-page/static-page.component.html create mode 100644 src/app/pages/static-page/static-page.component.scss create mode 100644 src/app/pages/static-page/static-page.component.ts create mode 100644 src/app/shared/models/config/static-page.model.ts diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 876b2bc..347e88f 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -41,6 +41,14 @@ const coreRoutes: Routes = [ { path: 'cart', loadComponent: () => import('./pages/cart/cart.component').then(m => m.CartComponent) + }, + { + path: 'page/:key', + loadComponent: () => import('./pages/static-page/static-page.component').then(m => m.StaticPageComponent) + }, + { + path: ':staticPath', + loadComponent: () => import('./pages/static-page/static-page.component').then(m => m.StaticPageComponent) } ]; diff --git a/src/app/components/footer/footer.component.html b/src/app/components/footer/footer.component.html index 80469d6..6219e2f 100644 --- a/src/app/components/footer/footer.component.html +++ b/src/app/components/footer/footer.component.html @@ -9,7 +9,20 @@ - + @for (group of footerGroups(); track group.id) { + + } - + @for (group of footerGroups(); track group.id) { + + }