import { Badge, Button, Dropdown, Layout, Space, Typography } from 'antd' import { Link, Outlet, useNavigate } from 'react-router-dom' import { UserOutlined } from '@ant-design/icons' import { BrandLogo } from '@/components/BrandLogo' import { useChatUnreadCount } from '@/features/messages/api' import { useSessionStore } from '@/stores/session' const { Header, Content, Footer } = Layout export function StorefrontLayout() { const navigate = useNavigate() const user = useSessionStore(state => state.user) const logout = useSessionStore(state => state.logout) const unreadMessages = useChatUnreadCount(Boolean(user)).data ?? 0 return (
{user ? ( navigate('/profile'), }, { key: 'realname', label: '实名认证', onClick: () => navigate('/realname'), }, { key: 'collections', label: '我的足迹', onClick: () => navigate('/listings/collections'), }, { key: 'orders', label: '我的订单', onClick: () => navigate('/orders'), }, { key: 'messages', label: '我的消息', onClick: () => navigate('/messages'), }, { key: 'notifications', label: '我的通知', onClick: () => navigate('/notifications'), }, { key: 'invitations', label: '邀请好友', onClick: () => navigate('/invitations'), }, { key: 'announcements', label: '公告中心', onClick: () => navigate('/announcements'), }, { key: 'wallet', label: '我的钱包', onClick: () => navigate('/wallet'), }, { key: 'seller-earnings', label: '卖家收益', onClick: () => navigate('/seller/earnings'), }, { key: 'seller-handoffs', label: '号主待办', onClick: () => navigate('/seller/handoffs'), }, { key: 'seller-pickups', label: '线下提号', onClick: () => navigate('/seller/pickups'), }, { key: 'seller', label: '卖家中心', onClick: () => navigate('/seller/listings'), }, { key: 'logout', label: '退出登录', onClick: async () => { await logout() navigate('/') }, }, ], }} > ) : ( )}
) }