25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 line
22 KiB

  1. {"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _jsxFileName = \"E:\\\\Project\\\\tbg-ecomm-nextjs\\\\pages\\\\yamaha\\\\login.js\";\nvar __jsx = React.createElement;\nimport React from \"react\"; // @material-ui/core components\n\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport Icon from \"@material-ui/core/Icon\"; // @material-ui/icons\n\nimport Email from \"@material-ui/icons/Email\";\nimport People from \"@material-ui/icons/People\"; // core components\n\nimport Header from \"components/Header/Header.js\";\nimport HeaderLinks from \"components/Header/HeaderLinks.js\";\nimport Footer from \"components/Footer/Footer.js\";\nimport GridContainer from \"components/Grid/GridContainer.js\";\nimport GridItem from \"components/Grid/GridItem.js\";\nimport Button from \"components/CustomButtons/Button.js\";\nimport Card from \"components/Card/Card.js\";\nimport CardBody from \"components/Card/CardBody.js\";\nimport CardHeader from \"components/Card/CardHeader.js\";\nimport CardFooter from \"components/Card/CardFooter.js\";\nimport CustomInput from \"components/CustomInput/CustomInput.js\";\nimport Grid from '@material-ui/core/Grid';\nimport styles from \"assets/jss/nextjs-material-kit/pages/loginPage.js\";\nimport image from \"assets/img/bgtbg.jpg\";\nimport Carousel from \"react-slick\";\nimport Collapse from \"@material-ui/core/Collapse\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { useRouter } from \"next/router\";\nvar useStyles = makeStyles(styles);\nexport default function LoginPage(props) {\n var _React$useState = React.useState(\"cardHidden\"),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n cardAnimaton = _React$useState2[0],\n setCardAnimation = _React$useState2[1];\n\n var _React$useState3 = React.useState(\"\"),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n email = _React$useState4[0],\n setEmail = _React$useState4[1];\n\n var _React$useState5 = React.useState(\"\"),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n pass = _React$useState6[0],\n setPass = _React$useState6[1];\n\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n open = _React$useState8[0],\n setOpen = _React$useState8[1];\n\n var _React$useState9 = React.useState(\"\"),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n error = _React$useState10[0],\n setError = _React$useState10[1];\n\n var router = useRouter();\n setTimeout(function () {\n setCardAnimation(\"\");\n }, 700);\n var classes = useStyles();\n\n var rest = _extends({}, props);\n\n var submitHandler = function submitHandler(event) {\n var res;\n return _regeneratorRuntime.async(function submitHandler$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n event.preventDefault();\n _context.next = 3;\n return _regeneratorRuntime.awrap(fetch(\"../api/auth/login\", {\n body: JSON.stringify({\n partner: \"yamaha\",\n email: email,\n pass: pass\n }),\n headers: {\n \"Content-Type\": \"application/json\"\n },\n method: \"POST\"\n }));\n\n case 3:\n res = _context.sent;\n\n if (!res.ok) {\n _context.next = 8;\n break;\n }\n\n router.push(\"/yamaha/home\");\n _context.next = 14;\n break;\n\n case 8:\n _context.t0 = setError;\n _context.next = 11;\n return _regeneratorRuntime.awrap(res.text());\n\n case 11:\n _context.t1 = _context.sent;\n (0, _context.t0)(_context.t1);\n setOpen(true);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, null, null, null, Promise);\n };\n\n return __jsx(\"div\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 71,\n columnNumber: 5\n }\n }, __jsx(Collapse, {\n className: classes.collapsible,\n \"in\": open,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 72,\n columnNumber: 7\n }\n }, __jsx(Alert, {\n severity: \"error\",\n action: __jsx(IconButton, {\n \"aria-label\": \"close\",\n color: \"inherit\",\n size: \"small\",\n onClick: function onClick() {\n setOpen(false);\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 13\n }\n }, __jsx(CloseIcon, {\n fontSize: \"inherit\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 84,\n columnNumber: 15\n }\n })),\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 73,\n columnNumber: 9\n }\n }, error)), __jsx(\"div\", {\n className: classes.pageHeader,\n style: {\n backgroundImage: \"url(\" + image + \")\",\n backgroundSize: \"cover\",\n backgroundPosition: \"top center\"\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 92,\n columnNumber: 7\n }\n }, __jsx(\"div\", {\n className: classes.container,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 100,\n columnNumber: 9\n }\n }, __jsx(Grid, {\n container: true,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 13\n }\n }, __jsx(GridItem, {\n className: classes.marginAuto,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 102,\n columnNumber: 15\n }\n }, __jsx(Carousel, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 103,\n columnNumber: 15\n }\n }, __jsx(Card, {\n className: classes[cardAnimaton],\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 104,\n columnNumber: 15\n }\n }, __jsx(\"form\", {\n onSubmit: submitHandler,\n className: classes.form,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 17\n }\n }, __jsx(CardHeader, {\n color: \"info\",\n className: classes.cardHeader,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 19\n }\n }, __jsx(\"h4\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 107,\n columnNumber: 21\n }\n }, \"Login\")), __jsx(\"h4\", {\n className: classes.divider,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 109,\n columnNumber: 19\n }\n }, __jsx(\"b\", {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 109,\n columnNumber: 51\n }\n }, \"Selamat Datang di Halaman Login Thamrin Brothers\")), __jsx(CardBody, {\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 19\n }\n }, __jsx(CustomInput, {\n labelText: \"Email...\",\n id: \"email\",\n value: email,\n formControlProps: {\n fullWidth: true\n },\n inputProps: {\n type: \"email\",\n onChange: function onChange(event) {\n return setEmail(event.target.value);\n },\n endAdornment: __jsx(InputAdornment, {\n position: \"end\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 122,\n columnNumber: 27\n }\n }, __jsx(Email, {\n className: classes.inputIconsColor,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 123,\n columnNumber: 29\n }\n }))\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 21\n }\n }), __jsx(CustomInput, {\n labelText: \"Password\",\n id: \"pass\",\n value: pass,\n formControlProps: {\n fullWidth: true\n },\n inputProps: {\n onChange: function onChange(event) {\n return setPass(event.target.value);\n },\n type: \"password\",\n endAdornment: __jsx(InputAdornment, {\n position: \"end\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 139,\n columnNumber: 27\n }\n }, __jsx(Icon, {\n className: classes.inputIconsColor,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 140,\n columnNumber: 29\n }\n }, \"lock_outline\")),\n autoComplete: \"off\"\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 128,\n columnNumber: 21\n }\n })), __jsx(CardFooter, {\n className: classes.cardFooter,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 149,\n columnNumber: 19\n }\n }, __jsx(Button, {\n type: \"submit\",\n color: \"info\",\n size: \"lg\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 150,\n columnNumber: 21\n }\n }, \"Login\"), __jsx(Button, {\n href: \"/yamaha/register\",\n color: \"info\",\n size: \"lg\",\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 153,\n columnNumber: 21\n }\n }, \"Register\"))))))))));\n}","map":{"version":3,"sources":["E:/Project/tbg-ecomm-nextjs/pages/yamaha/login.js"],"names":["React","makeStyles","InputAdornment","Icon","Email","People","Header","HeaderLinks","Footer","GridContainer","GridItem","Button","Card","CardBody","CardHeader","CardFooter","CustomInput","Grid","styles","image","Carousel","Collapse","Alert","IconButton","CloseIcon","useRouter","useStyles","LoginPage","props","useState","cardAnimaton","setCardAnimation","email","setEmail","pass","setPass","open","setOpen","error","setError","router","setTimeout","classes","rest","submitHandler","event","preventDefault","fetch","body","JSON","stringify","partner","headers","method","res","ok","push","text","collapsible","pageHeader","backgroundImage","backgroundSize","backgroundPosition","container","marginAuto","form","cardHeader","divider","fullWidth","type","onChange","target","value","endAdornment","inputIconsColor","autoComplete","cardFooter"],"mappings":"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","sourcesContent":["import React from \"react\";\r\n// @material-ui/core components\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\n// @material-ui/icons\r\nimport Email from \"@material-ui/icons/Email\";\r\nimport People from \"@material-ui/icons/People\";\r\n// core components\r\nimport Header from \"components/Header/Header.js\";\r\nimport HeaderLinks from \"components/Header/HeaderLinks.js\";\r\nimport Footer from \"components/Footer/Footer.js\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"components/CustomButtons/Button.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardHeader from \"components/Card/CardHeader.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport CustomInput from \"components/CustomInput/CustomInput.js\";\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport styles from \"assets/jss/nextjs-material-kit/pages/loginPage.js\";\r\n\r\nimport image from \"assets/img/bgtbg.jpg\";\r\nimport Carousel from \"react-slick\";\r\n\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport Alert from \"@material-ui/lab/Alert\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport { useRouter } from \"next/router\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nexport default function LoginPage(props) {\r\n const [cardAnimaton, setCardAnimation] = React.useState(\"cardHidden\");\r\n const [email, setEmail] = React.useState(\"\");\r\n const [pass, setPass] = React.useState(\"\");\r\n const [open, setOpen] = React.useState(false);\r\n const [error, setError] = React.useState(\"\");\r\n const router = useRouter();\r\n setTimeout(function () {\r\n setCardAnimation(\"\");\r\n }, 700);\r\n const classes = useStyles();\r\n const { ...rest } = props;\r\n\r\n const submitHandler = async (event) => {\r\n event.preventDefault();\r\n const res = await fetch(\"../api/auth/login\", {\r\n body: JSON.stringify({\r\n partner: \"yamaha\",\r\n email: email,\r\n pass: pass,\r\n }),\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n method: \"POST\",\r\n });\r\n // console.log(\"res\", res.S);\r\n if (res.ok) {\r\n router.push(\"/yamaha/home\");\r\n } else {\r\n setError(await res.text());\r\n setOpen(true);\r\n }\r\n };\r\n\r\n return (\r\n <div>\r\n <Collapse className={classes.collapsible} in={open}>\r\n <Alert\r\n severity=\"error\"\r\n action={\r\n <IconButton\r\n aria-label=\"close\"\r\n color=\"inherit\"\r\n size=\"small\"\r\n onClick={() => {\r\n setOpen(false);\r\n }}\r\n >\r\n <CloseIcon fontSize=\"inherit\" />\r\n </IconButton>\r\n }\r\n >\r\n {error}\r\n </Alert>\r\n </Collapse>\r\n {/* <Header absolute color=\"info\" rightLinks={<HeaderLinks />} {...rest} /> */}\r\n <div\r\n className={classes.pageHeader}\r\n style={{\r\n backgroundImage: \"url(\" + image + \")\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"top center\",\r\n }}\r\n >\r\n <div className={classes.container}>\r\n <Grid container>\r\n <GridItem className={classes.marginAuto}>\r\n <Carousel>\r\n <Card className={classes[cardAnimaton]}>\r\n <form onSubmit={submitHandler} className={classes.form}>\r\n <CardHeader color=\"info\" className={classes.cardHeader}>\r\n <h4>Login</h4>\r\n </CardHeader>\r\n <h4 className={classes.divider}><b>Selamat Datang di Halaman Login Thamrin Brothers</b></h4>\r\n <CardBody>\r\n <CustomInput\r\n labelText=\"Email...\"\r\n id=\"email\"\r\n value={email}\r\n formControlProps={{\r\n fullWidth: true,\r\n }}\r\n inputProps={{\r\n type: \"email\",\r\n onChange: (event) => setEmail(event.target.value),\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <Email className={classes.inputIconsColor} />\r\n </InputAdornment>\r\n ),\r\n }}\r\n />\r\n <CustomInput\r\n labelText=\"Password\"\r\n id=\"pass\"\r\n value={pass}\r\n formControlProps={{\r\n fullWidth: true,\r\n }}\r\n inputProps={{\r\n onChange: (event) => setPass(event.target.value),\r\n type: \"password\",\r\n endAdornment: (\r\n <InputAdornment position=\"end\">\r\n <Icon className={classes.inputIconsColor}>\r\n lock_outline\r\n </Icon>\r\n </InputAdornment>\r\n ),\r\n autoComplete: \"off\",\r\n }}\r\n />\r\n </CardBody>\r\n <CardFooter className={classes.cardFooter}>\r\n <Button type=\"submit\" color=\"info\" size=\"lg\">\r\n Login\r\n </Button>\r\n <Button href=\"/yamaha/register\" color=\"info\" size=\"lg\">\r\n Register\r\n </Button>\r\n </CardFooter>\r\n </form>\r\n </Card>\r\n </Carousel>\r\n </GridItem>\r\n </Grid>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"]},"metadata":{},"sourceType":"module"}