前段
Change-Id: I718d4d07ea03c6d2b6bcbd4d426c5d1af2201bf4
diff --git a/src/components/Personal/Notice.jsx b/src/components/Personal/Notice.jsx
new file mode 100644
index 0000000..55bc955
--- /dev/null
+++ b/src/components/Personal/Notice.jsx
@@ -0,0 +1,60 @@
+import React from 'react';
+import { useNavigate,useLocation } from 'react-router-dom';
+import './personalSubpage.css';
+
+const Notice = ({ onLogout }) => {
+ const navigate = useNavigate();
+ const location = useLocation();
+ // 模拟数据
+ const [notices] = React.useState([
+ {
+ id: 1,
+ title: '积分奖励到账',
+ content: '您上传的资源《盗梦空间》获得100积分奖励',
+ date: '2023-10-20',
+ read: false
+ },
+ {
+ id: 2,
+ title: '系统通知',
+ content: '服务器将于今晚2:00-4:00进行维护',
+ date: '2023-10-18',
+ read: true
+ }
+ ]);
+
+ const handleBack = () => {
+ // 返回个人中心,并携带来源标记
+ navigate('/personal', {
+ state: {
+ fromSubpage: true, // 标记来自子页面
+ dashboardTab: location.state?.dashboardTab // 保留Dashboard的标签页状态
+ },
+ replace: true // 替换当前历史记录
+ });
+ };
+
+ return (
+ <div className="subpage-container">
+ <button className="back-button" onClick={(handleBack)}>
+ ← 返回个人中心
+ </button>
+
+ <h2 className="page-title">消息通知</h2>
+
+ <div className="notice-list">
+ {notices.map(notice => (
+ <div key={notice.id} className={`list-item ${!notice.read ? 'unread' : ''}`}>
+ <div className="notice-header">
+ <h3>{notice.title}</h3>
+ <span className="notice-date">{notice.date}</span>
+ </div>
+ <p className="notice-content">{notice.content}</p>
+ </div>
+ ))}
+ </div>
+ </div>
+ );
+};
+
+export default Notice;
\ No newline at end of file