From a43422d81fbe916a62ed6113eebd71a1281722e3 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Mon, 16 Oct 2023 21:55:59 -0700 Subject: [PATCH] Updated menu view for mobile. --- .../(main)/websites/[id]/WebsiteMenuView.js | 23 +++++++++-- .../websites/[id]/WebsiteMenuView.module.css | 38 +++++++++++++++++++ src/components/layout/SideNav.js | 8 +++- src/components/metrics/ListTable.js | 2 +- src/components/metrics/ListTable.module.css | 4 ++ 5 files changed, 70 insertions(+), 5 deletions(-) diff --git a/src/app/(main)/websites/[id]/WebsiteMenuView.js b/src/app/(main)/websites/[id]/WebsiteMenuView.js index 370d2f77..00b218f4 100644 --- a/src/app/(main)/websites/[id]/WebsiteMenuView.js +++ b/src/app/(main)/websites/[id]/WebsiteMenuView.js @@ -1,4 +1,4 @@ -import { Icons, Icon, Text } from 'react-basics'; +import { Icons, Icon, Text, Dropdown, Item } from 'react-basics'; import BrowsersTable from 'components/metrics/BrowsersTable'; import CountriesTable from 'components/metrics/CountriesTable'; import RegionsTable from 'components/metrics/RegionsTable'; @@ -14,8 +14,8 @@ import EventsTable from 'components/metrics/EventsTable'; import SideNav from 'components/layout/SideNav'; import useNavigation from 'components/hooks/useNavigation'; import useMessages from 'components/hooks/useMessages'; -import styles from './WebsiteMenuView.module.css'; import LinkButton from 'components/common/LinkButton'; +import styles from './WebsiteMenuView.module.css'; const views = { url: PagesTable, @@ -36,6 +36,7 @@ const views = { export default function WebsiteMenuView({ websiteId, websiteDomain }) { const { formatMessage, labels } = useMessages(); const { + router, makeUrl, pathname, query: { view }, @@ -106,6 +107,12 @@ export default function WebsiteMenuView({ websiteId, websiteDomain }) { const DetailsComponent = views[view] || (() => null); + const handleChange = view => { + router.push(makeUrl({ view })); + }; + + const renderValue = value => items.find(({ key }) => key === value)?.label; + return (
@@ -115,7 +122,17 @@ export default function WebsiteMenuView({ websiteId, websiteDomain }) { {formatMessage(labels.back)} - + + + {({ key, label }) => {label}} +
{}, }) { const pathname = usePathname(); return ( - + {({ key, label, url }) => ( {metric}
- {data?.length === 0 && } + {data?.length === 0 && } {virtualize && data.length > 0 ? (