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 />