Files
pse.dev/lib/types.ts
2023-08-17 18:09:27 +02:00

43 lines
842 B
TypeScript

export interface NewsInterface {
type: string
title: string
expires?: string
action: {
label: string
url: string
}
}
export type ProjectLinkWebsite =
| "github"
| "website"
| "discord"
| "twitter"
| "youtube"
export type ProjectLinkType = Partial<Record<ProjectLinkWebsite, string>>
export type ProjectExtraLinkType = "buildWith" | "play" | "research" | "learn"
export type ActionLinkType = Partial<
Record<
ProjectExtraLinkType,
Array<{
label: string
url: string
}>
>
>
export type ProjectStatusType = "active" | "inactive" | "archived"
export interface ProjectInterface {
id: string
image: string
name: string
tldr: string
description: string
links?: ProjectLinkType
projectStatus: ProjectStatusType
tags?: Record<string, string[]>
extraLinks?: ActionLinkType
}