oxen-website/constants/navigation.ts

112 lines
2.2 KiB
TypeScript
Raw Normal View History

2021-02-11 01:38:40 +01:00
import { ISideMenuItem } from '../components/navigation/SideMenu';
import { SideMenuItem } from '../state/navigation';
2021-01-28 02:54:06 +01:00
export interface IMenuItem {
label: string;
href: string;
2021-02-09 03:48:53 +01:00
newTab: boolean;
subtle: boolean;
2021-02-09 04:14:52 +01:00
external: boolean;
2021-02-11 06:26:56 +01:00
mobileMenuOnly?: boolean;
2021-01-28 02:54:06 +01:00
}
2021-02-11 01:38:40 +01:00
// Hrefs are generated from Keys using slugify.
// Eg. WHO_ARE_WE -> /who-are-we
const SIDE_MENU_ITEMS = {
[SideMenuItem.WHO_ARE_WE]: {
id: 1,
2021-02-12 06:37:44 +01:00
label: 'What is Oxen?',
2021-02-11 01:38:40 +01:00
href: '/who-are-we',
},
2021-02-12 06:37:44 +01:00
[SideMenuItem.BUY_OXEN]: {
2021-02-11 01:38:40 +01:00
id: 2,
2021-02-12 06:37:44 +01:00
label: 'Why buy $OXEN?',
href: '/buy-oxen',
2021-02-11 01:38:40 +01:00
},
2021-02-12 06:37:44 +01:00
[SideMenuItem.STAKE]: {
2021-02-11 01:38:40 +01:00
id: 3,
2021-02-12 06:37:44 +01:00
label: 'How do I stake $OXEN?',
href: '/stake',
2021-02-11 01:38:40 +01:00
},
[SideMenuItem.USES]: {
id: 4,
2021-02-12 06:37:44 +01:00
label: 'Who uses Oxen?',
2021-02-11 01:38:40 +01:00
href: '/uses',
},
2021-02-12 06:37:44 +01:00
[SideMenuItem.BUILD]: {
id: 5,
label: 'What can be built?',
href: '/build',
},
[SideMenuItem.SESSION_LOKINET]: {
id: 6,
label: 'Session & Lokinet',
href: '/session-lokinet',
2021-02-11 01:38:40 +01:00
},
[SideMenuItem.GET_INVOLVED]: {
2021-02-12 06:37:44 +01:00
id: 7,
2021-02-11 01:38:40 +01:00
label: 'Get involved',
href: '/get-involved',
},
2021-02-18 04:07:53 +01:00
[SideMenuItem.ROADMAP]: {
id: 8,
label: "What's the 2021 roadmap?",
href: '/roadmap',
},
2021-02-11 01:38:40 +01:00
} as { [name: string]: ISideMenuItem };
2021-02-04 04:34:23 +01:00
const MENU_ITEMS: IMenuItem[] = [
2021-02-09 04:14:52 +01:00
{
label: 'Blog',
href: '/blog',
newTab: false,
subtle: false,
external: false,
},
{
label: 'Docs',
href: 'https://docs.oxen.io',
newTab: true,
subtle: false,
external: true,
},
{
2021-02-10 02:04:00 +01:00
label: 'Get Involved',
href: '/get-involved',
2021-02-09 04:14:52 +01:00
newTab: false,
subtle: false,
external: false,
2021-02-11 06:26:56 +01:00
mobileMenuOnly: true,
2021-02-09 04:14:52 +01:00
},
2021-02-09 03:48:53 +01:00
{
label: 'Explorer',
href: 'https://oxen.observer/',
newTab: true,
subtle: true,
2021-02-09 04:14:52 +01:00
external: true,
2021-02-09 03:48:53 +01:00
},
{
label: 'CoinGecko',
href: 'https://www.coingecko.com/en/coins/oxen',
newTab: true,
subtle: true,
2021-02-09 04:14:52 +01:00
external: true,
2021-02-09 03:48:53 +01:00
},
{
label: 'Downloads',
href: 'https://docs.oxen.io/downloads',
newTab: true,
subtle: true,
2021-02-09 04:14:52 +01:00
external: true,
2021-02-09 03:48:53 +01:00
},
2021-01-28 02:54:06 +01:00
];
2021-02-04 04:34:23 +01:00
const NAVIGATION = {
MENU_ITEMS,
2021-02-11 01:38:40 +01:00
SIDE_MENU_ITEMS,
2021-02-09 05:51:32 +01:00
BLOG_REGEX: /^\/(blog)[?tag=[\w]*]?$/,
POST_REGEX: /^\/(blog\/)(([\w-]{1,100})|(\[slug\]))$/,
2021-02-04 04:34:23 +01:00
};
export default NAVIGATION;