{"version":3,"sources":["webpack:///./app/javascript/src/userComponents/tweetForm.jsx","webpack:///./app/javascript/src/userComponents/tweets.jsx","webpack:///./app/javascript/src/userComponents/userHomeFeeds.jsx","webpack:///./app/javascript/src/userComponents/userHome.jsx","webpack:///./app/javascript/src/home.jsx"],"names":["TweetForm","props","handleChange","e","setState","target","name","value","onFileSelect","files","submitTweet","preventDefault","formData","FormData","append","state","msg","selectedFile","fetch","safeCredentialsFormData","method","body","then","handleErrors","data","document","querySelector","getAllTweets","error","this","onSubmit","className","id","rows","placeholder","onChange","type","React","Component","Tweets","deleteTweet","tweetId","closest","getAttribute","safeCredentials","console","log","success","username","tweets","map","tweet","key","icon","faCircle","faUser","transform","href","FormatDate","created_at","onClick","message","image","src","alt","UserHomeFeed","UserHome","email","Home","authenticated","user_id","addEventListener","ReactDOM","render","appendChild","createElement"],"mappings":"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","file":"js/home-8f3105c763a1a4a1f24c.chunk.js","sourcesContent":["import React from \"react\";\nimport { handleErrors, safeCredentialsFormData } from \"@utils/fetchHelper\";\n\nclass TweetForm extends React.Component {\n constructor(props) {\n super(props); \n\n this.state = { \n msg: '',\n selectedFile: null,\n error: '',\n }\n }\n\n handleChange = e => {\n this.setState({\n [e.target.name]: e.target.value,\n })\n }\n\n onFileSelect = e => {\n this.setState({\n [e.target.name]: e.target.files[0],\n });\n }\n\n submitTweet = e => {\n e.preventDefault();\n\n let formData = new FormData();\n formData.append('tweet[message]', this.state.msg);\n if(this.state.selectedFile !== null) {\n formData.append('tweet[image]', this.state.selectedFile, this.state.selectedFile.name);\n }\n\n fetch('/api/tweets', safeCredentialsFormData({\n method: 'POST',\n body: formData,\n }))\n .then(handleErrors)\n .then(data => {\n \n const tweetForm = document.querySelector('textarea#tweet');\n tweetForm.value = \"\"\n const tweetFormFile = document.querySelector('input#file-select');\n tweetFormFile.value = ''\n \n this.setState({\n msg: '',\n selectedFile: null,\n })\n this.props.getAllTweets();\n })\n .catch(error => {\n this.setState({\n error: 'Sorry your tweet is not posted. Try again.',\n })\n })\n };\n\n render() {\n const {msg, error} = this.state;\n \n return(\n
\n )\n }\n}\n\nexport default TweetForm;","import React from \"react\";\nimport { handleErrors, safeCredentials } from \"@utils/fetchHelper\";\nimport FormatDate from '@utils/formatDate';\nimport {FontAwesomeIcon} from \"@fortawesome/react-fontawesome\";\nimport {faCircle} from \"@fortawesome/free-regular-svg-icons\";\nimport {faUser} from \"@fortawesome/free-regular-svg-icons\";\n\n\nclass Tweets extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n username: this.props.username\n }\n }\n\n deleteTweet = e => {\n e.preventDefault();\n let tweetElement = e.target.closest('.tweet-inner');\n let tweetId = tweetElement.getAttribute('id');\n\n fetch(`/api/tweets/${tweetId}`, safeCredentials({\n method: 'DELETE',\n }))\n .then(handleErrors)\n .then(data => {\n console.log('data: ', data);\n if(data.success) {\n this.props.getAllTweets();\n }\n })\n .catch(error => {\n this.setState({\n error: 'You cannot delete the tweet.'\n })\n })\n }\n\n render() {\n const { username } = this.state;\n const { tweets } = this.props;\n\n return(\n