This repository has been archived on 2026-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
todo/client/node_modules/.cache/babel-loader/7d1fb6fb5358c3e24db6567eb8ee25370d4f0812e47abeb41fb98b6e2d1d7b86.json

1 line
18 KiB
JSON
Raw Normal View History

2025-06-13 06:04:40 +00:00
{"ast":null,"code":"var _jsxFileName = \"D:\\\\aiproject\\\\goAgent\\\\todo\\\\client\\\\src\\\\components\\\\HistoryTodos.js\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { format, parseISO } from 'date-fns';\nimport { getHistoryTodos } from '../services/api';\nimport TodoList from './TodoList';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst HistoryContainer = styled.div`\n width: 100%;\n`;\n_c = HistoryContainer;\nconst HistoryHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 30px;\n padding-bottom: 20px;\n border-bottom: 2px solid #f0f0f0;\n`;\n_c2 = HistoryHeader;\nconst HistoryTitle = styled.h2`\n color: #333;\n font-size: 24px;\n font-weight: 300;\n margin: 0;\n display: flex;\n align-items: center;\n gap: 12px;\n\n &::before {\n content: '📚';\n font-size: 28px;\n }\n`;\n_c3 = HistoryTitle;\nconst BackButton = styled.button`\n background: transparent;\n color: #666;\n border: 2px solid #e1e5e9;\n padding: 8px 16px;\n border-radius: 8px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.3s ease;\n\n &:hover {\n border-color: #667eea;\n color: #667eea;\n }\n`;\n_c4 = BackButton;\nconst LoadingMessage = styled.div`\n text-align: center;\n color: #666;\n font-size: 18px;\n padding: 60px;\n`;\n_c5 = LoadingMessage;\nconst EmptyMessage = styled.div`\n text-align: center;\n color: #999;\n font-size: 18px;\n padding: 60px;\n background: rgba(102, 126, 234, 0.05);\n border-radius: 16px;\n border: 2px dashed #e1e5e9;\n`;\n_c6 = EmptyMessage;\nconst ErrorMessage = styled.div`\n color: #e74c3c;\n text-align: center;\n padding: 15px;\n font-size: 16px;\n background: rgba(231, 76, 60, 0.1);\n border-radius: 8px;\n margin-bottom: 20px;\n`;\n_c7 = ErrorMessage;\nfunction HistoryTodos({\n onBack\n}) {\n _s();\n const [historyTodos, setHistoryTodos] = useState([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState('');\n useEffect(() => {\n loadHistoryTodos();\n }, []);\n const loadHistoryTodos = async () => {\n try {\n setLoading(true);\n setError('');\n const data = await getHistoryTodos();\n setHistoryTodos(data);\n } catch (err) {\n setError('加载历史待办事项失败');\n console.error('Load history todos error:', err);\n } finally {\n setLoading(false);\n }\n };\n\n // 按日期分组历史待办事项\n const groupTodosByDate = todos => {\n const groups = {};\n todos.forEach(todo => {\n const date = todo.date;\n if (!groups[date]) {\n groups[date] = [];\n }\n groups[date].push(todo);\n });\n\n // 按日期排序\n const sortedDates = Object.keys(groups).sort((a, b) => new Date(b) - new Date(a));\n return sortedDates.map(date => ({\n date,\n todos: groups[date].sort((a, b) => {\n // 按优先级排序\n const priorityOrder = {\n urgent: 4,\n high: 3,\n medium: 2,\n low: 1\n };\n return priorityOrder[b.priority] - priorityOrder[a.priority];\n })\n }));\n };\n const formatDateLabel = dateString => {\n const date = parseISO(dateString);\n const month = date.getMonth() + 1;\n const day = date.getDate();\n const year = date.getFullYear();\n const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];\n const weekday = weekdays[date.getDay()];\n return `${year}年${month}月${day}日 ${weekday}`;\n };\n const groupedTodos = groupTodosByDate(historyTodos);\n if (loading) {\n return /*#__PURE__*/_jsxDEV(HistoryContainer, {\n children: [/*#__PURE__*/_jsxDEV(HistoryHeader, {\n children: [/*#__PURE__*/_jsxDEV(HistoryTitle, {\n children: \"\\u5386\\u53F2\\u5F85\\u529E\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 143,\n columnNumber: 11\n }, this), /