/** * 报名按钮 * 已经报名显示报名状态 * 未报名显示报名按钮以及必要的提示 */ import { Button, message, Modal, Typography } from "antd"; import { useIntl } from "react-intl"; import { ExclamationCircleFilled } from "@ant-design/icons"; import { useAppSelector } from "../../hooks"; import { currentUser as _currentUser } from "../../reducers/current-user"; import { post } from "../../request"; import type { ICourseMemberData, ICourseMemberResponse, TCourseExpRequest, TCourseJoinMode, } from "../../api/Course"; import Marked from "../general/Marked"; const { confirm } = Modal; const { Text } = Typography; interface IWidget { courseId: string; startAt?: string; signUpMessage?: string | null; joinMode?: TCourseJoinMode; expRequest?: TCourseExpRequest; onStatusChanged?: (data: ICourseMemberData) => void; } const SignUpWidget = ({ courseId, signUpMessage, joinMode, expRequest, onStatusChanged, }: IWidget) => { const user = useAppSelector(_currentUser); const intl = useIntl(); return ( ); }; export default SignUpWidget;