diff --git a/app/components/ConfirmModal.jsx b/app/components/ConfirmModal.jsx index ea32584..e933659 100644 --- a/app/components/ConfirmModal.jsx +++ b/app/components/ConfirmModal.jsx @@ -1,10 +1,11 @@ 'use client'; import { motion } from 'framer-motion'; +import { createPortal } from 'react-dom'; import { TrashIcon } from './Icons'; export default function ConfirmModal({ title, message, onConfirm, onCancel, confirmText = "确定删除" }) { - return ( + const content = ( ); + if (typeof document === 'undefined') return null; + return createPortal(content, document.body); } diff --git a/app/components/Icons.jsx b/app/components/Icons.jsx index 7f8f5bb..5497f26 100644 --- a/app/components/Icons.jsx +++ b/app/components/Icons.jsx @@ -77,6 +77,13 @@ export function RefreshIcon(props) { ); } +export function ResetIcon(props) { + return ( + + + ); +} + export function ChevronIcon(props) { return ( diff --git a/app/components/PcFundTable.jsx b/app/components/PcFundTable.jsx index 1d0ca6f..d32ee1c 100644 --- a/app/components/PcFundTable.jsx +++ b/app/components/PcFundTable.jsx @@ -7,7 +7,8 @@ import { getCoreRowModel, useReactTable, } from '@tanstack/react-table'; -import { ExitIcon, SettingsIcon, StarIcon, TrashIcon } from './Icons'; +import ConfirmModal from './ConfirmModal'; +import { ExitIcon, ResetIcon, SettingsIcon, StarIcon, TrashIcon } from './Icons'; /** * PC 端基金列表表格组件(基于 @tanstack/react-table) @@ -82,6 +83,12 @@ export default function PcFundTable({ } return stored; }); + const [resetConfirmOpen, setResetConfirmOpen] = useState(false); + const handleResetSizing = () => { + setColumnSizing({}); + persistColumnSizing({}); + setResetConfirmOpen(false); + }; const onRemoveFundRef = useRef(onRemoveFund); const onToggleFavoriteRef = useRef(onToggleFavorite); const onRemoveFromGroupRef = useRef(onRemoveFromGroup); @@ -330,7 +337,22 @@ export default function PcFundTable({ }, { id: 'actions', - header: '操作', + header: () => ( +
+ 操作 + +
+ ), size: 80, minSize: 80, maxSize: 80, @@ -598,6 +620,15 @@ export default function PcFundTable({ )} + {resetConfirmOpen && ( + setResetConfirmOpen(false)} + confirmText="重置" + /> + )} ); }