diff --git a/src/app/share/[slug]/[[...path]]/ShareNav.tsx b/src/app/share/[slug]/[[...path]]/ShareNav.tsx index fa100b17..65e97313 100644 --- a/src/app/share/[slug]/[[...path]]/ShareNav.tsx +++ b/src/app/share/[slug]/[[...path]]/ShareNav.tsx @@ -1,12 +1,29 @@ -import { Column, Icon, Row, Text, ThemeButton } from '@umami/react-zen'; +import { Button, Column, Icon, Row, Text, ThemeButton } from '@umami/react-zen'; import { SideMenu } from '@/components/common/SideMenu'; import { useMessages, useNavigation, useShare } from '@/components/hooks'; -import { AlignEndHorizontal, Clock, Eye, Sheet, Tag, User } from '@/components/icons'; +import { + AlignEndHorizontal, + Clock, + Eye, + PanelLeftClose, + PanelLeftOpen, + Sheet, + Tag, + User, +} from '@/components/icons'; import { LanguageButton } from '@/components/input/LanguageButton'; import { PreferencesButton } from '@/components/input/PreferencesButton'; import { Funnel, Lightning, Logo, Magnet, Money, Network, Path, Target } from '@/components/svg'; -export function ShareNav({ onItemClick }: { onItemClick?: () => void }) { +export function ShareNav({ + collapsed, + onCollapse, + onItemClick, +}: { + collapsed?: boolean; + onCollapse?: (collapsed: boolean) => void; + onItemClick?: () => void; +}) { const share = useShare(); const { formatMessage, labels } = useMessages(); const { pathname } = useNavigation(); @@ -130,35 +147,56 @@ export function ShareNav({ onItemClick }: { onItemClick?: () => void }) { .find(({ path }) => path && pathname.endsWith(path.split('?')[0]))?.id; return ( - - - - - {logoImage ? ( - {logoName} - ) : ( - - - - )} - {logoName} - - + + + {!collapsed && ( + + + {logoImage ? ( + {logoName} + ) : ( + + + + )} + {logoName} + + + )} + - - - + {!collapsed && ( + + + + )} - + - + ); diff --git a/src/app/share/[slug]/[[...path]]/SharePage.tsx b/src/app/share/[slug]/[[...path]]/SharePage.tsx index d80bc3b1..aab32c1f 100644 --- a/src/app/share/[slug]/[[...path]]/SharePage.tsx +++ b/src/app/share/[slug]/[[...path]]/SharePage.tsx @@ -1,7 +1,7 @@ 'use client'; import { Column, Grid, Row, useTheme } from '@umami/react-zen'; import { usePathname } from 'next/navigation'; -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { AttributionPage } from '@/app/(main)/websites/[websiteId]/(reports)/attribution/AttributionPage'; import { BreakdownPage } from '@/app/(main)/websites/[websiteId]/(reports)/breakdown/BreakdownPage'; import { FunnelsPage } from '@/app/(main)/websites/[websiteId]/(reports)/funnels/FunnelsPage'; @@ -52,6 +52,7 @@ function getSharePath(pathname: string) { } export function SharePage() { + const [navCollapsed, setNavCollapsed] = useState(false); const share = useShare(); const { setTheme } = useTheme(); const pathname = usePathname(); @@ -78,7 +79,7 @@ export function SharePage() { const PageComponent = PAGE_COMPONENTS[pageKey] || WebsitePage; return ( - + {({ close }) => { @@ -87,7 +88,7 @@ export function SharePage() { - +