[{"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\index.js":"1","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\reportWebVitals.js":"2","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\pagination.js":"3","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Place.js":"4","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Login.js":"5","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\catchErrors.js":"6","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Signup.js":"7","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\auth.js":"8","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Paginations.js":"9","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Search.js":"10","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\App.js":"11","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\PrivateRoute.js":"12","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Bookmark.js":"13"},{"size":1278,"mtime":1611121605705,"results":"14","hashOfConfig":"15"},{"size":362,"mtime":499162500000,"results":"16","hashOfConfig":"15"},{"size":2211,"mtime":1609913204293,"results":"17","hashOfConfig":"15"},{"size":5415,"mtime":1611127383900,"results":"18","hashOfConfig":"15"},{"size":2742,"mtime":1610519196409,"results":"19","hashOfConfig":"15"},{"size":405,"mtime":1609915408569,"results":"20","hashOfConfig":"15"},{"size":2675,"mtime":1610519220676,"results":"21","hashOfConfig":"15"},{"size":459,"mtime":1610352110057,"results":"22","hashOfConfig":"15"},{"size":2199,"mtime":1610503781980,"results":"23","hashOfConfig":"15"},{"size":12035,"mtime":1611127381906,"results":"24","hashOfConfig":"15"},{"size":2110,"mtime":1610617422890,"results":"25","hashOfConfig":"15"},{"size":438,"mtime":1610615328660,"results":"26","hashOfConfig":"15"},{"size":2304,"mtime":1611111672945,"results":"27","hashOfConfig":"15"},{"filePath":"28","messages":"29","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"30","usedDeprecatedRules":"31"},"1t9w6go",{"filePath":"32","messages":"33","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"36","messages":"37","errorCount":0,"warningCount":8,"fixableErrorCount":0,"fixableWarningCount":0,"source":"38"},{"filePath":"39","messages":"40","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"43","messages":"44","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"45","messages":"46","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"47","messages":"48","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"49","messages":"50","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"51","messages":"52","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"53","usedDeprecatedRules":"31"},{"filePath":"54","messages":"55","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"56","messages":"57","errorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":"58","usedDeprecatedRules":"31"},"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\index.js",["59"],"import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport App from './App'\r\nimport Search from './Search';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport Signup from './Components/Signup'\r\nimport Login from './Components/Login'\r\nimport PrivateRoute from \"./Components/PrivateRoute\";\r\nimport Bookmark from \"./Bookmark\"\r\nimport {\r\n BrowserRouter as Router,\r\n Switch,\r\n Route,\r\n Redirect,\r\n} from \"react-router-dom\";\r\nimport axios from 'axios';\r\n\r\n\r\nReactDOM.render(\r\n <React.StrictMode>\r\n <Router>\r\n <Switch>\r\n <Route exact path=\"/\" component={App} />\r\n <Route path=\"/search\" component={Search} />\r\n <Route path='/signup' component={Signup}/>\r\n <Route path='/login' component={Login} />\r\n <Redirect path=\"/search/:search\" to=\"/search\" />\r\n <PrivateRoute path='/bookmark'><Bookmark/></PrivateRoute>\r\n </Switch>\r\n </Router>\r\n </React.StrictMode>,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n",["60","61"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\reportWebVitals.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\pagination.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Place.js",["62","63","64","65","66","67","68","69"],"import axios from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Modal, Container, Row, Col, Button, Badge, Card, Accordion, Carousel } from 'react-bootstrap';\r\n\r\nfunction Place(props) {\r\n const [reviews, setReviews] = useState([])\r\n const getReview = () => {\r\n axios.get(`/api/review/${props.search.name}`)\r\n .then(res => {\r\n console.log(\"place res.data\", res.data)\r\n setReviews(res.data)\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n getReview();\r\n }, [])\r\n\r\n return (\r\n <Modal {...props}\r\n size=\"xl\"\r\n keyboard=\"true\"\r\n variant=\"backdrop.in\"\r\n // show={lgShow}\r\n // onHide={() => setLgShow(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\">\r\n <Modal.Header closeButton>\r\n <Modal.Title id=\"contained-modal-title-vcenter\" style={{ fontSize: '40px' }}>\r\n {props.index + 1}. {props.search.name}\r\n </Modal.Title>\r\n </Modal.Header>\r\n <Modal.Body className=\"show-grid\">\r\n <Container style={{ fontSize: '40px' }}>\r\n {reviews.map((review, index) => {\r\n return (\r\n <Row className=\"mt-4\">\r\n <a href={review.link}>{review.title}</a>\r\n <div>{review.summary}</div>\r\n <div>{review.content}</div>\r\n </Row>\r\n )\r\n })}\r\n </Container>\r\n\r\n {/* <Accordion defaultActiveKey=\"0\">\r\n <Accordion.Toggle as={Button} variant=\"link\" eventKey=\"0\">\r\n <a className=\"mb-2\">다음의 블로그 보기</a>\r\n </Accordion.Toggle>\r\n <Accordion.Collapse eventKey=\"0\">\r\n <Card.Body><div>주도 전역을 지배하는 한라산은 남한에서 가장 높은 산으로 높이는 1,947.3m이다. 한라산이라는 이름은 산이 높아 산정에 서면 은하수를 잡아당길 수 있다는 뜻이며, 부악·원산·선산·두무악·영주산·부라산·혈망봉·여장군 등으로도 불려왔다.</div></Card.Body>\r\n </Accordion.Collapse>\r\n <Row>\r\n <Accordion.Toggle as={Button} variant=\"link\" eventKey=\"1\">\r\n <a className=\"mb-2\">네이버의 블로그 보기</a>\r\n </Accordion.Toggle>\r\n <Accordion.Collapse eventKey=\"1\">\r\n <Card.Body><div>한라산은 1966년 한라산 천연보호구역으로, 1970년 국립공원으로 지정되었다. 그리고 2002년에는 유네스코 생물권보전지역으로 지정되었으며 2007년에는 유네스코 세계자연유산으로 등재되었다. 2008년에는 물장오리오름 산정화구호 습지가 람사르 습지로 등록되어 보호 관리되고 있다</div></Card.Body>\r\n </Accordion.Collapse>\r\n </Row>\r\n <Row>\r\n <Accordion.Toggle as={Button} variant=\"link\" eventKey=\"2\">\r\n <a className=\"mb-2\">구글의 블로그 보기</a>\r\n </Accordion.Toggle>\r\n <Accordion.Collapse eventKey=\"2\">\r\n <Card.Body><div>한라산은 제주도에 있는 해발 1,947.06m, 면적 약 1,820km²의 화산으로, 제주도의 면적 대부분을 차지하고 있다. 정상에 백록담이라는 화산호가 있는데, 백록담이라는 이름은 흰 사슴이 물을 먹는 곳이라는 뜻에서 왔다고 전해진다.</div></Card.Body>\r\n </Accordion.Collapse>\r\n </Row>\r\n </Accordion>\r\n <Row style={{ color: 'white' }}>\r\n <a href=\"https://www.daum.net/\" className=\"mb-2\">다음</a><a href=\"https://www.naver.com/\" className=\"mb-2\">네이버</a><a href=\"https://www.google.com/\" className=\"mb-2\">구글</a>\r\n </Row>\r\n // </Container>\r\n <Carousel>\r\n <Carousel.Item interval={1000}>\r\n <h3>다음 블로그</h3>\r\n <div>주도 전역을 지배하는 한라산은 남한에서 가장 높은 산으로 높이는 1,947.3m이다. 한라산이라는 이름은 산이 높아 산정에 서면 은하수를 잡아당길 수 있다는 뜻이며, 부악·원산·선산·두무악·영주산·부라산·혈망봉·여장군 등으로도 불려왔다.</div>\r\n </Carousel.Item>\r\n <Carousel.Item interval={1000}>\r\n <h3>네이버 블로그</h3>\r\n <div>한라산은 1966년 한라산 천연보호구역으로, 1970년 국립공원으로 지정되었다. 그리고 2002년에는 유네스코 생물권보전지역으로 지정되었으며 2007년에는 유네스코 세계자연유산으로 등재되었다. 2008년에는 물장오리오름 산정화구호 습지가 람사르 습지로 등록되어 보호 관리되고 있다</div>\r\n </Carousel.Item>\r\n <Carousel.Item interval={1000}>\r\n <h3>구글 블로그</h3>\r\n <div>한라산은 제주도에 있는 해발 1,947.06m, 면적 약 1,820km²의 화산으로, 제주도의 면적 대부분을 차지하고 있다. 정상에 백록담이라는 화산호가 있는데, 백록담이라는 이름은 흰 사슴이 물을 먹는 곳이라는 뜻에서 왔다고 전해진다.</div>\r\n </Carousel.Item>\r\n </Carousel> */}\r\n </Modal.Body>\r\n <Modal.Footer>\r\n <Button block onClick={props.onHide}>Close</Button>\r\n </Modal.Footer>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default Place;\r\n","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Login.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\catchErrors.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Signup.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\auth.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Paginations.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Search.js",["70","71","72"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\App.js",["73","74","75","76"],"import React, { useEffect, useState } from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport ohuh from './ohuh.PNG'\r\nimport { Container, Row, Form, Image, InputGroup, Button, Col, FormControl, Navbar, Nav } from 'react-bootstrap';\r\nimport { handleLogout, isAuthenticated } from './utils/auth.js'\r\n\r\nfunction App() {\r\n const [state, setState] = useState(false);\r\n const [search, setSearch] = useState(\"\");\r\n const user = isAuthenticated()\r\n\r\n if (state !== false) {\r\n return <Redirect to={{\r\n pathname: `/search/${search}`,\r\n state: { id: search },\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 = () => {\r\n setState(true);\r\n }\r\n\r\n return (\r\n <Container className=\"vh-100 d-flex justify-content-md-center align-items-center\">\r\n <Col md={6} style={{ marginTop: 140 }}>\r\n <Nav className=\"justify-content-end\" bg=\"#fff\" variant=\"light\" >\r\n {user ? <Nav.Link onClick={() => handleLogout()}>로그아웃</Nav.Link>\r\n : (\r\n <>\r\n <Nav.Link href=\"/signup\">회원가입</Nav.Link>\r\n <Nav.Link href=\"/login\">로그인</Nav.Link>\r\n </>\r\n )}\r\n <Nav.Link href='/bookmark'>북마크</Nav.Link>\r\n </Nav>\r\n <Row style={{ marginBottom: 20 }}>\r\n <Image src={ohuh} />\r\n </Row>\r\n <Row style={{ marginBottom: 500 }}>\r\n <Form className=\"vw-100\" onSubmit={handleSubmit}>\r\n <InputGroup style={{ width: 560 }}>\r\n <Form.Control\r\n size=\"lg\"\r\n placeholder=\"검색어를 입력하세요.\"\r\n aria-label=\"Large\"\r\n aria-describedby=\"inputGroup-sizing-sm\"\r\n onChange={handleChange}\r\n />\r\n <InputGroup.Append>\r\n <Button type='submit' variant=\"outline-secondary\">검색</Button>\r\n </InputGroup.Append>\r\n </InputGroup>\r\n </Form>\r\n </Row>\r\n </Col>\r\n </Container>\r\n );\r\n}\r\n\r\nexport default App;\r\n","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\PrivateRoute.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Bookmark.js",["77","78","79","80","81","82","83","84","85","86","87","88"],"import React, { useState, useEffect } from 'react'\r\nimport { Alert, Col, Card, Container, Form, Row, Button, Nav, Navbar, ListGroup, Image, Table } from \"react-bootstrap\"\r\nimport axios from \"axios\"\r\nimport { Redirect } from 'react-router-dom'\r\n\r\nfunction Bookmark() {\r\n // function addFavorite() {\r\n // const title = document.title\r\n // const url = window.location.href\r\n // if (window.sidebar && window.sidebar.addPanel) {\r\n // window.sidebar.addPanel(title, url, \"\")\r\n // } else if (window.opera && window.print) {\r\n // const elem = document.createElement('a');\r\n // elem.setAttribute('href', url);\r\n // elem.setAttribute('title', title);\r\n // elem.setAttribute('rel', 'sidebar');\r\n // elem.click();\r\n // } else if (document.all) { //msie\r\n // window.external.AddFavorite(url, title);\r\n // } else {\r\n // alert(\"해당브라우저는 즐겨찾기 추가기능이 지원되지 않습니다.\\n\\n수동으로 즐겨찾기에 추가해주세요.\");\r\n // return true;\r\n // }\r\n // }\r\n const add_Page = [{\r\n title:'즐겨찾기1',\r\n url:'http://localhost:3000',\r\n }, {\r\n title:'즐겨찾기2',\r\n url:'https://www.naver.com/',\r\n }, {\r\n title:'즐겨찾기3',\r\n url:'https://www.youtube.com/watch?v=wo46N-LQK7o'\r\n }]\r\n // const addPlace = addFavorite(add_Page)\r\n \r\n\r\n return (\r\n <Container>\r\n <Navbar bg=\"primary\" variant=\"dark\">\r\n <Navbar.Brand href=\"/\">북마크</Navbar.Brand>\r\n <Nav className=\"mr-auto\">\r\n <Nav.Link href=\"/\">Home</Nav.Link>\r\n </Nav>\r\n {/* <Form inline>\r\n <FormControl type=\"text\" placeholder=\"Search\" className=\"mr-sm-2\" />\r\n <Button variant=\"outline-light\">Search</Button>\r\n </Form> */}\r\n </Navbar>\r\n <Form>\r\n <ListGroup>\r\n <ListGroup.Item action href=\"\">북마크1</ListGroup.Item>\r\n <ListGroup.Item>북마크2</ListGroup.Item>\r\n </ListGroup>\r\n </Form>\r\n </Container>\r\n )\r\n}\r\n\r\nexport default Bookmark",{"ruleId":"89","severity":1,"message":"90","line":18,"column":8,"nodeType":"91","messageId":"92","endLine":18,"endColumn":13},{"ruleId":"93","replacedBy":"94"},{"ruleId":"95","replacedBy":"96"},{"ruleId":"89","severity":1,"message":"90","line":1,"column":8,"nodeType":"91","messageId":"92","endLine":1,"endColumn":13},{"ruleId":"89","severity":1,"message":"97","line":2,"column":17,"nodeType":"91","messageId":"92","endLine":2,"endColumn":26},{"ruleId":"89","severity":1,"message":"98","line":2,"column":28,"nodeType":"91","messageId":"92","endLine":2,"endColumn":36},{"ruleId":"89","severity":1,"message":"99","line":3,"column":33,"nodeType":"91","messageId":"92","endLine":3,"endColumn":36},{"ruleId":"89","severity":1,"message":"100","line":3,"column":46,"nodeType":"91","messageId":"92","endLine":3,"endColumn":51},{"ruleId":"89","severity":1,"message":"101","line":3,"column":53,"nodeType":"91","messageId":"92","endLine":3,"endColumn":57},{"ruleId":"89","severity":1,"message":"102","line":3,"column":59,"nodeType":"91","messageId":"92","endLine":3,"endColumn":68},{"ruleId":"89","severity":1,"message":"103","line":3,"column":70,"nodeType":"91","messageId":"92","endLine":3,"endColumn":78},{"ruleId":"89","severity":1,"message":"90","line":8,"column":8,"nodeType":"91","messageId":"92","endLine":8,"endColumn":13},{"ruleId":"89","severity":1,"message":"104","line":16,"column":12,"nodeType":"91","messageId":"92","endLine":16,"endColumn":18},{"ruleId":"105","severity":1,"message":"106","line":90,"column":35,"nodeType":"107","endLine":90,"endColumn":76},{"ruleId":"89","severity":1,"message":"97","line":1,"column":17,"nodeType":"91","messageId":"92","endLine":1,"endColumn":26},{"ruleId":"89","severity":1,"message":"108","line":2,"column":10,"nodeType":"91","messageId":"92","endLine":2,"endColumn":14},{"ruleId":"89","severity":1,"message":"109","line":4,"column":64,"nodeType":"91","messageId":"92","endLine":4,"endColumn":75},{"ruleId":"89","severity":1,"message":"110","line":4,"column":77,"nodeType":"91","messageId":"92","endLine":4,"endColumn":83},{"ruleId":"89","severity":1,"message":"98","line":1,"column":17,"nodeType":"91","messageId":"92","endLine":1,"endColumn":25},{"ruleId":"89","severity":1,"message":"97","line":1,"column":27,"nodeType":"91","messageId":"92","endLine":1,"endColumn":36},{"ruleId":"89","severity":1,"message":"111","line":2,"column":10,"nodeType":"91","messageId":"92","endLine":2,"endColumn":15},{"ruleId":"89","severity":1,"message":"99","line":2,"column":17,"nodeType":"91","messageId":"92","endLine":2,"endColumn":20},{"ruleId":"89","severity":1,"message":"101","line":2,"column":22,"nodeType":"91","messageId":"92","endLine":2,"endColumn":26},{"ruleId":"89","severity":1,"message":"112","line":2,"column":45,"nodeType":"91","messageId":"92","endLine":2,"endColumn":48},{"ruleId":"89","severity":1,"message":"113","line":2,"column":50,"nodeType":"91","messageId":"92","endLine":2,"endColumn":56},{"ruleId":"89","severity":1,"message":"114","line":2,"column":82,"nodeType":"91","messageId":"92","endLine":2,"endColumn":87},{"ruleId":"89","severity":1,"message":"115","line":2,"column":89,"nodeType":"91","messageId":"92","endLine":2,"endColumn":94},{"ruleId":"89","severity":1,"message":"90","line":3,"column":8,"nodeType":"91","messageId":"92","endLine":3,"endColumn":13},{"ruleId":"89","severity":1,"message":"116","line":4,"column":10,"nodeType":"91","messageId":"92","endLine":4,"endColumn":18},{"ruleId":"89","severity":1,"message":"117","line":25,"column":11,"nodeType":"91","messageId":"92","endLine":25,"endColumn":19},"no-unused-vars","'axios' is defined but never used.","Identifier","unusedVar","no-native-reassign",["118"],"no-negated-in-lhs",["119"],"'useEffect' is defined but never used.","'useState' is defined but never used.","'Col' is defined but never used.","'Badge' is defined but never used.","'Card' is defined but never used.","'Accordion' is defined but never used.","'Carousel' is defined but never used.","'mobile' is assigned a value but never used.","react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'Link' is defined but never used.","'FormControl' is defined but never used.","'Navbar' is defined but never used.","'Alert' is defined but never used.","'Row' is defined but never used.","'Button' is defined but never used.","'Image' is defined but never used.","'Table' is defined but never used.","'Redirect' is defined but never used.","'add_Page' is assigned a value but never used.","no-global-assign","no-unsafe-negation"]
[{"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\index.js":"1","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\reportWebVitals.js":"2","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\pagination.js":"3","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Place.js":"4","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Login.js":"5","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\catchErrors.js":"6","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Signup.js":"7","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\auth.js":"8","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Paginations.js":"9","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Search.js":"10","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\App.js":"11","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\PrivateRoute.js":"12","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Bookmark.js":"13"},{"size":1252,"mtime":1611127524644,"results":"14","hashOfConfig":"15"},{"size":362,"mtime":499162500000,"results":"16","hashOfConfig":"15"},{"size":2336,"mtime":1611127524186,"results":"17","hashOfConfig":"15"},{"size":1608,"mtime":1611127940167,"results":"18","hashOfConfig":"15"},{"size":2742,"mtime":1610519196409,"results":"19","hashOfConfig":"15"},{"size":405,"mtime":1609915408569,"results":"20","hashOfConfig":"15"},{"size":2675,"mtime":1610519220676,"results":"21","hashOfConfig":"15"},{"size":459,"mtime":1610352110057,"results":"22","hashOfConfig":"15"},{"size":2199,"mtime":1610503781980,"results":"23","hashOfConfig":"15"},{"size":12035,"mtime":1611127381906,"results":"24","hashOfConfig":"15"},{"size":2110,"mtime":1610617422890,"results":"25","hashOfConfig":"15"},{"size":438,"mtime":1610615328660,"results":"26","hashOfConfig":"15"},{"size":2304,"mtime":1611111672945,"results":"27","hashOfConfig":"15"},{"filePath":"28","messages":"29","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"30","usedDeprecatedRules":"31"},"1t9w6go",{"filePath":"32","messages":"33","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"34","messages":"35","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"38","messages":"39","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"40","messages":"41","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"42","messages":"43","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"46","messages":"47","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"48","messages":"49","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"50","messages":"51","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"52","usedDeprecatedRules":"31"},{"filePath":"53","messages":"54","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"31"},{"filePath":"55","messages":"56","errorCount":0,"warningCount":12,"fixableErrorCount":0,"fixableWarningCount":0,"source":"57","usedDeprecatedRules":"31"},"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\index.js",["58"],"import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport App from './App'\r\nimport Search from './Search';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport Signup from './Components/Signup'\r\nimport Login from './Components/Login'\r\nimport PrivateRoute from \"./Components/PrivateRoute\";\r\nimport Bookmark from \"./Bookmark\"\r\nimport {\r\n BrowserRouter as Router,\r\n Switch,\r\n Route,\r\n Redirect,\r\n} from \"react-router-dom\";\r\nimport axios from 'axios';\r\n\r\n\r\nReactDOM.render(\r\n <React.StrictMode>\r\n <Router>\r\n <Switch>\r\n <Route exact path=\"/\" component={App} />\r\n <Route path=\"/search\" component={Search} />\r\n <Route path='/signup' component={Signup}/>\r\n <Route path='/login' component={Login} />\r\n <Redirect path=\"/search/:search\" to=\"/search\" />\r\n <PrivateRoute path='/bookmark'><Bookmark/></PrivateRoute>\r\n </Switch>\r\n </Router>\r\n </React.StrictMode>,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n",["59","60"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\reportWebVitals.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\pagination.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Place.js",["61","62","63","64","65","66"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Login.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\catchErrors.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Signup.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\utils\\auth.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\Paginations.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Search.js",["67","68","69"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\App.js",["70","71","72","73"],"import React, { useEffect, useState } from 'react';\r\nimport { Link, Redirect } from 'react-router-dom';\r\nimport ohuh from './ohuh.PNG'\r\nimport { Container, Row, Form, Image, InputGroup, Button, Col, FormControl, Navbar, Nav } from 'react-bootstrap';\r\nimport { handleLogout, isAuthenticated } from './utils/auth.js'\r\n\r\nfunction App() {\r\n const [state, setState] = useState(false);\r\n const [search, setSearch] = useState(\"\");\r\n const user = isAuthenticated()\r\n\r\n if (state !== false) {\r\n return <Redirect to={{\r\n pathname: `/search/${search}`,\r\n state: { id: search },\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 = () => {\r\n setState(true);\r\n }\r\n\r\n return (\r\n <Container className=\"vh-100 d-flex justify-content-md-center align-items-center\">\r\n <Col md={6} style={{ marginTop: 140 }}>\r\n <Nav className=\"justify-content-end\" bg=\"#fff\" variant=\"light\" >\r\n {user ? <Nav.Link onClick={() => handleLogout()}>로그아웃</Nav.Link>\r\n : (\r\n <>\r\n <Nav.Link href=\"/signup\">회원가입</Nav.Link>\r\n <Nav.Link href=\"/login\">로그인</Nav.Link>\r\n </>\r\n )}\r\n <Nav.Link href='/bookmark'>북마크</Nav.Link>\r\n </Nav>\r\n <Row style={{ marginBottom: 20 }}>\r\n <Image src={ohuh} />\r\n </Row>\r\n <Row style={{ marginBottom: 500 }}>\r\n <Form className=\"vw-100\" onSubmit={handleSubmit}>\r\n <InputGroup style={{ width: 560 }}>\r\n <Form.Control\r\n size=\"lg\"\r\n placeholder=\"검색어를 입력하세요.\"\r\n aria-label=\"Large\"\r\n aria-describedby=\"inputGroup-sizing-sm\"\r\n onChange={handleChange}\r\n />\r\n <InputGroup.Append>\r\n <Button type='submit' variant=\"outline-secondary\">검색</Button>\r\n </InputGroup.Append>\r\n </InputGroup>\r\n </Form>\r\n </Row>\r\n </Col>\r\n </Container>\r\n );\r\n}\r\n\r\nexport default App;\r\n","C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Components\\PrivateRoute.js",[],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\Bookmark.js",["74","75","76","77","78","79","80","81","82","83","84","85"],"import React, { useState, useEffect } from 'react'\r\nimport { Alert, Col, Card, Container, Form, Row, Button, Nav, Navbar, ListGroup, Image, Table } from \"react-bootstrap\"\r\nimport axios from \"axios\"\r\nimport { Redirect } from 'react-router-dom'\r\n\r\nfunction Bookmark() {\r\n // function addFavorite() {\r\n // const title = document.title\r\n // const url = window.location.href\r\n // if (window.sidebar && window.sidebar.addPanel) {\r\n // window.sidebar.addPanel(title, url, \"\")\r\n // } else if (window.opera && window.print) {\r\n // const elem = document.createElement('a');\r\n // elem.setAttribute('href', url);\r\n // elem.setAttribute('title', title);\r\n // elem.setAttribute('rel', 'sidebar');\r\n // elem.click();\r\n // } else if (document.all) { //msie\r\n // window.external.AddFavorite(url, title);\r\n // } else {\r\n // alert(\"해당브라우저는 즐겨찾기 추가기능이 지원되지 않습니다.\\n\\n수동으로 즐겨찾기에 추가해주세요.\");\r\n // return true;\r\n // }\r\n // }\r\n const add_Page = [{\r\n title:'즐겨찾기1',\r\n url:'http://localhost:3000',\r\n }, {\r\n title:'즐겨찾기2',\r\n url:'https://www.naver.com/',\r\n }, {\r\n title:'즐겨찾기3',\r\n url:'https://www.youtube.com/watch?v=wo46N-LQK7o'\r\n }]\r\n // const addPlace = addFavorite(add_Page)\r\n \r\n\r\n return (\r\n <Container>\r\n <Navbar bg=\"primary\" variant=\"dark\">\r\n <Navbar.Brand href=\"/\">북마크</Navbar.Brand>\r\n <Nav className=\"mr-auto\">\r\n <Nav.Link href=\"/\">Home</Nav.Link>\r\n </Nav>\r\n {/* <Form inline>\r\n <FormControl type=\"text\" placeholder=\"Search\" className=\"mr-sm-2\" />\r\n <Button variant=\"outline-light\">Search</Button>\r\n </Form> */}\r\n </Navbar>\r\n <Form>\r\n <ListGroup>\r\n <ListGroup.Item action href=\"\">북마크1</ListGroup.Item>\r\n <ListGroup.Item>북마크2</ListGroup.Item>\r\n </ListGroup>\r\n </Form>\r\n </Container>\r\n )\r\n}\r\n\r\nexport default Bookmark",{"ruleId":"86","severity":1,"message":"87","line":18,"column":8,"nodeType":"88","messageId":"89","endLine":18,"endColumn":13},{"ruleId":"90","replacedBy":"91"},{"ruleId":"92","replacedBy":"93"},{"ruleId":"86","severity":1,"message":"94","line":3,"column":33,"nodeType":"88","messageId":"89","endLine":3,"endColumn":36},{"ruleId":"86","severity":1,"message":"95","line":3,"column":46,"nodeType":"88","messageId":"89","endLine":3,"endColumn":51},{"ruleId":"86","severity":1,"message":"96","line":3,"column":53,"nodeType":"88","messageId":"89","endLine":3,"endColumn":57},{"ruleId":"86","severity":1,"message":"97","line":3,"column":59,"nodeType":"88","messageId":"89","endLine":3,"endColumn":68},{"ruleId":"86","severity":1,"message":"98","line":3,"column":70,"nodeType":"88","messageId":"89","endLine":3,"endColumn":78},{"ruleId":"99","severity":1,"message":"100","line":20,"column":6,"nodeType":"101","endLine":20,"endColumn":8,"suggestions":"102"},{"ruleId":"86","severity":1,"message":"87","line":8,"column":8,"nodeType":"88","messageId":"89","endLine":8,"endColumn":13},{"ruleId":"86","severity":1,"message":"103","line":16,"column":12,"nodeType":"88","messageId":"89","endLine":16,"endColumn":18},{"ruleId":"104","severity":1,"message":"105","line":90,"column":35,"nodeType":"106","endLine":90,"endColumn":76},{"ruleId":"86","severity":1,"message":"107","line":1,"column":17,"nodeType":"88","messageId":"89","endLine":1,"endColumn":26},{"ruleId":"86","severity":1,"message":"108","line":2,"column":10,"nodeType":"88","messageId":"89","endLine":2,"endColumn":14},{"ruleId":"86","severity":1,"message":"109","line":4,"column":64,"nodeType":"88","messageId":"89","endLine":4,"endColumn":75},{"ruleId":"86","severity":1,"message":"110","line":4,"column":77,"nodeType":"88","messageId":"89","endLine":4,"endColumn":83},{"ruleId":"86","severity":1,"message":"111","line":1,"column":17,"nodeType":"88","messageId":"89","endLine":1,"endColumn":25},{"ruleId":"86","severity":1,"message":"107","line":1,"column":27,"nodeType":"88","messageId":"89","endLine":1,"endColumn":36},{"ruleId":"86","severity":1,"message":"112","line":2,"column":10,"nodeType":"88","messageId":"89","endLine":2,"endColumn":15},{"ruleId":"86","severity":1,"message":"94","line":2,"column":17,"nodeType":"88","messageId":"89","endLine":2,"endColumn":20},{"ruleId":"86","severity":1,"message":"96","line":2,"column":22,"nodeType":"88","messageId":"89","endLine":2,"endColumn":26},{"ruleId":"86","severity":1,"message":"113","line":2,"column":45,"nodeType":"88","messageId":"89","endLine":2,"endColumn":48},{"ruleId":"86","severity":1,"message":"114","line":2,"column":50,"nodeType":"88","messageId":"89","endLine":2,"endColumn":56},{"ruleId":"86","severity":1,"message":"115","line":2,"column":82,"nodeType":"88","messageId":"89","endLine":2,"endColumn":87},{"ruleId":"86","severity":1,"message":"116","line":2,"column":89,"nodeType":"88","messageId":"89","endLine":2,"endColumn":94},{"ruleId":"86","severity":1,"message":"87","line":3,"column":8,"nodeType":"88","messageId":"89","endLine":3,"endColumn":13},{"ruleId":"86","severity":1,"message":"117","line":4,"column":10,"nodeType":"88","messageId":"89","endLine":4,"endColumn":18},{"ruleId":"86","severity":1,"message":"118","line":25,"column":11,"nodeType":"88","messageId":"89","endLine":25,"endColumn":19},"no-unused-vars","'axios' is defined but never used.","Identifier","unusedVar","no-native-reassign",["119"],"no-negated-in-lhs",["120"],"'Col' is defined but never used.","'Badge' is defined but never used.","'Card' is defined but never used.","'Accordion' is defined but never used.","'Carousel' is defined but never used.","react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'getReview'. Either include it or remove the dependency array.","ArrayExpression",["121"],"'mobile' is assigned a value but never used.","react/jsx-no-duplicate-props","No duplicate props allowed","JSXAttribute","'useEffect' is defined but never used.","'Link' is defined but never used.","'FormControl' is defined but never used.","'Navbar' is defined but never used.","'useState' is defined but never used.","'Alert' is defined but never used.","'Row' is defined but never used.","'Button' is defined but never used.","'Image' is defined but never used.","'Table' is defined but never used.","'Redirect' is defined but never used.","'add_Page' is assigned a value but never used.","no-global-assign","no-unsafe-negation",{"desc":"122","fix":"123"},"Update the dependencies array to be: [getReview]",{"range":"124","text":"125"},[560,562],"[getReview]"]
<Card.Body><div>주도 전역을 지배하는 한라산은 남한에서 가장 높은 산으로 높이는 1,947.3m이다. 한라산이라는 이름은 산이 높아 산정에 서면 은하수를 잡아당길 수 있다는 뜻이며, 부악·원산·선산·두무악·영주산·부라산·혈망봉·여장군 등으로도 불려왔다.</div></Card.Body>
<Card.Body><div>한라산은 1966년 한라산 천연보호구역으로, 1970년 국립공원으로 지정되었다. 그리고 2002년에는 유네스코 생물권보전지역으로 지정되었으며 2007년에는 유네스코 세계자연유산으로 등재되었다. 2008년에는 물장오리오름 산정화구호 습지가 람사르 습지로 등록되어 보호 관리되고 있다</div></Card.Body>
<Card.Body><div>한라산은 제주도에 있는 해발 1,947.06m, 면적 약 1,820km²의 화산으로, 제주도의 면적 대부분을 차지하고 있다. 정상에 백록담이라는 화산호가 있는데, 백록담이라는 이름은 흰 사슴이 물을 먹는 곳이라는 뜻에서 왔다고 전해진다.</div></Card.Body>
<div>주도 전역을 지배하는 한라산은 남한에서 가장 높은 산으로 높이는 1,947.3m이다. 한라산이라는 이름은 산이 높아 산정에 서면 은하수를 잡아당길 수 있다는 뜻이며, 부악·원산·선산·두무악·영주산·부라산·혈망봉·여장군 등으로도 불려왔다.</div>
</Carousel.Item>
<Carousel.Item interval={1000}>
<h3>네이버 블로그</h3>
<div>한라산은 1966년 한라산 천연보호구역으로, 1970년 국립공원으로 지정되었다. 그리고 2002년에는 유네스코 생물권보전지역으로 지정되었으며 2007년에는 유네스코 세계자연유산으로 등재되었다. 2008년에는 물장오리오름 산정화구호 습지가 람사르 습지로 등록되어 보호 관리되고 있다</div>
</Carousel.Item>
<Carousel.Item interval={1000}>
<h3>구글 블로그</h3>
<div>한라산은 제주도에 있는 해발 1,947.06m, 면적 약 1,820km²의 화산으로, 제주도의 면적 대부분을 차지하고 있다. 정상에 백록담이라는 화산호가 있는데, 백록담이라는 이름은 흰 사슴이 물을 먹는 곳이라는 뜻에서 왔다고 전해진다.</div>