-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy path.eslintcache
More file actions
1 lines (1 loc) · 42.7 KB
/
Copy path.eslintcache
File metadata and controls
1 lines (1 loc) · 42.7 KB
1
[{"/home/pg07codes/Desktop/fokus/src/components/notes/NoteCard.js":"1","/home/pg07codes/Desktop/fokus/src/helpers/themeStyles.js":"2","/home/pg07codes/Desktop/fokus/src/components/notes/NewNoteButton.js":"3","/home/pg07codes/Desktop/fokus/src/components/notes/NotesPreview.js":"4","/home/pg07codes/Desktop/fokus/src/containers/notes/notesSlice.js":"5","/home/pg07codes/Desktop/fokus/src/components/notes/NotesListArea.js":"6","/home/pg07codes/Desktop/fokus/src/serviceWorker.js":"7","/home/pg07codes/Desktop/fokus/src/containers/settings/settingsSlice.js":"8","/home/pg07codes/Desktop/fokus/src/containers/dashboard/index.js":"9","/home/pg07codes/Desktop/fokus/src/containers/mobileView/index.js":"10","/home/pg07codes/Desktop/fokus/src/containers/settings/index.js":"11","/home/pg07codes/Desktop/fokus/src/components/TaskBoard/TaskCard.js":"12","/home/pg07codes/Desktop/fokus/src/containers/dashboard/DashboardHero.js":"13","/home/pg07codes/Desktop/fokus/src/components/TaskBoard/TaskLabelSelect.js":"14","/home/pg07codes/Desktop/fokus/src/components/MiscBoard/LabelPie.js":"15","/home/pg07codes/Desktop/fokus/src/hooks/useTimer.js":"16","/home/pg07codes/Desktop/fokus/src/containers/App.js":"17","/home/pg07codes/Desktop/fokus/src/components/TaskBoard/TaskInput.js":"18","/home/pg07codes/Desktop/fokus/src/components/dashBoard/DayDate.js":"19","/home/pg07codes/Desktop/fokus/src/components/MiscBoard/ProgressRings.js":"20","/home/pg07codes/Desktop/fokus/src/containers/dashboard/DashboardMain.js":"21","/home/pg07codes/Desktop/fokus/src/containers/focusBoard/FocusBoard.js":"22","/home/pg07codes/Desktop/fokus/src/components/MiscBoard/TimeProgressCard.js":"23","/home/pg07codes/Desktop/fokus/src/components/notes/NoteSearchInput.js":"24","/home/pg07codes/Desktop/fokus/src/containers/notes/index.js":"25","/home/pg07codes/Desktop/fokus/src/index.js":"26","/home/pg07codes/Desktop/fokus/src/store/index.js":"27","/home/pg07codes/Desktop/fokus/src/helpers/index.js":"28","/home/pg07codes/Desktop/fokus/src/helpers/constants.js":"29","/home/pg07codes/Desktop/fokus/src/helpers/quotes.js":"30","/home/pg07codes/Desktop/fokus/src/components/MusicBox/musicUtils.js":"31","/home/pg07codes/Desktop/fokus/src/components/TaskBoard/NoTasks.js":"32","/home/pg07codes/Desktop/fokus/src/containers/settings/DefaultTaskTime.js":"33","/home/pg07codes/Desktop/fokus/src/components/MusicBox/Soundscapes.js":"34","/home/pg07codes/Desktop/fokus/src/components/MusicBox/MusicVolumeControl.js":"35","/home/pg07codes/Desktop/fokus/src/containers/taskBoard/taskBoardSlice.js":"36","/home/pg07codes/Desktop/fokus/src/containers/settings/DefaultTaskLabel.js":"37","/home/pg07codes/Desktop/fokus/src/components/FocusBoard/FocussedTask.js":"38","/home/pg07codes/Desktop/fokus/src/components/MiscBoard/EmptyLabelPie.js":"39","/home/pg07codes/Desktop/fokus/src/components/MiscBoard/TaskProgressCard.js":"40","/home/pg07codes/Desktop/fokus/src/containers/miscBoard/MiscBoard.js":"41","/home/pg07codes/Desktop/fokus/src/store/localStorageUtils.js":"42","/home/pg07codes/Desktop/fokus/src/containers/settings/AutoMarkDone.js":"43","/home/pg07codes/Desktop/fokus/src/components/customIcons/index.js":"44","/home/pg07codes/Desktop/fokus/src/components/FocusBoard/EmptyFocusBox.js":"45","/home/pg07codes/Desktop/fokus/src/containers/menu/Menu.js":"46","/home/pg07codes/Desktop/fokus/src/containers/settings/NotesViewToggle.js":"47","/home/pg07codes/Desktop/fokus/src/containers/settings/DarkThemeToggle.js":"48","/home/pg07codes/Desktop/fokus/src/components/TaskBoard/Divider.js":"49"},{"size":2232,"mtime":1649965646983,"results":"50","hashOfConfig":"51"},{"size":620,"mtime":1649965646987,"results":"52","hashOfConfig":"51"},{"size":1772,"mtime":1630463534123,"results":"53","hashOfConfig":"54"},{"size":7450,"mtime":1629799739137,"results":"55","hashOfConfig":"54"},{"size":1416,"mtime":1649965646983,"results":"56","hashOfConfig":"51"},{"size":2448,"mtime":1649965646983,"results":"57","hashOfConfig":"51"},{"size":5141,"mtime":1649965646987,"results":"58","hashOfConfig":"51"},{"size":1312,"mtime":1649965646987,"results":"59","hashOfConfig":"51"},{"size":664,"mtime":1614781857782,"results":"60","hashOfConfig":"54"},{"size":968,"mtime":1649965646983,"results":"61","hashOfConfig":"51"},{"size":2006,"mtime":1630333361157,"results":"62","hashOfConfig":"54"},{"size":17173,"mtime":1649965646983,"results":"63","hashOfConfig":"51"},{"size":1974,"mtime":1649965646983,"results":"64","hashOfConfig":"51"},{"size":1370,"mtime":1649965646983,"results":"65","hashOfConfig":"51"},{"size":2823,"mtime":1615018247500,"results":"66","hashOfConfig":"54"},{"size":1528,"mtime":1649965646987,"results":"67","hashOfConfig":"51"},{"size":2007,"mtime":1649965646983,"results":"68","hashOfConfig":"51"},{"size":6842,"mtime":1615020414264,"results":"69","hashOfConfig":"54"},{"size":1423,"mtime":1629914008511,"results":"70","hashOfConfig":"54"},{"size":4224,"mtime":1649965646983,"results":"71","hashOfConfig":"51"},{"size":520,"mtime":1629791668673,"results":"72","hashOfConfig":"54"},{"size":2090,"mtime":1649965646983,"results":"73","hashOfConfig":"51"},{"size":3090,"mtime":1649965646983,"results":"74","hashOfConfig":"51"},{"size":1795,"mtime":1630461072783,"results":"75","hashOfConfig":"54"},{"size":652,"mtime":1649965646983,"results":"76","hashOfConfig":"51"},{"size":651,"mtime":1613628682348,"results":"77","hashOfConfig":"54"},{"size":810,"mtime":1629271202035,"results":"78","hashOfConfig":"54"},{"size":2950,"mtime":1629702473159,"results":"79","hashOfConfig":"54"},{"size":113,"mtime":1649965646987,"results":"80","hashOfConfig":"51"},{"size":20133,"mtime":1619969647808,"results":"81","hashOfConfig":"54"},{"size":1285,"mtime":1649965646983,"results":"82","hashOfConfig":"51"},{"size":687,"mtime":1649965646983,"results":"83","hashOfConfig":"51"},{"size":2216,"mtime":1649965646987,"results":"84","hashOfConfig":"51"},{"size":4547,"mtime":1615026159385,"results":"85","hashOfConfig":"54"},{"size":1577,"mtime":1649965646983,"results":"86","hashOfConfig":"51"},{"size":14646,"mtime":1649965646987,"results":"87","hashOfConfig":"51"},{"size":2205,"mtime":1649965646987,"results":"88","hashOfConfig":"51"},{"size":10297,"mtime":1649965646979,"results":"89","hashOfConfig":"51"},{"size":683,"mtime":1649965646983,"results":"90","hashOfConfig":"51"},{"size":2050,"mtime":1615028874437,"results":"91","hashOfConfig":"54"},{"size":4704,"mtime":1619969656668,"results":"92","hashOfConfig":"54"},{"size":2228,"mtime":1649965647027,"results":"93","hashOfConfig":"51"},{"size":1025,"mtime":1615050268205,"results":"94","hashOfConfig":"54"},{"size":2280,"mtime":1614853424304,"results":"95","hashOfConfig":"54"},{"size":6209,"mtime":1649965646979,"results":"96","hashOfConfig":"51"},{"size":3438,"mtime":1629096189675,"results":"97","hashOfConfig":"54"},{"size":1745,"mtime":1649965646987,"results":"98","hashOfConfig":"51"},{"size":913,"mtime":1615050476184,"results":"99","hashOfConfig":"54"},{"size":2654,"mtime":1649965646983,"results":"100","hashOfConfig":"51"},{"filePath":"101","messages":"102","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"103"},"owqxi",{"filePath":"104","messages":"105","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"106","messages":"107","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"g1paqb",{"filePath":"108","messages":"109","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"110","usedDeprecatedRules":"111"},{"filePath":"112","messages":"113","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"114","messages":"115","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"116","messages":"117","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"103"},{"filePath":"118","messages":"119","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"120","messages":"121","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"122"},{"filePath":"123","messages":"124","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"125","messages":"126","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"127","messages":"128","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"129","messages":"130","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"103"},{"filePath":"131","messages":"132","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"133","messages":"134","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"135"},{"filePath":"136","messages":"137","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"138","messages":"139","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"140","messages":"141","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"142","usedDeprecatedRules":"143"},{"filePath":"144","messages":"145","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"146","usedDeprecatedRules":"147"},{"filePath":"148","messages":"149","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"150"},{"filePath":"151","messages":"152","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"153","messages":"154","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"155","messages":"156","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"157","messages":"158","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"159"},{"filePath":"160","messages":"161","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"162","messages":"163","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"164"},{"filePath":"165","messages":"166","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"167","messages":"168","errorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"169","messages":"170","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"171","messages":"172","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"173"},{"filePath":"174","messages":"175","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"176","messages":"177","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"178","messages":"179","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"180","messages":"181","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"182","messages":"183","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"184","messages":"185","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"186","messages":"187","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"188","messages":"189","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"190","messages":"191","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"192","messages":"193","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"159"},{"filePath":"194","messages":"195","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"196","usedDeprecatedRules":"197"},{"filePath":"198","messages":"199","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"200","messages":"201","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"202","messages":"203","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"143"},{"filePath":"204","messages":"205","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"206","messages":"207","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"208","messages":"209","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"210","messages":"211","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"212","messages":"213","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/pg07codes/Desktop/fokus/src/components/notes/NoteCard.js",[],["214","215"],"/home/pg07codes/Desktop/fokus/src/helpers/themeStyles.js",[],"/home/pg07codes/Desktop/fokus/src/components/notes/NewNoteButton.js",[],"/home/pg07codes/Desktop/fokus/src/components/notes/NotesPreview.js",["216","217"],"import React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { AnimatePresence } from \"framer-motion\";\nimport { FaArrowRight, FaTrash, FaClipboard } from \"react-icons/fa\";\nimport { colorOptions, create, update, remove } from \"../../containers/notes/notesSlice\";\nimport { motion } from \"framer-motion\";\nimport ReactMarkdown from \"react-markdown\";\nimport { AiFillEye } from \"react-icons/ai\";\nimport { RiFileEditFill } from \"react-icons/ri\";\nimport { debounce } from \"./../../helpers\";\nimport ReactTooltip from \"react-tooltip\";\n\nconst NotesPreviewContainer = styled(motion.div)`\n display: flex;\n flex-direction: column;\n flex: 0 1 0;\n position: relative;\n border-left: solid 1px #fabb18;\n background-color: ${(p) => p.theme.backgroundSecondary};\n`;\n\nconst NoteContentDiv = styled.div`\n width: 100%;\n height: 95%;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n`;\n\nconst EditNoteInput = styled.textarea`\n resize: none;\n height: 100%;\n padding: 20px 0 0 25px;\n font-size: 1em;\n font-family: monospace;\n vertical-align: center;\n border: none;\n outline: none;\n background-color: ${(p) => p.theme.backgroundSecondary};\n color: ${(p) => p.theme.primaryText};\n &::placeholder {\n color: #c1c1d7;\n }\n &:focus {\n outline: none;\n }\n`;\n\nconst MarkdownWrapper = styled.div`\n padding: 20px 0 0 25px;\n color: ${(p) => p.theme.primaryText};\n`;\n\nconst NoteActionMenu = styled.div`\n width: 100%;\n height: 5%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: #fabb18;\n`;\n\nconst MenuActionButtonGroup = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n`;\n\nconst MenuActionButton = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n cursor: pointer;\n svg {\n padding: 1px 10px;\n color: ${(p) => p.theme.primaryText};\n font-size: 1em;\n }\n &:hover {\n background-color: ${(p) => p.theme.backgroundSecondary};\n }\n`;\n\nconst NoteColorSelectionBox = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 8px;\n height: 100%;\n width: 180px;\n margin: 4px;\n`;\n\nconst ColorOption = styled.div`\n display: inline-block;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n cursor: pointer;\n background-color: ${(p) => p.color};\n background-clip: content-box;\n padding: 2px;\n margin: 0 3px;\n border: ${(p) => (p.isSelected ? \"3px solid black\" : \"\")};\n`;\n\nconst debouncedUpdateNoteContent = debounce((dispatch, id, updatedNoteContent) => {\n dispatch(update({ id: id, noteContent: updatedNoteContent.trim() }));\n}, 1000);\n\nexport default function NotesPreview({ note, setNoteInPreview }) {\n const dispatch = useDispatch();\n const [editNote, setEditNote] = useState();\n const [noteContent, setNoteContent] = useState();\n const [noteColor, setNoteColor] = useState();\n\n useEffect(() => {\n if (note !== null) {\n setNoteContent(note.content);\n setNoteColor(note.color);\n setEditNote(true);\n }\n }, [note]);\n\n const handleContentChange = (updatedNoteContent) => {\n setNoteContent(updatedNoteContent);\n debouncedUpdateNoteContent(dispatch, note.id, updatedNoteContent);\n };\n\n const handleColorUpdate = (note, noteColor) => {\n let updatePayload = {\n id: note.id,\n noteColor,\n };\n dispatch(update(updatePayload));\n setNoteColor(noteColor);\n };\n\n const handleDeleteNoteAction = (id) => {\n dispatch(remove(id));\n setNoteInPreview(null);\n };\n\n const handleCloseAction = () => {\n dispatch(remove(null)); // clears all empty body notes\n setNoteInPreview(null);\n };\n\n return (\n <AnimatePresence>\n <NotesPreviewContainer\n initial={{\n flex: note === null ? \"0 1 0\" : \"2 1 0\",\n }}\n animate={{\n flex: note === null ? \"0 1 0\" : \"2 1 0\",\n }}\n >\n {note !== null && (\n <>\n <NoteActionMenu>\n <MenuActionButtonGroup>\n <MenuActionButton onClick={() => handleCloseAction()}>\n <FaArrowRight data-for=\"closeAction\" data-tip=\"\" />\n <ReactTooltip id=\"closeAction\" getContent={() => \"Close Note\"} />\n </MenuActionButton>\n <MenuActionButton data-for=\"viewOrEditAction\" data-tip=\"\" onClick={() => setEditNote(!editNote)}>\n {editNote ? <AiFillEye /> : <RiFileEditFill />}\n <ReactTooltip id=\"viewOrEditAction\" getContent={() => (editNote ? \"View Markdown\" : \"Edit Note\")} />\n </MenuActionButton>\n <MenuActionButton onClick={() => navigator.clipboard.writeText(noteContent)}>\n <FaClipboard data-for=\"copyAction\" data-tip=\"\" />\n <ReactTooltip id=\"copyAction\" getContent={() => \"Copy Note\"} />\n </MenuActionButton>\n\n <MenuActionButton onClick={() => handleDeleteNoteAction(note.id)}>\n <FaTrash data-for=\"deleteAction\" data-tip=\"\" />\n <ReactTooltip id=\"deleteAction\" getContent={() => \"Delete Note\"} />\n </MenuActionButton>\n </MenuActionButtonGroup>\n <NoteColorSelectionBox>\n {Object.keys(colorOptions).map((color, idx) => (\n <ColorOption\n key={idx}\n onClick={() => handleColorUpdate(note, colorOptions[color])}\n isSelected={noteColor === colorOptions[color]}\n color={colorOptions[color]}\n />\n ))}\n </NoteColorSelectionBox>\n </NoteActionMenu>\n <NoteContentDiv>\n {editNote ? (\n <EditNoteInput\n placeholder=\"Type note here..\"\n autoFocus\n type=\"text\"\n value={noteContent}\n onChange={(e) => handleContentChange(e.target.value)}\n />\n ) : (\n <MarkdownWrapper>\n <ReactMarkdown children={noteContent} />\n </MarkdownWrapper>\n )}\n </NoteContentDiv>\n </>\n )}\n </NotesPreviewContainer>\n </AnimatePresence>\n );\n}\n",["218","219"],"/home/pg07codes/Desktop/fokus/src/containers/notes/notesSlice.js",[],"/home/pg07codes/Desktop/fokus/src/components/notes/NotesListArea.js",[],"/home/pg07codes/Desktop/fokus/src/serviceWorker.js",[],"/home/pg07codes/Desktop/fokus/src/containers/settings/settingsSlice.js",[],"/home/pg07codes/Desktop/fokus/src/containers/dashboard/index.js",[],["220","221"],"/home/pg07codes/Desktop/fokus/src/containers/mobileView/index.js",[],"/home/pg07codes/Desktop/fokus/src/containers/settings/index.js",[],"/home/pg07codes/Desktop/fokus/src/components/TaskBoard/TaskCard.js",[],"/home/pg07codes/Desktop/fokus/src/containers/dashboard/DashboardHero.js",[],"/home/pg07codes/Desktop/fokus/src/components/TaskBoard/TaskLabelSelect.js",["222"],"/home/pg07codes/Desktop/fokus/src/components/MiscBoard/LabelPie.js",[],["223","224"],"/home/pg07codes/Desktop/fokus/src/hooks/useTimer.js",[],"/home/pg07codes/Desktop/fokus/src/containers/App.js",[],"/home/pg07codes/Desktop/fokus/src/components/TaskBoard/TaskInput.js",["225"],"import React, { useCallback, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { create, incrementGlobalKey, focusOnTask, updateLabelCount } from \"./../../containers/taskBoard/taskBoardSlice\";\nimport styled from \"styled-components\";\nimport { AiFillPlusCircle, AiFillClockCircle } from \"react-icons/ai\";\nimport { TaskFeedback } from \"./TaskFeedback\";\nimport { debounce } from \"../../helpers\";\n\nconst TaskInputContainer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 20px 0 10px 0;\n width: 90%;\n max-width: 396px;\n border-radius: 10px;\n background-color: ${(p) => p.theme.backgroundSecondary};\n height: 50px;\n -webkit-box-shadow: 0 2px 10px rgba(166, 173, 201, 0.3);\n box-shadow: 0 2px 10px rgba(166, 173, 201, 0.3);\n`;\n\nconst TaskContentInputDiv = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n height: 90%;\n width: 70%;\n margin-left: 10px;\n svg {\n font-size: 1.3em;\n margin-right: 5px;\n color: #fabb18;\n }\n`;\n\nconst TaskContentInputField = styled.input`\n height: 100%;\n width: 90%;\n font-size: 0.9em;\n background-color: ${(p) => p.theme.backgroundSecondary};\n color: ${(p) => p.theme.primaryText};\n border: 0;\n outline: none;\n font-weight: bold;\n &::placeholder {\n color: #c1c1d7;\n }\n`;\n\nconst TaskTimeInputDiv = styled.div`\n display: flex;\n align-items: center;\n height: 90%;\n width: 25%;\n color: #c1c1d7;\n span {\n font-size: 0.7em;\n font-weight: bold;\n }\n svg {\n font-size: 1.2em;\n color: #fabb18;\n }\n`;\n\nconst TaskTimeInputField = styled.input`\n height: 100%;\n width: 30%;\n font-size: 0.9em;\n text-align: center;\n background-color: ${(p) => p.theme.backgroundSecondary};\n color: ${(p) => p.theme.primaryText};\n border: 0;\n outline: none;\n font-weight: bold;\n &::placeholder {\n color: #c1c1d7;\n }\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n`;\n\nexport default function TaskInput() {\n\n const defaultTime = useSelector((s) => s.settings.defaultTime);\n const defaultLabel = useSelector((s) => s.settings.defaultLabel);\n\n const [task, setTask] = useState(\"\");\n const [time, setTime] = useState(defaultTime);\n\n const [generateFeedbackForTask, setGenerateFeedbackForTask] = useState(undefined);\n const [generateFeedbackForTime, setGenerateFeedbackForTime] = useState(undefined);\n const [isInputValid,setInputValid] = useState(false);\n\n let taskContentInputRef, taskTimeInputRef;\n const meta = useSelector((s) => s.tasks.meta);\n const labels = useSelector((s) => s.tasks.labels);\n const dispatch = useDispatch();\n\n function submitTask(e) {\n if (e.key === \"Enter\" && task.trim().length >= 1 && isInputValid) {\n let temp = task.trim().split(\" \");\n // add a max time limit\n let taskTime = time;\n let label = defaultLabel;\n if (temp.length !== 1) {\n if (!isNaN(parseInt(temp[temp.length - 1]))) {\n taskTime = parseInt(temp.pop());\n } else if (temp[temp.length - 1][0] === \"#\" && temp[temp.length - 1].length > 1 && \"wpfmeWPFME\".includes(temp[temp.length - 1][1])) {\n let userLabel = temp[temp.length - 1].substring(1).toLowerCase();\n let found = false;\n for (let validLabel in labels) {\n found = validLabel.includes(userLabel);\n console.log(userLabel, validLabel);\n if (found) {\n label = validLabel;\n temp.pop();\n break;\n }\n }\n }\n }\n\n temp = temp.join(\" \");\n let newTask = {\n id: Math.floor(Math.random() * 10000),\n globalKey: meta.globalKey,\n content: temp,\n time: taskTime,\n remainingTime: taskTime,\n isRunning: false,\n isCompleted: false,\n createdAt: new Date().toISOString(),\n label: label,\n };\n if (meta.focussedTaskIndex !== -1) dispatch(focusOnTask(meta.focussedTaskIndex + 1));\n dispatch(create(newTask));\n dispatch(incrementGlobalKey());\n if (label !== null) dispatch(updateLabelCount({ oldLabel: null, newLabel: label }));\n setTask(\"\");\n setTime(defaultTime);\n taskContentInputRef.value = \"\";\n taskTimeInputRef.value = \"\";\n taskContentInputRef.focus();\n }\n }\n\n const debouncedGenerateInputFeedback = useCallback(\n debounce((task, time) => {\n if (task !== undefined) setGenerateFeedbackForTask(task);\n if (time !== undefined) setGenerateFeedbackForTime(time);\n }, 150),\n []\n );\n\n function onTaskInputChangeHandler(task) {\n setTask(task);\n debouncedGenerateInputFeedback(task, undefined);\n }\n\n function onTimeInputChangeHandler(time) {\n setTime(time);\n debouncedGenerateInputFeedback(undefined, time);\n }\n\n // improve logic - both onKeyDown and onChange executing - combining will be better.\n return (\n <>\n <TaskInputContainer>\n <TaskContentInputDiv>\n <AiFillPlusCircle onClick={() => taskContentInputRef.focus()} />\n <TaskContentInputField\n type=\"text\"\n placeholder=\"i have to focus on ...\"\n ref={(el) => (taskContentInputRef = el)}\n onChange={(e) => onTaskInputChangeHandler(e.target.value)}\n onKeyDown={submitTask}\n />\n </TaskContentInputDiv>\n <TaskTimeInputDiv>\n <AiFillClockCircle onClick={() => taskTimeInputRef.focus()} />\n <TaskTimeInputField\n type=\"number\"\n placeholder={defaultTime}\n ref={(el) => (taskTimeInputRef = el)}\n onChange={(e) => onTimeInputChangeHandler(e.target.value)}\n onKeyDown={submitTask}\n />\n <span>mins</span>\n </TaskTimeInputDiv>\n </TaskInputContainer>\n <TaskFeedback task={generateFeedbackForTask} time={generateFeedbackForTime} setInputValid={setInputValid}/>\n </>\n );\n}\n",["226","227"],"/home/pg07codes/Desktop/fokus/src/components/dashBoard/DayDate.js",["228"],"import React, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport { BsCalendarFill } from \"react-icons/bs\";\nimport { getFormattedDate, getOrdinalSuffix } from \"../../helpers\";\n\nconst DayDateDiv = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: space-around;\n width: 25%;\n height: 55%;\n`;\n\nconst CalendarIconDiv = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 20%;\n svg {\n color: #fabb18;\n font-size: 1.4em;\n }\n`;\n\nconst DayDateText = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: center;\n width: 70%;\n font-weight: bold;\n font-size: 0.8em;\n color: ${(p) => p.theme.primaryText};\n p {\n margin: 0;\n }\n sup {\n font-size: 0.5em;\n }\n`;\n\nexport function DayDate() {\n const DateObj = getFormattedDate();\n return (\n <DayDateDiv>\n <CalendarIconDiv>\n <BsCalendarFill />\n </CalendarIconDiv>\n <DayDateText>\n <span>\n {DateObj.day} {DateObj.date}\n <sup>{getOrdinalSuffix(DateObj.date)}</sup>\n </span>\n <p>\n {DateObj.month}, {DateObj.year}\n </p>\n </DayDateText>\n </DayDateDiv>\n );\n}\n",["229","230"],"/home/pg07codes/Desktop/fokus/src/components/MiscBoard/ProgressRings.js",[],["231","232"],"/home/pg07codes/Desktop/fokus/src/containers/dashboard/DashboardMain.js",[],"/home/pg07codes/Desktop/fokus/src/containers/focusBoard/FocusBoard.js",["233"],"/home/pg07codes/Desktop/fokus/src/components/MiscBoard/TimeProgressCard.js",[],"/home/pg07codes/Desktop/fokus/src/components/notes/NoteSearchInput.js",[],["234","235"],"/home/pg07codes/Desktop/fokus/src/containers/notes/index.js",["236"],"/home/pg07codes/Desktop/fokus/src/index.js",[],["237","238"],"/home/pg07codes/Desktop/fokus/src/store/index.js",[],"/home/pg07codes/Desktop/fokus/src/helpers/index.js",["239","240","241","242","243","244","245","246","247","248","249","250"],"/home/pg07codes/Desktop/fokus/src/helpers/constants.js",[],"/home/pg07codes/Desktop/fokus/src/helpers/quotes.js",[],["251","252"],"/home/pg07codes/Desktop/fokus/src/components/MusicBox/musicUtils.js",[],"/home/pg07codes/Desktop/fokus/src/components/TaskBoard/NoTasks.js",[],"/home/pg07codes/Desktop/fokus/src/containers/settings/DefaultTaskTime.js",[],"/home/pg07codes/Desktop/fokus/src/components/MusicBox/Soundscapes.js",["253"],"/home/pg07codes/Desktop/fokus/src/components/MusicBox/MusicVolumeControl.js",[],"/home/pg07codes/Desktop/fokus/src/containers/taskBoard/taskBoardSlice.js",["254","255","256","257","258"],"/home/pg07codes/Desktop/fokus/src/containers/settings/DefaultTaskLabel.js",[],"/home/pg07codes/Desktop/fokus/src/components/FocusBoard/FocussedTask.js",[],"/home/pg07codes/Desktop/fokus/src/components/MiscBoard/EmptyLabelPie.js",[],"/home/pg07codes/Desktop/fokus/src/components/MiscBoard/TaskProgressCard.js",[],"/home/pg07codes/Desktop/fokus/src/containers/miscBoard/MiscBoard.js",["259","260"],"import React from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { LabelPie } from \"./../../components/MiscBoard/LabelPie\";\nimport { ProgressRings } from \"./../../components/MiscBoard/ProgressRings\";\nimport { TimeProgressCard } from \"./../../components/MiscBoard/TimeProgressCard\";\nimport { TaskProgressCard } from \"./../../components/MiscBoard/TaskProgressCard\";\nimport { getTodaysQuote } from \"./../../helpers/quotes\";\n\nconst MiscBoardContainer = styled.div`\n flex: 1 1 0;\n min-width: 346px;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n justify-content: center;\n height: 100%;\n /* background-color:orange; */\n`;\n\nconst MainSummaryContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 80%;\n max-width: 326px;\n height: 226px;\n margin: 10px 0;\n border-radius: 20px;\n background-color:${p=>p.theme.backgroundSecondary};\n -webkit-box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n /* backface-visibility: hidden;\n transform: translateZ(0);\n transition: box-shadow 0.2s ease-in-out,transform 0.2s ease-in-out ;\n &:hover {\n transform: scale(1.02);\n -webkit-box-shadow: 0 2px 10px rgba(166, 173, 201, 0.8);\n box-shadow: 0 2px 10px rgba(166, 173, 201, 0.8);\n } */\n`;\n\nconst ProgressRingContainer = styled.div`\n display: flex;\n width: 50%;\n height: 95%;\n border-radius: 10px;\n /* -webkit-box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);*/\n /* background-color: #f7f7fa; */\n`;\n\nconst ProgressCardContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n align-items: center;\n width: 40%;\n height: 95%;\n border-radius: 10px;\n /* -webkit-box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n background-color: #f7adfa; */\n`;\n\nconst QuoteAndLabelContainer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 80%;\n max-width: 326px;\n height: 186px;\n margin: 10px 0;\n /* background-color: purple; */\n`;\n\nconst LabelPieContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 45%;\n height: 90%;\n border-radius: 10px;\n background-color:${p=>p.theme.backgroundSecondary};\n -webkit-box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n box-shadow: 0 2px 10px rgba(166, 173, 201, 0.4);\n`;\n\nfunction getQuoteFontSize(letterCount){\n let size = -0.0035*letterCount+1.3; // eqn of line with 40 - 1.1em and 180 - 0.6em\n size = size.toPrecision(3);\n return `${size}em`\n}\nconst QuoteContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 50%;\n height: 100%;\n border-radius: 10px;\n position: relative;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n transform: translateZ(0);\n font-weight: bold;\n color:${p=>p.theme.primaryText};\n p {\n margin: 0 3px;\n font-size: ${p=>getQuoteFontSize(p.length)};\n &::before{\n color:#fabb18;\n content:\"“ \";\n }\n &::after{\n color:#fabb18;\n content:\" ”\";\n }\n }\n span {\n position: absolute;\n bottom: 0;\n right: 0;\n margin: 5px;\n font-size: 0.65em;\n color:#fabb18;\n }\n transition: transform 0.2s ease-in-out;\n &:hover {\n transform: scale(1.2);\n }\n`;\n\nexport function MiscBoard() {\n\n let todaysQuote = getTodaysQuote();\n return (\n <MiscBoardContainer>\n <MainSummaryContainer>\n <ProgressRingContainer>\n <ProgressRings />\n </ProgressRingContainer>\n <ProgressCardContainer>\n <TaskProgressCard />\n <TimeProgressCard />\n </ProgressCardContainer>\n </MainSummaryContainer>\n\n <QuoteAndLabelContainer>\n <QuoteContainer length={todaysQuote.length}>\n <p>\n {todaysQuote.quote}\n </p>\n <span>— {todaysQuote.author} </span>\n </QuoteContainer>\n <LabelPieContainer>\n <LabelPie />\n </LabelPieContainer>\n </QuoteAndLabelContainer>\n </MiscBoardContainer>\n );\n}\n",["261","262"],"/home/pg07codes/Desktop/fokus/src/store/localStorageUtils.js",[],"/home/pg07codes/Desktop/fokus/src/containers/settings/AutoMarkDone.js",[],"/home/pg07codes/Desktop/fokus/src/components/customIcons/index.js",[],"/home/pg07codes/Desktop/fokus/src/components/FocusBoard/EmptyFocusBox.js",[],"/home/pg07codes/Desktop/fokus/src/containers/menu/Menu.js",["263"],"/home/pg07codes/Desktop/fokus/src/containers/settings/NotesViewToggle.js",["264"],"/home/pg07codes/Desktop/fokus/src/containers/settings/DarkThemeToggle.js",["265"],"/home/pg07codes/Desktop/fokus/src/components/TaskBoard/Divider.js",[],{"ruleId":"266","replacedBy":"267"},{"ruleId":"268","replacedBy":"269"},{"ruleId":"270","severity":1,"message":"271","line":2,"column":23,"nodeType":"272","messageId":"273","endLine":2,"endColumn":34},{"ruleId":"270","severity":1,"message":"274","line":6,"column":24,"nodeType":"272","messageId":"273","endLine":6,"endColumn":30},{"ruleId":"266","replacedBy":"275"},{"ruleId":"268","replacedBy":"276"},{"ruleId":"266","replacedBy":"277"},{"ruleId":"268","replacedBy":"278"},{"ruleId":"270","severity":1,"message":"279","line":2,"column":23,"nodeType":"272","messageId":"273","endLine":2,"endColumn":34},{"ruleId":"266","replacedBy":"280"},{"ruleId":"268","replacedBy":"281"},{"ruleId":"282","severity":1,"message":"283","line":154,"column":44,"nodeType":"272","endLine":154,"endColumn":55},{"ruleId":"266","replacedBy":"284"},{"ruleId":"268","replacedBy":"285"},{"ruleId":"270","severity":1,"message":"286","line":1,"column":17,"nodeType":"272","messageId":"273","endLine":1,"endColumn":25},{"ruleId":"266","replacedBy":"287"},{"ruleId":"268","replacedBy":"288"},{"ruleId":"266","replacedBy":"289"},{"ruleId":"268","replacedBy":"290"},{"ruleId":"270","severity":1,"message":"279","line":2,"column":23,"nodeType":"272","messageId":"273","endLine":2,"endColumn":34},{"ruleId":"266","replacedBy":"291"},{"ruleId":"268","replacedBy":"292"},{"ruleId":"270","severity":1,"message":"271","line":2,"column":10,"nodeType":"272","messageId":"273","endLine":2,"endColumn":21},{"ruleId":"266","replacedBy":"293"},{"ruleId":"268","replacedBy":"294"},{"ruleId":"295","severity":1,"message":"296","line":6,"column":14,"nodeType":"297","messageId":"298","endLine":6,"endColumn":16},{"ruleId":"295","severity":1,"message":"296","line":11,"column":14,"nodeType":"297","messageId":"298","endLine":11,"endColumn":16},{"ruleId":"295","severity":1,"message":"296","line":25,"column":14,"nodeType":"297","messageId":"298","endLine":25,"endColumn":16},{"ruleId":"295","severity":1,"message":"296","line":30,"column":14,"nodeType":"297","messageId":"298","endLine":30,"endColumn":16},{"ruleId":"295","severity":1,"message":"296","line":56,"column":14,"nodeType":"297","messageId":"298","endLine":56,"endColumn":16},{"ruleId":"295","severity":1,"message":"296","line":61,"column":15,"nodeType":"297","messageId":"298","endLine":61,"endColumn":17},{"ruleId":"295","severity":1,"message":"296","line":85,"column":11,"nodeType":"297","messageId":"298","endLine":85,"endColumn":13},{"ruleId":"295","severity":1,"message":"299","line":85,"column":21,"nodeType":"297","messageId":"298","endLine":85,"endColumn":23},{"ruleId":"295","severity":1,"message":"296","line":88,"column":11,"nodeType":"297","messageId":"298","endLine":88,"endColumn":13},{"ruleId":"295","severity":1,"message":"299","line":88,"column":21,"nodeType":"297","messageId":"298","endLine":88,"endColumn":23},{"ruleId":"295","severity":1,"message":"296","line":91,"column":11,"nodeType":"297","messageId":"298","endLine":91,"endColumn":13},{"ruleId":"295","severity":1,"message":"299","line":91,"column":21,"nodeType":"297","messageId":"298","endLine":91,"endColumn":23},{"ruleId":"266","replacedBy":"300"},{"ruleId":"268","replacedBy":"301"},{"ruleId":"270","severity":1,"message":"302","line":103,"column":36,"nodeType":"272","messageId":"273","endLine":103,"endColumn":61},{"ruleId":"295","severity":1,"message":"299","line":55,"column":52,"nodeType":"297","messageId":"298","endLine":55,"endColumn":54},{"ruleId":"295","severity":1,"message":"299","line":62,"column":64,"nodeType":"297","messageId":"298","endLine":62,"endColumn":66},{"ruleId":"295","severity":1,"message":"296","line":65,"column":64,"nodeType":"297","messageId":"298","endLine":65,"endColumn":66},{"ruleId":"295","severity":1,"message":"296","line":275,"column":56,"nodeType":"297","messageId":"298","endLine":275,"endColumn":58},{"ruleId":"295","severity":1,"message":"296","line":318,"column":56,"nodeType":"297","messageId":"298","endLine":318,"endColumn":58},{"ruleId":"270","severity":1,"message":"271","line":2,"column":10,"nodeType":"272","messageId":"273","endLine":2,"endColumn":21},{"ruleId":"270","severity":1,"message":"279","line":2,"column":23,"nodeType":"272","messageId":"273","endLine":2,"endColumn":34},{"ruleId":"266","replacedBy":"303"},{"ruleId":"268","replacedBy":"304"},{"ruleId":"270","severity":1,"message":"305","line":4,"column":10,"nodeType":"272","messageId":"273","endLine":4,"endColumn":23},{"ruleId":"270","severity":1,"message":"286","line":1,"column":17,"nodeType":"272","messageId":"273","endLine":1,"endColumn":25},{"ruleId":"270","severity":1,"message":"286","line":1,"column":17,"nodeType":"272","messageId":"273","endLine":1,"endColumn":25},"no-native-reassign",["306"],"no-negated-in-lhs",["307"],"no-unused-vars","'useSelector' is defined but never used.","Identifier","unusedVar","'create' is defined but never used.",["306"],["307"],["306"],["307"],"'useDispatch' is defined but never used.",["306"],["307"],"react-hooks/exhaustive-deps","React Hook useCallback received a function whose dependencies are unknown. Pass an inline function instead.",["306"],["307"],"'useState' is defined but never used.",["306"],["307"],["306"],["307"],["306"],["307"],["306"],["307"],"eqeqeq","Expected '===' and instead saw '=='.","BinaryExpression","unexpected","Expected '!==' and instead saw '!='.",["306"],["307"],"'setSoundscapeAudioElement' is assigned a value but never used.",["306"],["307"],"'IoMdAnalytics' is defined but never used.","no-global-assign","no-unsafe-negation"]