59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
|
|
import { LocalizedHtmlContent, LocalizedTextContent } from '../../../shared/models/config';
|
||
|
|
|
||
|
|
export interface ContentPageSeoConfig {
|
||
|
|
title?: string;
|
||
|
|
description?: string;
|
||
|
|
keywords?: string;
|
||
|
|
canonical?: string;
|
||
|
|
ogTitle?: string;
|
||
|
|
ogDescription?: string;
|
||
|
|
ogImage?: string;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ContentPageTranslation {
|
||
|
|
title?: string;
|
||
|
|
html?: string;
|
||
|
|
seo?: ContentPageSeoConfig;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ContentPage {
|
||
|
|
id: string;
|
||
|
|
slug: string;
|
||
|
|
title: string;
|
||
|
|
icon?: string;
|
||
|
|
order: number;
|
||
|
|
showInFooter: boolean;
|
||
|
|
showInHeader: boolean;
|
||
|
|
showInSitemap: boolean;
|
||
|
|
visibility: {
|
||
|
|
desktop?: boolean;
|
||
|
|
tablet?: boolean;
|
||
|
|
mobile?: boolean;
|
||
|
|
};
|
||
|
|
requiresAuthentication: boolean;
|
||
|
|
footerGroup?: string;
|
||
|
|
translations: Record<string, ContentPageTranslation>;
|
||
|
|
seo?: ContentPageSeoConfig;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ContentPageBootstrapInput {
|
||
|
|
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, ContentPageTranslation>;
|
||
|
|
html?: string | LocalizedHtmlContent;
|
||
|
|
seo?: ContentPageSeoConfig | { title?: string | LocalizedTextContent; description?: string | LocalizedTextContent; keywords?: string; canonical?: string; ogTitle?: string | LocalizedTextContent; ogDescription?: string | LocalizedTextContent; ogImage?: string; robots?: string; metaTags?: Array<{ name?: string; property?: string; content: string }>; };
|
||
|
|
}
|