Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

404 строки
20 KiB

  1. import React from "react";
  2. import classNames from "classnames";
  3. import {makeStyles} from "@material-ui/core/styles";
  4. import Select from 'react-select';
  5. import People from "@material-ui/icons/People";
  6. import LocationOn from "@material-ui/icons/LocationOn";
  7. import Lock from "@material-ui/icons/Lock";
  8. import image1 from "../../../assets/img/mail.png"
  9. import Carousel from "react-slick";
  10. import GridItem from "components/Grid/GridItem.js";
  11. import CustomInput from "components/CustomInput/CustomInput.js";
  12. import InputAdornment from "@material-ui/core/InputAdornment";
  13. import Button from "components/CustomButtons/Button.js";
  14. import Icon from "@material-ui/core/Icon";
  15. import Card from "components/Card/Card.js";
  16. import CardBody from "components/Card/CardBody.js";
  17. import GridContainer from "components/Grid/GridContainer.js";
  18. import SnackbarContent from "components/Snackbar/SnackbarContent.js";
  19. import NavPills from "components/NavPills/NavPills.js";
  20. import styles from "assets/jss/nextjs-material-kit/pages/componentsSections/pillsStyle.js";
  21. import Grid from '@material-ui/core/Grid';
  22. import Paper from '@material-ui/core/Paper';
  23. const useStyles = makeStyles((theme) => ({
  24. root: {
  25. flexGrow: 1
  26. },
  27. paper: {
  28. padding: theme.spacing(2),
  29. textAlign: 'center',
  30. color: theme.palette.text.secondary
  31. }
  32. }));
  33. const DataApparel = function ({
  34. profile,
  35. user,
  36. ...props
  37. }) {
  38. const settings = {
  39. dots: true,
  40. infinite: true,
  41. speed: 500,
  42. slidesToShow: 1,
  43. slidesToScroll: 1,
  44. autoplay: true,
  45. time: 5
  46. };
  47. const [pass, setPass] = React.useState("");
  48. const classes = useStyles();
  49. const {
  50. ...rest
  51. } = props;
  52. const imageClasses = classNames(
  53. classes.imgRaised,
  54. classes.imgRoundedCircle,
  55. classes.imgFluid
  56. );
  57. const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);
  58. const Profile = profile.map((data) => {
  59. return (
  60. <NavPills
  61. color="info"
  62. horizontal={{
  63. tabsGrid: {
  64. xs: 4,
  65. sm: 3,
  66. md: 3
  67. },
  68. contentGrid: {
  69. xs: 14,
  70. sm: 9,
  71. md: 9
  72. }
  73. }}
  74. tabs={[
  75. {
  76. tabButton: "Profile",
  77. tabIcon: People,
  78. tabContent: (
  79. <Grid container="container">
  80. <Grid item="item" xs={12}>
  81. <div align="left">
  82. <h3>Profile Saya</h3>
  83. <span>Kelola informasi profil Anda untuk mengontrol, melindungi dan mengamankan akun</span>
  84. <hr></hr>
  85. </div>
  86. </Grid>
  87. <Grid
  88. container="container"
  89. style={{
  90. padding: "10px"
  91. }}>
  92. <Grid item="item" xs="xs">
  93. <div align="left">
  94. Username
  95. </div>
  96. </Grid>
  97. <Grid item="item" xs={6}>
  98. <div align="left">
  99. : {data.username}
  100. </div>
  101. </Grid>
  102. <Grid item="item" xs="xs"></Grid>
  103. </Grid>
  104. <Grid
  105. container="container"
  106. style={{
  107. padding: "10px"
  108. }}>
  109. <Grid item="item" xs="xs">
  110. <div align="left">
  111. Nama
  112. </div>
  113. </Grid>
  114. <Grid item="item" xs={6}>
  115. <div align="left">
  116. : {data.firstName}
  117. </div>
  118. </Grid>
  119. <Grid item="item" xs="xs"></Grid>
  120. </Grid>
  121. <Grid
  122. container="container"
  123. style={{
  124. padding: "10px"
  125. }}>
  126. <Grid item="item" xs="xs">
  127. <div align="left">
  128. Email
  129. </div>
  130. </Grid>
  131. <Grid item="item" xs={6}>
  132. <div align="left">
  133. : {data.email}
  134. </div>
  135. </Grid>
  136. <Grid item="item" xs="xs"></Grid>
  137. </Grid>
  138. <Grid
  139. container="container"
  140. style={{
  141. padding: "10px"
  142. }}>
  143. <Grid item="item" xs="xs">
  144. <div align="left">
  145. Nomer Telpon
  146. </div>
  147. </Grid>
  148. <Grid item="item" xs={6}>
  149. <div align="left">
  150. : {data.telp}
  151. </div>
  152. </Grid>
  153. <Grid item="item" xs="xs"></Grid>
  154. </Grid>
  155. <Button color="info" round="round" href={"/yamaha/profile/edit-profile?s="+data.id}>
  156. <Icon className={classes.icons}>open_in_new</Icon>Edit Profile
  157. </Button>
  158. </Grid>
  159. )
  160. }, {
  161. tabButton: "Alamat",
  162. tabIcon: LocationOn,
  163. tabContent: (
  164. <Grid container="container">
  165. <Grid item="item" xs={12}>
  166. <div align="left">
  167. <h3>Alamat Saya</h3>
  168. <span>Kelola informasi Alamat Anda untuk Proses Pengirim Barang</span>
  169. </div>
  170. <hr></hr>
  171. </Grid>
  172. <GridContainer>
  173. <GridItem className={classes.marginAuto}>
  174. <Carousel>
  175. <img
  176. src={image1}
  177. style={{
  178. width: "920px"
  179. }}/>
  180. </Carousel>
  181. </GridItem>
  182. </GridContainer>
  183. <br></br>
  184. <Grid
  185. container="container"
  186. style={{
  187. padding: "10px"
  188. }}>
  189. <Grid item="item" xs="xs">
  190. <div align="left">
  191. Nama
  192. </div>
  193. </Grid>
  194. <Grid item="item" xs={6}>
  195. <div align="left">
  196. : {data.firstName}
  197. </div>
  198. </Grid>
  199. <Grid item="item" xs="xs"></Grid>
  200. </Grid>
  201. <Grid
  202. container="container"
  203. style={{
  204. padding: "10px"
  205. }}>
  206. <Grid item="item" xs="xs">
  207. <div align="left">
  208. Telpon
  209. </div>
  210. </Grid>
  211. <Grid item="item" xs={6}>
  212. <div align="left">
  213. : {data.telp}
  214. </div>
  215. </Grid>
  216. <Grid item="item" xs="xs"></Grid>
  217. </Grid>
  218. <Grid
  219. container="container"
  220. style={{
  221. padding: "10px"
  222. }}>
  223. <Grid item="item" xs="xs">
  224. <div align="left">
  225. Alamat
  226. </div>
  227. </Grid>
  228. <Grid item="item" xs={6}>
  229. <div align="left">
  230. : {data.address}
  231. </div>
  232. </Grid>
  233. <Grid item="item" xs="xs"></Grid>
  234. </Grid>
  235. <Button color="info" round="round" href={"/yamaha/product/product_detail?s="+data.id}>
  236. <Icon className={classes.icons}>open_in_new</Icon>Edit Alamat
  237. </Button>
  238. </Grid>
  239. )
  240. }, {
  241. tabButton: "Ubah Password",
  242. tabIcon: Lock,
  243. tabContent: (
  244. <Grid container="container">
  245. <Grid item="item" xs={12}>
  246. <div align="left">
  247. <h3>Ubah Password</h3>
  248. <span>Untuk keamanan akun Anda, mohon untuk tidak menyebarkan password Anda ke
  249. orang lain</span>
  250. </div>
  251. <hr></hr>
  252. </Grid>
  253. <Grid
  254. container="container"
  255. style={{
  256. padding: "10px"
  257. }}>
  258. <Grid item="item" xs="xs">
  259. <div align="left">
  260. <br></br>
  261. Password Saat Ini
  262. </div>
  263. </Grid>
  264. <Grid item="item" xs={6}>
  265. <div align="left">
  266. <CustomInput
  267. labelText="Password Saat Ini"
  268. id="pass"
  269. value={pass}
  270. formControlProps={{
  271. fullWidth: true
  272. }}
  273. inputProps={{
  274. onChange: (event) => setPass(event.target.value),
  275. type: "password",
  276. endAdornment: (
  277. <InputAdornment position="end">
  278. <Icon className={classes.inputIconsColor}>
  279. lock_outline
  280. </Icon>
  281. </InputAdornment>
  282. ),
  283. autoComplete: "off"
  284. }}/>
  285. </div>
  286. </Grid>
  287. <Grid item="item" xs="xs"></Grid>
  288. </Grid>
  289. <Grid
  290. container="container"
  291. style={{
  292. padding: "10px"
  293. }}>
  294. <Grid item="item" xs="xs">
  295. <div align="left">
  296. <br></br>
  297. Password Baru
  298. </div>
  299. </Grid>
  300. <Grid item="item" xs={6}>
  301. <div align="left">
  302. <CustomInput
  303. labelText="Password Baru"
  304. id="pass"
  305. value={pass}
  306. formControlProps={{
  307. fullWidth: true
  308. }}
  309. inputProps={{
  310. onChange: (event) => setPass(event.target.value),
  311. type: "password",
  312. endAdornment: (
  313. <InputAdornment position="end">
  314. <Icon className={classes.inputIconsColor}>
  315. lock_outline
  316. </Icon>
  317. </InputAdornment>
  318. ),
  319. autoComplete: "off"
  320. }}/>
  321. </div>
  322. </Grid>
  323. <Grid item="item" xs="xs"></Grid>
  324. </Grid>
  325. <Grid
  326. container="container"
  327. style={{
  328. padding: "10px"
  329. }}>
  330. <Grid item="item" xs="xs">
  331. <div align="left">
  332. <br></br>
  333. Konfirmasi Password
  334. </div>
  335. </Grid>
  336. <Grid item="item" xs={6}>
  337. <div align="left">
  338. <CustomInput
  339. labelText="Konfirmasi Password"
  340. id="pass"
  341. value={pass}
  342. formControlProps={{
  343. fullWidth: true
  344. }}
  345. inputProps={{
  346. onChange: (event) => setPass(event.target.value),
  347. type: "password",
  348. endAdornment: (
  349. <InputAdornment position="end">
  350. <Icon className={classes.inputIconsColor}>
  351. lock_outline
  352. </Icon>
  353. </InputAdornment>
  354. ),
  355. autoComplete: "off"
  356. }}/>
  357. </div>
  358. </Grid>
  359. <Grid item="item" xs="xs"></Grid>
  360. </Grid>
  361. <Button color="info" round="round" href={"/yamaha/product/product_detail?s="+data.id}>
  362. <Icon className={classes.icons}>open_in_new</Icon>
  363. Simpan
  364. </Button>
  365. </Grid>
  366. )
  367. }
  368. ]}/>
  369. );
  370. })
  371. return (
  372. <div>
  373. <Card className={classes.textCenter} align="center">
  374. <CardBody>
  375. <div align="center">
  376. <div
  377. align="center"
  378. className={classes.section}
  379. id="notifications"
  380. style={{
  381. marginTop: "-50px"
  382. }}>
  383. <SnackbarContent message={<h4 > Profile</h4>} align="center" color="info"/>
  384. </div>
  385. <GridContainer>
  386. <GridItem className={classes.marginAuto}>
  387. <Carousel>
  388. {Profile}
  389. </Carousel>
  390. </GridItem>
  391. </GridContainer>
  392. </div>
  393. <br></br>
  394. <br></br>
  395. </CardBody>
  396. </Card>
  397. </div>
  398. );
  399. }
  400. export default DataApparel;