blob: 3745736dfff2ead977bfeb81802dffe43cd052aa [file] [log] [blame]
San3yuan4d0e8032025-04-04 17:21:40 +08001import React from "react";
2import { useAppSelector } from "../../hooks/store";
San3yuan2534d422025-04-08 21:43:18 +08003import style from "./style.module.css"
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +08004import { useNavigate } from "react-router";
San3yuan4d0e8032025-04-04 17:21:40 +08005
San3yuan6f2ed692025-04-16 20:24:49 +08006interface SelfStatusProps {
7 className?: string;
8}
San3yuan4d0e8032025-04-04 17:21:40 +08009
San3yuan6f2ed692025-04-16 20:24:49 +080010const SelfStatus: React.FC<SelfStatusProps> = () => {
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +080011
12 const nav = useNavigate()
San3yuan2534d422025-04-08 21:43:18 +080013 const userName = useAppSelector(state => state.user.userName);
14 const role = useAppSelector(state => state.user.role);
15 const uploadTraffic = useAppSelector(state => state.user.uploadTraffic);
16 const downloadTraffic = useAppSelector(state => state.user.downloadTraffic);
17 const downloadPoints = useAppSelector(state => state.user.downloadPoints);
18 const avatar = useAppSelector(state => state.user.avatar);
San3yuan2534d422025-04-08 21:43:18 +080019
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +080020 function handleAvatarClick(){
21 nav('/homepage')
22 }
23
San3yuan2534d422025-04-08 21:43:18 +080024 return (
25 <div className={style.container}>
26 <div className={style.left}>
阳菜,放晴!7e1e3a52025-06-05 23:00:51 +080027 <img className={style.avatar} onClick={handleAvatarClick} src={avatar} alt="User Avatar" />
San3yuan4d0e8032025-04-04 17:21:40 +080028 </div>
San3yuan2534d422025-04-08 21:43:18 +080029 <div className={style.right}>
30 <div className={style.info}>
31 <p className={style.userName}>{userName}</p>
San3yuan03ab0642025-04-29 18:00:25 +080032 <p className={style.role}>用户组: {role && role.trim().length? role:'N/A'}</p>
33 <p className={style.uploadTraffic}>上传量: {uploadTraffic ? uploadTraffic : 0}</p>
34 <p className={style.downloadTraffic}>下载量: {downloadTraffic ? downloadTraffic : 0}</p>
San3yuan6f2ed692025-04-16 20:24:49 +080035
San3yuan2534d422025-04-08 21:43:18 +080036 <p className={style.shareRatio}>
37 分享率: {uploadTraffic && downloadTraffic ? (uploadTraffic / downloadTraffic).toFixed(2) : "N/A"}
38 </p>
San3yuan03ab0642025-04-29 18:00:25 +080039 <p className={style.downloadPoints}>下载积分: {downloadPoints ? downloadPoints : 0}</p>
San3yuan2534d422025-04-08 21:43:18 +080040 </div>
41 <button className={style.signInButton}>签到</button>
San3yuan4d0e8032025-04-04 17:21:40 +080042 </div>
San3yuan2534d422025-04-08 21:43:18 +080043 </div>
44 );
45};
San3yuan4d0e8032025-04-04 17:21:40 +080046
San3yuan2534d422025-04-08 21:43:18 +080047export default SelfStatus;