1 line
42 KiB
JSON
1 line
42 KiB
JSON
{"ast":null,"code":"var _jsxFileName = \"/home/gnx/Desktop/GNX-mailEnterprise/frontend/src/pages/Inbox.js\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { useQuery } from 'react-query';\nimport { Link } from 'react-router-dom';\nimport { Mail, Star, Archive, Trash2, MoreVertical, Search, Filter, RefreshCw } from 'lucide-react';\nimport { api, endpoints } from '../services/api';\nimport LoadingSpinner from '../components/LoadingSpinner';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Inbox = () => {\n _s();\n var _emails$results3, _emails$results4, _emails$results5;\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [searchQuery, setSearchQuery] = useState('');\n const [filter, setFilter] = useState('all');\n const {\n data: emails,\n isLoading,\n refetch\n } = useQuery(['emails', searchQuery, filter], () => {\n const params = new URLSearchParams();\n if (searchQuery) params.append('search', searchQuery);\n if (filter !== 'all') params.append('is_read', filter === 'unread' ? 'false' : 'true');\n return api.get(`${endpoints.emails}?${params}`).then(res => res.data);\n });\n const handleSelectEmail = emailId => {\n setSelectedEmails(prev => prev.includes(emailId) ? prev.filter(id => id !== emailId) : [...prev, emailId]);\n };\n const handleSelectAll = () => {\n var _emails$results;\n if (selectedEmails.length === (emails === null || emails === void 0 ? void 0 : (_emails$results = emails.results) === null || _emails$results === void 0 ? void 0 : _emails$results.length)) {\n setSelectedEmails([]);\n } else {\n var _emails$results2;\n setSelectedEmails((emails === null || emails === void 0 ? void 0 : (_emails$results2 = emails.results) === null || _emails$results2 === void 0 ? void 0 : _emails$results2.map(email => email.id)) || []);\n }\n };\n const formatDate = dateString => {\n const date = new Date(dateString);\n const now = new Date();\n const diffTime = Math.abs(now - date);\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n if (diffDays === 1) {\n return 'Today';\n } else if (diffDays === 2) {\n return 'Yesterday';\n } else if (diffDays <= 7) {\n return `${diffDays - 1} days ago`;\n } else {\n return date.toLocaleDateString();\n }\n };\n if (isLoading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center justify-center h-64\",\n children: /*#__PURE__*/_jsxDEV(LoadingSpinner, {\n size: \"lg\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 68,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 67,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"space-y-6\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"md:flex md:items-center md:justify-between\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n className: \"text-2xl font-bold leading-7 text-gray-900 sm:text-3xl sm:truncate\",\n children: \"Inbox\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 78,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: \"mt-1 text-sm text-gray-500\",\n children: [(emails === null || emails === void 0 ? void 0 : emails.count) || 0, \" emails\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 81,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"mt-4 flex md:mt-0 md:ml-4\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n onClick: () => refetch(),\n className: \"btn-secondary mr-3\",\n children: [/*#__PURE__*/_jsxDEV(RefreshCw, {\n className: \"h-4 w-4 mr-2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 90,\n columnNumber: 13\n }, this), \"Refresh\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 86,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/compose\",\n className: \"btn-primary\",\n children: [/*#__PURE__*/_jsxDEV(Mail, {\n className: \"h-4 w-4 mr-2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 13\n }, this), \"Compose\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 85,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"card\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"card-body\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex flex-col sm:flex-row gap-4\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex-1\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"relative\",\n children: [/*#__PURE__*/_jsxDEV(Search, {\n className: \"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"input\", {\n type: \"text\",\n placeholder: \"Search emails...\",\n value: searchQuery,\n onChange: e => setSearchQuery(e.target.value),\n className: \"input pl-10\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 104,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex gap-2\",\n children: /*#__PURE__*/_jsxDEV(\"select\", {\n value: filter,\n onChange: e => setFilter(e.target.value),\n className: \"input\",\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"all\",\n children: \"All emails\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 122,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n value: \"unread\",\n children: \"Unread\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 123,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"option\", {\n value: \"read\",\n children: \"Read\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 124,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 15\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 116,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 103,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 102,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"card\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"card-header\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center justify-between\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n type: \"checkbox\",\n checked: selectedEmails.length === (emails === null || emails === void 0 ? void 0 : (_emails$results3 = emails.results) === null || _emails$results3 === void 0 ? void 0 : _emails$results3.length) && (emails === null || emails === void 0 ? void 0 : (_emails$results4 = emails.results) === null || _emails$results4 === void 0 ? void 0 : _emails$results4.length) > 0,\n onChange: handleSelectAll,\n className: \"h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 136,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 text-sm text-gray-500\",\n children: [selectedEmails.length, \" selected\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 142,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 135,\n columnNumber: 13\n }, this), selectedEmails.length > 0 && /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex gap-2\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n className: \"btn-sm btn-secondary\",\n children: [/*#__PURE__*/_jsxDEV(Archive, {\n className: \"h-4 w-4 mr-1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 149,\n columnNumber: 19\n }, this), \"Archive\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 148,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"btn-sm btn-secondary\",\n children: [/*#__PURE__*/_jsxDEV(Star, {\n className: \"h-4 w-4 mr-1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 153,\n columnNumber: 19\n }, this), \"Star\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 152,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"btn-sm btn-danger\",\n children: [/*#__PURE__*/_jsxDEV(Trash2, {\n className: \"h-4 w-4 mr-1\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 157,\n columnNumber: 19\n }, this), \"Delete\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 156,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 147,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 134,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"divide-y divide-gray-200\",\n children: (emails === null || emails === void 0 ? void 0 : (_emails$results5 = emails.results) === null || _emails$results5 === void 0 ? void 0 : _emails$results5.length) > 0 ? emails.results.map(email => /*#__PURE__*/_jsxDEV(\"div\", {\n className: `email-item ${!email.is_read ? 'unread' : ''} ${selectedEmails.includes(email.id) ? 'selected' : ''}`,\n onClick: () => handleSelectEmail(email.id),\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center space-x-4\",\n children: [/*#__PURE__*/_jsxDEV(\"input\", {\n type: \"checkbox\",\n checked: selectedEmails.includes(email.id),\n onChange: () => handleSelectEmail(email.id),\n className: \"h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded\",\n onClick: e => e.stopPropagation()\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex-shrink-0\",\n children: /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"text-gray-400 hover:text-yellow-500\",\n children: /*#__PURE__*/_jsxDEV(Star, {\n className: `h-4 w-4 ${email.is_starred ? 'text-yellow-500 fill-current' : ''}`\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 185,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 184,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 183,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex-1 min-w-0\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center justify-between\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center space-x-3\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex-shrink-0\",\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"h-8 w-8 rounded-full bg-gray-300 flex items-center justify-center\",\n children: /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-sm font-medium text-gray-700\",\n children: email.from_email.charAt(0).toUpperCase()\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 194,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 193,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"min-w-0 flex-1\",\n children: [/*#__PURE__*/_jsxDEV(\"p\", {\n className: `text-sm font-medium truncate ${!email.is_read ? 'text-gray-900' : 'text-gray-600'}`,\n children: email.from_email\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 200,\n columnNumber: 27\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: `text-sm truncate ${!email.is_read ? 'text-gray-900 font-medium' : 'text-gray-500'}`,\n children: email.subject\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 27\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 191,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex items-center space-x-2\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"text-xs text-gray-500\",\n children: formatDate(email.created_at)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 213,\n columnNumber: 25\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n className: \"text-gray-400 hover:text-gray-600\",\n children: /*#__PURE__*/_jsxDEV(MoreVertical, {\n className: \"h-4 w-4\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 216,\n columnNumber: 25\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 212,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 189,\n columnNumber: 19\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 174,\n columnNumber: 17\n }, this)\n }, email.id, false, {\n fileName: _jsxFileName,\n lineNumber: 167,\n columnNumber: 15\n }, this)) : /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"text-center py-12\",\n children: [/*#__PURE__*/_jsxDEV(Mail, {\n className: \"mx-auto h-12 w-12 text-gray-400\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 227,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"h3\", {\n className: \"mt-2 text-sm font-medium text-gray-900\",\n children: \"No emails\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 228,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: \"mt-1 text-sm text-gray-500\",\n children: searchQuery ? 'No emails match your search.' : 'You don\\'t have any emails yet.'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 229,\n columnNumber: 15\n }, this), !searchQuery && /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"mt-6\",\n children: /*#__PURE__*/_jsxDEV(Link, {\n to: \"/compose\",\n className: \"btn-primary\",\n children: [/*#__PURE__*/_jsxDEV(Mail, {\n className: \"h-4 w-4 mr-2\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 235,\n columnNumber: 21\n }, this), \"Compose your first email\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 234,\n columnNumber: 19\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 233,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 226,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 164,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 74,\n columnNumber: 5\n }, this);\n};\n_s(Inbox, \"Es+P3Lt0L+YIegrjM2NoioVRKKk=\", false, function () {\n return [useQuery];\n});\n_c = Inbox;\nexport default Inbox;\nvar _c;\n$RefreshReg$(_c, \"Inbox\");","map":{"version":3,"names":["React","useState","useQuery","Link","Mail","Star","Archive","Trash2","MoreVertical","Search","Filter","RefreshCw","api","endpoints","LoadingSpinner","jsxDEV","_jsxDEV","Inbox","_s","_emails$results3","_emails$results4","_emails$results5","selectedEmails","setSelectedEmails","searchQuery","setSearchQuery","filter","setFilter","data","emails","isLoading","refetch","params","URLSearchParams","append","get","then","res","handleSelectEmail","emailId","prev","includes","id","handleSelectAll","_emails$results","length","results","_emails$results2","map","email","formatDate","dateString","date","Date","now","diffTime","Math","abs","diffDays","ceil","toLocaleDateString","className","children","size","fileName","_jsxFileName","lineNumber","columnNumber","count","onClick","to","type","placeholder","value","onChange","e","target","checked","is_read","stopPropagation","is_starred","from_email","charAt","toUpperCase","subject","created_at","_c","$RefreshReg$"],"sources":["/home/gnx/Desktop/GNX-mailEnterprise/frontend/src/pages/Inbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { useQuery } from 'react-query';\nimport { Link } from 'react-router-dom';\nimport { \n Mail, \n Star, \n Archive, \n Trash2, \n MoreVertical,\n Search,\n Filter,\n RefreshCw\n} from 'lucide-react';\nimport { api, endpoints } from '../services/api';\nimport LoadingSpinner from '../components/LoadingSpinner';\n\nconst Inbox = () => {\n const [selectedEmails, setSelectedEmails] = useState([]);\n const [searchQuery, setSearchQuery] = useState('');\n const [filter, setFilter] = useState('all');\n\n const { data: emails, isLoading, refetch } = useQuery(\n ['emails', searchQuery, filter],\n () => {\n const params = new URLSearchParams();\n if (searchQuery) params.append('search', searchQuery);\n if (filter !== 'all') params.append('is_read', filter === 'unread' ? 'false' : 'true');\n return api.get(`${endpoints.emails}?${params}`).then(res => res.data);\n }\n );\n\n const handleSelectEmail = (emailId) => {\n setSelectedEmails(prev => \n prev.includes(emailId) \n ? prev.filter(id => id !== emailId)\n : [...prev, emailId]\n );\n };\n\n const handleSelectAll = () => {\n if (selectedEmails.length === emails?.results?.length) {\n setSelectedEmails([]);\n } else {\n setSelectedEmails(emails?.results?.map(email => email.id) || []);\n }\n };\n\n const formatDate = (dateString) => {\n const date = new Date(dateString);\n const now = new Date();\n const diffTime = Math.abs(now - date);\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n \n if (diffDays === 1) {\n return 'Today';\n } else if (diffDays === 2) {\n return 'Yesterday';\n } else if (diffDays <= 7) {\n return `${diffDays - 1} days ago`;\n } else {\n return date.toLocaleDateString();\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center h-64\">\n <LoadingSpinner size=\"lg\" />\n </div>\n );\n }\n\n return (\n <div className=\"space-y-6\">\n {/* Header */}\n <div className=\"md:flex md:items-center md:justify-between\">\n <div className=\"flex-1 min-w-0\">\n <h2 className=\"text-2xl font-bold leading-7 text-gray-900 sm:text-3xl sm:truncate\">\n Inbox\n </h2>\n <p className=\"mt-1 text-sm text-gray-500\">\n {emails?.count || 0} emails\n </p>\n </div>\n <div className=\"mt-4 flex md:mt-0 md:ml-4\">\n <button\n onClick={() => refetch()}\n className=\"btn-secondary mr-3\"\n >\n <RefreshCw className=\"h-4 w-4 mr-2\" />\n Refresh\n </button>\n <Link to=\"/compose\" className=\"btn-primary\">\n <Mail className=\"h-4 w-4 mr-2\" />\n Compose\n </Link>\n </div>\n </div>\n\n {/* Search and Filters */}\n <div className=\"card\">\n <div className=\"card-body\">\n <div className=\"flex flex-col sm:flex-row gap-4\">\n <div className=\"flex-1\">\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-gray-400\" />\n <input\n type=\"text\"\n placeholder=\"Search emails...\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"input pl-10\"\n />\n </div>\n </div>\n <div className=\"flex gap-2\">\n <select\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n className=\"input\"\n >\n <option value=\"all\">All emails</option>\n <option value=\"unread\">Unread</option>\n <option value=\"read\">Read</option>\n </select>\n </div>\n </div>\n </div>\n </div>\n\n {/* Email List */}\n <div className=\"card\">\n <div className=\"card-header\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center\">\n <input\n type=\"checkbox\"\n checked={selectedEmails.length === emails?.results?.length && emails?.results?.length > 0}\n onChange={handleSelectAll}\n className=\"h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded\"\n />\n <span className=\"ml-2 text-sm text-gray-500\">\n {selectedEmails.length} selected\n </span>\n </div>\n {selectedEmails.length > 0 && (\n <div className=\"flex gap-2\">\n <button className=\"btn-sm btn-secondary\">\n <Archive className=\"h-4 w-4 mr-1\" />\n Archive\n </button>\n <button className=\"btn-sm btn-secondary\">\n <Star className=\"h-4 w-4 mr-1\" />\n Star\n </button>\n <button className=\"btn-sm btn-danger\">\n <Trash2 className=\"h-4 w-4 mr-1\" />\n Delete\n </button>\n </div>\n )}\n </div>\n </div>\n <div className=\"divide-y divide-gray-200\">\n {emails?.results?.length > 0 ? (\n emails.results.map((email) => (\n <div\n key={email.id}\n className={`email-item ${!email.is_read ? 'unread' : ''} ${\n selectedEmails.includes(email.id) ? 'selected' : ''\n }`}\n onClick={() => handleSelectEmail(email.id)}\n >\n <div className=\"flex items-center space-x-4\">\n <input\n type=\"checkbox\"\n checked={selectedEmails.includes(email.id)}\n onChange={() => handleSelectEmail(email.id)}\n className=\"h-4 w-4 text-primary-600 focus:ring-primary-500 border-gray-300 rounded\"\n onClick={(e) => e.stopPropagation()}\n />\n \n <div className=\"flex-shrink-0\">\n <button className=\"text-gray-400 hover:text-yellow-500\">\n <Star className={`h-4 w-4 ${email.is_starred ? 'text-yellow-500 fill-current' : ''}`} />\n </button>\n </div>\n \n <div className=\"flex-1 min-w-0\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center space-x-3\">\n <div className=\"flex-shrink-0\">\n <div className=\"h-8 w-8 rounded-full bg-gray-300 flex items-center justify-center\">\n <span className=\"text-sm font-medium text-gray-700\">\n {email.from_email.charAt(0).toUpperCase()}\n </span>\n </div>\n </div>\n <div className=\"min-w-0 flex-1\">\n <p className={`text-sm font-medium truncate ${\n !email.is_read ? 'text-gray-900' : 'text-gray-600'\n }`}>\n {email.from_email}\n </p>\n <p className={`text-sm truncate ${\n !email.is_read ? 'text-gray-900 font-medium' : 'text-gray-500'\n }`}>\n {email.subject}\n </p>\n </div>\n </div>\n <div className=\"flex items-center space-x-2\">\n <div className=\"text-xs text-gray-500\">\n {formatDate(email.created_at)}\n </div>\n <button className=\"text-gray-400 hover:text-gray-600\">\n <MoreVertical className=\"h-4 w-4\" />\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n ))\n ) : (\n <div className=\"text-center py-12\">\n <Mail className=\"mx-auto h-12 w-12 text-gray-400\" />\n <h3 className=\"mt-2 text-sm font-medium text-gray-900\">No emails</h3>\n <p className=\"mt-1 text-sm text-gray-500\">\n {searchQuery ? 'No emails match your search.' : 'You don\\'t have any emails yet.'}\n </p>\n {!searchQuery && (\n <div className=\"mt-6\">\n <Link to=\"/compose\" className=\"btn-primary\">\n <Mail className=\"h-4 w-4 mr-2\" />\n Compose your first email\n </Link>\n </div>\n )}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Inbox;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |