diff --git a/packages/frontend/src/navigation/Nav.tsx b/packages/frontend/src/navigation/Nav.tsx
index 64e44f71f..c1316790f 100644
--- a/packages/frontend/src/navigation/Nav.tsx
+++ b/packages/frontend/src/navigation/Nav.tsx
@@ -6,6 +6,9 @@ import {
faMoon,
faSun,
faCalendarAlt,
+ faBullhorn,
+ faFire,
+ faFileLines,
} from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { Menu } from '@headlessui/react';
@@ -69,18 +72,49 @@ export const Nav = (): JSX.Element => {
-
+
+
handleTheme('Light')}
>
-
+
+
+
+
+ Light mode
+
+
handleTheme('Dark')}
>
-
+
+
+
+
+ Dark mode
+
diff --git a/packages/frontend/src/navigation/NavItem.tsx b/packages/frontend/src/navigation/NavItem.tsx
index c5f0588cd..68e0f6ea1 100644
--- a/packages/frontend/src/navigation/NavItem.tsx
+++ b/packages/frontend/src/navigation/NavItem.tsx
@@ -1,12 +1,15 @@
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { NavLink } from 'react-router-dom';
+import { classNames } from '../utils';
interface NavProps {
icon?: IconProp;
description: string;
to: string;
replace?: boolean;
+ iconClassName?: string;
+ rounded?: boolean;
}
export const NavItem = ({
@@ -14,24 +17,36 @@ export const NavItem = ({
description,
to,
replace = false,
+ iconClassName,
+ rounded = false,
}: NavProps): JSX.Element => {
+ const url = to.startsWith('http') ? { pathname: to } : to;
+ const target = to.startsWith('http') ? '_blank' : '';
+
return (
- `relative group-first:rounded-t-lg group-last:rounded-b-lg px-5 py-2 cursor-pointer no-underline flex items-center ${
+ `relative px-5 py-2 cursor-pointer no-underline flex items-center ${
isActive
? ' bg-warm-gray-100 dark:bg-slate-700'
: ' hover:bg-warm-gray-100 dark:hover:bg-slate-700'
+ } ${
+ rounded ? 'group-first:rounded-t-lg group-last:rounded-b-lg' : ''
}`
}
id={to.substring(1) + '-nav-button'}
replace={replace}
+ target={target}
>
{icon && (
-
+
)}
diff --git a/packages/frontend/src/pages/Periods/Details/PeriodDetailsPage.tsx b/packages/frontend/src/pages/Periods/Details/PeriodDetailsPage.tsx
index b62397a67..8b22f9732 100644
--- a/packages/frontend/src/pages/Periods/Details/PeriodDetailsPage.tsx
+++ b/packages/frontend/src/pages/Periods/Details/PeriodDetailsPage.tsx
@@ -107,6 +107,7 @@ export const PeriodDetailsPage = (): JSX.Element | null => {
description="Receivers"
icon={faHeartbeat}
replace
+ rounded
/>
{
description="Analytics"
icon={faChartBar}
replace
+ rounded
/>
diff --git a/packages/frontend/src/pages/Settings/SettingsPage.tsx b/packages/frontend/src/pages/Settings/SettingsPage.tsx
index fdd3f5228..8a9a6e2a0 100644
--- a/packages/frontend/src/pages/Settings/SettingsPage.tsx
+++ b/packages/frontend/src/pages/Settings/SettingsPage.tsx
@@ -57,6 +57,7 @@ const SettingsPage = (): JSX.Element | null => {
to={`${url}/application`}
description="Application"
replace
+ rounded
/>
{
to={`${url}/custom-export`}
description="Custom Export"
replace
+ rounded
/>