import { Col, Divider, Row, Tabs } from "antd"; import type { IAnchorData } from "./DictList"; import type { IWidgetWordCardData } from "./WordCard"; import type { ICaseListData } from "./CaseList"; import WordCard from "./WordCard"; import CaseList from "./CaseList"; import DictList from "./DictList"; import MyCreate from "./MyCreate"; import { useIntl } from "react-intl"; import DictGroupTitle from "./DictGroupTitle"; import UserDictList from "./UserDictList"; import { useAppSelector } from "../../hooks"; import { currentUser } from "../../reducers/current-user"; import { useState } from "react"; export interface IDictWords { pass: string; words: IWidgetWordCardData[]; } export interface IDictContentData { dictlist: IAnchorData[]; words: IDictWords[]; caselist: ICaseListData[]; time?: number; count?: number; } export interface IApiDictContentData { ok: boolean; message: string; data: IDictContentData; } interface IMyDict { word?: string; } const MyDict = ({ word }: IMyDict) => { const user = useAppSelector(currentUser); const [myTab, setMyTab] = useState("list"); const [myRefresh, setMyRefresh] = useState(false); return (
setMyTab(activeKey)} items={[ { label: "列表", key: "list", children: ( setMyRefresh(value)} /> ), }, { label: "新建", key: "new", children: ( { setMyRefresh(true); setMyTab("list"); }} /> ), }, ]} />
); }; interface IWidget { word?: string; data: IDictContentData; compact?: boolean; } const DictContentWidget = ({ word, data, compact }: IWidget) => { const intl = useIntl(); return ( <> {compact ? <> : }
{intl.formatMessage( { id: "message.result", }, { count: data.count } )} {" ("} {intl.formatMessage( { id: "message.time", }, { time: data.time?.toFixed(3) } )} {")"}
{data.words.map((it, _id) => { return (
{intl.formatMessage({ id: `labels.dict.pass.${it.pass}`, })} } path={[ intl.formatMessage({ id: `labels.dict.pass.${it.pass}`, }), ]} />
{it.words.map((word, index) => ( ))}
); })}
), }, { label: `单词本`, key: "my", children: , }, ]} />
); }; export default DictContentWidget;