import { getActiveMoveDetail } from "@/services/health"; import { View, Text, Image } from "@tarojs/components"; import { useRouter } from "@tarojs/taro"; import { useEffect, useState } from "react"; import './move.scss' import { getThemeColor } from "@/features/health/hooks/health_hooks"; import { rpxToPx } from "@/utils/tools"; import dayjs from "dayjs"; import NewHeader, { NewHeaderType } from "../components/new_header"; import NewButton, { NewButtonType } from "../base/new_button"; import { MainColorType } from "@/context/themes/color"; import ListFooter from "../components/list_footer"; import { IconSit, IconWalk } from "@/components/basic/Icons"; let useRoute; let useNavigation; let scenario = ''; if (process.env.TARO_ENV == 'rn') { useRoute = require("@react-navigation/native").useRoute useNavigation = require("@react-navigation/native").useNavigation } export default function MoveDetail() { let router let navigation; if (useNavigation) { navigation = useNavigation() } if (process.env.TARO_ENV == 'rn') { router = useRoute() } else { router = useRouter() } const [loaded, setLoaded] = useState(false) const [data, setData] = useState(null) const [moreActive, setMoreActive] = useState(false) useEffect(() => { getActiveMoveDetail(router.params.id).then(res => { setLoaded(true) setData(res) }) }, []) function summary() { return Summary { data.last_updated && 最近更新于 {dayjs(data.last_updated).format('HH:mm')} } Hours Sedentary {data.stat.sedentary_hours} / {data.stat.waking_hours} Hours Active {data.stat.active_hours} / {data.stat.waking_hours} Hours Missed {data.stat.missed_hours} / {data.stat.waking_hours} Total Steps {data.stat.real_steps} / {data.stat.target_steps} Total Calories {data.stat.real_calories} / {data.stat.target_calories} Total Distance {data.stat.real_distance} / {data.stat.target_distance} } function activeHour() { const hours = data.hours return Hourly { hours.map((item, index) => { return { currentHistory(item) } }) } } function currentHistory(item) { var start = item.hour var isYesterday = start > new Date().getHours() var end = start + 1 start = (start + '').padStart(2, '0') end = (end + '').padStart(2, '0') return {start}:00-{end}:00 { item.is_extra && is Extra } {item.real_steps} / {item.target_steps} steps { item.status == 'MISSED' && Missed } { item.status == 'SEDENTARY' && } { item.status == 'ACTIVE' && } } if (!loaded) return const date = data.start_date + '' return { summary() } { activeHour() } }