import type { FC, ReactNode } from "react"; import { AppShell as MantineAppShell, NavLink, Text } from "@mantine/core"; import { BondsIcon, CardsIcon, PortfolioIcon, SettingsIcon, StocksIcon, } from "@wealthledger/icons"; import { useTranslation } from "react-i18next"; import { Outlet, NavLink as RouterNavLink, useLocation } from "react-router"; import classes from "./AppShell.module.css"; type AppShellProps = { contentAboveOutlet?: ReactNode; }; const AppShell: FC = (props) => { const { contentAboveOutlet } = props; const { t } = useTranslation(); const { pathname } = useLocation(); const items = [ { icon: , iconClassName: classes.portfolioIcon, label: t("navigation.accounts"), to: "/accounts", }, { icon: , iconClassName: classes.cardsIcon, label: t("navigation.cards"), to: "/cards", }, { icon: , iconClassName: classes.stocksIcon, label: t("navigation.stocks"), to: "/stocks", }, { icon: , iconClassName: classes.bondsIcon, label: t("navigation.bonds"), to: "/bonds", }, { icon: , iconClassName: classes.settingsIcon, label: t("navigation.settings"), to: "/settings", }, ]; return ( {t("appName")} {items.map(item => ( {item.icon} )} to={item.to} /> ))}
{contentAboveOutlet}
); }; export { AppShell };