import { Heading } from '@moex-vibe/design-system' import { Box } from '@mui/material' import type { UseQueryResult } from '@tanstack/react-query' import { Link, useParams } from '@tanstack/react-router' import { createContext, type ReactNode } from 'react' import { useBrokerPortfolio } from '@/entities/broker-account' import type { BrokerPortfolio } from '@/shared/api' const baseLinkStyle: React.CSSProperties = { padding: '10px 12px', borderRadius: 8, color: 'var(--color-text-secondary)', textDecoration: 'none', whiteSpace: 'nowrap', flexShrink: 0, display: 'inline-flex', alignItems: 'center', fontSize: 14, } const links = [ { to: '', label: 'Обзор' }, { to: '/shares', label: 'Акции' }, { to: '/bonds', label: 'Облигации' }, { to: '/operations', label: 'Операции' }, { to: '/events', label: 'События' }, ] export interface BrokerAccountContextValue { accountId: string portfolio: UseQueryResult } export const BrokerAccountContext = createContext(null) export function BrokerAccountLayout({ children }: { children: ReactNode }) { const { accountId = '' } = useParams({ from: '/broker/$accountId' }) const portfolio = useBrokerPortfolio(accountId) const basePath = `/broker/${encodeURIComponent(accountId)}` return ( {portfolio.data?.account.name || 'Брокерский счёт'} {links.map((link) => ( {link.label} ))} {children} ) }