feat(cms): add static pages module

This commit is contained in:
sdarbinyan
2026-07-10 13:52:01 +04:00
parent e2c8747fcc
commit 7d6c09a346
25 changed files with 890 additions and 159 deletions

View File

@@ -6,16 +6,53 @@ export interface LocalizedTextContent {
[locale: string]: string;
}
export interface StaticPageConfig {
route: string;
title: LocalizedTextContent;
content: LocalizedHtmlContent;
export interface StaticPageSeoConfig {
title?: string | LocalizedTextContent;
description?: string | LocalizedTextContent;
keywords?: string;
canonical?: string;
ogTitle?: string | LocalizedTextContent;
ogDescription?: string | LocalizedTextContent;
ogImage?: string;
robots?: string;
}
export interface StaticPageTranslationConfig {
title?: string;
html?: string;
seo?: {
title?: LocalizedTextContent;
description?: LocalizedTextContent;
robots?: string;
title?: string;
description?: string;
keywords?: string;
canonical?: string;
ogTitle?: string;
ogDescription?: string;
ogImage?: string;
};
}
export interface StaticPageConfig {
id: string;
slug: string;
title: string | LocalizedTextContent;
showInFooter?: boolean;
showInHeader?: boolean;
showInSitemap?: boolean;
icon?: string;
order?: number;
visibility?: {
desktop?: boolean;
tablet?: boolean;
mobile?: boolean;
};
requiresAuthentication?: boolean;
footerGroup?: string;
translations?: Record<string, StaticPageTranslationConfig>;
html?: string | LocalizedHtmlContent;
seo?: StaticPageSeoConfig;
visible?: boolean;
route?: string;
content?: LocalizedHtmlContent;
}
export interface LegacyStaticPageConfig {
@@ -30,7 +67,21 @@ export type StaticPagesConfig = Record<string, StaticPageConfig> | LegacyStaticP
export interface ResolvedStaticPage {
key: string;
id: string;
slug: string;
route: string;
title: string;
html: string;
icon?: string;
requiresAuthentication?: boolean;
seo?: {
title?: string;
description?: string;
keywords?: string;
canonical?: string;
ogTitle?: string;
ogDescription?: string;
ogImage?: string;
robots?: string;
};
}