Commit c20e9d7b authored by Kim, Subin's avatar Kim, Subin
Browse files

Merge remote-tracking branch 'origin/jiwon' into ourMaster

parents 50c453cb 0a73fd43
[{"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\index.js":"1","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\reportWebVitals.js":"2","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\App.js":"3","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Login.js":"4","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Admin.js":"5","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Signup.js":"6","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Home.js":"7","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\ShoppingCart.js":"8","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Payment.js":"9","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\MainNav.js":"10","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\SubNav.js":"11","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\Pagination.js":"12"},{"size":1192,"mtime":1609236008739,"results":"13","hashOfConfig":"14"},{"size":375,"mtime":1609228982944,"results":"15","hashOfConfig":"14"},{"size":528,"mtime":499162500000,"results":"16","hashOfConfig":"14"},{"size":299,"mtime":1609228981316,"results":"17","hashOfConfig":"14"},{"size":4826,"mtime":1609236020379,"results":"18","hashOfConfig":"14"},{"size":1463,"mtime":1609236061205,"results":"19","hashOfConfig":"14"},{"size":299,"mtime":1609228981207,"results":"20","hashOfConfig":"14"},{"size":361,"mtime":1609236036292,"results":"21","hashOfConfig":"14"},{"size":305,"mtime":1609228981495,"results":"22","hashOfConfig":"14"},{"size":1188,"mtime":1609228980628,"results":"23","hashOfConfig":"14"},{"size":5929,"mtime":1609228980995,"results":"24","hashOfConfig":"14"},{"size":533,"mtime":1609228980905,"results":"25","hashOfConfig":"14"},{"filePath":"26","messages":"27","errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"zu2uto",{"filePath":"28","messages":"29","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"30"},{"filePath":"31","messages":"32","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"35","usedDeprecatedRules":"30"},{"filePath":"36","messages":"37","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"38","usedDeprecatedRules":"30"},{"filePath":"39","messages":"40","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"41","messages":"42","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"43","usedDeprecatedRules":"30"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"46","usedDeprecatedRules":"30"},{"filePath":"47","messages":"48","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"49","usedDeprecatedRules":"30"},{"filePath":"50","messages":"51","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"52","usedDeprecatedRules":"30"},{"filePath":"53","messages":"54","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"55","usedDeprecatedRules":"30"},{"filePath":"56","messages":"57","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"58","usedDeprecatedRules":"30"},"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\index.js",["59"],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\reportWebVitals.js",[],["60","61"],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\App.js",[],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Login.js",["62","63","64"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\nfunction Login() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Login","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Admin.js",["65","66","67","68","69"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\nimport Pagination from '../Components/Pagination';\r\nimport search from '../search.svg';\r\nimport { Row, Col, Form, FormControl, Button, Card } from 'react-bootstrap';\r\n\r\nfunction Admin() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n <Row className=\"justify-content-end mt-5 mr-3\">\r\n <Col md={4} sm={5} xs={8} as={Form} inline className=\"justify-content-end\">\r\n <FormControl type=\"text\" placeholder=\"Search\" className=\"mr-1\" />\r\n <Button bg=\"dark\" variant=\"dark\" type=\"submit\" className=\"px-2\">\r\n <img src={search} width=\"20\" height=\"20\" />\r\n </Button>\r\n </Col>\r\n <Col sm={2} xs={3} as={Button} variant=\"dark\" type=\"button\" href=\"/:id/productsregist\">상품 등록</Col>\r\n </Row>\r\n <Row className=\"mt-5 m-auto justify-content-start\">\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/67460/1607053816_0.jpg\" />\r\n <Card.Body>\r\n <Card.Title>케이시앵글부츠(SH)</Card.Title>\r\n <Card.Text>\r\n 재고: 8\r\n 구매자 수: 10\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/48705/1552562469_0.jpg\" />\r\n <Card.Body>\r\n <Card.Title>메리제인플랫(SH)</Card.Title>\r\n <Card.Text>\r\n 재고: 20\r\n 구매자 수: 60\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/53386/1567390097_2.jpg\" />\r\n <Card.Body>\r\n <Card.Title>솔티드스니커즈(SH)</Card.Title>\r\n <Card.Text>\r\n 재고: 34\r\n 구매자 수: 5\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/61286/1587540563_0.jpg\" />\r\n <Card.Body>\r\n <Card.Title>버켄슬리퍼(SH)</Card.Title>\r\n <Card.Text>\r\n 재고:\r\n 구매자 수:\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://hotping.co.kr/web/product/big/202011/b8f4c6471955b80fc3991b7d6df8926a.jpg\" />\r\n <Card.Body>\r\n <Card.Title>크레센도 하이힐펌프스</Card.Title>\r\n <Card.Text>\r\n 재고: 35\r\n 구매자 수: 70\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://hotping.co.kr/web/product/big/202011/888e4e8d6a2c2e7da385b079151fcba2.jpg\" />\r\n <Card.Body>\r\n <Card.Title>어텀솔져1cm 스웨이드로퍼</Card.Title>\r\n <Card.Text>\r\n 재고: 40\r\n 구매자 수: 30\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://hotping.co.kr/web/product/big/202007/3308564012eb14e6c11ed621fa7555fb.jpg\" />\r\n <Card.Body>\r\n <Card.Title>포웰3.5cm 스니커즈</Card.Title>\r\n <Card.Text>\r\n 재고: 15\r\n 구매자 수: 50\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n </Row>\r\n <Pagination />\r\n </div>\r\n\r\n )\r\n}\r\n\r\nexport default Admin","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Signup.js",["70","71","72","73"],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Home.js",["74","75","76"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\n\r\nfunction Home() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Home","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\ShoppingCart.js",["77","78","79","80"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\n\r\nfunction ShoppingCart() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default ShoppingCart","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Payment.js",["81","82","83"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\n\r\nfunction Payment() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Payment","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\MainNav.js",["84","85","86","87","88","89"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Navbar, Nav } from 'react-bootstrap';\r\nimport logo from '../footprint.svg';\r\nimport cart from '../cart.svg';\r\nimport option from '../option.svg';\r\n\r\nfunction MainNav() {\r\n function handleClick() {\r\n alert('로그아웃이 완료되었습니다.')\r\n }\r\n\r\n return (\r\n <Navbar fixed=\"top\" bg=\"dark\" variant=\"dark\" style={{position: \"sticky\"}}>\r\n <Navbar.Brand href=\"/home\">\r\n <img src={logo} width=\"23\" height=\"23\" />\r\n {' '}KU#\r\n </Navbar.Brand>\r\n <Nav className=\"justify-content-end\">\r\n <Nav.Link href=\"/login\">Login</Nav.Link>\r\n <Nav.Link href=\"/signup\">Signup</Nav.Link>\r\n <Nav.Link href=\"/shoppingcart\">\r\n <img src={cart} width=\"30\" height=\"30\" />\r\n </Nav.Link>\r\n <Nav.Link onClick={() => handleClick()}>Logout</Nav.Link>\r\n <Nav.Link href=\"/admin/:id\">\r\n <img src={option} width=\"30\" height=\"30\" />\r\n </Nav.Link>\r\n </Nav>\r\n </Navbar>\r\n )\r\n}\r\n\r\nexport default MainNav","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\SubNav.js",["90","91"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Nav, NavDropdown } from 'react-bootstrap';\r\n\r\nfunction SubNav() {\r\n const [toggle, setToggle] = useState({ \"dress\": false, \"outer\": false, \"top\": false, \"pants\": false, \"skirt\": false, \"training\": false, \"shoes\": false });\r\n\r\n function handleMouseEnter(id) {\r\n setToggle({ [id]: true })\r\n }\r\n\r\n function handleMouseLeave(id) {\r\n setToggle({ [id]: false })\r\n }\r\n\r\n function handleToggle(id) {\r\n setToggle({ [id]: !toggle[`${id}`] })\r\n }\r\n\r\n function handleClick(url) {\r\n return <Redirect to={url} />\r\n }\r\n\r\n return (\r\n <Nav fixed=\"top\" className=\"flex-nowrap\">\r\n <NavDropdown title=\"DRESS\" onMouseEnter={() => handleMouseEnter(\"dress\")} onMouseLeave={() => handleMouseLeave(\"dress\")} show={toggle.dress} toggle={() => handleToggle(\"dress\")} onClick={() => handleClick(\"/dress\")}>\r\n <NavDropdown.Item href=\"/dress/long\">LONG DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/short\">SHORT DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/knit\">KNIT DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/shirt\">SHIRT DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/pattern\">PATTERN DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/bustier\">BUSTIER DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/two-piece\">TWO-PIECE DRESS</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"OUTER\" onMouseEnter={() => handleMouseEnter(\"outer\")} onMouseLeave={() => handleMouseLeave(\"outer\")} show={toggle.outer} toggle={() => handleToggle(\"outer\")} onClick={() => handleClick(\"/outer\")}>\r\n <NavDropdown.Item href=\"/outer/padded-jacket\">PADDED JACKET</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/jacket\">JACKET</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/jumper\">JUMPER</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/coat\">COAT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/fleece\">FLEECE</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/cardigan_vest\">CARDIGAN / VEST</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"TOP\" onMouseEnter={() => handleMouseEnter(\"top\")} onMouseLeave={() => handleMouseLeave(\"top\")} show={toggle.top} toggle={() => handleToggle(\"top\")} onClick={() => handleClick(\"/top\")}>\r\n <NavDropdown.Item href=\"/top/knit\">KNIT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/hoody\">HOODY</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/blouse\">BLOUSE</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/shirt\">SHIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/sweatshirt\">SWEATSHIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/long-sleeve-shirt\">LONG SLEEVE SHIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/short-sleeved-shirt_sleeveless-shirt\">SHORT SLEEVE / SLEEVELESS SHIRT</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"PANTS\" onMouseEnter={() => handleMouseEnter(\"pants\")} onMouseLeave={() => handleMouseLeave(\"pants\")} show={toggle.pants} toggle={() => handleToggle(\"pants\")} onClick={() => handleClick(\"/pants\")}>\r\n <NavDropdown.Item href=\"/pants/jeans\">JEANS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/skinny-jeans\">SKINNY JEANS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/banding\">BANDING PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/wide-fit\">WIDE-FIT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/boot-cut\">BOOT-CUT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/straight-fit\">STRAIGHT-FIT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/wide-fit\">WIDE-FIT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/shorts\">SHORTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/trousers\">TROUSERS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/leggings\">LEGGINGS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/jumpsuit_overalls\">JUMPSUIT / OVERALLS</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"SKIRT\" onMouseEnter={() => handleMouseEnter(\"skirt\")} onMouseLeave={() => handleMouseLeave(\"skirt\")} show={toggle.skirt} toggle={() => handleToggle(\"skirt\")} onClick={() => handleClick(\"/skirt\")}>\r\n <NavDropdown.Item href=\"/skirt/long\">LONG SKIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/midi\">MIDI SKIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/mini\">MINI SKIRT</NavDropdown.Item>\r\n </NavDropdown>\r\n <Nav.Item>\r\n <Nav.Link href=\"/training\">TRAINING</Nav.Link>\r\n </Nav.Item>\r\n <NavDropdown title=\"SHOES\" onMouseEnter={() => handleMouseEnter(\"shoes\")} onMouseLeave={() => handleMouseLeave(\"shoes\")} show={toggle.shoes} toggle={() => handleToggle(\"shoes\")} onClick={() => handleClick(\"/shoes\")}>\r\n <NavDropdown.Item href=\"/skirt/sneakers_slip-on\">SNEAKERS / SLIP-ON</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/flat_loafer\">FLAT / LOAFER</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/heel_pump\">HEEL / PUMP</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/boots\">BOOTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/sandal_slipper\">SANDAL / SLIPPER</NavDropdown.Item>\r\n </NavDropdown>\r\n </Nav>\r\n )\r\n}\r\n\r\nexport default SubNav","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\Pagination.js",["92","93","94"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Pagination } from 'react-bootstrap';\r\n\r\nfunction pagination() {\r\n let active = 1;\r\n let items = [];\r\n for (let number = 1; number <= 5; number++) {\r\n items.push(\r\n <Pagination.Item key={number} active={number === active}>\r\n {number}\r\n </Pagination.Item>,\r\n );\r\n }\r\n\r\n return (\r\n <Pagination className=\"justify-content-center mt-5\">{items}</Pagination>\r\n )\r\n}\r\n\r\nexport default pagination",{"ruleId":"95","severity":1,"message":"96","line":9,"column":8,"nodeType":"97","messageId":"98","endLine":9,"endColumn":15},{"ruleId":"99","replacedBy":"100"},{"ruleId":"101","replacedBy":"102"},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"106","line":2,"column":10,"nodeType":"97","messageId":"98","endLine":2,"endColumn":18},{"ruleId":"107","severity":1,"message":"108","line":19,"column":25,"nodeType":"109","endLine":19,"endColumn":68},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"106","line":2,"column":10,"nodeType":"97","messageId":"98","endLine":2,"endColumn":18},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"106","line":2,"column":10,"nodeType":"97","messageId":"98","endLine":2,"endColumn":18},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"108","line":15,"column":17,"nodeType":"109","endLine":15,"endColumn":58},{"ruleId":"107","severity":1,"message":"108","line":22,"column":21,"nodeType":"109","endLine":22,"endColumn":62},{"ruleId":"107","severity":1,"message":"108","line":26,"column":21,"nodeType":"109","endLine":26,"endColumn":64},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},{"ruleId":"95","severity":1,"message":"103","line":1,"column":17,"nodeType":"97","messageId":"98","endLine":1,"endColumn":25},{"ruleId":"95","severity":1,"message":"104","line":1,"column":27,"nodeType":"97","messageId":"98","endLine":1,"endColumn":36},{"ruleId":"95","severity":1,"message":"105","line":1,"column":38,"nodeType":"97","messageId":"98","endLine":1,"endColumn":44},"no-unused-vars","'Payment' is defined but never used.","Identifier","unusedVar","no-native-reassign",["110"],"no-negated-in-lhs",["111"],"'useState' is defined but never used.","'useEffect' is defined but never used.","'useRef' is defined but never used.","'Redirect' is defined but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
[{"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\index.js":"1","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\reportWebVitals.js":"2","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\App.js":"3","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Login.js":"4","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Admin.js":"5","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Signup.js":"6","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Home.js":"7","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\ShoppingCart.js":"8","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Payment.js":"9","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\MainNav.js":"10","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\SubNav.js":"11","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\Pagination.js":"12","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\ProductsRegist.js":"13"},{"size":1364,"mtime":1609236721842,"results":"14","hashOfConfig":"15"},{"size":375,"mtime":1609228982944,"results":"16","hashOfConfig":"15"},{"size":528,"mtime":499162500000,"results":"17","hashOfConfig":"15"},{"size":299,"mtime":1609228981316,"results":"18","hashOfConfig":"15"},{"size":4826,"mtime":1609236815513,"results":"19","hashOfConfig":"15"},{"size":1463,"mtime":1609236759112,"results":"20","hashOfConfig":"15"},{"size":6208,"mtime":1609236805755,"results":"21","hashOfConfig":"15"},{"size":4675,"mtime":1609237466278,"results":"22","hashOfConfig":"15"},{"size":6324,"mtime":1609237425880,"results":"23","hashOfConfig":"15"},{"size":1188,"mtime":1609228980628,"results":"24","hashOfConfig":"15"},{"size":5929,"mtime":1609228980995,"results":"25","hashOfConfig":"15"},{"size":533,"mtime":1609228980905,"results":"26","hashOfConfig":"15"},{"size":319,"mtime":1609228981879,"results":"27","hashOfConfig":"15"},{"filePath":"28","messages":"29","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"zu2uto",{"filePath":"30","messages":"31","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":"32"},{"filePath":"33","messages":"34","errorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"35","messages":"36","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"37","usedDeprecatedRules":"32"},{"filePath":"38","messages":"39","errorCount":0,"warningCount":5,"fixableErrorCount":0,"fixableWarningCount":0,"source":"40","usedDeprecatedRules":"32"},{"filePath":"41","messages":"42","errorCount":0,"warningCount":4,"fixableErrorCount":0,"fixableWarningCount":0,"source":"43","usedDeprecatedRules":"32"},{"filePath":"44","messages":"45","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"46","usedDeprecatedRules":"32"},{"filePath":"47","messages":"48","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"49","messages":"50","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"51","usedDeprecatedRules":"32"},{"filePath":"52","messages":"53","errorCount":0,"warningCount":6,"fixableErrorCount":0,"fixableWarningCount":0,"source":"54","usedDeprecatedRules":"32"},{"filePath":"55","messages":"56","errorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":0,"source":"57","usedDeprecatedRules":"32"},{"filePath":"58","messages":"59","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"60","usedDeprecatedRules":"32"},{"filePath":"61","messages":"62","errorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\index.js",[],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\reportWebVitals.js",[],["63","64"],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\App.js",[],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Login.js",["65","66","67"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\nfunction Login() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Login","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Admin.js",["68","69","70","71","72"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\nimport Pagination from '../Components/Pagination';\r\nimport search from '../search.svg';\r\nimport { Row, Col, Form, FormControl, Button, Card } from 'react-bootstrap';\r\n\r\nfunction Admin() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n <Row className=\"justify-content-end mt-5 mr-3\">\r\n <Col md={4} sm={5} xs={8} as={Form} inline className=\"justify-content-end\">\r\n <FormControl type=\"text\" placeholder=\"Search\" className=\"mr-1\" />\r\n <Button bg=\"dark\" variant=\"dark\" type=\"submit\" className=\"px-2\">\r\n <img src={search} width=\"20\" height=\"20\" />\r\n </Button>\r\n </Col>\r\n <Col sm={2} xs={3} as={Button} variant=\"dark\" type=\"button\" href=\"/:id/productsregist\">상품 등록</Col>\r\n </Row>\r\n <Row className=\"mt-5 m-auto justify-content-start\">\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/67460/1607053816_0.jpg\" />\r\n <Card.Body>\r\n <Card.Title>케이시앵글부츠(SH)</Card.Title>\r\n <Card.Text>\r\n 재고: 8\r\n 구매자 수: 10\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/48705/1552562469_0.jpg\" />\r\n <Card.Body>\r\n <Card.Title>메리제인플랫(SH)</Card.Title>\r\n <Card.Text>\r\n 재고: 20\r\n 구매자 수: 60\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/53386/1567390097_2.jpg\" />\r\n <Card.Body>\r\n <Card.Title>솔티드스니커즈(SH)</Card.Title>\r\n <Card.Text>\r\n 재고: 34\r\n 구매자 수: 5\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://img.sonyunara.com/files/goods/61286/1587540563_0.jpg\" />\r\n <Card.Body>\r\n <Card.Title>버켄슬리퍼(SH)</Card.Title>\r\n <Card.Text>\r\n 재고:\r\n 구매자 수:\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://hotping.co.kr/web/product/big/202011/b8f4c6471955b80fc3991b7d6df8926a.jpg\" />\r\n <Card.Body>\r\n <Card.Title>크레센도 하이힐펌프스</Card.Title>\r\n <Card.Text>\r\n 재고: 35\r\n 구매자 수: 70\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://hotping.co.kr/web/product/big/202011/888e4e8d6a2c2e7da385b079151fcba2.jpg\" />\r\n <Card.Body>\r\n <Card.Title>어텀솔져1cm 스웨이드로퍼</Card.Title>\r\n <Card.Text>\r\n 재고: 40\r\n 구매자 수: 30\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n <Card className=\"m-4\" style={{width: \"18rem\"}}>\r\n <Card.Img variant=\"top\" src=\"https://hotping.co.kr/web/product/big/202007/3308564012eb14e6c11ed621fa7555fb.jpg\" />\r\n <Card.Body>\r\n <Card.Title>포웰3.5cm 스니커즈</Card.Title>\r\n <Card.Text>\r\n 재고: 15\r\n 구매자 수: 50\r\n </Card.Text>\r\n </Card.Body>\r\n </Card>\r\n </Row>\r\n <Pagination />\r\n </div>\r\n\r\n )\r\n}\r\n\r\nexport default Admin","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Signup.js",["73","74","75","76"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\n<<<<<<< HEAD\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\n=======\r\nimport Nav1 from '../Components/MainNav';\r\nimport Nav2 from '../Components/SubNav';\r\n>>>>>>> origin/jiwon\r\n\r\nfunction Signup() {\r\n\r\n\r\n return (\r\n <div class=\"form-container\">\r\n <MainNav />\r\n <SubNav />\r\n <form id=\"form\" class=\"form\">\r\n <h1>회원가입</h1>\r\n <div class=\"form-control\">\r\n <label for=\"id\">아이디</label>\r\n <input type=\"text\" id=\"id\" placeholder=\"아이디를 입력하세요\"></input>\r\n\r\n <label for=\"name\">본명</label>\r\n <input type=\"text\" id=\"name\" placeholder=\"본명을 입력하세요\"></input>\r\n\r\n <label for=\"password\">비밀번호</label>\r\n <input type=\"password\" id=\"password\" placeholder=\"비밀번호를 입력하세요\"></input>\r\n\r\n <label for=\"password2\">비밀번호 확인</label>\r\n <input type=\"password\" id=\"password2\" placeholder=\"비밀번호를 한번 더 입력하세요\"></input>\r\n\r\n <label for=\"tel\">휴대폰 번호</label>\r\n <input type=\"text\" id=\"tel\" placeholder=\"휴대폰 번호를 입력하세요\"></input>\r\n\r\n <label for=\"add\">주소</label>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n )\r\n}\r\n\r\nexport default Signup","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Home.js",["77","78","79"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\n\r\nfunction Home() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Home","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\ShoppingCart.js",["80","81","82","83","84","85"],"C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\Payment.js",["86","87","88"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport MainNav from '../Components/MainNav';\r\nimport SubNav from '../Components/SubNav';\r\n\r\nfunction Payment() {\r\n\r\n return (\r\n <div>\r\n <MainNav />\r\n <SubNav />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Payment","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\MainNav.js",["89","90","91","92","93","94"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Navbar, Nav } from 'react-bootstrap';\r\nimport logo from '../footprint.svg';\r\nimport cart from '../cart.svg';\r\nimport option from '../option.svg';\r\n\r\nfunction MainNav() {\r\n function handleClick() {\r\n alert('로그아웃이 완료되었습니다.')\r\n }\r\n\r\n return (\r\n <Navbar fixed=\"top\" bg=\"dark\" variant=\"dark\" style={{position: \"sticky\"}}>\r\n <Navbar.Brand href=\"/home\">\r\n <img src={logo} width=\"23\" height=\"23\" />\r\n {' '}KU#\r\n </Navbar.Brand>\r\n <Nav className=\"justify-content-end\">\r\n <Nav.Link href=\"/login\">Login</Nav.Link>\r\n <Nav.Link href=\"/signup\">Signup</Nav.Link>\r\n <Nav.Link href=\"/shoppingcart\">\r\n <img src={cart} width=\"30\" height=\"30\" />\r\n </Nav.Link>\r\n <Nav.Link onClick={() => handleClick()}>Logout</Nav.Link>\r\n <Nav.Link href=\"/admin/:id\">\r\n <img src={option} width=\"30\" height=\"30\" />\r\n </Nav.Link>\r\n </Nav>\r\n </Navbar>\r\n )\r\n}\r\n\r\nexport default MainNav","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\SubNav.js",["95","96"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\nimport { Nav, NavDropdown } from 'react-bootstrap';\r\n\r\nfunction SubNav() {\r\n const [toggle, setToggle] = useState({ \"dress\": false, \"outer\": false, \"top\": false, \"pants\": false, \"skirt\": false, \"training\": false, \"shoes\": false });\r\n\r\n function handleMouseEnter(id) {\r\n setToggle({ [id]: true })\r\n }\r\n\r\n function handleMouseLeave(id) {\r\n setToggle({ [id]: false })\r\n }\r\n\r\n function handleToggle(id) {\r\n setToggle({ [id]: !toggle[`${id}`] })\r\n }\r\n\r\n function handleClick(url) {\r\n return <Redirect to={url} />\r\n }\r\n\r\n return (\r\n <Nav fixed=\"top\" className=\"flex-nowrap\">\r\n <NavDropdown title=\"DRESS\" onMouseEnter={() => handleMouseEnter(\"dress\")} onMouseLeave={() => handleMouseLeave(\"dress\")} show={toggle.dress} toggle={() => handleToggle(\"dress\")} onClick={() => handleClick(\"/dress\")}>\r\n <NavDropdown.Item href=\"/dress/long\">LONG DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/short\">SHORT DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/knit\">KNIT DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/shirt\">SHIRT DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/pattern\">PATTERN DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/bustier\">BUSTIER DRESS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/dress/two-piece\">TWO-PIECE DRESS</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"OUTER\" onMouseEnter={() => handleMouseEnter(\"outer\")} onMouseLeave={() => handleMouseLeave(\"outer\")} show={toggle.outer} toggle={() => handleToggle(\"outer\")} onClick={() => handleClick(\"/outer\")}>\r\n <NavDropdown.Item href=\"/outer/padded-jacket\">PADDED JACKET</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/jacket\">JACKET</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/jumper\">JUMPER</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/coat\">COAT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/fleece\">FLEECE</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/outer/cardigan_vest\">CARDIGAN / VEST</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"TOP\" onMouseEnter={() => handleMouseEnter(\"top\")} onMouseLeave={() => handleMouseLeave(\"top\")} show={toggle.top} toggle={() => handleToggle(\"top\")} onClick={() => handleClick(\"/top\")}>\r\n <NavDropdown.Item href=\"/top/knit\">KNIT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/hoody\">HOODY</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/blouse\">BLOUSE</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/shirt\">SHIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/sweatshirt\">SWEATSHIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/long-sleeve-shirt\">LONG SLEEVE SHIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/top/short-sleeved-shirt_sleeveless-shirt\">SHORT SLEEVE / SLEEVELESS SHIRT</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"PANTS\" onMouseEnter={() => handleMouseEnter(\"pants\")} onMouseLeave={() => handleMouseLeave(\"pants\")} show={toggle.pants} toggle={() => handleToggle(\"pants\")} onClick={() => handleClick(\"/pants\")}>\r\n <NavDropdown.Item href=\"/pants/jeans\">JEANS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/skinny-jeans\">SKINNY JEANS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/banding\">BANDING PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/wide-fit\">WIDE-FIT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/boot-cut\">BOOT-CUT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/straight-fit\">STRAIGHT-FIT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/wide-fit\">WIDE-FIT PANTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/shorts\">SHORTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/trousers\">TROUSERS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/leggings\">LEGGINGS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/pants/jumpsuit_overalls\">JUMPSUIT / OVERALLS</NavDropdown.Item>\r\n </NavDropdown>\r\n <NavDropdown title=\"SKIRT\" onMouseEnter={() => handleMouseEnter(\"skirt\")} onMouseLeave={() => handleMouseLeave(\"skirt\")} show={toggle.skirt} toggle={() => handleToggle(\"skirt\")} onClick={() => handleClick(\"/skirt\")}>\r\n <NavDropdown.Item href=\"/skirt/long\">LONG SKIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/midi\">MIDI SKIRT</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/mini\">MINI SKIRT</NavDropdown.Item>\r\n </NavDropdown>\r\n <Nav.Item>\r\n <Nav.Link href=\"/training\">TRAINING</Nav.Link>\r\n </Nav.Item>\r\n <NavDropdown title=\"SHOES\" onMouseEnter={() => handleMouseEnter(\"shoes\")} onMouseLeave={() => handleMouseLeave(\"shoes\")} show={toggle.shoes} toggle={() => handleToggle(\"shoes\")} onClick={() => handleClick(\"/shoes\")}>\r\n <NavDropdown.Item href=\"/skirt/sneakers_slip-on\">SNEAKERS / SLIP-ON</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/flat_loafer\">FLAT / LOAFER</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/heel_pump\">HEEL / PUMP</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/boots\">BOOTS</NavDropdown.Item>\r\n <NavDropdown.Item href=\"/skirt/sandal_slipper\">SANDAL / SLIPPER</NavDropdown.Item>\r\n </NavDropdown>\r\n </Nav>\r\n )\r\n}\r\n\r\nexport default SubNav","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Components\\Pagination.js",["97","98","99"],"import React, { useState, useEffect, useRef } from 'react';\r\nimport { Pagination } from 'react-bootstrap';\r\n\r\nfunction pagination() {\r\n let active = 1;\r\n let items = [];\r\n for (let number = 1; number <= 5; number++) {\r\n items.push(\r\n <Pagination.Item key={number} active={number === active}>\r\n {number}\r\n </Pagination.Item>,\r\n );\r\n }\r\n\r\n return (\r\n <Pagination className=\"justify-content-center mt-5\">{items}</Pagination>\r\n )\r\n}\r\n\r\nexport default pagination","C:\\Users\\MathUser\\Desktop\\Code\\shopping-mall\\client\\src\\Pages\\ProductsRegist.js",["100","101","102"],{"ruleId":"103","replacedBy":"104"},{"ruleId":"105","replacedBy":"106"},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"113","line":2,"column":10,"nodeType":"109","messageId":"110","endLine":2,"endColumn":18},{"ruleId":"114","severity":1,"message":"115","line":19,"column":25,"nodeType":"116","endLine":19,"endColumn":68},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"113","line":2,"column":10,"nodeType":"109","messageId":"110","endLine":2,"endColumn":18},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"113","line":2,"column":10,"nodeType":"109","messageId":"110","endLine":2,"endColumn":18},{"ruleId":"114","severity":1,"message":"115","line":25,"column":37,"nodeType":"116","endLine":25,"endColumn":147},{"ruleId":"114","severity":1,"message":"115","line":47,"column":37,"nodeType":"116","endLine":47,"endColumn":147},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"114","severity":1,"message":"115","line":15,"column":17,"nodeType":"116","endLine":15,"endColumn":58},{"ruleId":"114","severity":1,"message":"115","line":22,"column":21,"nodeType":"116","endLine":22,"endColumn":62},{"ruleId":"114","severity":1,"message":"115","line":26,"column":21,"nodeType":"116","endLine":26,"endColumn":64},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},{"ruleId":"107","severity":1,"message":"108","line":1,"column":17,"nodeType":"109","messageId":"110","endLine":1,"endColumn":25},{"ruleId":"107","severity":1,"message":"111","line":1,"column":27,"nodeType":"109","messageId":"110","endLine":1,"endColumn":36},{"ruleId":"107","severity":1,"message":"112","line":1,"column":38,"nodeType":"109","messageId":"110","endLine":1,"endColumn":44},"no-native-reassign",["117"],"no-negated-in-lhs",["118"],"no-unused-vars","'useState' is defined but never used.","Identifier","unusedVar","'useEffect' is defined but never used.","'useRef' is defined but never used.","'Redirect' is defined but never used.","jsx-a11y/alt-text","img elements must have an alt prop, either with meaningful text, or an empty string for decorative images.","JSXOpeningElement","no-global-assign","no-unsafe-negation"]
\ No newline at end of file
import React, { useState, useEffect, useRef } from 'react';
import MainNav from '../Components/MainNav';
import SubNav from '../Components/SubNav';
import { Card, CardDeck, CardColumns, Container, Row } from 'react-bootstrap';
function Home() {
......@@ -8,6 +10,102 @@ function Home() {
<div>
<MainNav />
<SubNav />
<Container>
<div className="my-3">
<h3 ><u>Best</u></h3>
<Row className="justify-content-center">
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
</Row>
</div>
<div className="my-3">
<h3><u>New Arrival</u></h3>
<Row className="justify-content-center">
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
<Card className="mx-1" style={{ width: '18rem' }}>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" />
<Card.Body>
<Card.Title className="font-weight-bold">제품명</Card.Title>
<Card.Text>가격</Card.Text>
</Card.Body>
</Card>
</Row>
</div>
</Container>
</div>
)
}
......
import React, { useState, useEffect, useRef } from 'react';
import MainNav from '../Components/MainNav';
import SubNav from '../Components/SubNav';
import { Container, Card, Row, Col, Button, Form } from 'react-bootstrap';
function Payment() {
const [paymentWay, setPaymentWay] = useState([])
function handleClick() {
if (paymentWay.length !== 0) {
setPaymentWay([])
}
else {
const a = (
<div>
<Form>
<Form.Group controlId="exampleForm.ControlSelect1">
<Form.Label>입금은행</Form.Label>
<Form.Control as="select" placeholder="입금은행을 선택하세요.">
<option>농협 / 352-0559-2528-83 / 김수빈</option>
<option>우리은행 / 0000-000-000000 / 이재연</option>
<option>국민은행 / 111111-11-111111 / 윤대기</option>
</Form.Control>
</Form.Group>
<Form.Group controlId="formName">
<Form.Label>입금자</Form.Label>
<Form.Control type="email" placeholder="윤지원" />
</Form.Group>
<Form.Group controlId="formDay">
<Form.Label>입금예정일</Form.Label>
<Form.Control type="date" />
</Form.Group>
</Form>
</div>)
setPaymentWay(a)
}
}
function handleClick2() {
if (paymentWay.length !== 0) {
setPaymentWay([])
// paymentWay=[]
}
}
return (
<div>
<MainNav />
<SubNav />
<Container>
<h3 className="my-5 font-weight-bold text-center" style={{ color: '#F2A400' }}>주문/결제</h3>
<div>
<h5 className="bg-light font-weight-bold py-3 border-top border-bottom text-center">주문자 정보</h5>
<Form>
<Form.Group controlId="formBasicName">
<Form.Label>이름</Form.Label>
<Form.Control type="text" placeholder="윤지원" />
</Form.Group>
<Form.Group controlId="formBasicEmail">
<Form.Label>이메일</Form.Label>
<Form.Control type="email" placeholder="jiwon5393@naver.com" />
</Form.Group>
<Form.Group controlId="formBasicTel">
<Form.Label>휴대전화</Form.Label>
<Form.Control type="tel" placeholder="010-0000-0000" />
</Form.Group>
</Form>
</div>
<div>
<h5 className="bg-light font-weight-bold py-3 border-top border-bottom text-center">배송지 정보</h5>
</div>
<div>
<h5 className="bg-light font-weight-bold py-3 border-top border-bottom text-center">주문상품정보</h5>
<Card >
<Row>
<Col className="text-center align-self-center">
<input className="" type="checkbox" id="exampleCheck1"></input>
</Col>
<Col>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" style={{ width: '20rem' }} />
</Col>
<Col>
<Card.Body>
<img src="https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png" className="float-right" />
<Card.Title className="font-weight-bold mt-3">제품명</Card.Title>
<Card.Text>가격</Card.Text>
<Card.Text>옵션</Card.Text>
<div>
<Button variant="outline-dark" size="sm">-</Button>
<input type="text" style={{ width: '30px' }} className="align-middle mx-1" readOnly></input>
<Button variant="outline-dark" size="sm">+</Button>
</div>
</Card.Body>
</Col>
</Row>
</Card>
</div>
<div className="bg-light p-5 m-5">
<ul className="pl-0" style={{ listStyle: 'none' }}>
<li>
<span className="text-secondary"> 상품금액</span>
<span className="text-secondary float-right">12,000</span>
</li>
<li>
<span className="text-secondary">배송비</span>
<span className="text-secondary float-right">2,500</span>
</li>
</ul>
<div className="my-1 pt-2 border-top font-weight-bold">
결제금액<span className="float-right">14,500</span>
</div>
</div>
<div>
<h5 className="bg-light font-weight-bold py-3 border-top border-bottom text-center">결제수단</h5>
<div className="text-center">
<Button variant="success" onClick={handleClick} >무통장입금</Button>
<Button variant="warning" style={{ color: '#ffffff' }} onClick={handleClick2}>카카오페이</Button>
</div>
{paymentWay}
</div>
</Container>
</div>
)
}
......
......@@ -2,6 +2,7 @@ import React, { useState, useEffect, useRef } from 'react';
import { Redirect } from 'react-router-dom';
import MainNav from '../Components/MainNav';
import SubNav from '../Components/SubNav';
import { Card, Button, Container, Row, Col } from 'react-bootstrap';
function ShoppingCart() {
......@@ -9,6 +10,75 @@ function ShoppingCart() {
<div>
<MainNav />
<SubNav />
<Container className="justify-content-center">
<h3 className="my-5 font-weight-bold text-center" style={{ color: '#F2A400' }}>장바구니</h3>
<div>
<h4 className="bg-light font-weight-bold py-3 border-top border-bottom text-center">주문상품정보</h4>
<Card >
<Row>
<Col>
<input className="mx-5" type="checkbox" id="exampleCheck1"></input>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" style={{ width: '20rem' }} />
</Col>
<Col md={6}>
<Card.Body>
<img src="https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png" className="float-right" />
<Card.Title className="font-weight-bold mt-3">제품명</Card.Title>
<Card.Text>가격</Card.Text>
<Card.Text>옵션</Card.Text>
<Card.Text>수량</Card.Text>
<div>
<Button variant="outline-dark" size="sm">-</Button>
<input type="text" style={{ width: '30px' }} className="align-middle mx-1" readOnly></input>
<Button variant="outline-dark" size="sm">+</Button>
</div>
</Card.Body>
</Col>
</Row>
</Card>
<Card>
<Row>
<Col>
<input className="mx-5" type="checkbox" id="exampleCheck1"></input>
<Card.Img className="img-fluid" variant="top" src="img/asd.jpg" style={{ width: '20rem' }} />
</Col>
<Col>
<Card.Body>
<img src="https://img.icons8.com/fluent-systems-regular/24/000000/close-window.png" className="float-right" />
<Card.Title className="font-weight-bold mt-3">제품명</Card.Title>
<Card.Text>가격</Card.Text>
<Card.Text>옵션</Card.Text>
<Card.Text>수량</Card.Text>
<div>
<Button variant="outline-dark" size="sm">-</Button>
<input type="text" style={{ width: '30px' }} className="align-middle mx-1" readOnly></input>
<Button variant="outline-dark" size="sm">+</Button>
</div>
</Card.Body>
</Col>
</Row>
</Card>
</div>
<div className="bg-light p-5 m-5">
<ul className="pl-0" style={{ listStyle: 'none' }}>
<li>
<span className="text-secondary"> 상품금액</span>
<span className="text-secondary float-right">12,000</span>
</li>
<li>
<span className="text-secondary">배송비</span>
<span className="text-secondary float-right">2,500</span>
</li>
</ul>
<div className="my-1 pt-2 border-top font-weight-bold">
결제금액<span className="float-right">14,500</span>
</div>
</div>
<div className="text-center">
<Button className="px-5">결제하기</Button>
</div>
</Container>
</div>
)
}
......
......@@ -5,6 +5,7 @@ import Home from './Pages/Home';
import Login from './Pages/Login';
import Signup from './Pages/Signup';
import Admin from './Pages/Admin';
import ProductsRegist from './Pages/ProductsRegist';
import ShoppingCart from './Pages/ShoppingCart';
import Payment from './Pages/Payment';
import reportWebVitals from './reportWebVitals';
......@@ -18,7 +19,9 @@ ReactDOM.render(
<Route path="/login" component={Login} />
<Route path="/signup" component={Signup} />
<Route path="/admin" component={Admin} />
<Route path="/regist" component={ProductsRegist} />
<Route path="/shoppingcart" component={ShoppingCart} />
<Route path="/payment" component={Payment} />
<Redirect path="/" to="/" />
</Switch>
</Router>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
// const createError = require('http-errors');
const express = require('express');
const path = require('path');
// const cookieParser = require('cookie-parser');
const logger = require('morgan');
// const logger = require('morgan');
const port = 3030;
// const indexRouter = require('./routes/index');
......@@ -18,11 +19,12 @@ const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
// app.use(cookieParser(process.env.JWT_SECRET));
app.use(express.static(path.join(__dirname, 'public')));
// app.use(express.static(path.join(__dirname, 'public')));
// app.use('/', indexRouter);
app.listen(port, () => console.log(port));
// app.listen(3001, () => console.log(port));
// catch 404 and forward to error handler
app.use(function(req, res, next) {
......
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