aboutsummaryrefslogtreecommitdiff
path: root/apps/website/config.ts
blob: 20da56ff96210fb613390b4c6888c54948f0c2cf (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import type { Config, NavbarDropdown, Project } from '@webtypes/Config';

export const configConst = {
	projects: getProjects(),
	logos: ['oneconfig.minimal', 'polyfrost.full', 'polyfrost.minimal', 'polyfrost.minimal_bg'],
	navbar: {
		left: [
			{
				logo: ['polyfrost.full', -1],
				path: '/',
			},
		],
		right: [
			{
				text: 'Home',
				path: '/',
			},
			{
				text: 'Projects',
				dropdown: getProjects().map((project) => {
					(project as any).path = `/projects/${project.name.toLowerCase()}`;
					return project;
				}) as unknown as NavbarDropdown[],
			},
		],
	},
	footer: [
		{
			header: 'Products',
			links: [
				{
					text: 'OneConfig',
					url: '/projects/oneconfig',
				},
				{
					text: 'OneLauncher',
					url: '/projects/onelauncher',
				},
			],
		},
		{
			header: 'Organization',
			links: [
				{
					text: 'About us',
					url: '/about',
				},
				{
					text: 'Branding',
					url: '/branding',
				},
				{
					text: 'Contact us',
					url: '/contact',
				},
				{
					text: 'Documentation',
					url: '/documentation',
				},
			],
		},
		{
			header: 'Legal',
			links: [
				{
					text: 'Terms of service',
					url: '/terms',
				},
				{
					text: 'Privacy policy',
					url: '/privacy',
				},
				{
					text: 'Licenses',
					url: '/licenses',
				},
			],
		},
	],
} satisfies Config;

function getProjects(): Project[] {
	return [
		{
			name: 'OneConfig',
			description: 'The next-generation config library for Forge and Fabric',
			logo: 'oneconfig.minimal',
			tag: 'BETA',
		},
		{
			name: 'OneLauncher',
			description: 'The next-generation launcher for Forge and Fabric',
			logo: 'polyfrost.minimal',
			tag: 'SOON',
		},
	];
}

// -------------------- NO TOUCH --------------------- //
export default configConst as unknown as Config;