From b11c4c5d986891d491df15a5112c9a55c78efab5 Mon Sep 17 00:00:00 2001 From: "bggiri@naver.comgit config --global user.name sangjunegit config --global user.name bggiri@naver.com" Date: Mon, 1 Feb 2021 09:44:59 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9A=94=EA=B1=B0=EB=A1=9C=20=ED=95=98?= =?UTF-8?q?=EB=A9=B4=20=EB=90=A0=20=EB=93=AF=20=ED=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/.eslintcache | 2 +- client/src/Components/Login.js | 2 +- client/src/Pages/Place.js | 7 ++++++- client/src/utils/auth.js | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/client/.eslintcache b/client/.eslintcache index 9f987d1..8d40257 100644 --- a/client/.eslintcache +++ b/client/.eslintcache @@ -1 +1 @@ -[{"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\index.js":"1","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\reportWebVitals.js":"2","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Paginations.js":"3","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Search.js":"4","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\App.js":"5","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\PrivateRoute.js":"6","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Bookmark.js":"7","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Login.js":"8","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Signup.js":"9","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Place.js":"10"},{"size":1339,"mtime":1612133560398,"results":"11","hashOfConfig":"12"},{"size":375,"mtime":1611254909401,"results":"13","hashOfConfig":"12"},{"size":3725,"mtime":1612133560393,"results":"14","hashOfConfig":"12"},{"size":8409,"mtime":1612135856710,"results":"15","hashOfConfig":"12"},{"size":4920,"mtime":1612136347104,"results":"16","hashOfConfig":"12"},{"size":438,"mtime":1612133560394,"results":"17","hashOfConfig":"12"},{"size":5573,"mtime":1612136236838,"results":"18","hashOfConfig":"12"},{"size":3147,"mtime":1612133560391,"results":"19","hashOfConfig":"12"},{"size":2959,"mtime":1612133560395,"results":"20","hashOfConfig":"12"},{"size":2146,"mtime":1612133560397,"results":"21","hashOfConfig":"12"},{"filePath":"22","messages":"23","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},"13y9yvi",{"filePath":"25","messages":"26","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"27","messages":"28","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"29","messages":"30","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"35","messages":"36","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"37","messages":"38","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"24"},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"41"},{"filePath":"42","messages":"43","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\index.js",[],["44","45"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\reportWebVitals.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Paginations.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Search.js",["46","47","48","49","50","51","52","53","54","55"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\App.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\PrivateRoute.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Bookmark.js",["56","57","58","59","60","61","62","63","64"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Login.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Signup.js",[],["65","66"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Place.js",["67","68"],{"ruleId":"69","replacedBy":"70"},{"ruleId":"71","replacedBy":"72"},{"ruleId":"73","severity":1,"message":"74","line":4,"column":83,"nodeType":"75","messageId":"76","endLine":4,"endColumn":86},{"ruleId":"73","severity":1,"message":"77","line":16,"column":12,"nodeType":"75","messageId":"76","endLine":16,"endColumn":19},{"ruleId":"73","severity":1,"message":"78","line":16,"column":21,"nodeType":"75","messageId":"76","endLine":16,"endColumn":31},{"ruleId":"73","severity":1,"message":"79","line":23,"column":12,"nodeType":"75","messageId":"76","endLine":23,"endColumn":17},{"ruleId":"73","severity":1,"message":"80","line":25,"column":20,"nodeType":"75","messageId":"76","endLine":25,"endColumn":31},{"ruleId":"73","severity":1,"message":"81","line":27,"column":19,"nodeType":"75","messageId":"76","endLine":27,"endColumn":27},{"ruleId":"82","severity":1,"message":"83","line":49,"column":8,"nodeType":"84","endLine":49,"endColumn":10,"suggestions":"85"},{"ruleId":"82","severity":1,"message":"86","line":75,"column":8,"nodeType":"84","endLine":75,"endColumn":15,"suggestions":"87"},{"ruleId":"73","severity":1,"message":"88","line":146,"column":9,"nodeType":"75","messageId":"76","endLine":146,"endColumn":13},{"ruleId":"89","severity":1,"message":"90","line":151,"column":35,"nodeType":"91","endLine":151,"endColumn":76},{"ruleId":"73","severity":1,"message":"92","line":17,"column":12,"nodeType":"75","messageId":"76","endLine":17,"endColumn":16},{"ruleId":"73","severity":1,"message":"93","line":17,"column":18,"nodeType":"75","messageId":"76","endLine":17,"endColumn":25},{"ruleId":"73","severity":1,"message":"94","line":18,"column":12,"nodeType":"75","messageId":"76","endLine":18,"endColumn":17},{"ruleId":"73","severity":1,"message":"95","line":18,"column":19,"nodeType":"75","messageId":"76","endLine":18,"endColumn":27},{"ruleId":"73","severity":1,"message":"79","line":19,"column":12,"nodeType":"75","messageId":"76","endLine":19,"endColumn":17},{"ruleId":"73","severity":1,"message":"96","line":20,"column":12,"nodeType":"75","messageId":"76","endLine":20,"endColumn":17},{"ruleId":"73","severity":1,"message":"97","line":20,"column":19,"nodeType":"75","messageId":"76","endLine":20,"endColumn":27},{"ruleId":"73","severity":1,"message":"77","line":23,"column":12,"nodeType":"75","messageId":"76","endLine":23,"endColumn":19},{"ruleId":"82","severity":1,"message":"98","line":65,"column":8,"nodeType":"84","endLine":65,"endColumn":10,"suggestions":"99"},{"ruleId":"69","replacedBy":"100"},{"ruleId":"71","replacedBy":"101"},{"ruleId":"73","severity":1,"message":"102","line":3,"column":26,"nodeType":"75","messageId":"76","endLine":3,"endColumn":32},{"ruleId":"82","severity":1,"message":"103","line":34,"column":6,"nodeType":"84","endLine":34,"endColumn":8,"suggestions":"104"},"no-native-reassign",["105"],"no-negated-in-lhs",["106"],"no-unused-vars","'Nav' is defined but never used.","Identifier","unusedVar","'showSet' is assigned a value but never used.","'setShowSet' is assigned a value but never used.","'error' is assigned a value but never used.","'getBookmark' is defined but never used.","'response' is assigned a value but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'getAssociation'. Either include it or remove the dependency array.","ArrayExpression",["107"],"React Hook useEffect has missing dependencies: 'getAssociation', 'props.history', and 'search'. Either include them or remove the dependency array.",["108"],"'time' is assigned a value but never used.","react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'page' is assigned a value but never used.","'setPage' is assigned a value but never used.","'index' is assigned a value but never used.","'setIndex' is assigned a value but never used.","'state' is assigned a value but never used.","'setState' is assigned a value but never used.","React Hook useEffect has a missing dependency: 'getBookmark'. Either include it or remove the dependency array.",["109"],["105"],["106"],"'Button' is defined but never used.","React Hook useEffect has missing dependencies: 'getReview' and 'infiniteScroll'. Either include them or remove the dependency array.",["110"],"no-global-assign","no-unsafe-negation",{"desc":"111","fix":"112"},{"desc":"113","fix":"114"},{"desc":"115","fix":"116"},{"desc":"117","fix":"118"},"Update the dependencies array to be: [getAssociation]",{"range":"119","text":"120"},"Update the dependencies array to be: [getAssociation, props.history, search, state]",{"range":"121","text":"122"},"Update the dependencies array to be: [getBookmark]",{"range":"123","text":"124"},"Update the dependencies array to be: [getReview, infiniteScroll]",{"range":"125","text":"126"},[1921,1923],"[getAssociation]",[2830,2837],"[getAssociation, props.history, search, state]",[2252,2254],"[getBookmark]",[1102,1104],"[getReview, infiniteScroll]"] \ No newline at end of file +[{"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\index.js":"1","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\reportWebVitals.js":"2","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Paginations.js":"3","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Search.js":"4","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\App.js":"5","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\PrivateRoute.js":"6","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Bookmark.js":"7","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Login.js":"8","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Signup.js":"9","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Place.js":"10","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\utils\\auth.js":"11"},{"size":1339,"mtime":1612133560398,"results":"12","hashOfConfig":"13"},{"size":375,"mtime":1611254909401,"results":"14","hashOfConfig":"13"},{"size":3725,"mtime":1612133560393,"results":"15","hashOfConfig":"13"},{"size":8409,"mtime":1612135856710,"results":"16","hashOfConfig":"13"},{"size":4920,"mtime":1612136347104,"results":"17","hashOfConfig":"13"},{"size":438,"mtime":1612133560394,"results":"18","hashOfConfig":"13"},{"size":5573,"mtime":1612136236838,"results":"19","hashOfConfig":"13"},{"size":3150,"mtime":1612140232971,"results":"20","hashOfConfig":"13"},{"size":2959,"mtime":1612133560395,"results":"21","hashOfConfig":"13"},{"size":2355,"mtime":1612139729084,"results":"22","hashOfConfig":"13"},{"size":766,"mtime":1612140214129,"results":"23","hashOfConfig":"13"},{"filePath":"24","messages":"25","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"26"},"13y9yvi",{"filePath":"27","messages":"28","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"29","messages":"30","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"31","messages":"32","errorCount":0,"warningCount":10,"fixableErrorCount":0,"fixableWarningCount":0,"source":"33"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","errorCount":0,"warningCount":9,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"42","messages":"43","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"26"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\index.js",[],["48","49"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\reportWebVitals.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Paginations.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Search.js",["50","51","52","53","54","55","56","57","58","59"],"import React, { useState, useEffect } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport ohuh from '../ohuh-sm.PNG';\r\nimport { Container, Form, Row, Col, Card, Image, InputGroup, FormControl, Button, Nav } from 'react-bootstrap';\r\nimport Paginations from '../Components/Paginations';\r\nimport axios from 'axios';\r\nimport queryString from 'query-string'\r\nimport * as Icon from 'react-bootstrap-icons';\r\nimport { isAuthenticated } from '../utils/auth';\r\nimport catchErrors from '../utils/catchErrors'\r\n\r\nfunction Search(props) {\r\n\r\n const [state, setState] = useState(false);\r\n const [index, setIndex] = useState(1);\r\n const [showSet, setShowSet] = useState([false, false, false, false]);\r\n const [search, setSearch] = useState(queryString.parse(props.location.search).keyword);\r\n const [bookmark, setBookmark] = useState([false, false, false, false])\r\n const user = isAuthenticated()\r\n const [association, setAssociation] = useState([{ name: \" \", address: \" \", img: \" \" }])\r\n const [pagePlace, setPagePlace] = useState([{ name: \" \", address: \" \", img: \" \" }, { name: \" \", address: \" \", img: \" \" }])\r\n const [endPage, setEndPage] = useState(1)\r\n const [error, setError] = useState('')\r\n\r\n async function getBookmark() {\r\n try {\r\n const response = await axios.get(`/api/users/bookmark?ID=${user}`)\r\n // setBookmark(response.data.bookmark)\r\n } catch (error) {\r\n catchErrors(error, setError)\r\n }\r\n }\r\n\r\n const getAssociation = () => {\r\n axios.get(`/api/search/association?keyword=${search}`)\r\n .then(res => {\r\n console.log(\"Associations = \", res.data)\r\n setAssociation(res.data)\r\n })\r\n .catch(err => {\r\n console.log(\"search.associations 에러 발생\", err)\r\n })\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n getAssociation()\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (association.length < 3) {\r\n setPagePlace(paginate(association, index, association.length))\r\n }\r\n else {\r\n setPagePlace(paginate(association, index, 4))\r\n }\r\n setEndPage(Math.floor((association.length / 4)))\r\n\r\n }, [association, index])\r\n\r\n useEffect(() => {\r\n getAssociation()\r\n if (state) {\r\n // window.location.reload()\r\n // return ;\r\n props.history.push('/search?keyword=' + search)\r\n setState(false)\r\n // console.log(\"search야\", search)\r\n } window.addEventListener(\"scroll\", infiniteScroll);\r\n return () => { window.removeEventListener(\"scroll\", infiniteScroll); }\r\n }, [state]);\r\n\r\n const infiniteScroll = () => {\r\n const { documentElement, body } = document;\r\n const scrollHeight = Math.max(documentElement.scrollHeight, body.scrollHeight);\r\n const scrollTop = Math.max(documentElement.scrollTop, body.scrollTop);\r\n const clientHeight = documentElement.clientHeight;\r\n if (scrollTop + clientHeight >= scrollHeight) {\r\n // getReview();\r\n console.log(\"더불러\")\r\n }\r\n console.log(scrollHeight, scrollTop, clientHeight)\r\n }\r\n\r\n const handlePage = (num) => {\r\n setIndex(num);\r\n console.log(\"pagenation num\", num)\r\n console.log(index)\r\n }\r\n\r\n\r\n const handleChange = (e) => {\r\n setSearch(e.target.value);\r\n }\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault()\r\n setState(true)\r\n setIndex(1)\r\n }\r\n\r\n function paginate(items, pageNumber, itemNumber) {\r\n const page = [];\r\n const startIndex = (pageNumber - 1) * itemNumber\r\n for (var i = 0; i < itemNumber; i++) {\r\n\r\n page.push(items[(startIndex + i)])\r\n }\r\n console.log(\"뿌릴 data22222222222222222\", page)\r\n return page\r\n }\r\n //usestate 쓰거나 한번에 useeffect에 넣기\r\n\r\n async function handlebookmark(index) {\r\n if (!bookmark[index]) {\r\n console.log(pagePlace[index])\r\n try {\r\n const response = await axios.put(`/api/users/bookmark?ID=${user}&place=${pagePlace[index]._id}`)\r\n alert(response.data, '북마크가 저장되었습니다.')\r\n const showArr = bookmark\r\n showArr[index] = true\r\n setBookmark(showArr)\r\n console.log(\"bookmark=\", bookmark)\r\n } catch (error) {\r\n catchErrors(error, setError)\r\n }\r\n } else {\r\n try {\r\n const response = await axios.delete(`/api/users/bookmark?ID=${user}&place=${pagePlace[index]._id}`)\r\n alert(response.data, '저장된 북마크가 삭제되었습니다.')\r\n const showArr = bookmark\r\n showArr[index] = false\r\n setBookmark(showArr)\r\n console.log(\"bookmark=\", bookmark)\r\n } catch (error) {\r\n catchErrors(error, setError)\r\n }\r\n }\r\n }\r\n\r\n\r\n let time = new Date()\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {/* {time.toLocaleString()} */}\r\n \r\n\r\n {console.log(\"#####################33\", pagePlace)}\r\n {pagePlace.map((place, index) => {\r\n return (\r\n \r\n \r\n\r\n {place.name}\r\n {user ?\r\n handlebookmark(index, place)}>\r\n \r\n {console.log(\"bookmark\", bookmark)}\r\n {console.log(\"bookmark[index]\", bookmark[index])} : null}\r\n \r\n \r\n \r\n \r\n {place.address} \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Search;\r\n","C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\App.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\PrivateRoute.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Bookmark.js",["60","61","62","63","64","65","66","67","68"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Login.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Components\\Signup.js",[],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\Pages\\Place.js",["69"],"C:\\Users\\노트북펜\\Desktop\\2021YDK\\search-page\\client\\src\\utils\\auth.js",[],{"ruleId":"70","replacedBy":"71"},{"ruleId":"72","replacedBy":"73"},{"ruleId":"74","severity":1,"message":"75","line":4,"column":83,"nodeType":"76","messageId":"77","endLine":4,"endColumn":86},{"ruleId":"74","severity":1,"message":"78","line":16,"column":12,"nodeType":"76","messageId":"77","endLine":16,"endColumn":19},{"ruleId":"74","severity":1,"message":"79","line":16,"column":21,"nodeType":"76","messageId":"77","endLine":16,"endColumn":31},{"ruleId":"74","severity":1,"message":"80","line":23,"column":12,"nodeType":"76","messageId":"77","endLine":23,"endColumn":17},{"ruleId":"74","severity":1,"message":"81","line":25,"column":20,"nodeType":"76","messageId":"77","endLine":25,"endColumn":31},{"ruleId":"74","severity":1,"message":"82","line":27,"column":19,"nodeType":"76","messageId":"77","endLine":27,"endColumn":27},{"ruleId":"83","severity":1,"message":"84","line":49,"column":8,"nodeType":"85","endLine":49,"endColumn":10,"suggestions":"86"},{"ruleId":"83","severity":1,"message":"87","line":75,"column":8,"nodeType":"85","endLine":75,"endColumn":15,"suggestions":"88"},{"ruleId":"74","severity":1,"message":"89","line":146,"column":9,"nodeType":"76","messageId":"77","endLine":146,"endColumn":13},{"ruleId":"90","severity":1,"message":"91","line":151,"column":35,"nodeType":"92","endLine":151,"endColumn":76},{"ruleId":"74","severity":1,"message":"93","line":17,"column":12,"nodeType":"76","messageId":"77","endLine":17,"endColumn":16},{"ruleId":"74","severity":1,"message":"94","line":17,"column":18,"nodeType":"76","messageId":"77","endLine":17,"endColumn":25},{"ruleId":"74","severity":1,"message":"95","line":18,"column":12,"nodeType":"76","messageId":"77","endLine":18,"endColumn":17},{"ruleId":"74","severity":1,"message":"96","line":18,"column":19,"nodeType":"76","messageId":"77","endLine":18,"endColumn":27},{"ruleId":"74","severity":1,"message":"80","line":19,"column":12,"nodeType":"76","messageId":"77","endLine":19,"endColumn":17},{"ruleId":"74","severity":1,"message":"97","line":20,"column":12,"nodeType":"76","messageId":"77","endLine":20,"endColumn":17},{"ruleId":"74","severity":1,"message":"98","line":20,"column":19,"nodeType":"76","messageId":"77","endLine":20,"endColumn":27},{"ruleId":"74","severity":1,"message":"78","line":23,"column":12,"nodeType":"76","messageId":"77","endLine":23,"endColumn":19},{"ruleId":"83","severity":1,"message":"99","line":65,"column":8,"nodeType":"85","endLine":65,"endColumn":10,"suggestions":"100"},{"ruleId":"83","severity":1,"message":"101","line":36,"column":6,"nodeType":"85","endLine":36,"endColumn":8,"suggestions":"102"},"no-native-reassign",["103"],"no-negated-in-lhs",["104"],"no-unused-vars","'Nav' is defined but never used.","Identifier","unusedVar","'showSet' is assigned a value but never used.","'setShowSet' is assigned a value but never used.","'error' is assigned a value but never used.","'getBookmark' is defined but never used.","'response' is assigned a value but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'getAssociation'. Either include it or remove the dependency array.","ArrayExpression",["105"],"React Hook useEffect has missing dependencies: 'getAssociation', 'props.history', and 'search'. Either include them or remove the dependency array.",["106"],"'time' is assigned a value but never used.","react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'page' is assigned a value but never used.","'setPage' is assigned a value but never used.","'index' is assigned a value but never used.","'setIndex' is assigned a value but never used.","'state' is assigned a value but never used.","'setState' is assigned a value but never used.","React Hook useEffect has a missing dependency: 'getBookmark'. Either include it or remove the dependency array.",["107"],"React Hook useEffect has missing dependencies: 'getReview' and 'infiniteScroll'. Either include them or remove the dependency array.",["108"],"no-global-assign","no-unsafe-negation",{"desc":"109","fix":"110"},{"desc":"111","fix":"112"},{"desc":"113","fix":"114"},{"desc":"115","fix":"116"},"Update the dependencies array to be: [getAssociation]",{"range":"117","text":"118"},"Update the dependencies array to be: [getAssociation, props.history, search, state]",{"range":"119","text":"120"},"Update the dependencies array to be: [getBookmark]",{"range":"121","text":"122"},"Update the dependencies array to be: [getReview, infiniteScroll]",{"range":"123","text":"124"},[1921,1923],"[getAssociation]",[2830,2837],"[getAssociation, props.history, search, state]",[2252,2254],"[getBookmark]",[1178,1180],"[getReview, infiniteScroll]"] \ No newline at end of file diff --git a/client/src/Components/Login.js b/client/src/Components/Login.js index fdec8f7..c58a811 100644 --- a/client/src/Components/Login.js +++ b/client/src/Components/Login.js @@ -46,7 +46,7 @@ function Login() { } if (success) { - console.log('success', success) + alert("로그인되었습니다.") return //성공하면 홈화면으로 간다 } diff --git a/client/src/Pages/Place.js b/client/src/Pages/Place.js index 44c8bb9..529df0f 100644 --- a/client/src/Pages/Place.js +++ b/client/src/Pages/Place.js @@ -1,7 +1,9 @@ import axios from 'axios'; import React, { useEffect, useState } from 'react'; -import { Container, Row, Button, } from 'react-bootstrap'; +import { Container, Row, Image } from 'react-bootstrap'; import queryString from 'query-string' +import { Link } from 'react-router-dom'; +import ohuh from '../ohuh-sm.PNG'; function Place(props) { console.log(props) @@ -53,6 +55,9 @@ function Place(props) { return ( + + + {place} {Array.isArray(reviews) ? reviews.map((review, index) => { return ( diff --git a/client/src/utils/auth.js b/client/src/utils/auth.js index 6d3bfcc..36d190a 100644 --- a/client/src/utils/auth.js +++ b/client/src/utils/auth.js @@ -5,6 +5,7 @@ export function handleLogin(userId) { //로그인할때 로컬스토리지에 } export async function handleLogout() { + alert("로그아웃되었습니다.") localStorage.removeItem('loginStatus') //로컬스토리지에서 로그인상태를 지운다 await axios.get('/api/auth/logout') window.location.href='/' //경로 지정 -- GitLab