{"ast":null,"code":"var _jsxFileName = \"D:\\\\aiproject\\\\goAgent\\\\todo\\\\client\\\\src\\\\components\\\\TodoItem.js\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateX(-10px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`;\nconst scaleIn = keyframes`\n from {\n transform: scale(0.95);\n }\n to {\n transform: scale(1);\n }\n`;\nconst ItemContainer = styled.div`\n background: ${({\n theme\n}) => theme.colors.glass.light};\n backdrop-filter: blur(10px);\n -webkit-backdrop-filter: blur(10px);\n border-radius: ${({\n theme\n}) => theme.borderRadius.lg};\n padding: ${({\n theme\n}) => theme.spacing.lg};\n display: flex;\n align-items: center;\n gap: ${({\n theme\n}) => theme.spacing.md};\n transition: all ${({\n theme\n}) => theme.transitions.default};\n border: 1px solid ${({\n theme\n}) => theme.colors.glass.light};\n animation: ${slideIn} 0.3s ease-out;\n position: relative;\n overflow: hidden;\n cursor: pointer;\n\n &:hover {\n transform: translateY(-2px);\n box-shadow: ${({\n theme\n}) => theme.shadows.md};\n }\n\n &:active {\n transform: translateY(0);\n box-shadow: ${({\n theme\n}) => theme.shadows.sm};\n }\n\n @media (prefers-color-scheme: dark) {\n background: ${({\n theme\n}) => theme.colors.glass.dark};\n border-color: ${({\n theme\n}) => theme.colors.glass.dark};\n }\n\n @media (max-width: ${({\n theme\n}) => theme.breakpoints.md}) {\n padding: ${({\n theme\n}) => theme.spacing.md};\n }\n`;\n_c = ItemContainer;\nconst Checkbox = styled.input`\n appearance: none;\n width: 24px;\n height: 24px;\n border: 2px solid ${({\n theme\n}) => theme.colors.primary};\n border-radius: ${({\n theme\n}) => theme.borderRadius.md};\n cursor: pointer;\n position: relative;\n transition: all ${({\n theme\n}) => theme.transitions.default};\n flex-shrink: 0;\n\n &:checked {\n background: ${({\n theme\n}) => theme.colors.primary};\n border-color: ${({\n theme\n}) => theme.colors.primary};\n }\n\n &:checked::after {\n content: '✓';\n position: absolute;\n color: white;\n font-size: 16px;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n animation: ${fadeIn} 0.2s ease-out;\n }\n\n &:hover {\n transform: scale(1.1);\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px ${({\n theme\n}) => theme.colors.primary}40;\n }\n`;\n_c2 = Checkbox;\nconst Content = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ${({\n theme\n}) => theme.spacing.xs};\n min-width: 0; // 防止内容溢出\n`;\n_c3 = Content;\nconst Title = styled.span`\n color: ${({\n theme,\n completed\n}) => completed ? theme.colors.text.secondary : theme.colors.text.primary};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.base};\n font-weight: ${({\n theme\n}) => theme.typography.fontWeight.medium};\n text-decoration: ${({\n completed\n}) => completed ? 'line-through' : 'none'};\n transition: all ${({\n theme\n}) => theme.transitions.default};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n_c4 = Title;\nconst Description = styled.p`\n color: ${({\n theme\n}) => theme.colors.text.secondary};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.sm};\n margin: 0;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n line-height: 1.4;\n`;\n_c5 = Description;\nconst PriorityBadge = styled.span`\n padding: ${({\n theme\n}) => `${theme.spacing.xs} ${theme.spacing.sm}`};\n border-radius: ${({\n theme\n}) => theme.borderRadius.full};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.xs};\n font-weight: ${({\n theme\n}) => theme.typography.fontWeight.medium};\n background: ${({\n theme,\n priority\n}) => theme.colors.priority[priority]}20;\n color: ${({\n theme,\n priority\n}) => theme.colors.priority[priority]};\n transition: all ${({\n theme\n}) => theme.transitions.default};\n display: inline-flex;\n align-items: center;\n gap: ${({\n theme\n}) => theme.spacing.xs};\n\n &::before {\n content: ${({\n priority\n}) => {\n switch (priority) {\n case 'urgent':\n return '\"🚨\"';\n case 'high':\n return '\"🔥\"';\n case 'medium':\n return '\"⚡\"';\n case 'low':\n return '\"🐢\"';\n default:\n return '\"📌\"';\n }\n}};\n font-size: 1.1em;\n }\n\n &:hover {\n transform: translateY(-1px);\n background: ${({\n theme,\n priority\n}) => theme.colors.priority[priority]}30;\n }\n`;\n_c6 = PriorityBadge;\nconst ButtonGroup = styled.div`\n display: flex;\n gap: ${({\n theme\n}) => theme.spacing.sm};\n opacity: 0;\n transition: all ${({\n theme\n}) => theme.transitions.default};\n position: absolute;\n right: ${({\n theme\n}) => theme.spacing.lg};\n top: 50%;\n transform: translateY(-50%);\n\n ${ItemContainer}:hover & {\n opacity: 1;\n }\n\n @media (max-width: ${({\n theme\n}) => theme.breakpoints.md}) {\n opacity: 1;\n position: static;\n transform: none;\n }\n`;\n_c7 = ButtonGroup;\nconst ActionButton = styled.button`\n background: none;\n border: none;\n padding: ${({\n theme\n}) => theme.spacing.sm};\n cursor: pointer;\n color: ${({\n theme\n}) => theme.colors.text.secondary};\n border-radius: ${({\n theme\n}) => theme.borderRadius.md};\n transition: all ${({\n theme\n}) => theme.transitions.default};\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 1.2em;\n\n &:hover {\n background: ${({\n theme\n}) => theme.colors.glass.light};\n color: ${({\n theme\n}) => theme.colors.primary};\n transform: translateY(-1px);\n }\n\n &:active {\n transform: translateY(0);\n }\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px ${({\n theme\n}) => theme.colors.primary}40;\n }\n\n @media (prefers-color-scheme: dark) {\n &:hover {\n background: ${({\n theme\n}) => theme.colors.glass.dark};\n }\n }\n`;\n_c8 = ActionButton;\nconst StatusBadge = styled.span`\n position: absolute;\n top: ${({\n theme\n}) => theme.spacing.sm};\n right: ${({\n theme\n}) => theme.spacing.sm};\n padding: ${({\n theme\n}) => `${theme.spacing.xs} ${theme.spacing.sm}`};\n border-radius: ${({\n theme\n}) => theme.borderRadius.full};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.xs};\n font-weight: ${({\n theme\n}) => theme.typography.fontWeight.medium};\n background: ${({\n theme,\n status\n}) => theme.colors.status[status]}20;\n color: ${({\n theme,\n status\n}) => theme.colors.status[status]};\n animation: ${fadeIn} 0.3s ease-out;\n display: flex;\n align-items: center;\n gap: ${({\n theme\n}) => theme.spacing.xs};\n\n &::before {\n content: ${({\n status\n}) => {\n switch (status) {\n case 'warning':\n return '\"⏸️\"';\n case 'success':\n return '\"✅\"';\n case 'error':\n return '\"❌\"';\n default:\n return '\"📌\"';\n }\n}};\n font-size: 1.1em;\n }\n`;\n_c9 = StatusBadge;\nconst Tooltip = styled.div`\n position: absolute;\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%);\n padding: ${({\n theme\n}) => `${theme.spacing.xs} ${theme.spacing.sm}`};\n background: ${({\n theme\n}) => theme.colors.glass.dark};\n color: ${({\n theme\n}) => theme.colors.text.light};\n border-radius: ${({\n theme\n}) => theme.borderRadius.md};\n font-size: ${({\n theme\n}) => theme.typography.fontSize.xs};\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n transition: all ${({\n theme\n}) => theme.transitions.default};\n pointer-events: none;\n z-index: 1000;\n\n ${ActionButton}:hover & {\n opacity: 1;\n visibility: visible;\n transform: translateX(-50%) translateY(-4px);\n }\n`;\n_c0 = Tooltip;\nfunction TodoItem({\n todo,\n onToggle,\n onDelete,\n onSuspend,\n isHistory,\n isToday\n}) {\n _s();\n const [isHovered, setIsHovered] = useState(false);\n const getPriorityLabel = priority => {\n const labels = {\n low: '低优先级',\n medium: '中优先级',\n high: '高优先级',\n urgent: '紧急'\n };\n return labels[priority] || priority;\n };\n const handleToggle = e => {\n e.stopPropagation();\n onToggle(todo.id, !todo.completed);\n };\n const handleDelete = e => {\n e.stopPropagation();\n onDelete(todo.id);\n };\n const handleSuspend = e => {\n e.stopPropagation();\n onSuspend(todo.id);\n };\n return /*#__PURE__*/_jsxDEV(ItemContainer, {\n onMouseEnter: () => setIsHovered(true),\n onMouseLeave: () => setIsHovered(false),\n onClick: handleToggle,\n children: [/*#__PURE__*/_jsxDEV(Checkbox, {\n type: \"checkbox\",\n checked: todo.completed,\n onChange: handleToggle\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Content, {\n children: [/*#__PURE__*/_jsxDEV(Title, {\n completed: todo.completed,\n children: todo.title\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 315,\n columnNumber: 9\n }, this), todo.description && /*#__PURE__*/_jsxDEV(Description, {\n children: todo.description\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(PriorityBadge, {\n priority: todo.priority,\n children: getPriorityLabel(todo.priority)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 321,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(ButtonGroup, {\n children: [isToday && !todo.completed && !todo.suspended && /*#__PURE__*/_jsxDEV(ActionButton, {\n onClick: handleSuspend,\n title: \"\\u6302\\u8D77\",\n children: [\"\\u23F8\\uFE0F\", /*#__PURE__*/_jsxDEV(Tooltip, {\n children: \"\\u6302\\u8D77\\u4EFB\\u52A1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 329,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 327,\n columnNumber: 11\n }, this), !isHistory && /*#__PURE__*/_jsxDEV(ActionButton, {\n onClick: handleDelete,\n title: \"\\u5220\\u9664\",\n children: [\"\\uD83D\\uDDD1\\uFE0F\", /*#__PURE__*/_jsxDEV(Tooltip, {\n children: \"\\u5220\\u9664\\u4EFB\\u52A1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 335,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 333,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 325,\n columnNumber: 7\n }, this), todo.suspended && /*#__PURE__*/_jsxDEV(StatusBadge, {\n status: \"warning\",\n children: \"\\u5DF2\\u6302\\u8D77\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 340,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 304,\n columnNumber: 5\n }, this);\n}\n_s(TodoItem, \"FPQn8a98tPjpohC7NUYORQR8GJE=\");\n_c1 = TodoItem;\nexport default TodoItem;\nvar _c, _c2, _c3, _c4, _c5, _c6, _c7, _c8, _c9, _c0, _c1;\n$RefreshReg$(_c, \"ItemContainer\");\n$RefreshReg$(_c2, \"Checkbox\");\n$RefreshReg$(_c3, \"Content\");\n$RefreshReg$(_c4, \"Title\");\n$RefreshReg$(_c5, \"Description\");\n$RefreshReg$(_c6, \"PriorityBadge\");\n$RefreshReg$(_c7, \"ButtonGroup\");\n$RefreshReg$(_c8, \"ActionButton\");\n$RefreshReg$(_c9, \"StatusBadge\");\n$RefreshReg$(_c0, \"Tooltip\");\n$RefreshReg$(_c1, \"TodoItem\");","map":{"version":3,"names":["React","useState","styled","keyframes","jsxDEV","_jsxDEV","slideIn","fadeIn","scaleIn","ItemContainer","div","theme","colors","glass","light","borderRadius","lg","spacing","md","transitions","default","shadows","sm","dark","breakpoints","_c","Checkbox","input","primary","_c2","Content","xs","_c3","Title","span","completed","text","secondary","typography","fontSize","base","fontWeight","medium","_c4","Description","p","_c5","PriorityBadge","full","priority","_c6","ButtonGroup","_c7","ActionButton","button","_c8","StatusBadge","status","_c9","Tooltip","_c0","TodoItem","todo","onToggle","onDelete","onSuspend","isHistory","isToday","_s","isHovered","setIsHovered","getPriorityLabel","labels","low","high","urgent","handleToggle","e","stopPropagation","id","handleDelete","handleSuspend","onMouseEnter","onMouseLeave","onClick","children","type","checked","onChange","fileName","_jsxFileName","lineNumber","columnNumber","title","description","suspended","_c1","$RefreshReg$"],"sources":["D:/aiproject/goAgent/todo/client/src/components/TodoItem.js"],"sourcesContent":["import React, { useState } from 'react';\r\nimport styled, { keyframes } from 'styled-components';\r\n\r\nconst slideIn = keyframes`\r\n from {\r\n opacity: 0;\r\n transform: translateX(-10px);\r\n }\r\n to {\r\n opacity: 1;\r\n transform: translateX(0);\r\n }\r\n`;\r\n\r\nconst fadeIn = keyframes`\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nconst scaleIn = keyframes`\r\n from {\r\n transform: scale(0.95);\r\n }\r\n to {\r\n transform: scale(1);\r\n }\r\n`;\r\n\r\nconst ItemContainer = styled.div`\r\n background: ${({ theme }) => theme.colors.glass.light};\r\n backdrop-filter: blur(10px);\r\n -webkit-backdrop-filter: blur(10px);\r\n border-radius: ${({ theme }) => theme.borderRadius.lg};\r\n padding: ${({ theme }) => theme.spacing.lg};\r\n display: flex;\r\n align-items: center;\r\n gap: ${({ theme }) => theme.spacing.md};\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n border: 1px solid ${({ theme }) => theme.colors.glass.light};\r\n animation: ${slideIn} 0.3s ease-out;\r\n position: relative;\r\n overflow: hidden;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n transform: translateY(-2px);\r\n box-shadow: ${({ theme }) => theme.shadows.md};\r\n }\r\n\r\n &:active {\r\n transform: translateY(0);\r\n box-shadow: ${({ theme }) => theme.shadows.sm};\r\n }\r\n\r\n @media (prefers-color-scheme: dark) {\r\n background: ${({ theme }) => theme.colors.glass.dark};\r\n border-color: ${({ theme }) => theme.colors.glass.dark};\r\n }\r\n\r\n @media (max-width: ${({ theme }) => theme.breakpoints.md}) {\r\n padding: ${({ theme }) => theme.spacing.md};\r\n }\r\n`;\r\n\r\nconst Checkbox = styled.input`\r\n appearance: none;\r\n width: 24px;\r\n height: 24px;\r\n border: 2px solid ${({ theme }) => theme.colors.primary};\r\n border-radius: ${({ theme }) => theme.borderRadius.md};\r\n cursor: pointer;\r\n position: relative;\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n flex-shrink: 0;\r\n\r\n &:checked {\r\n background: ${({ theme }) => theme.colors.primary};\r\n border-color: ${({ theme }) => theme.colors.primary};\r\n }\r\n\r\n &:checked::after {\r\n content: '✓';\r\n position: absolute;\r\n color: white;\r\n font-size: 16px;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n animation: ${fadeIn} 0.2s ease-out;\r\n }\r\n\r\n &:hover {\r\n transform: scale(1.1);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n box-shadow: 0 0 0 3px ${({ theme }) => theme.colors.primary}40;\r\n }\r\n`;\r\n\r\nconst Content = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n gap: ${({ theme }) => theme.spacing.xs};\r\n min-width: 0; // 防止内容溢出\r\n`;\r\n\r\nconst Title = styled.span`\r\n color: ${({ theme, completed }) => completed ? theme.colors.text.secondary : theme.colors.text.primary};\r\n font-size: ${({ theme }) => theme.typography.fontSize.base};\r\n font-weight: ${({ theme }) => theme.typography.fontWeight.medium};\r\n text-decoration: ${({ completed }) => completed ? 'line-through' : 'none'};\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`;\r\n\r\nconst Description = styled.p`\r\n color: ${({ theme }) => theme.colors.text.secondary};\r\n font-size: ${({ theme }) => theme.typography.fontSize.sm};\r\n margin: 0;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n line-height: 1.4;\r\n`;\r\n\r\nconst PriorityBadge = styled.span`\r\n padding: ${({ theme }) => `${theme.spacing.xs} ${theme.spacing.sm}`};\r\n border-radius: ${({ theme }) => theme.borderRadius.full};\r\n font-size: ${({ theme }) => theme.typography.fontSize.xs};\r\n font-weight: ${({ theme }) => theme.typography.fontWeight.medium};\r\n background: ${({ theme, priority }) => theme.colors.priority[priority]}20;\r\n color: ${({ theme, priority }) => theme.colors.priority[priority]};\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n display: inline-flex;\r\n align-items: center;\r\n gap: ${({ theme }) => theme.spacing.xs};\r\n\r\n &::before {\r\n content: ${({ priority }) => {\r\n switch (priority) {\r\n case 'urgent': return '\"🚨\"';\r\n case 'high': return '\"🔥\"';\r\n case 'medium': return '\"⚡\"';\r\n case 'low': return '\"🐢\"';\r\n default: return '\"📌\"';\r\n }\r\n }};\r\n font-size: 1.1em;\r\n }\r\n\r\n &:hover {\r\n transform: translateY(-1px);\r\n background: ${({ theme, priority }) => theme.colors.priority[priority]}30;\r\n }\r\n`;\r\n\r\nconst ButtonGroup = styled.div`\r\n display: flex;\r\n gap: ${({ theme }) => theme.spacing.sm};\r\n opacity: 0;\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n position: absolute;\r\n right: ${({ theme }) => theme.spacing.lg};\r\n top: 50%;\r\n transform: translateY(-50%);\r\n\r\n ${ItemContainer}:hover & {\r\n opacity: 1;\r\n }\r\n\r\n @media (max-width: ${({ theme }) => theme.breakpoints.md}) {\r\n opacity: 1;\r\n position: static;\r\n transform: none;\r\n }\r\n`;\r\n\r\nconst ActionButton = styled.button`\r\n background: none;\r\n border: none;\r\n padding: ${({ theme }) => theme.spacing.sm};\r\n cursor: pointer;\r\n color: ${({ theme }) => theme.colors.text.secondary};\r\n border-radius: ${({ theme }) => theme.borderRadius.md};\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: 1.2em;\r\n\r\n &:hover {\r\n background: ${({ theme }) => theme.colors.glass.light};\r\n color: ${({ theme }) => theme.colors.primary};\r\n transform: translateY(-1px);\r\n }\r\n\r\n &:active {\r\n transform: translateY(0);\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n box-shadow: 0 0 0 3px ${({ theme }) => theme.colors.primary}40;\r\n }\r\n\r\n @media (prefers-color-scheme: dark) {\r\n &:hover {\r\n background: ${({ theme }) => theme.colors.glass.dark};\r\n }\r\n }\r\n`;\r\n\r\nconst StatusBadge = styled.span`\r\n position: absolute;\r\n top: ${({ theme }) => theme.spacing.sm};\r\n right: ${({ theme }) => theme.spacing.sm};\r\n padding: ${({ theme }) => `${theme.spacing.xs} ${theme.spacing.sm}`};\r\n border-radius: ${({ theme }) => theme.borderRadius.full};\r\n font-size: ${({ theme }) => theme.typography.fontSize.xs};\r\n font-weight: ${({ theme }) => theme.typography.fontWeight.medium};\r\n background: ${({ theme, status }) => theme.colors.status[status]}20;\r\n color: ${({ theme, status }) => theme.colors.status[status]};\r\n animation: ${fadeIn} 0.3s ease-out;\r\n display: flex;\r\n align-items: center;\r\n gap: ${({ theme }) => theme.spacing.xs};\r\n\r\n &::before {\r\n content: ${({ status }) => {\r\n switch (status) {\r\n case 'warning': return '\"⏸️\"';\r\n case 'success': return '\"✅\"';\r\n case 'error': return '\"❌\"';\r\n default: return '\"📌\"';\r\n }\r\n }};\r\n font-size: 1.1em;\r\n }\r\n`;\r\n\r\nconst Tooltip = styled.div`\r\n position: absolute;\r\n bottom: 100%;\r\n left: 50%;\r\n transform: translateX(-50%);\r\n padding: ${({ theme }) => `${theme.spacing.xs} ${theme.spacing.sm}`};\r\n background: ${({ theme }) => theme.colors.glass.dark};\r\n color: ${({ theme }) => theme.colors.text.light};\r\n border-radius: ${({ theme }) => theme.borderRadius.md};\r\n font-size: ${({ theme }) => theme.typography.fontSize.xs};\r\n white-space: nowrap;\r\n opacity: 0;\r\n visibility: hidden;\r\n transition: all ${({ theme }) => theme.transitions.default};\r\n pointer-events: none;\r\n z-index: 1000;\r\n\r\n ${ActionButton}:hover & {\r\n opacity: 1;\r\n visibility: visible;\r\n transform: translateX(-50%) translateY(-4px);\r\n }\r\n`;\r\n\r\nfunction TodoItem({ todo, onToggle, onDelete, onSuspend, isHistory, isToday }) {\r\n const [isHovered, setIsHovered] = useState(false);\r\n\r\n const getPriorityLabel = (priority) => {\r\n const labels = {\r\n low: '低优先级',\r\n medium: '中优先级',\r\n high: '高优先级',\r\n urgent: '紧急'\r\n };\r\n return labels[priority] || priority;\r\n };\r\n\r\n const handleToggle = (e) => {\r\n e.stopPropagation();\r\n onToggle(todo.id, !todo.completed);\r\n };\r\n\r\n const handleDelete = (e) => {\r\n e.stopPropagation();\r\n onDelete(todo.id);\r\n };\r\n\r\n const handleSuspend = (e) => {\r\n e.stopPropagation();\r\n onSuspend(todo.id);\r\n };\r\n\r\n return (\r\n setIsHovered(true)}\r\n onMouseLeave={() => setIsHovered(false)}\r\n onClick={handleToggle}\r\n >\r\n \r\n \r\n \r\n {todo.title}\r\n \r\n {todo.description && (\r\n {todo.description}\r\n )}\r\n \r\n {getPriorityLabel(todo.priority)}\r\n \r\n \r\n \r\n {isToday && !todo.completed && !todo.suspended && (\r\n \r\n ⏸️\r\n 挂起任务\r\n \r\n )}\r\n {!isHistory && (\r\n \r\n 🗑️\r\n 删除任务\r\n \r\n )}\r\n \r\n {todo.suspended && (\r\n 已挂起\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default TodoItem; "],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}