Commit 4fb36f66 authored by Lee SeoYeon's avatar Lee SeoYeon
Browse files

.

parent d88a9d19
[{"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":1610617835443,"results":"14","hashOfConfig":"15"},{"size":362,"mtime":499162500000,"results":"16","hashOfConfig":"15"},{"size":2211,"mtime":1609913204293,"results":"17","hashOfConfig":"15"},{"size":5321,"mtime":1610510910816,"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":38598,"mtime":1611104796725,"results":"24","hashOfConfig":"15"},{"size":2110,"mtime":1610617422890,"results":"25","hashOfConfig":"15"},{"size":438,"mtime":1610615328660,"results":"26","hashOfConfig":"15"},{"size":2430,"mtime":1611103256785,"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":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"38","usedDeprecatedRules":"31"},{"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":6,"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"],"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 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\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 </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",["68","69","70","71","72","73"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\App.js",["74","75","76","77"],"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",["78","79","80","81","82","83","84","85","86","87","88","89"],"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 [index, setIndex] = useState(1);\r\n // const [showSet, setShowSet] = useState([false, false, false, false]);\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":"90","severity":1,"message":"91","line":18,"column":8,"nodeType":"92","messageId":"93","endLine":18,"endColumn":13},{"ruleId":"94","replacedBy":"95"},{"ruleId":"96","replacedBy":"97"},{"ruleId":"90","severity":1,"message":"98","line":3,"column":33,"nodeType":"92","messageId":"93","endLine":3,"endColumn":36},{"ruleId":"90","severity":1,"message":"99","line":3,"column":46,"nodeType":"92","messageId":"93","endLine":3,"endColumn":51},{"ruleId":"90","severity":1,"message":"100","line":3,"column":53,"nodeType":"92","messageId":"93","endLine":3,"endColumn":57},{"ruleId":"90","severity":1,"message":"101","line":3,"column":59,"nodeType":"92","messageId":"93","endLine":3,"endColumn":68},{"ruleId":"90","severity":1,"message":"102","line":3,"column":70,"nodeType":"92","messageId":"93","endLine":3,"endColumn":78},{"ruleId":"103","severity":1,"message":"104","line":19,"column":6,"nodeType":"105","endLine":19,"endColumn":8,"suggestions":"106"},{"ruleId":"90","severity":1,"message":"107","line":5,"column":83,"nodeType":"92","messageId":"93","endLine":5,"endColumn":93},{"ruleId":"90","severity":1,"message":"108","line":5,"column":95,"nodeType":"92","messageId":"93","endLine":5,"endColumn":98},{"ruleId":"90","severity":1,"message":"109","line":5,"column":100,"nodeType":"92","messageId":"93","endLine":5,"endColumn":106},{"ruleId":"90","severity":1,"message":"110","line":7,"column":10,"nodeType":"92","messageId":"93","endLine":7,"endColumn":21},{"ruleId":"90","severity":1,"message":"111","line":15,"column":12,"nodeType":"92","messageId":"93","endLine":15,"endColumn":18},{"ruleId":"112","severity":1,"message":"113","line":460,"column":35,"nodeType":"114","endLine":460,"endColumn":76},{"ruleId":"90","severity":1,"message":"115","line":1,"column":17,"nodeType":"92","messageId":"93","endLine":1,"endColumn":26},{"ruleId":"90","severity":1,"message":"116","line":2,"column":10,"nodeType":"92","messageId":"93","endLine":2,"endColumn":14},{"ruleId":"90","severity":1,"message":"117","line":4,"column":64,"nodeType":"92","messageId":"93","endLine":4,"endColumn":75},{"ruleId":"90","severity":1,"message":"109","line":4,"column":77,"nodeType":"92","messageId":"93","endLine":4,"endColumn":83},{"ruleId":"90","severity":1,"message":"118","line":1,"column":17,"nodeType":"92","messageId":"93","endLine":1,"endColumn":25},{"ruleId":"90","severity":1,"message":"115","line":1,"column":27,"nodeType":"92","messageId":"93","endLine":1,"endColumn":36},{"ruleId":"90","severity":1,"message":"119","line":2,"column":10,"nodeType":"92","messageId":"93","endLine":2,"endColumn":15},{"ruleId":"90","severity":1,"message":"98","line":2,"column":17,"nodeType":"92","messageId":"93","endLine":2,"endColumn":20},{"ruleId":"90","severity":1,"message":"100","line":2,"column":22,"nodeType":"92","messageId":"93","endLine":2,"endColumn":26},{"ruleId":"90","severity":1,"message":"120","line":2,"column":45,"nodeType":"92","messageId":"93","endLine":2,"endColumn":48},{"ruleId":"90","severity":1,"message":"121","line":2,"column":50,"nodeType":"92","messageId":"93","endLine":2,"endColumn":56},{"ruleId":"90","severity":1,"message":"122","line":2,"column":82,"nodeType":"92","messageId":"93","endLine":2,"endColumn":87},{"ruleId":"90","severity":1,"message":"123","line":2,"column":89,"nodeType":"92","messageId":"93","endLine":2,"endColumn":94},{"ruleId":"90","severity":1,"message":"91","line":3,"column":8,"nodeType":"92","messageId":"93","endLine":3,"endColumn":13},{"ruleId":"90","severity":1,"message":"124","line":4,"column":10,"nodeType":"92","messageId":"93","endLine":4,"endColumn":18},{"ruleId":"90","severity":1,"message":"125","line":27,"column":11,"nodeType":"92","messageId":"93","endLine":27,"endColumn":19},"no-unused-vars","'axios' is defined but never used.","Identifier","unusedVar","no-native-reassign",["126"],"no-negated-in-lhs",["127"],"'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",["128"],"'Pagination' is defined but never used.","'Nav' is defined but never used.","'Navbar' is defined but never used.","'addFavorite' is defined but never used.","'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.","'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":"129","fix":"130"},"Update the dependencies array to be: [getReview]",{"range":"131","text":"132"},[511,513],"[getReview]"] [{"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":1610617835443,"results":"14","hashOfConfig":"15"},{"size":362,"mtime":499162500000,"results":"16","hashOfConfig":"15"},{"size":2211,"mtime":1609913204293,"results":"17","hashOfConfig":"15"},{"size":5321,"mtime":1610510910816,"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":40560,"mtime":1611107357042,"results":"24","hashOfConfig":"15"},{"size":2110,"mtime":1610617422890,"results":"25","hashOfConfig":"15"},{"size":438,"mtime":1610615328660,"results":"26","hashOfConfig":"15"},{"size":2430,"mtime":1611103256785,"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":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"38","usedDeprecatedRules":"31"},{"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":1,"warningCount":0,"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"],"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 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\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 </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",["68"],"C:\\Users\\hello\\Desktop\\project\\search-page\\client\\src\\App.js",["69","70","71","72"],"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",["73","74","75","76","77","78","79","80","81","82","83","84"],"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 [index, setIndex] = useState(1);\r\n // const [showSet, setShowSet] = useState([false, false, false, false]);\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":"85","severity":1,"message":"86","line":18,"column":8,"nodeType":"87","messageId":"88","endLine":18,"endColumn":13},{"ruleId":"89","replacedBy":"90"},{"ruleId":"91","replacedBy":"92"},{"ruleId":"85","severity":1,"message":"93","line":3,"column":33,"nodeType":"87","messageId":"88","endLine":3,"endColumn":36},{"ruleId":"85","severity":1,"message":"94","line":3,"column":46,"nodeType":"87","messageId":"88","endLine":3,"endColumn":51},{"ruleId":"85","severity":1,"message":"95","line":3,"column":53,"nodeType":"87","messageId":"88","endLine":3,"endColumn":57},{"ruleId":"85","severity":1,"message":"96","line":3,"column":59,"nodeType":"87","messageId":"88","endLine":3,"endColumn":68},{"ruleId":"85","severity":1,"message":"97","line":3,"column":70,"nodeType":"87","messageId":"88","endLine":3,"endColumn":78},{"ruleId":"98","severity":1,"message":"99","line":19,"column":6,"nodeType":"100","endLine":19,"endColumn":8,"suggestions":"101"},{"ruleId":null,"fatal":true,"severity":2,"message":"102","line":542,"column":1},{"ruleId":"85","severity":1,"message":"103","line":1,"column":17,"nodeType":"87","messageId":"88","endLine":1,"endColumn":26},{"ruleId":"85","severity":1,"message":"104","line":2,"column":10,"nodeType":"87","messageId":"88","endLine":2,"endColumn":14},{"ruleId":"85","severity":1,"message":"105","line":4,"column":64,"nodeType":"87","messageId":"88","endLine":4,"endColumn":75},{"ruleId":"85","severity":1,"message":"106","line":4,"column":77,"nodeType":"87","messageId":"88","endLine":4,"endColumn":83},{"ruleId":"85","severity":1,"message":"107","line":1,"column":17,"nodeType":"87","messageId":"88","endLine":1,"endColumn":25},{"ruleId":"85","severity":1,"message":"103","line":1,"column":27,"nodeType":"87","messageId":"88","endLine":1,"endColumn":36},{"ruleId":"85","severity":1,"message":"108","line":2,"column":10,"nodeType":"87","messageId":"88","endLine":2,"endColumn":15},{"ruleId":"85","severity":1,"message":"93","line":2,"column":17,"nodeType":"87","messageId":"88","endLine":2,"endColumn":20},{"ruleId":"85","severity":1,"message":"95","line":2,"column":22,"nodeType":"87","messageId":"88","endLine":2,"endColumn":26},{"ruleId":"85","severity":1,"message":"109","line":2,"column":45,"nodeType":"87","messageId":"88","endLine":2,"endColumn":48},{"ruleId":"85","severity":1,"message":"110","line":2,"column":50,"nodeType":"87","messageId":"88","endLine":2,"endColumn":56},{"ruleId":"85","severity":1,"message":"111","line":2,"column":82,"nodeType":"87","messageId":"88","endLine":2,"endColumn":87},{"ruleId":"85","severity":1,"message":"112","line":2,"column":89,"nodeType":"87","messageId":"88","endLine":2,"endColumn":94},{"ruleId":"85","severity":1,"message":"86","line":3,"column":8,"nodeType":"87","messageId":"88","endLine":3,"endColumn":13},{"ruleId":"85","severity":1,"message":"113","line":4,"column":10,"nodeType":"87","messageId":"88","endLine":4,"endColumn":18},{"ruleId":"85","severity":1,"message":"114","line":27,"column":11,"nodeType":"87","messageId":"88","endLine":27,"endColumn":19},"no-unused-vars","'axios' is defined but never used.","Identifier","unusedVar","no-native-reassign",["115"],"no-negated-in-lhs",["116"],"'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",["117"],"Parsing error: 'import' and 'export' may only appear at the top level\n\n\u001b[0m \u001b[90m 540 | \u001b[39m}\u001b[0m\n\u001b[0m \u001b[90m 541 | \u001b[39m\u001b[0m\n\u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 542 | \u001b[39m\u001b[36mexport\u001b[39m \u001b[36mdefault\u001b[39m \u001b[33mSearch\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m | \u001b[39m\u001b[31m\u001b[1m^\u001b[22m\u001b[39m\u001b[0m\n\u001b[0m \u001b[90m 543 | \u001b[39m\u001b[0m","'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":"118","fix":"119"},"Update the dependencies array to be: [getReview]",{"range":"120","text":"121"},[511,513],"[getReview]"]
\ No newline at end of file \ No newline at end of file
...@@ -6,6 +6,7 @@ import { Container, Form, Row, Col, Card, Image, InputGroup, FormControl, Button ...@@ -6,6 +6,7 @@ import { Container, Form, Row, Col, Card, Image, InputGroup, FormControl, Button
import Paginations from './pagination.js'; import Paginations from './pagination.js';
import { addFavorite } from './Bookmark.js' import { addFavorite } from './Bookmark.js'
function Search(props) { function Search(props) {
const endPage = 10; const endPage = 10;
const [state, setState] = useState(false); const [state, setState] = useState(false);
...@@ -19,7 +20,7 @@ function Search(props) { ...@@ -19,7 +20,7 @@ function Search(props) {
setMobile(true) setMobile(true)
} else { } else {
setMobile(false) setMobile(false)
} }
}, []); }, []);
const places = [{ const places = [{
...@@ -449,65 +450,93 @@ function Search(props) { ...@@ -449,65 +450,93 @@ function Search(props) {
return page return page
} }
function addicon() {
const [show, setShow] = useState(false);
const handleClose = () => setShow(false);
const handleShow = () => setShow(true);
const pagePlace = paginate(places, index)
return ( const pagePlace = paginate(places, index)
<Container >
<Link to="/" className="d-flex justify-content-center"><Image src={ohuh} /></Link>
<Row className="mb-2" className="d-flex justify-content-center"> return (
<Form style={{ width: "90vw" }} onSubmit={handleSubmit}> <Container >
<InputGroup size="lg"> <Link to="/" className="d-flex justify-content-center"><Image src={ohuh} /></Link>
<Link to="/"> <Row className="mb-2" className="d-flex justify-content-center">
<Col> <Form style={{ width: "90vw" }} onSubmit={handleSubmit}>
{/* <Image src={ohuh} fluid width="130px" /> */} <InputGroup size="lg">
</Col> <Link to="/">
</Link> <Col>
<FormControl {/* <Image src={ohuh} fluid width="130px" /> */}
placeholder="검색어를 입력하세요." </Col>
value={search} </Link>
aria-label="Large" <FormControl
aria-describedby="inputGroup-sizing-sm" placeholder="검색어를 입력하세요."
onChange={handleChange} value={search}
/> aria-label="Large"
<InputGroup.Append> aria-describedby="inputGroup-sizing-sm"
<Button type="submit" variant="outline-secondary" style={{ maxHeight: "8vh", maxWidth: "14vh" }} >검색</Button> onChange={handleChange}
</InputGroup.Append> />
</InputGroup> <InputGroup.Append>
</Form> <Button type="submit" variant="outline-secondary" style={{ maxHeight: "8vh", maxWidth: "14vh" }} >검색</Button>
</Row> </InputGroup.Append>
<Row className="d-flex flex-wrap"> </InputGroup>
{pagePlace.map((place, index) => { </Form>
return ( </Row>
<Col key={index} md={6} > <Row className="d-flex flex-wrap">
<Card align="center" border="info" style={{ margin: "3%" }}> {pagePlace.map((place, index) => {
<Card.Title style={{ margin: "3%", fontSize: '200%', fontWeight: 'bold' }}>{place.name}</Card.Title> return (
<Card.Img variant="top" style={{ padding: "5%", width: "100%", height: "340px" }} src={place.img} /> <Col key={index} md={6} >
<Card.Body > <Card align="center" border="info" style={{ margin: "3%" }}>
<Card.Text style={{ overflow: 'auto', fontSize: '25px', width: '100%', height: "80px" }} > <Card.Title style={{ margin: "3%", fontSize: '200%', fontWeight: 'bold' }}>{place.name}<Button onClick={handleShow}> <Modal
{place.address} </Card.Text> show={show}
<Button variant="primary" onClick={() => { onHide={handleClose}
const showArr = [false, false, false, false] backdrop="static"
showArr[index] = true keyboard={false}
setShowSet(showArr) ><Form>
}}>{place.name} 자세히 살펴보기</Button> <Form.Group controlId="formBasicEmail">
<Place search={place} index={index} show={showSet[index]} onHide={() => setShowSet([false, false, false, false])} /> <Form.Label>이름</Form.Label>
</Card.Body> <Form.Control type="email" placeholder="Enter email" />
<Form.Text className="text-muted">
We'll never share your email with anyone else.
</Form.Text>
</Form.Group>
<Form.Group controlId="formBasicPassword">
<Form.Label>폴더</Form.Label>
<Form.Control type="password" placeholder="Password" />
</Form.Group>
<Form.Group controlId="formBasicCheckbox">
<Form.Check type="checkbox" label="Check me out" />
</Form.Group>
<Button variant="primary" type="submit">
Submit
</Button>
</Form></Modal></Button></Card.Title>
<Card.Img variant="top" style={{ padding: "5%", width: "100%", height: "340px" }} src={place.img} />
<Card.Body >
<Card.Text style={{ overflow: 'auto', fontSize: '25px', width: '100%', height: "80px" }} >
{place.address} </Card.Text>
<Button variant="primary" onClick={() => {
const showArr = [false, false, false, false]
showArr[index] = true
setShowSet(showArr)
}}>{place.name} 자세히 살펴보기</Button>
<Place search={place} index={index} show={showSet[index]} onHide={() => setShowSet([false, false, false, false])} />
</Card.Body>
</Card> </Card>
</Col> </Col>
) )
})} })}
</Row> </Row>
{console.log(showSet)} { console.log(showSet) }
{/* show가 전부 true로 바뀌어서 전부 다 보이게 되는 것이다. */} {/* show가 전부 true로 바뀌어서 전부 다 보이게 되는 것이다. */ }
<Row className="mt-2 d-flex justify-content-center"> <Row className="mt-2 d-flex justify-content-center">
<Paginations index={index} endPage={endPage} handlePage={handlePage}></Paginations> <Paginations index={index} endPage={endPage} handlePage={handlePage}></Paginations>
</Row> </Row>
</Container> </Container>
); );
} }
export default Search; export default Search
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment