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/b3f0c93f3dc4a017964e62dd7dabc688b11ae4f7d6df8f0271444e698ee040b6.json

1 line
41 KiB
JSON
Raw Normal View History

2025-06-13 07:31:12 +00:00
{"ast":null,"code":"var _jsxFileName = \"D:\\\\aiproject\\\\goAgent\\\\todo\\\\client\\\\src\\\\components\\\\TodoApp.js\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { format, parseISO, isToday, isYesterday, isTomorrow } from 'date-fns';\nimport { getTodos, createTodo, updateTodo, deleteTodo, migratePendingTodos, suspendTodo } from '../services/api';\nimport TodoForm from './TodoForm';\nimport TodoList from './TodoList';\nimport HistoryTodos from './HistoryTodos';\nimport SuspendedTodos from './SuspendedTodos';\nimport UserManagement from './UserManagement';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst AppContainer = styled.div`\n background: rgba(255, 255, 255, 0.95);\n backdrop-filter: blur(10px);\n border-radius: 20px;\n padding: 40px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);\n width: 100%;\n max-width: 1200px;\n max-height: 95vh;\n overflow-y: auto;\n min-height: 600px;\n`;\n_c = AppContainer;\nconst Header = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 40px;\n padding-bottom: 25px;\n border-bottom: 2px solid #f0f0f0;\n`;\n_c2 = Header;\nconst TitleSection = styled.div`\n display: flex;\n flex-direction: column;\n gap: 8px;\n`;\n_c3 = TitleSection;\nconst Title = styled.h1`\n color: #333;\n font-size: 32px;\n font-weight: 300;\n margin: 0;\n`;\n_c4 = Title;\nconst UserInfo = styled.div`\n color: #666;\n font-size: 14px;\n display: flex;\n align-items: center;\n gap: 8px;\n\n .username {\n font-weight: 500;\n color: #667eea;\n }\n\n .role {\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 500;\n }\n\n .admin {\n background: rgba(255, 152, 0, 0.1);\n color: #ff9800;\n }\n\n .user {\n background: rgba(102, 126, 234, 0.1);\n color: #667eea;\n }\n`;\n_c5 = UserInfo;\nconst HeaderActions = styled.div`\n display: flex;\n gap: 12px;\n align-items: center;\n flex-wrap: wrap;\n\n @media (max-width: 768px) {\n flex-direction: column;\n align-items: stretch;\n gap: 8px;\n }\n`;\n_c6 = HeaderActions;\nconst ActionButton = styled.button`\n background: ${({\n variant,\n theme\n}) => {\n var _theme$colors;\n switch (variant) {\n case 'primary':\n return (theme === null || theme === void 0 ? void 0 : (_theme$colors = theme.colors) === null || _theme$colors === void 0 ? void 0 : _theme$colors.primary) || '#667eea';\n case 'warning':\n return '#ff9800';\n case 'success':\n return '#00B894';\n case 'danger':\n return '#e74c3c';\n default:\n return 'transparent';\n }\n}};\n color: ${({\n variant\n}) => variant === 'default' ? '#666' : 'white'};\n border: ${({\n variant\n}) => variant === 'default' ? '2px solid #e1e5e9' : 'none'};\n padding: 10px 20px;\n border-radius: 8px;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.3s ease;\n display: flex;\n align-items: center;\n gap: 8px;\n white-space: nowrap;\n\n &:hover {\n transform: translateY(-1px);\n ${({\n variant\n}) => {\n if (variant === 'default') {\n return `\n border-color: #667eea;\n color: #667eea;\n `;\n }\n return 'opacity: 0.9;';\n}}\n }\n\n &::before {\n content: ${({\n icon\n}) => icon ? `'${icon}'` : 'none'};\n font-size: 16px;\n }\n`;\n_c7 = ActionButton;\nconst Content = styled.div`\n display: flex;\n flex-direction: column;\n gap: 35px;\n`;\n_c8 = Content;\nconst LoadingMessage = styled.div`\n text-align: center;\n color: #666;\n font-size: 18px;\n padding: 60px;\n`;\n_c9 = 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_c0 = EmptyMessage;\nfunction TodoApp({\n onLogout,\n currentUser\n}) {\n _s();\n const [todos, setTodos] = useState([]);\n const [loading, setLoading] = useState(true);\n