aboutsummaryrefslogtreecommitdiffstats
path: root/src/ts/types/app.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/ts/types/app.ts')
-rw-r--r--src/ts/types/app.ts17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/ts/types/app.ts b/src/ts/types/app.ts
index 87ab042..f354118 100644
--- a/src/ts/types/app.ts
+++ b/src/ts/types/app.ts
@@ -29,7 +29,7 @@ export type Comment = {
export type Dates = {
publication: string;
- update: string;
+ update?: string;
};
export type Image = {
@@ -58,23 +58,23 @@ export type Meta<T extends PageKind> = {
commentsCount?: T extends 'article' ? number : never;
cover?: Image;
dates: Dates;
- license?: T extends 'projects' ? string : never;
- readingTime: number;
- repos?: T extends 'projects' ? Repos : never;
+ license?: T extends 'project' ? string : never;
+ readingTime?: number;
+ repos?: T extends 'project' ? Repos : never;
seo: SEO;
- tagline?: T extends 'projects' ? string : never;
- technologies?: T extends 'projects' ? string[] : never;
+ tagline?: T extends 'project' ? string : never;
+ technologies?: T extends 'project' ? string[] : never;
thematics?: T extends 'article' | 'topic' ? PageLink[] : never;
topics?: T extends 'article' | 'thematic' ? PageLink[] : never;
website?: T extends 'topic' ? string : never;
- wordsCount: number;
+ wordsCount?: number;
};
export type Page<T extends PageKind> = {
content: string;
id: number | string;
intro: string;
- meta?: Meta<T>;
+ meta: Meta<T>;
slug: string;
title: string;
};
@@ -89,6 +89,7 @@ export type Article = Page<'article'>;
export type ArticleCard = Pick<Article, 'id' | 'slug' | 'title'> &
Pick<Meta<'article'>, 'cover' | 'dates'>;
export type Project = Page<'project'>;
+export type ProjectPreview = Omit<Page<'project'>, 'content'>;
export type ProjectCard = Pick<Page<'project'>, 'id' | 'slug' | 'title'> & {
meta: Pick<Meta<'project'>, 'cover' | 'dates' | 'tagline' | 'technologies'>;
};