import Link from 'next/link'; import { createI18nServerInstance } from '@/lib/i18n/i18n.server'; import { pathsConfig } from '@/packages/shared/src/config'; import { formatCurrency } from '@/packages/shared/src/utils'; import { SIDEBAR_WIDTH_PROPERTY } from '@/packages/ui/src/shadcn/constants'; import { StoreCart } from '@medusajs/types'; import { ShoppingCart } from 'lucide-react'; import { AppLogo } from '@kit/shared/components/app-logo'; import { ProfileAccountDropdownContainer } from '@kit/shared/components/personal-account-dropdown-container'; import { Button } from '@kit/ui/button'; import { Card } from '@kit/ui/shadcn/card'; import { Trans } from '@kit/ui/trans'; import { UserNotifications } from '../_components/user-notifications'; import { getAccountBalanceSummary } from '../_lib/server/balance-actions'; import { type UserWorkspace } from '../_lib/server/load-user-workspace'; export async function HomeMenuNavigation(props: { workspace: UserWorkspace; cart: StoreCart | null; }) { const { language } = await createI18nServerInstance(); const { workspace, user, accounts } = props.workspace; const balanceSummary = workspace?.id ? await getAccountBalanceSummary(workspace.id) : null; const totalValue = props.cart?.total ? formatCurrency({ currencyCode: props.cart.currency_code, locale: language, value: props.cart.total, }) : 0; const cartQuantityTotal = props.cart?.items?.reduce((acc, item) => acc + item.quantity, 0) ?? 0; const hasCartItems = cartQuantityTotal > 0; return (
{/* TODO: add search functionality */} {/* } /> */}
{formatCurrency({ value: balanceSummary?.totalBalance || 0, locale: language, currencyCode: 'EUR', })}
); }