-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy path.eslintcache
More file actions
1 lines (1 loc) · 19.6 KB
/
.eslintcache
File metadata and controls
1 lines (1 loc) · 19.6 KB
1
[{"/Users/proRam/Documents/whatsapp-backup-parser/src/reportWebVitals.js":"1","/Users/proRam/Documents/whatsapp-backup-parser/src/views/components/chatroom/Message.js":"2","/Users/proRam/Documents/whatsapp-backup-parser/src/views/components/chatroom/index.js":"3","/Users/proRam/Documents/whatsapp-backup-parser/src/views/pages/Home/index.js":"4","/Users/proRam/Documents/whatsapp-backup-parser/src/utils/makeMessages.js":"5","/Users/proRam/Documents/whatsapp-backup-parser/src/App.js":"6","/Users/proRam/Documents/whatsapp-backup-parser/src/views/components/AuthorModal.js":"7","/Users/proRam/Documents/whatsapp-backup-parser/src/utils/saveAs.js":"8"},{"size":362,"mtime":1621694426384,"results":"9","hashOfConfig":"10"},{"size":6769,"mtime":1621730710092,"results":"11","hashOfConfig":"10"},{"size":7879,"mtime":1621731459518,"results":"12","hashOfConfig":"10"},{"size":7015,"mtime":1621730976119,"results":"13","hashOfConfig":"10"},{"size":1757,"mtime":1621730496491,"results":"14","hashOfConfig":"10"},{"size":183,"mtime":1621694426348,"results":"15","hashOfConfig":"10"},{"size":2509,"mtime":1621694426386,"results":"16","hashOfConfig":"10"},{"size":554,"mtime":1621694426385,"results":"17","hashOfConfig":"10"},{"filePath":"18","messages":"19","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"20"},"1tqlz9g",{"filePath":"21","messages":"22","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"23","usedDeprecatedRules":"20"},{"filePath":"24","messages":"25","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"26"},{"filePath":"27","messages":"28","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"29","messages":"30","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"35","messages":"36","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/proRam/Documents/whatsapp-backup-parser/src/reportWebVitals.js",[],["37","38"],"/Users/proRam/Documents/whatsapp-backup-parser/src/views/components/chatroom/Message.js",["39","40"],"import {React} from 'react' ;\nimport darkSentPin from '../../../assets/darkSentPin.svg';\nimport darkReceivedPin from '../../../assets/darkReceivedPin.svg';\nimport lightSentPin from '../../../assets/lightSentPin.svg';\nimport lightReceivedPin from '../../../assets/lightReceivedPin.svg';\nimport parse from 'html-react-parser';\n\nfunction processMessage(message) {\n // return message;\n // The function will \n // 1. Split message acc to line breaks\n // 2. Detect for links\n // 3. Add bold(<b></b>), italic(<i></i>) and strikethrough(<s></s>) tags in between the message at respective places. By watching '*'s, '_'s and '~' respectively.\n\n // URLs PROCESSED\n var urlRegex = /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/gm;\n message = message.replace(urlRegex, url => '<a style=\"text-decoration: none; color: #039BE5;\" href=\"' + url + '\" target=\"_blank\" rel=\"noopener noreferrer\" >' + url + '</a>') ;\n\n // MESSAGE SPLITTED ON BASIS OF NEW LINES/LINE BREAKS\n const partsOfMessage = message.split(/\\r\\n|\\n|\\r/);\n \n // PROCESSING BOLD, ITALIC AND STRIKETHROUGH\n let processedMessage = '';\n for ( var i = 0 ; i < partsOfMessage.length ; ++i ) { \n \n let processedMessagePart = '';\n let totalBolds=0, totalItalics=0, totalStrikes=0;\n for ( const ch of partsOfMessage[i] ) {\n if ( ch==='*')\n ++totalBolds;\n else if ( ch==='_')\n ++totalItalics;\n else if ( ch==='~')\n ++totalStrikes;\n }\n\n let boldCount=0, italicCount=0, strikeCount=0;\n for ( const ch of partsOfMessage[i] ) {\n \n if ( ch==='*') {\n if ( (totalBolds&1)===1 && boldCount===totalBolds-1 )\n continue;\n processedMessagePart += ( (boldCount&1)===0 ) ? '<b>' : '</b>';\n ++boldCount;\n }\n else if ( ch==='_') {\n if ( (totalItalics&1)===1 && italicCount===totalItalics-1 )\n continue;\n processedMessagePart += ( (italicCount&1)===0 ) ? '<i>' : '</i>';\n ++italicCount;\n }\n else if ( ch==='~') {\n if ( (totalStrikes&1)===1 && strikeCount===totalStrikes-1 )\n continue;\n processedMessagePart += ( (strikeCount&1)===0 ) ? '<s>' : '</s>';\n ++strikeCount;\n } else {\n processedMessagePart += ch;\n }\n }\n processedMessage += processedMessagePart + ((i<=(partsOfMessage.length-2))?'<br/>':'');\n }\n \n return processedMessage;\n}\n\nfunction Message( {content, sender, theme} ) {\n\n const styles = {\n\n 'bannerContainer' : {\n display: 'flex',\n justifyContent: 'center',\n },\n \n 'banner' : {\n padding: '5px 12px 6px',\n margin: '6px',\n textAlign: 'center',\n backgroundColor: (theme==='light')?'#E1F3FB':'#1E2A30',\n borderRadius: 7.5,\n boxShadow: '0 1px 0.5px rgba(0,0,0,.15)',\n color: (theme==='light')?'#1D1E1F':'#FFF',\n fontSize: 12,\n },\n \n 'messageBodyreceived' : {\n padding : '0px 52px 0px 52px',\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'start',\n color: (theme==='light')?'#000':'#FFF',\n },\n \n 'messageBodysent' : {\n padding : '0px 52px 0px 52px',\n display: 'flex',\n flexDirection: 'row-reverse',\n alignItems: 'start',\n color: (theme==='light')?'#000':'#FFF',\n },\n \n 'sent' : {\n padding: '6px 7px 1px 9px',\n marginBottom: 5,\n maxWidth: '60%',\n backgroundColor: (theme==='light')?'#DCF8C6':'#056162',\n borderRadius: '7.5px 0px 7.5px 7.5px',\n fontSize: 14,\n boxShadow: '0 1px .5px rgba(0,0,0,.13)',\n width: 'fit-content',\n wordWrap: 'break-word',\n },\n \n 'received' : {\n padding: '6px 7px 0px 9px',\n marginBottom: 5,\n maxWidth: '60%',\n backgroundColor: (theme==='light')?'#FFF':'#262D31',\n borderRadius: '0px 7.5px 7.5px 7.5px',\n boxShadow: '0 1px .5px rgba(0,0,0,.13)',\n fontSize: 14,\n width: 'fit-content',\n wordWrap: 'break-word',\n },\n \n 'time' : {\n textAlign: 'right',\n fontSize: 11,\n fontWeight: '500',\n color: (theme==='light')?'#8C8C8C':'#9CBCBD',\n },\n \n 'senderName' : {\n fontSize: 12.8,\n fontWeight: 'bold',\n margin: '0px 0px 5px -2px',\n padding: '0px 0px 5px 2px',\n }, \n \n 'a' : {\n textDecoration: 'none',\n color: '#039BE5',\n },\n \n };\n\n\n function Banner( {content} ) {\n return (\n <div className={\"banner\"} style={styles.bannerContainer} >\n <p className={\"banner__content\"} style={styles.banner} >{content}</p>\n </div>\n );\n }\n\n\n let classOfMsg = \"banner\";\n \n if ( content.sendersName!==false ){\n if (content.sendersName===sender ) {\n classOfMsg = \"sent\";\n } else {\n classOfMsg = \"received\";\n }\n }\n\n if ( classOfMsg===\"banner\" ) {\n return (\n <Banner content={content.messageBody} />\n )\n } else {\n return (<>\n \n <div style={styles['messageBody'+classOfMsg]} >\n \n <img src={(theme==='light')? ((classOfMsg==='sent')?lightSentPin:lightReceivedPin) : ((classOfMsg==='sent')?darkSentPin:darkReceivedPin)} \n alt={'msgpin'} />\n\n <div className={classOfMsg} style={styles[classOfMsg]} >\n <p className={\"sender\"} style={styles.senderName} >{content.sendersName}</p>\n <div className={\"contentOfMessage\"} style={{width: 'fit-content', wordWrap: 'break-word', lineHeight: '19px'}} >\n {parse(processMessage(content.messageBody))}\n </div>\n \n { \n (classOfMsg!==\"banner\")?\n <p style={styles.time} >{content.timestamp.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true })}</p>\n :<></>\n }\n\n </div>\n \n </div>\n </>)\n }\n\n // sent,\n // received,\n // banner\n\n}\n\nexport default Message;\n","/Users/proRam/Documents/whatsapp-backup-parser/src/views/components/chatroom/index.js",["41"],"import React, { useState, useEffect, useRef } from 'react'\n\nimport html2canvas from 'html2canvas';\nimport ReactTooltip from 'react-tooltip';\n\nimport Message from '../../components/chatroom/Message';\nimport '../../../styles/App.css';\nimport {requestFullScreen} from '../../../utils/requestFullScreen.js';\nimport {saveAs} from '../../../utils/saveAs';\n\nimport chatBackgroundImageLightTheme from '../../../assets/bgimagelight.jpeg';\nimport chatBackgroundImageDarkTheme from '../../../assets/bgimagedark.jpeg';\nimport unknownPersonIcon from '../../../assets/unknownPerson.svg';\nimport unknownGroupIcon from '../../../assets/unknownGroup.svg';\nimport lightModeIcon from '../../../assets/lightModeIcon.svg';\nimport darkModeIcon from '../../../assets/darkModeIcon.svg';\nimport infoIcon from '../../../assets/infoIcon.svg';\nimport screenShotIcon from '../../../assets/screenShotIcon.svg'\nimport enableFullScreenIcon from '../../../assets/enableFullScreenIcon.svg';\nimport disableFullScreenIcon from '../../../assets/disableFullScreenIcon.svg';\n\nfunction ChatRoom( {content, sender, setModalState} ) {\n\n const messagesEndRef = useRef(null);\n const [theme, setTheme] = useState('light');\n const [fullScreen, setFullScreen] = useState('disabled');\n\n const scrollToBottom = () => messagesEndRef.current?.scrollIntoView({ behavior: \"smooth\" });\n \n const toggleTheme = () => setTheme((theme==='dark')?'light':'dark');\n const toggleFullScreen = () => {\n setFullScreen((fullScreen==='disabled')?'enabled':'disabled');\n requestFullScreen(fullScreen);\n };\n\n const takeScreenShot = () => {\n var data = document.getElementById('chatRoom')\n html2canvas(data, {scrollY: -(-50+document.getElementById('chatHeader').offsetTop) }).then((canvas)=>{\n var image = canvas.toDataURL('image/png', 1.0);\n saveAs(image, \"Whatsapp Chat Screenshot\")\n })\n }\n\n useEffect(() => {\n scrollToBottom()\n }, [fullScreen]);\n \n const styles = {\n 'chatRoom': {\n backgroundImage: `url(${(theme==='light')?chatBackgroundImageLightTheme:chatBackgroundImageDarkTheme})`,\n backgroundRepeat: 'repeat',\n backgroundSize: '200px 400px',\n height: (fullScreen==='enabled')?'92vh':'80vh',\n width: (fullScreen==='enabled')?'100vw':'90vw',\n // maxWidth: '90vw',\n overflow: 'scroll',\n fontFamily: '-apple-system, BlinkMacSystemFont, Helvetica Neue',\n paddingTop: 10,\n display: 'block',\n },\n 'chatBar' : {\n width: (fullScreen==='enabled')?'100vw':'90vw',\n height: '7vh',\n display: 'flex',\n flexDirection: 'row',\n backgroundColor: (theme==='light')?'#EDEDED':'#2A2F32',\n justifyContent: 'space-between',\n color: (theme==='light')?'#000':'#FFF',\n borderBottom: (theme==='light')?'1px solid rgba(0,0,0,0.1)':'none',\n boxShadow: (theme==='light')?'none':'0px 1px 3px rgba(0,0,0,0.4)',\n zIndex: 1,\n },\n 'chatIcon' : {\n height: 40,\n },\n 'profileGroup' : {\n // backgroundColor: 'yellow',\n width: '90%',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n },\n 'h4' : {\n fontSize: 16,\n fontWeight: '500',\n },\n 'utilityButtons' : {\n // backgroundColor: 'green',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n width: '20%',\n paddingRight: 10,\n },\n 'utilityButton' : {\n backgroundColor: 'transparent',\n border: 'none',\n marginRight: 10,\n height: 50,\n width: 50,\n borderRadius: 50,\n },\n 'utilityButtonIcon' : {\n cursor: 'pointer',\n height: 24,\n },\n 'profileButton' : {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n borderRadius: 30,\n marginLeft: '20px',\n width: 60,\n cursor: 'pointer',\n }\n }\n\n return ( \n \n <div id={'chatRoom'} className={(fullScreen==='enabled')?'fullscreen':''}\n style={{\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n \n <div style={styles.chatBar} id={'chatHeader'} >\n <div style={styles.profileGroup}>\n \n <button style={styles.profileButton} onClick={() => setModalState(true)} >\n <img data-tip data-for={\"profileButtonToolTip\"} style={styles.chatIcon} src={unknownGroupIcon} alt={'Chat Icon'} />\n <ReactTooltip id={'profileButtonToolTip'} place={'bottom'} effect={'solid'} type={(theme==='light')?'dark':'light'}>Set Sender</ReactTooltip>\n </button>\n \n <h4 style={styles.h4} >Whatsapp Chat</h4>\n </div>\n <div style={styles.utilityButtons} >\n <button style={styles.utilityButton} className={\"ripple\"} >\n <img data-tip data-for={\"screenshotButtonToolTip\"} style={styles.utilityButtonIcon} src={screenShotIcon} onClick={takeScreenShot} alt={'ScreenShot Button'}/>\n <ReactTooltip id={'screenshotButtonToolTip'} place={'bottom'} effect={'solid'} type={(theme==='light')?'dark':'light'}>Take ScreenShot</ReactTooltip>\n </button>\n\n <button style={styles.utilityButton} className={\"ripple\"} >\n <img data-tip data-for={\"screenSizeButtonToolTip\"} style={styles.utilityButtonIcon} src={(fullScreen==='disabled')?enableFullScreenIcon:disableFullScreenIcon} onClick={toggleFullScreen} alt={'FullScreen Button'}/>\n <ReactTooltip id={'screenSizeButtonToolTip'} place={'bottom'} effect={'solid'} type={(theme==='light')?'dark':'light'}>{(fullScreen==='disabled')?'Enter FullScreen':'Exit Fullscreen'}</ReactTooltip>\n </button>\n \n <button style={styles.utilityButton} className={\"ripple\"} >\n <img data-tip data-for={\"themeButtonToolTip\"} style={styles.utilityButtonIcon} src={(theme==='light')?lightModeIcon:darkModeIcon} onClick={toggleTheme} alt={'Toggle Theme Button'}/>\n <ReactTooltip id={'themeButtonToolTip'} place={'bottom'} effect={'solid'} type={(theme==='light')?'dark':'light'}>{(theme==='light')?'Dark Mode':'Light Mode'}</ReactTooltip>\n </button>\n \n <button style={styles.utilityButton} className={\"ripple\"} >\n <img data-tip data-for={\"infoButtonToolTip\"} style={styles.utilityButtonIcon} src={infoIcon} alt={'Info Button'}/>\n <ReactTooltip id={'infoButtonToolTip'} place={'bottom'} effect={'solid'} type={(theme==='light')?'dark':'light'}>Chat Info</ReactTooltip>\n </button>\n \n </div>\n </div>\n\n <div className=\"chatRoom\" style={styles.chatRoom} >\n {\n content.map( (message, messageNo) => {\n return(\n <Message content={message} sender={sender} theme={theme} key={'Message' + messageNo}/>\n )\n } )\n }\n <div ref={messagesEndRef}></div>\n </div>\n \n {/* Search in Chatroom */}\n {/* <div style={styles.searchBar} >\n <input type={\"text\"} style={styles.serachBarTecHolder} ></input>\n </div> */}\n </div>\n\n )\n}\n\nexport default ChatRoom ;\n","/Users/proRam/Documents/whatsapp-backup-parser/src/views/pages/Home/index.js",["42"],"/Users/proRam/Documents/whatsapp-backup-parser/src/utils/makeMessages.js",[],"/Users/proRam/Documents/whatsapp-backup-parser/src/App.js",[],"/Users/proRam/Documents/whatsapp-backup-parser/src/views/components/AuthorModal.js",["43"],"/Users/proRam/Documents/whatsapp-backup-parser/src/utils/saveAs.js",[],{"ruleId":"44","replacedBy":"45"},{"ruleId":"46","replacedBy":"47"},{"ruleId":"48","severity":1,"message":"49","line":16,"column":87,"nodeType":"50","messageId":"51","endLine":16,"endColumn":88,"suggestions":"52"},{"ruleId":"48","severity":1,"message":"53","line":16,"column":89,"nodeType":"50","messageId":"51","endLine":16,"endColumn":90,"suggestions":"54"},{"ruleId":"55","severity":1,"message":"56","line":13,"column":8,"nodeType":"57","messageId":"58","endLine":13,"endColumn":25},{"ruleId":"59","severity":1,"message":"60","line":208,"column":80,"nodeType":"61","endLine":208,"endColumn":130},{"ruleId":"62","severity":1,"message":"63","line":16,"column":7,"nodeType":"64","endLine":16,"endColumn":20,"suggestions":"65"},"no-native-reassign",["66"],"no-negated-in-lhs",["67"],"no-useless-escape","Unnecessary escape character: \\-.","Literal","unnecessaryEscape",["68","69"],"Unnecessary escape character: \\..",["70","71"],"no-unused-vars","'unknownPersonIcon' is defined but never used.","Identifier","unusedVar","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'onOpenModal'. Either include it or remove the dependency array.","ArrayExpression",["72"],"no-global-assign","no-unsafe-negation",{"messageId":"73","fix":"74","desc":"75"},{"messageId":"76","fix":"77","desc":"78"},{"messageId":"73","fix":"79","desc":"75"},{"messageId":"76","fix":"80","desc":"78"},{"desc":"81","fix":"82"},"removeEscape",{"range":"83","text":"84"},"Remove the `\\`. This maintains the current functionality.","escapeBackslash",{"range":"85","text":"86"},"Replace the `\\` with `\\\\` to include the actual backslash character.",{"range":"87","text":"84"},{"range":"88","text":"86"},"Update the dependencies array to be: [authorsList, onOpenModal]",{"range":"89","text":"90"},[756,757],"",[756,756],"\\",[758,759],[758,758],[504,517],"[authorsList, onOpenModal]"]