{"version":3,"file":"js/2049-c55ed0edefa0e6540468.js","mappings":"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","sources":["webpack://app/./app/javascript/packs/commentForm.jsx","webpack://app/./app/javascript/packs/commentReplyForm.jsx","webpack://app/./app/javascript/packs/comments.jsx","webpack://app/./app/javascript/packs/thumbsDownSvg.jsx","webpack://app/./app/javascript/packs/thumbsUpSvg.jsx"],"sourcesContent":["import React, { Component, useEffect, useState, useRef } from \"react\";\nimport styled from \"styled-components\";\nimport PropTypes from \"prop-types\";\nimport $ from \"jquery\";\n//import lilDownArrow from '../../../../'\n//import '../components/fix.js'\nimport defaultManIcon from \"../../assets/images/man3.png\";\n\n// const Section = styled.section`\n\n// //background: rgb(136,189,188);\n// //background: radial-gradient(circle, rgba(136,189,188,1) 0%, rgba(158,190,189,0.9612044646960347) 41%);\n// //background: #F7C562;\n// //height: 100vh;\n// //min-height: 400px;\n// position: relative;\n\n// `;\n\nconst Form = styled.form`\n display: grid;\n //grid-template-columns: 90%;\n margin-top: 24px;\n grid-gap: 1.5rem;\n width: 96%;\n\n @media only screen and (max-width: 200px) {\n margin-top: 5px;\n font-size: 0.7rem;\n }\n`;\n\nconst FormWrapper = styled.div`\n display: grid;\n grid-template-columns: 50px 1fr;\n grid-template-rows: minmax(min-content, max-content) minmax(\n min-content,\n max-content\n );\n grid-template-areas:\n \"main_comment_img main_comment_body main_comment_body\"\n \". . main_comment_buttons\";\n\n @media only screen and (max-width: 200px) {\n grid-template-columns: 25px 1fr;\n }\n`;\n\nconst DefaultCommentImage = styled.img`\n border: 1px solid gray;\n border-radius: 50%;\n width: 50px;\n height: 50px;\n min-width: 50px;\n grid-area: main_comment_img;\n\n @media only screen and (max-width: 200px) {\n width: 25px;\n height: 25px;\n min-width: 25px;\n }\n`;\n\nconst OptionWrapper = styled.div``;\n\nconst CommentInput = styled.input`\n width: 100%;\n border: 0;\n border-bottom: 2px solid gray;\n outline: 0;\n // font-size: 1.3rem;\n\n //padding: 7px 0;\n background: transparent;\n transition: border-color 0.2s;\n margin-left: 10px;\n\n overflow-wrap: break-word;\n word-wrap: break-word;\n\n -ms-word-break: break-all;\n\n word-break: break-word;\n`;\n\nconst ErrorMsg = styled.div`\n height: 41px;\n display: inline-block;\n opacity: ${(props) =>\n props.state.comment.length > 3 &&\n props.props.userState.loggedInStatus == \"NOT_LOGGED_IN\"\n ? \"1\"\n : \"0\"};\n transition: all 0.3s ease;\n\n h4 {\n //color: blue;\n margin-left: 58px;\n }\n`;\n\nconst CButton = styled.button`\n margin-top: 3px;\n //width: 32%;\n justify-self: end;\n margin-top: 4px;\n\n background: linear-gradient(to right, #e52d27 0%, #b31217 51%, #e52d27 100%);\n margin: 10px;\n padding: 15px 45px;\n text-align: center;\n text-transform: uppercase;\n transition: 0.5s;\n background-size: 200% auto;\n color: white;\n box-shadow: 0 0 20px #eee;\n border-radius: 10px;\n display: block;\n cursor: pointer;\n grid-area: 2/1/3/-1;\n\n @media only screen and (max-width: 200px) {\n padding: 8px 15px;\n }\n\n &:hover {\n background-position: right center; /* change the direction of the change here */\n color: #fff;\n text-decoration: none;\n }\n`;\n\nconst formData = new FormData();\n\nfunction CommentForm(props) {\n const [state, setState] = React.useState({\n comment: \"\",\n error: \"\",\n //showErrorMsg: \"false\"\n //emailIsFocused: false,\n //company: '',\n //companyIsFocused: false,\n //zip: '',\n //zipIsFocused: false,\n //message: '',\n //messageIsFocused: false,\n //error: '',\n //activeIndex: null\n });\n\n const handleAdd = (e) => {\n e.preventDefault();\n\n if (validForm()) {\n if (props.userState.loggedInStatus == \"NOT_LOGGED_IN\") {\n return;\n } else {\n formData.append(\"event[body]\", state.comment);\n formData.append(\"event[story_id]\", props.storyID);\n formData.append(\"event[comment_id]\", props.commentID);\n formData.append(\"event[author_nick]\", props.userState.user.nick);\n formData.append(\n \"event[author_avatar]\",\n props.userState.user.avatar_url\n );\n formData.append(\"event[type]\", \"story\");\n\n console.log(\"formdata from handle add in comment form\");\n console.log(formData);\n\n //get token for form submission\n const csrf = document\n .querySelector(\"meta[name='csrf-token']\")\n .getAttribute(\"content\");\n\n $.ajax({\n url: \"/comments\",\n headers: {\n \"X-CSRF-Token\": csrf,\n },\n method: \"POST\",\n data: formData,\n contentType: false,\n processData: false,\n\n success: function (data) {\n //props.handleAdd(data);\n //setState({setState\n\n //focussed: (props.focussed) || false,\n //comment: ''\n\n //});\n\n //props.setState(\"done\")\n\n console.log(\n \"rails reply in comment form ajax success= \" +\n JSON.stringify(data, null, 4)\n );\n console.log(\"commentform...........................\");\n props.setArtDataComments(data.comments);\n\n setState({ ...state, comment: \"\" });\n\n //props.setIsCommentsLoading(false)\n\n ////props.addAllCommentsToStateForReplyButtonToWork(data.comments)\n },\n error: function (xhr, status, error) {\n alert(\"Comment did not reach server: \", error);\n },\n });\n }\n } else {\n alert(\"Please type a comment.\");\n }\n };\n\n const validForm = () => {\n //console.log(\"in comment form\")\n if (state.comment) {\n return true;\n } else {\n return false;\n }\n };\n\n const handleChange = (event) => {\n console.log(\"handle change from form\");\n console.log(event);\n\n const v = event.target.value;\n\n const { id } = props;\n const value = event.target.value;\n console.log(\"nameeeeee = \" + event.target.name);\n console.log(\"valluuee = \" + event.target.value);\n console.log(\"focus = \" + event.target.tagger);\n\n setState({\n ...state,\n [event.target.name]: v,\n error: \"\",\n });\n\n //return onChange(id, value);\n // }\n };\n\n const getClass = () => {\n if (state.focus === true) return \"field focussed\";\n else return \"field\";\n };\n\n const handleImageChange = (event) => {\n console.log(\"chd\");\n console.log(event.target);\n formData.append(\"event[image]\", event.target.files[0]);\n };\n\n const { focussed, value, error, label } = state;\n const { id, type, locked } = props;\n //const fieldClassName = `field ${(locked ? focussed : focussed || value) && 'focussed'}`;\n //const fcn = state.nameIsFocused ? \"xxxfocused\" : \"xxxNotfocused\"\n\n return (\n <>\n \n \n\n \n
\n \n
\n \n \n COMMENT\n \n
\n \n

** Please login to comment **

\n
\n \n );\n}\n\n//const ReCaptcha = styled.div``;\n\nexport default (props) => ;\n","import React, { Component, useEffect, useState, useRef } from \"react\";\nimport styled from \"styled-components\";\nimport PropTypes from \"prop-types\";\nimport $ from \"jquery\";\n//import lilDownArrow from '../../../../'\n//import '../components/fix.js'\n\nimport defaultManIcon from \"../../assets/images/man3.png\";\n\n// const Section = styled.section`\n\n// //background: rgb(136,189,188);\n// //background: radial-gradient(circle, rgba(136,189,188,1) 0%, rgba(158,190,189,0.9612044646960347) 41%);\n// //background: #F7C562;\n// //height: 100vh;\n// //min-height: 400px;\n// position: relative;\n\n// `;\n\nconst Form = styled.form`\n display: grid;\n //grid-template-columns: 90%;\n grid-gap: 1.5rem;\n\n grid-area: main_comment_body;\n`;\n\nconst FormWrapper = styled.div`\n display: grid;\n //display: grid;\n\n position: relative;\n grid-template-columns: minmax(min-content, max-content) 1fr;\n grid-template-rows: minmax(50px, 1fr) minmax(min-content, max-content);\n grid-template-areas:\n \"main_comment_img main_comment_body \"\n \"main_comment_img main_comment_buttons\";\n\n margin: 0px 50px 0px 85px;\n //min-height: 100px;\n\n //top: -100px;\n //left: 0;\n background-color: F4F4F4;\n //padding: 20px;\n\n img {\n width: 25px;\n height: 25px;\n grid-area: avatar;\n margin: 1px 10px 0px 0px;\n border-radius: 50%;\n border: 1px solid gray;\n\n grid-area: main_comment_img;\n }\n`;\n\nconst OptionWrapper = styled.div``;\n\nconst CommentInput = styled.input`\n width: 100%;\n height: 100%;\n border: 0;\n\n outline: 0;\n // font-size: 1.3rem;\n\n background: white;\n transition: border-color 0.2s;\n\n overflow-wrap: break-word;\n word-wrap: break-word;\n\n -ms-word-break: break-all;\n\n word-break: break-word;\n vertical-align: top;\n\n text-align: start;\n\n color: #2a2e2e;\n cursor: text;\n resize: none;\n\n // font-size: 14px;\n overflow-y: scroll;\n\n overflow-x: hidden;\n\n transition: all 0.15s ease-in-out;\n\n white-space: pre-line;\n`;\n\nconst Textarea = styled.textarea`\n width: 100%;\n height: 100% !important;\n padding: 10px;\n //white-space: pre-wrap;\n`;\n\nconst formData = new FormData();\n\nfunction CommentReplyForm(props, ref) {\n const [state, setState] = React.useState({\n comment: \"\",\n error: \"\",\n\n //emailIsFocused: false,\n //company: '',\n //companyIsFocused: false,\n //zip: '',\n //zipIsFocused: false,\n //message: '',\n //messageIsFocused: false,\n //error: '',\n //activeIndex: null\n });\n\n const { allReplyRefs2 } = ref;\n\n const handleAdd = (e) => {\n e.preventDefault();\n\n if (validForm()) {\n formData.append(\"event[body]\", state.comment);\n formData.append(\"event[story_id]\", props.storyID);\n formData.append(\"event[comment_id]\", props.commentid);\n formData.append(\"event[author_nick]\", props.userState.nick);\n formData.append(\"event[author_avatar]\", props.userState.avatar_url);\n\n formData.append(\n \"event[original_comment_author]\",\n props.originalcommentAuthor\n );\n formData.append(\"event[type]\", \"comment\");\n\n console.log(\"formdata from handle add in comment reply form\");\n console.log(formData);\n\n //get token for form submission\n const csrf = document\n .querySelector(\"meta[name='csrf-token']\")\n .getAttribute(\"content\");\n\n $.ajax({\n url: \"/comments\",\n headers: {\n \"X-CSRF-Token\": csrf,\n },\n method: \"POST\",\n data: formData,\n contentType: false,\n processData: false,\n\n success: function (data) {\n //props.handleAdd(data);\n //setState({\n\n //focussed: (props.focussed) || false,\n //comment: ''\n\n //});\n\n //props.setState(\"done\")\n console.log(\n \"rails reply in comment form ajax success= \" +\n JSON.stringify(data, null, 4)\n );\n console.log(\"commentREPLYform...........................\");\n\n props.setArtDataComments(data.comments);\n\n //setState({...state,comment: ''})\n\n //props.setRows({...props.rows,[props.commentid]: \"false\"})\n\n //props.setIsCommentsLoading(false)\n },\n error: function (xhr, status, error) {\n alert(\"Comment did not reach server: \", error);\n },\n });\n } else {\n alert(\"Please type a comment.\");\n }\n };\n\n const validForm = () => {\n //console.log(\"in comment formmm state.comment = \" + state.comment)\n if (state.comment) {\n return true;\n } else {\n return false;\n }\n };\n\n const handleChange = (event) => {\n console.log(\"handle change from -----COMMENtREPLY -----form\");\n console.log(event);\n\n const v = event.target.value;\n\n const { id } = props;\n const value = event.target.value;\n //console.log(\"nameeeeee = \" + event.target.name)\n //console.log(\"valluuee = \" + event.target.value)\n //console.log(\"focus = \" + event.target.tagger)\n\n setState({\n ...state,\n [event.target.name]: v,\n error: \"\",\n });\n //return onChange(id, value);\n\n console.log(\"cewest state is = \" + state.comment);\n };\n\n const getClass = () => {\n if (state.focus === true) return \"field focussed\";\n else return \"field\";\n };\n\n const handleImageChange = (event) => {\n console.log(\"chd\");\n console.log(event.target);\n formData.append(\"event[image]\", event.target.files[0]);\n };\n\n const { focussed, value, error, label } = state;\n const { id, type, locked } = props;\n //const fieldClassName = `field ${(locked ? focussed : focussed || value) && 'focussed'}`;\n //const fcn = state.nameIsFocused ? \"xxxfocused\" : \"xxxNotfocused\"\n\n return (\n \n \n\n \n
\n {/* {\n if(e.key === 'Enter')\n e.preventDefault()\n }}\n /> */}\n\n {/* sdfsdf */}\n\n {}}\n\n //key={props.key + \"tar\"} data-id={props.dataID + \"tar\"}\n type=\"textarea\"\n className=\"form-control\"\n onChange={handleChange}\n index={1}\n placeholder={\"...reply to \" + props.commentAuthor}\n name=\"comment\"\n onKeyPress={(e) => {\n if (e.key === \"Enter\") e.preventDefault();\n }}\n value={state.comment}\n />\n
\n \n \n reply now\n \n \n );\n}\n\n//const ReCaptcha = styled.div``;\n\n//export default props => ;\n\nconst Wtf = React.forwardRef(CommentReplyForm);\nexport default Wtf;\n","import React, {\n useEffect,\n useState,\n usePrevious,\n useRef,\n Suspense,\n} from \"react\";\n\nimport styled from \"styled-components\";\n\nimport TimeAgo from \"javascript-time-ago\";\nimport en from \"javascript-time-ago/locale/en\";\nimport CommentReplyForm from \"./commentReplyForm\";\nimport defaultAvatar from \"../../assets/images/man3.png\";\nimport axios from \"axios\";\nimport DrawingFilled from \"../../assets/images/drawingFilled.svg\";\nimport { ReactComponent as SvgSmiley } from \"../../assets/images/drawingFilled.svg\";\nimport ThumbsUpSvg from \"./thumbsUpSvg\";\nimport ThumbsDownSvg from \"./thumbsDownSvg\";\n\nimport CommentForm from \"./commentForm\";\n\nimport ReactTimeAgo from \"react-time-ago\";\n\nimport \"../../assets/stylesheets/comments.scss\";\n\nimport {\n FacebookShareButton,\n FacebookIcon,\n TwitterShareButton,\n TwitterIcon,\n WhatsappShareButton,\n WhatsappIcon,\n} from \"react-share\";\n\nimport { BrowserRouter as Router, Switch, Route, Link } from \"react-router-dom\";\n\nTimeAgo.addDefaultLocale(en);\n\n////////////// Styled Components//////////////////////////////////\n\nconst Comments = styled.div`\n grid-area: 6/1/7/2;\n //margin-bottom: 80px;\n margin-top: 50px;\n`;\n\nconst CommentDisplay = styled.div`\n max-height: 100%;\n\n margin: 0px 0px 0px 25px;\n position: relative;\n\n img {\n width: 25px;\n height: 25px;\n //grid-area: avatar;\n margin: 1px 10px 0px 0px;\n border-radius: 50%;\n border: 1px solid gray;\n }\n`;\n\nconst BorderDiv = styled.div`\n position: absolute;\n border-left: 1px solid gray;\n opacity: 0.3;\n\n height: calc(100% - 34px);\n width: 100%;\n\n margin-left: 12px;\n\n bottom: 8px;\n pointer-events: none;\n`;\n\nconst CommentBody = styled.p`\n overflow-wrap: break-word;\n word-wrap: break-word;\n\n -ms-word-break: break-all;\n\n word-break: break-word;\n padding-left: 35px;\n`;\n\nconst Reply = styled.div`\n color: rgba(7, 7, 7, 0.65);\n cursor: pointer;\n padding: 8px 8px 8px 0px;\n // font-size: 14px;\n\n &:hover {\n color: black;\n }\n`;\n\nconst TopBarWrapper = styled.div`\n display: flex;\n position: relative;\n z-index: -1;\n`;\n\nconst BottomBarWrapper = styled.div`\n grid-area: bottomBar;\n display: flex;\n flex-direction: row;\n padding-left: 35px;\n align-items: center;\n`;\n\nconst VoteUp = styled.div`\n cursor: pointer;\n padding: 8px;\n\n &:hover {\n background-color: #e5f4fb;\n }\n\n svg {\n width: 16px;\n height: 15px;\n margin-right: 4px;\n }\n\n span {\n // font-size: 13px;\n }\n`;\n\nconst VoteDown = styled.div`\n cursor: pointer;\n padding: 8px;\n\n &:hover {\n background-color: #e5f4fb;\n }\n\n svg {\n width: 16px;\n height: 15px;\n margin-right: 4px;\n }\n\n span {\n // font-size: 13px;\n }\n`;\n\nconst CommentFormWrapper = styled.div`\n margin: 0 0 30px 0;\n grid-area: 7/1/8/2;\n`;\n\n////////////// CommentSection //////////////////////////////////\n\nfunction CommentSection(props) {\n console.log(\"==============Comment Section===============\");\n console.log(\"==============Comment Section Props===============\", props);\n\n const [artDataComments, setArtDataComments] = useState([]);\n //const [isCommentsLoading, setIsCommentsLoading] = useState(true);\n\n const allShowMoreRefs = useRef([]);\n allShowMoreRefs.current = [];\n\n const allReplyRefs = useRef([]);\n allReplyRefs.current = [];\n\n const allVoteUpRefs = useRef([]);\n allVoteUpRefs.current = [];\n\n const allVoteDownRefs = useRef([]);\n allVoteDownRefs.current = [];\n\n const { slug } = props;\n\n useEffect((props) => {\n console.log(\"==============Article useEffect===============\");\n\n const mode =\n // process.env.NODE_ENV == \"development\"\n // ? \"http://127.0.0.1:3000\"\n // : \"https://www.floiridablaze.io\";\n\n axios\n .post(\n \"/blog/get_comment_info\",\n {\n data: {\n slug: slug,\n },\n },\n { withCredentials: true }\n )\n .then((response) => {\n //console.log(\"resoooooooooooooooonse = \" + response.inspect)\n\n //addAllCommentsToStateForReplyButtonToWork(response.data.comments)\n //addAllCommentsToStateForShowMoreButtonToWork(response.data.comments)\n\n //setArtData(response.data.article)\n setArtDataComments(response.data.comments);\n\n //setIsCommentsLoading(false)\n\n //setIsCommentsLoading(false)\n\n //setCurrentUser(@current_user)\n })\n .catch((error) => {\n //console.log(\"articleErrors\", error)\n });\n }, []);\n\n const getReplyArray = (childrenCommentArray) => {\n let tempArray = [];\n\n childrenCommentArray.map((x, i) => {\n x.id;\n tempArray.push(x.id + \", \");\n });\n\n return tempArray.length > 0 ? tempArray : \"blank\";\n };\n\n const handleReplyButton = (childrenCommentArray, e, itemID) => {\n // if (props.rows[id] == \"true\"){\n // props.setRows({...props.rows, [id]: \"false\"})\n\n // }else{\n\n // props.setRows({...props.rows,[id]: \"true\"})\n\n // }\n\n console.log(\" in handle reply button ------------------------\");\n console.log(allReplyRefs.current.length);\n\n allReplyRefs.current.map((current, i) => {\n console.log(\n itemID + \"<><><>\" + current.id.substr(0, current.id.indexOf(\"-\"))\n );\n\n if (itemID == current.id.substr(0, current.id.indexOf(\"-\"))) {\n console.log(\"find ref loop start\");\n\n if (current.classList.contains(\"replyForm\")) {\n current.classList.remove(\"replyForm\");\n console.log(\"removed class\");\n } else {\n current.classList.add(\"replyForm\");\n console.log(\"added class\");\n }\n\n console.log(\"find ref loop end\");\n }\n });\n };\n\n const handleShowMoreButton = (childrenCommentArray, e, itemID) => {\n //set the label\n if (e.target.innerText == \"hide replies\") {\n e.target.innerText = \"show replies\";\n console.log(\"afterchange case1\", e.target.innerText);\n } else {\n e.target.innerText = \"hide replies\";\n console.log(\"afterchange case2\", e.target.innerText);\n }\n\n //get the ref(s) and change the css\n childrenCommentArray.map((item) => {\n allShowMoreRefs.current.map((current, i) => {\n console.log(item.id + \" )( \" + current.id);\n\n if (item.id == current.id) {\n if (current.classList.contains(\"shrink\")) {\n current.classList.remove(\"shrink\");\n } else {\n current.classList.add(\"shrink\");\n }\n }\n });\n });\n };\n\n //when someone clicks on the upvote\n const handleVoteUp = (e, itemID) => {\n console.log(\n \"Handle VoteUp Start sending axios request to rails server with item id \" +\n itemID,\n e\n );\n\n axios\n .post(\n \"/blog/vote_up\",\n {\n data: {\n itemID: itemID,\n },\n },\n { withCredentials: true }\n )\n .then((response) => {\n handleVoteUpResponse(response.data.comment_id, response.data.status);\n ///voteUpAnimate(response.data.comment_id)\n\n console.log(\"#######\", response.data);\n })\n .catch((error) => {\n console.log(\"handleVoteUp errors if any are \", error);\n });\n };\n\n //handle vote up based on rails response (status)\n const handleVoteUpResponse = (commentID, status) => {\n console.log(\n \"inside handleVoteUpResponse\",\n \"commentID is = \" + commentID + \"and status is = \" + status\n );\n\n //find ref\n allVoteUpRefs.current.map((current, i) => {\n if (current.offsetParent.id == commentID) {\n console.log(\"FOUND THE REFFF\", current);\n\n if (status == \"voteup_undo\") {\n current.innerText = parseInt(current.innerText) - 1;\n current.parentElement.classList.remove(\"selected\");\n } else if (status == \"voteup_toggle\") {\n current.innerText = parseInt(current.innerText) + 1;\n current.parentElement.classList.add(\"selected\");\n\n allVoteDownRefs.current.map((current, i) => {\n if (current.offsetParent.id == commentID) {\n current.innerText = parseInt(current.innerText) - 1;\n current.parentElement.classList.remove(\"down_vote_selected\");\n }\n });\n } else if (status == \"voteup\") {\n current.innerText = parseInt(current.innerText) + 1;\n // current.parentElement.className = current.parentElement.className + \" selected\"\n current.parentElement.classList.add(\"selected\");\n }\n }\n });\n };\n\n const handleVoteDown = (e, itemID) => {\n console.log(\n \"Handle VoteDown Start sending axios request to rails server with item id \" +\n itemID,\n e\n );\n\n axios\n .post(\n \"/blog/vote_down\",\n {\n data: {\n itemID: itemID,\n },\n },\n { withCredentials: true }\n )\n .then((response) => {\n handleVoteDownResponse(response.data.comment_id, response.data.status);\n voteUpAnimate(response.data.comment_id);\n })\n .catch((error) => {\n console.log(\"handleVoteDown errors if any are \", error);\n });\n };\n\n const handleVoteDownResponse = (commentID, status) => {\n console.log(\n \"inside handleVoteDownResponse\",\n \"commentID is = \" + commentID + \"and status is = \" + status\n );\n\n //find ref\n allVoteDownRefs.current.map((current, i) => {\n if (current.offsetParent.id == commentID) {\n console.log(\"FOUND THE REFFF\", current);\n\n if (status == \"votedown_undo\") {\n current.innerText = parseInt(current.innerText) - 1;\n current.parentElement.classList.remove(\"down_vote_selected\");\n } else if (status == \"votedown_toggle\") {\n current.innerText = parseInt(current.innerText) + 1;\n current.parentElement.classList.add(\"down_vote_selected\");\n\n allVoteUpRefs.current.map((current, i) => {\n if (current.offsetParent.id == commentID) {\n current.innerText = parseInt(current.innerText) - 1;\n current.parentElement.classList.remove(\"selected\");\n }\n });\n } else if (status == \"votedown\") {\n current.innerText = parseInt(current.innerText) + 1;\n current.parentElement.classList.add(\"down_vote_selected\");\n }\n }\n });\n };\n\n //function called recursivley\n const Comment = ({\n item,\n userState,\n storyID,\n setArtDataComments,\n handleShowMoreButton,\n handleReplyButton,\n }) => {\n console.log(\n \"+++++++++++++++++++++++++++++++++++runit+++++++++++++++++++++++++++++++++++++++++++++++++++\"\n );\n\n const addToShowMoreRefs = (el) => {\n //console.log(\"size b4 going in addToShowMoreRefs is \", allShowMoreRefs.current.length )\n console.log(\"in================= addTo_ShowMore_Refs\");\n\n if (el && !allShowMoreRefs.current.includes(el)) {\n //console.log(\"inside================= addToShowMoreRefs and el is = \" + JSON.stringify(el, null, 4))\n //console.log(el)\n allShowMoreRefs.current.push(el);\n console.log(\n \"size after adding one is \",\n allShowMoreRefs.current.length + \" sm\"\n );\n }\n };\n\n const addToReplyRefs = (el) => {\n //console.log(\"size b4 going in addToReplyeRefs is \", allReplyRefs.current.length )\n console.log(\"in================= addTo_Reply_Refs\");\n\n if (el && !allReplyRefs.current.includes(el)) {\n //console.log(\"inside================= addToReplyeRefs\")\n //console.log(el)\n allReplyRefs.current.push(el);\n console.log(\"size after adding one is \", allReplyRefs.current.length);\n }\n };\n\n const addToVoteUpRefs = (el) => {\n //console.log(\"size b4 going in addToShowMoreRefs is \", allShowMoreRefs.current.length )\n console.log(\"in================= addTo_VoteUp_Refs\");\n\n if (el && !allVoteUpRefs.current.includes(el)) {\n //console.log(\"inside================= addToShowMoreRefs and el is = \" + JSON.stringify(el, null, 4))\n //console.log(el)\n allVoteUpRefs.current.push(el);\n console.log(\n \"size after adding one is \",\n allVoteUpRefs.current.length + \" sm\"\n );\n }\n };\n\n const addToVoteDownRefs = (el) => {\n //console.log(\"size b4 going in addToShowMoreRefs is \", allShowMoreRefs.current.length )\n console.log(\"in================= addTo_VoteDown_Refs\");\n\n if (el && !allVoteDownRefs.current.includes(el)) {\n //console.log(\"inside================= addToShowMoreRefs and el is = \" + JSON.stringify(el, null, 4))\n //console.log(el)\n allVoteDownRefs.current.push(el);\n console.log(\n \"size after adding one is \",\n allVoteDownRefs.current.length + \" sm\"\n );\n }\n };\n\n const liker = (arrayOfLikers) => {\n let match = 0;\n\n arrayOfLikers.map((i) => {\n if (i == props.userState.user.id) {\n match = match + 1;\n }\n });\n\n if (match > 0) {\n return \"selected\";\n }\n };\n\n const disliker = (arrayOfDislikers) => {\n let match = 0;\n\n arrayOfDislikers.map((i) => {\n if (i == props.userState.user.id) {\n match = match + 1;\n }\n });\n\n if (match > 0) {\n return \"down_vote_selected\";\n }\n };\n\n const nestedComments = (item.comments || []).map((com) => {\n return (\n
\n \n
\n );\n });\n\n return (\n \n \n\n \n \"\"\n \n {item.author_nick}\n \n \n \n \n \n\n \n {item.body}\n \n\n \n handleReplyButton(item.comments, e, item.id)}>\n reply\n \n\n {\n handleVoteUp(e, item.id);\n }}\n >\n {/* */}\n {console.log(\"ITEM IN QUESTION\", item)}\n\n \n\n \n {item.total_upvotes}\n \n \n\n {\n handleVoteDown(e, item.id);\n }}\n >\n \n \n {item.total_downvotes}\n \n \n\n handleShowMoreButton(item.comments, e, item.id)}\n >\n {\" \"}\n {item.comments === undefined || item.comments.length == 0\n ? \"\"\n : \"hide replies\"}\n \n \n\n \n\n {nestedComments}\n \n );\n };\n\n return (\n \n \n \n \n\n
\n
\n {artDataComments.map((c, i) => {\n console.log(\"cccccccccccccccccccccccccccccc\", artDataComments);\n\n return (\n
\n \n
\n );\n })}\n
\n
\n\n {/* Loading profile...}>\n\n\n \n */}\n
\n );\n}\n\nexport default CommentSection;\n","import React from \"react\";\n\nconst thumbsDown = ({fill, style, width, viewBox, className}) => (\n \n \n\n \n \n \n image/svg+xml\n \n \n \n \n \n \n \n \n \n \n\n);\n\nexport default thumbsDown;\n\n\n\n\n\n\n// \n\n\n//\n","import React from \"react\";\n\nconst thumbsUp = ({fill, style, width, viewBox, className}) => (\n \n \n\n \n \n \n image/svg+xml\n \n \n \n \n \n \n \n \n \n \n\n);\n\nexport default thumbsUp;\n"],"names":["Form","styled","form","withConfig","displayName","componentId","FormWrapper","div","DefaultCommentImage","img","CommentInput","input","ErrorMsg","props","state","comment","length","userState","loggedInStatus","CButton","button","formData","FormData","CommentForm","setState","React","error","validForm","focussed","value","label","id","type","locked","src","avatar_url","defaultManIcon","alt","style","gridArea","className","onSubmit","e","preventDefault","append","storyID","commentID","user","nick","console","log","csrf","document","querySelector","getAttribute","$","url","headers","method","data","contentType","processData","success","JSON","stringify","setArtDataComments","comments","xhr","status","alert","enctype","index","name","placeholder","onChange","event","v","target","tagger","Textarea","textarea","CommentReplyForm","ref","allReplyRefs2","commentid","addToReplyRefs","toString","originalcommentAuthor","width","height","commentAuthor","onKeyPress","key","marginTop","Wtf","TimeAgo","addDefaultLocale","en","Comments","CommentDisplay","BorderDiv","CommentBody","p","Reply","TopBarWrapper","BottomBarWrapper","VoteUp","VoteDown","CommentFormWrapper","artDataComments","useState","allShowMoreRefs","useRef","current","allReplyRefs","allVoteUpRefs","allVoteDownRefs","slug","useEffect","axios","post","withCredentials","then","response","catch","handleReplyButton","childrenCommentArray","itemID","map","i","substr","indexOf","classList","contains","remove","add","handleShowMoreButton","innerText","item","handleVoteUpResponse","offsetParent","parseInt","parentElement","handleVoteDownResponse","Comment","nestedComments","com","border","el","includes","push","author_avatar","alignSelf","fontSize","marginRight","author_nick","color","ReactTimeAgo","date","created_at","Date","locale","timeStyle","body","onClick","arrayOfLikers","match","liker","array_of_likers","handleVoteUp","comment_id","ThumbsUpSvg","viewBox","total_upvotes","arrayOfDislikers","disliker","array_of_dislikers","handleVoteDown","voteUpAnimate","ThumbsDownSvg","total_downvotes","cursor","marginLeft","lineHeight","undefined","artData","position","c","thumbsDown","fill","version","transform","d","strokeWidth","thumbsUp"],"sourceRoot":""}