diff --git a/src/app/(home)/@header/menu-help.tsx b/src/app/(home)/@header/menu-help.tsx index 985c0c4..bc73f41 100644 --- a/src/app/(home)/@header/menu-help.tsx +++ b/src/app/(home)/@header/menu-help.tsx @@ -5,7 +5,9 @@ import h01 from '@/assets/header/help/01.svg' import h02 from '@/assets/header/help/02.svg' import h03 from '@/assets/header/help/03.svg' import banner from '@/assets/header/help/banner.webp' -import {FragmentTitle} from '@/app/(home)/@header/common' +import {FragmentTitle, HeaderContext} from './common' +import {useContext} from 'react' +import {useRouter} from 'next/navigation' export default function HelpMenu() { return ( @@ -49,13 +51,28 @@ function Column(props: { href: string }[] }) { + const ctx = useContext(HeaderContext) // 获取菜单上下文 + const router = useRouter() + + if (!ctx) { + throw new Error(`HeaderContext not found`) + } return (
diff --git a/src/app/(home)/@header/menu-solution.tsx b/src/app/(home)/@header/menu-solution.tsx index b2a83ad..4481441 100644 --- a/src/app/(home)/@header/menu-solution.tsx +++ b/src/app/(home)/@header/menu-solution.tsx @@ -8,8 +8,10 @@ import s06 from '@/assets/header/solution/06.svg' import s07 from '@/assets/header/solution/07.svg' import s08 from '@/assets/header/solution/08.svg' import {StaticImageData} from 'next/image' -import {FragmentTitle} from '@/app/(home)/@header/common' import Link from 'next/link' +import {useRouter} from 'next/navigation' +import {useContext} from 'react' +import {FragmentTitle, HeaderContext} from './common' export default function SolutionMenu() { return ( @@ -72,6 +74,16 @@ function SolutionItem(props: { desc: string href: string }) { + const router = useRouter() + const ctx = useContext(HeaderContext) + if (!ctx) { + throw new Error(`HeaderContext not found`) + } + + const onClick = () => { + ctx.setMenu(false) + router.push(props.href) + } return (

{props.desc}

diff --git a/src/app/(home)/collect/page.tsx b/src/app/(home)/collect/page.tsx index 0dc1f4f..99a29db 100644 --- a/src/app/(home)/collect/page.tsx +++ b/src/app/(home)/collect/page.tsx @@ -9,7 +9,7 @@ export default function CollectPage(props: CollectPageProps) {