blob: a5156f431cf13303cf459a21a236ed876794d2ce [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"
San3yuan4d0e8032025-04-04 17:21:40 +08004
San3yuan6f2ed692025-04-16 20:24:49 +08005interface SelfStatusProps {
6 className?: string;
7}
San3yuan4d0e8032025-04-04 17:21:40 +08008
San3yuan6f2ed692025-04-16 20:24:49 +08009const SelfStatus: React.FC<SelfStatusProps> = () => {
San3yuan2534d422025-04-08 21:43:18 +080010 const userName = useAppSelector(state => state.user.userName);
11 const role = useAppSelector(state => state.user.role);
12 const uploadTraffic = useAppSelector(state => state.user.uploadTraffic);
13 const downloadTraffic = useAppSelector(state => state.user.downloadTraffic);
14 const downloadPoints = useAppSelector(state => state.user.downloadPoints);
15 const avatar = useAppSelector(state => state.user.avatar);
San3yuan2534d422025-04-08 21:43:18 +080016
17 return (
18 <div className={style.container}>
19 <div className={style.left}>
20 <img className={style.avatar} src={avatar} alt="User Avatar" />
San3yuan4d0e8032025-04-04 17:21:40 +080021 </div>
San3yuan2534d422025-04-08 21:43:18 +080022 <div className={style.right}>
23 <div className={style.info}>
24 <p className={style.userName}>{userName}</p>
San3yuan03ab0642025-04-29 18:00:25 +080025 <p className={style.role}>用户组: {role && role.trim().length? role:'N/A'}</p>
26 <p className={style.uploadTraffic}>上传量: {uploadTraffic ? uploadTraffic : 0}</p>
27 <p className={style.downloadTraffic}>下载量: {downloadTraffic ? downloadTraffic : 0}</p>
San3yuan6f2ed692025-04-16 20:24:49 +080028
San3yuan2534d422025-04-08 21:43:18 +080029 <p className={style.shareRatio}>
30 分享率: {uploadTraffic && downloadTraffic ? (uploadTraffic / downloadTraffic).toFixed(2) : "N/A"}
31 </p>
San3yuan03ab0642025-04-29 18:00:25 +080032 <p className={style.downloadPoints}>下载积分: {downloadPoints ? downloadPoints : 0}</p>
San3yuan2534d422025-04-08 21:43:18 +080033 </div>
34 <button className={style.signInButton}>签到</button>
San3yuan4d0e8032025-04-04 17:21:40 +080035 </div>
San3yuan2534d422025-04-08 21:43:18 +080036 </div>
37 );
38};
San3yuan4d0e8032025-04-04 17:21:40 +080039
San3yuan2534d422025-04-08 21:43:18 +080040export default SelfStatus;