aboutsummaryrefslogtreecommitdiff
path: root/apps/website/src/types/Config.d.ts
blob: 6a4306d83a352003c0b934d46cf58ee6d5dc4083 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import type { configConst } from 'config';

export type LogoType = (typeof configConst.logos)[number];

export interface ProjectDownload {
	url: string,
	platform?: "windows" | "mac" | "linux" | "universal",
	architecture?: "x86" | "x64" | "arm" | "arm64" | "universal",
}

export interface Project {
	name: string
	description: string,
	logo?: LogoType
	tag?: string
	downloads?: ProjectDownload[]
	descriptionLong?: string,
	hasPage?: boolean,
}

export interface NavbarDropdown {
	name: string
	description: string
	path?: string
	logo?: LogoType
	tag?: string,
}

export interface NavbarElement {
	text?: string
	logo?: [string, number]
	path?: string
	alt?: string
	dropdown?: NavbarDropdown[]
}

export interface FooterColumn {
	header: string
	links: {
		text: string,
		url: string,
	}[]
}

export interface Config {
	projects: Project[],
	logos: string[],
	socials: {
		youtube: string,
		// twitter: string,
		discord: string,
		github: string,
		modrinth: {
			type: "user" | "organization",
			id: string,
		},
		skyclient: string,
	},
	navbar: {
		left: NavbarElement[],
		right: NavbarElement[],
	},
	footer: FooterColumn[],
}