import { useState, useEffect } from "react"; import { Skeleton } from "antd-mobile"; import styles from "./index.module.scss"; import { course } from "../../api/index"; import { TabBarFooter, Empty } from "../../components"; import { CoursesModel } from "./compenents/courses-model"; import moment from "moment"; const StudyPage = () => { const [loading, setLoading] = useState(false); const [todayCourses, setTodayCourses] = useState([]); const [yesterdayCourses, setYesterdayCourses] = useState([]); const [courses, setCourses] = useState([]); useEffect(() => { document.title = "最近学习"; }, []); useEffect(() => { getCourses(); }, []); const getCourses = () => { if (loading) { return; } setLoading(true); course .latestLearn() .then((res: any) => { let data = res.data; let today: CourseModel[] = []; let yesterday: CourseModel[] = []; let box: CourseModel[] = []; if (data && data.length > 0) { data.map((item: any) => { let time = moment(item.hour_record.updated_at) .utcOffset(0) .format("YYYY-MM-DD HH:mm:ss"); if (moment(time).isSame(moment(), "day")) { today.push(item); } else if ( moment(time).isSame(moment().subtract(1, "day"), "day") ) { yesterday.push(item); } else { box.push(item); } }); } setTodayCourses(today); setYesterdayCourses(yesterday); setCourses(box); setLoading(false); }) .catch((e) => { setLoading(false); }); }; return (
最近学习
{loading && Array.from({ length: 2 }).map((_, i) => (
))} {!loading && courses.length === 0 && todayCourses.length === 0 && yesterdayCourses.length === 0 && } {!loading && ( <> {todayCourses.length > 0 && ( <>
今日
{todayCourses.map((item: any, index: number) => (
{item.course && ( )}
))} )} {yesterdayCourses.length > 0 && ( <>
昨日
{yesterdayCourses.map((item: any, index: number) => (
{item.course && ( )}
))} )} {courses.length > 0 && ( <>
更早
{courses.map((item: any, index: number) => (
{item.course && ( )}
))} )} )}
); }; export default StudyPage;