aboutsummaryrefslogtreecommitdiff
path: root/apps/website/config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/website/config.ts')
-rw-r--r--apps/website/config.ts126
1 files changed, 81 insertions, 45 deletions
diff --git a/apps/website/config.ts b/apps/website/config.ts
index 19c92a4..81f939e 100644
--- a/apps/website/config.ts
+++ b/apps/website/config.ts
@@ -1,81 +1,117 @@
-import type { Config, NavbarDropdown, NavbarElement, Project } from '@webtypes/Config';
+import type { Config, NavbarDropdown, Project } from '@webtypes/Config';
export const configConst = {
projects: getProjects(),
logos: ['oneconfig.minimal', 'polyfrost.full', 'polyfrost.minimal', 'polyfrost.minimal_bg'],
+ socials: {
+ youtube: 'https://youtube.com/@Polyfrost',
+ discord: '/discord',
+ github: 'https://github.com/Polyfrost',
+ modrinth: {
+ id: 'polyfrost',
+ type: 'organization',
+ },
+ skyclient: 'https://skyclient.co',
+ },
navbar: {
left: [
{
logo: ['polyfrost.full', -1],
- path: '/'
- }
+ path: '/',
+ },
],
right: [
{
text: 'Home',
- path: '/'
+ path: '/',
+ },
+ {
+ text: 'Mods',
+ path: '/mods',
},
{
text: 'Projects',
dropdown: getProjects().map((project) => {
- (project as any).path = `/projects/${project.name.toLowerCase()}`;
- return project;
- }) as unknown as NavbarDropdown[]
- }
- ]
- }
-} as const satisfies Config;
+ if (project.hasPage)
+ (project as any).path = `/projects/${project.name.toLowerCase()}`;
-function getProjects(): Project[] {
- return [
- {
- name: 'OneConfig',
- description: 'The next-generation config library for Forge and Fabric',
- logo: 'oneconfig.minimal',
- tag: 'BETA'
- },
+ return project;
+ }) as unknown as NavbarDropdown[],
+ },
+ {
+ text: 'About Us',
+ path: '/about',
+ },
+ ],
+ },
+ footer: [
{
- name: 'OneLauncher',
- description: 'The next-generation launcher for Forge and Fabric',
- logo: 'polyfrost.minimal',
- tag: 'SOON'
+ header: 'Products',
+ links: getProjects().filter(project => project.hasPage === true).map(project => ({
+ text: project.name,
+ url: `/projects/${project.name.toLowerCase()}`,
+ })).concat([
+ {
+ text: 'Mods',
+ url: '/mods',
+ },
+ ]),
},
{
- name: 'OneConfig',
- description: 'The next-generation config library for Forge and Fabric',
- logo: 'oneconfig.minimal',
- tag: 'BETA'
+ header: 'Organization',
+ links: [
+ {
+ text: 'About us',
+ url: '/about',
+ },
+ {
+ text: 'Branding',
+ url: '/branding',
+ },
+ {
+ text: 'Contact us',
+ url: '/contact',
+ },
+ {
+ text: 'Documentation',
+ url: 'https://docs.polyfrost.org',
+ },
+ {
+ text: 'Open source',
+ url: '/oss',
+ },
+ ],
},
{
- name: 'OneLauncher',
- description: 'The next-generation launcher for Forge and Fabric',
- logo: 'polyfrost.minimal',
- tag: 'SOON'
+ header: 'Legal',
+ links: [
+ {
+ text: 'Terms of service',
+ url: '/legal/tos',
+ },
+ {
+ text: 'Privacy policy',
+ url: '/legal/privacy',
+ },
+ ],
},
+ ],
+} satisfies Config;
+
+function getProjects(): Project[] {
+ return [
{
name: 'OneConfig',
description: 'The next-generation config library for Forge and Fabric',
logo: 'oneconfig.minimal',
- tag: 'BETA'
+ hasPage: true,
},
{
name: 'OneLauncher',
description: 'The next-generation launcher for Forge and Fabric',
logo: 'polyfrost.minimal',
- tag: 'SOON'
+ tag: 'SOON',
},
- {
- 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'
- }
];
}