diff options
Diffstat (limited to 'apps/website/config.ts')
-rw-r--r-- | apps/website/config.ts | 126 |
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' - } ]; } |