Akane1217 | 65b61a7 | 2025-05-17 13:52:25 +0800 | [diff] [blame^] | 1 | import React from 'react';
|
| 2 | import { useNavigate, useLocation } from 'react-router-dom';
|
| 3 | import ActionCard from './ActionCard';
|
| 4 | import './personalSubpage.css';
|
| 5 |
|
| 6 | const Favorites = () => {
|
| 7 | const navigate = useNavigate();
|
| 8 | const location = useLocation();
|
| 9 | // 模拟数据
|
| 10 | const [favorites] = React.useState([
|
| 11 | { id: 1, name: '盗梦空间', type: 'movie', added: '2023-10-01' },
|
| 12 | { id: 2, name: '权力的游戏', type: 'tv', added: '2023-09-15' }
|
| 13 | ]);
|
| 14 |
|
| 15 | const handleBack = () => {
|
| 16 | // 返回个人中心,并携带来源标记
|
| 17 | navigate('/personal', {
|
| 18 | state: {
|
| 19 | fromSubpage: true, // 标记来自子页面
|
| 20 | dashboardTab: location.state?.dashboardTab // 保留Dashboard的标签页状态
|
| 21 | },
|
| 22 | replace: true // 替换当前历史记录
|
| 23 | });
|
| 24 | };
|
| 25 |
|
| 26 | return (
|
| 27 | <div className="personal-page">
|
| 28 | <button className="back-button" onClick={(handleBack)}>
|
| 29 | ← 返回个人中心
|
| 30 | </button>
|
| 31 |
|
| 32 | <h2>我的收藏</h2>
|
| 33 | <div className="resource-grid">
|
| 34 | {favorites.map(item => (
|
| 35 | <ActionCard
|
| 36 | key={item.id}
|
| 37 | title={item.name}
|
| 38 | subtitle={`收藏于 ${item.added}`}
|
| 39 | onClick={() => console.log('查看详情', item.id)}
|
| 40 | />
|
| 41 | ))}
|
| 42 | </div>
|
| 43 | </div>
|
| 44 | );
|
| 45 | };
|
| 46 |
|
| 47 | export default Favorites; |