infinity-forge
Version:
53 lines (52 loc) • 1.4 kB
TypeScript
import { FileSystemType, IconsNames, PaginationModel } from '../../../../ui/index.js';
export type DynamicSection<J = any> = {
id: string;
enabled: boolean;
ref: string;
videoUrl: string;
linkUrl: string;
jsonContent?: J;
images: FileSystemType[];
linkFull?: {
text?: string;
url?: string;
svg?: IconsNames | undefined;
target?: '_blank' | '_self';
};
};
export type PageNames = 'pagination' | 'tags' | 'banners' | 'artigos' | 'posts' | 'equipes' | 'servicos' | 'depoimentos' | 'marcas' | 'clientes' | 'page' | 'cursos' | 'produtos' | 'categorias';
export type PageItem = {
tags?: string;
id?: number | null;
ordem?: number | null;
titulo: string;
subtitulo: string;
thumbnail: string;
imagem: string;
ref: string;
imagemAlt: string;
thumbnailAlt: string;
imagemMobile: string;
url: string;
destaque?: boolean | null;
datas: string;
menu?: boolean | null;
data?: Date | null;
dataCriacao?: Date | null;
link: string;
descricao: string;
dataCadastro?: Date | null;
fields?: {
[key: string]: any;
};
imagens?: string[];
items?: PageItem[];
} & PaginationModel;
export type DynamicPageProps = {
page: {
metaDescription?: string;
metaTitle?: string;
} & PageItem;
} & {
[key in PageNames]: PageItem[];
};