docs: add tracking for navigation usage (#8819)
This commit is contained in:
@@ -4,12 +4,13 @@ import clsx from "clsx"
|
|||||||
import React, { useMemo, useRef, useState } from "react"
|
import React, { useMemo, useRef, useState } from "react"
|
||||||
import { MainNavigationDropdownSelected } from "./Selected"
|
import { MainNavigationDropdownSelected } from "./Selected"
|
||||||
import { MainNavigationDropdownMenu } from "./Menu"
|
import { MainNavigationDropdownMenu } from "./Menu"
|
||||||
import { useClickOutside, useMainNav } from "../../.."
|
import { useAnalytics, useClickOutside, useMainNav } from "../../.."
|
||||||
|
|
||||||
export const MainNavigationDropdown = () => {
|
export const MainNavigationDropdown = () => {
|
||||||
const { navItems: items } = useMainNav()
|
const { navItems: items } = useMainNav()
|
||||||
const navigationRef = useRef<HTMLDivElement>(null)
|
const navigationRef = useRef<HTMLDivElement>(null)
|
||||||
const [menuOpen, setMenuOpen] = useState(false)
|
const [menuOpen, setMenuOpen] = useState(false)
|
||||||
|
const { track } = useAnalytics()
|
||||||
useClickOutside({
|
useClickOutside({
|
||||||
elmRef: navigationRef,
|
elmRef: navigationRef,
|
||||||
onClickOutside: () => {
|
onClickOutside: () => {
|
||||||
@@ -33,7 +34,14 @@ export const MainNavigationDropdown = () => {
|
|||||||
{selectedItem && (
|
{selectedItem && (
|
||||||
<MainNavigationDropdownSelected
|
<MainNavigationDropdownSelected
|
||||||
item={selectedItem}
|
item={selectedItem}
|
||||||
onClick={() => setMenuOpen((prev) => !prev)}
|
onClick={() => {
|
||||||
|
setMenuOpen((prev) => !prev)
|
||||||
|
if (!menuOpen) {
|
||||||
|
track("nav_main_open", {
|
||||||
|
url: window.location.href,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}}
|
||||||
isActive={menuOpen}
|
isActive={menuOpen}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import React, { useRef, useState } from "react"
|
|||||||
import {
|
import {
|
||||||
BorderedIcon,
|
BorderedIcon,
|
||||||
getOsShortcut,
|
getOsShortcut,
|
||||||
|
useAnalytics,
|
||||||
useClickOutside,
|
useClickOutside,
|
||||||
useSidebar,
|
useSidebar,
|
||||||
} from "../../../.."
|
} from "../../../.."
|
||||||
@@ -20,9 +21,17 @@ import { Menu } from "../../../Menu"
|
|||||||
export const SidebarTopMedusaMenu = () => {
|
export const SidebarTopMedusaMenu = () => {
|
||||||
const [openMenu, setOpenMenu] = useState(false)
|
const [openMenu, setOpenMenu] = useState(false)
|
||||||
const { setDesktopSidebarOpen } = useSidebar()
|
const { setDesktopSidebarOpen } = useSidebar()
|
||||||
|
const { track } = useAnalytics()
|
||||||
const ref = useRef<HTMLDivElement>(null)
|
const ref = useRef<HTMLDivElement>(null)
|
||||||
|
|
||||||
const toggleOpen = () => setOpenMenu((prev) => !prev)
|
const toggleOpen = () => {
|
||||||
|
setOpenMenu((prev) => !prev)
|
||||||
|
if (!openMenu) {
|
||||||
|
track("nav_sidebar_open", {
|
||||||
|
url: window.location.href,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
useClickOutside({
|
useClickOutside({
|
||||||
elmRef: ref,
|
elmRef: ref,
|
||||||
|
|||||||
Reference in New Issue
Block a user