'use client'; import { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger, } from '@/components/ui/drawer'; import FundCard from './FundCard'; import { CloseIcon } from './Icons'; /** * 移动端基金详情底部 Drawer 弹框 * * @param {Object} props * @param {boolean} props.open - 是否打开 * @param {(open: boolean) => void} props.onOpenChange - 打开状态变化回调 * @param {boolean} [props.blockDrawerClose] - 是否禁止关闭(如上层有弹框时) * @param {React.MutableRefObject} [props.ignoreNextDrawerCloseRef] - 忽略下一次关闭(用于点击到内部 dialog 时) * @param {Object|null} props.cardSheetRow - 当前选中的行数据,用于 getFundCardProps * @param {(row: any) => Object} [props.getFundCardProps] - 根据行数据返回 FundCard 的 props */ export default function MobileFundCardDrawer({ open, onOpenChange, blockDrawerClose = false, ignoreNextDrawerCloseRef, cardSheetRow, getFundCardProps, children, }) { return ( { if (!nextOpen) { if (ignoreNextDrawerCloseRef?.current) { ignoreNextDrawerCloseRef.current = false; return; } if (!blockDrawerClose) onOpenChange(false); } }} > {children} { if (blockDrawerClose) return; if (e?.target?.closest?.('[data-slot="dialog-content"], [role="dialog"]')) { if (ignoreNextDrawerCloseRef) ignoreNextDrawerCloseRef.current = true; return; } onOpenChange(false); }} > 基金详情
{cardSheetRow && getFundCardProps ? ( ) : null}
); }