import { Timeline } from "antd"; import { useEffect, useState } from "react"; import { useIntl } from "react-intl"; import { StartUpIcon, TermIcon2 } from "../../assets/icon"; import { get } from "../../request"; import TimeShow from "../general/TimeShow"; interface IMilestone { date: string; event: string; } interface IUserMilestoneResponse { ok: boolean; message: string; data: IMilestone[]; } interface IWidget { studioName?: string; } const TimeLineWidget = ({ studioName }: IWidget) => { const [milestone, setMilestone] = useState([]); const intl = useIntl(); useEffect(() => { if (typeof studioName === "undefined") { return; } get(`/v2/user-milestone/${studioName}`).then( (json) => { if (json.ok) { setMilestone( json.data.sort((a, b) => { if (a.date > b.date) { return -1; } else { return 1; } }) ); } } ); }, [studioName]); return ( <> {milestone.map((item, id) => { let icon = <>; switch (item.event) { case "sign-in": icon = ( ); break; case "first-term": icon = ; break; default: break; } return ( } > {intl.formatMessage({ id: `labels.${item.event}`, })} ); })} ); }; export default TimeLineWidget;