'use client'
import {ReactNode, useContext, useState, useEffect} from 'react'
import Wrap from '@/components/wrap'
import Image from 'next/image'
import anno from '@/assets/header/product/anno.svg'
import Link from 'next/link'
import {merge} from '@/lib/utils'
import prod from '@/assets/header/product/prod.svg'
import custom from '@/assets/header/product/custom.svg'
import {HeaderContext} from '@/app/(home)/@header/_client/provider'
import {useSearchParams} from 'next/navigation'
import {useRouter} from 'next/navigation'
type TabType = 'domestic' | 'oversea'
export function Tab(props: {
selected: boolean
onSelect: () => void
children: ReactNode
}) {
const searchParams = useSearchParams()
const currentType = searchParams?.get('type') || 'short'
return (
)
}
export function Domestic(props: {}) {
const searchParams = useSearchParams()
const currentType = searchParams?.get('type') || 'short'
return (
代理产品
业务定制
优质/企业/精选IP
超 1000 家企业共同信赖之选!大客户经理全
程 1 对 1 沟通,随时为您排忧解难,提供 24
小时不间断支持
)
}
export function Oversea(props: {}) {
return (
)
}
export default function ProductMenu() {
const [type, setType] = useState('domestic')
const searchParams = useSearchParams()
useEffect(() => {
const urlType = searchParams?.get('type')
console.log('URL参数:', urlType)
}, [searchParams])
// 响应式布局
const [isMobile, setIsMobile] = useState(false)
useEffect(() => {
const checkMobile = () => {
setIsMobile(window.innerWidth <= 1024)
}
checkMobile()
window.addEventListener('resize', checkMobile)
return () => window.removeEventListener('resize', checkMobile)
}, [])
return (
setType('domestic')}>国内代理
setType('oversea')}>海外代理
{type === 'domestic'
? (
) : (
)
}
)
}
export function DomesticLink(props: {
label: string
desc: string
href: string
discount: number
active?: boolean
}) {
const ctx = useContext(HeaderContext)
const router = useRouter()
if (!ctx) {
throw new Error(`HeaderContext not found`)
}
// const onClick = () => {
// ctx.setMenu(false)
// }
const onClick = (e: React.MouseEvent) => {
e.preventDefault()
e.stopPropagation()
ctx.setMenu(false)
setTimeout(() => {
router.push(props.href)
}, ctx.isMobile ? 100 : 0)
}
return (
{props.label}
折扣
{props.discount}
%
{props.desc}
)
}