Advertisement
Guest User

Untitled

a guest
May 20th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  1. import React, {useEffect} from 'react';
  2. import {createStyles, Grid, makeStyles, Theme, Typography} from "@material-ui/core";
  3. import axios from "axios";
  4. import Cookies from "js-cookie";
  5. import {useDispatch, useSelector} from "react-redux";
  6. import Avatar from "@material-ui/core/Avatar";
  7. import { hideModal, listingActions, userActions} from "../../../actions";
  8. import {State} from "react-select/lib/Async";
  9. import LoginForm from "../../../components/modals/LoginDialog";
  10. import TextField from "@material-ui/core/TextField";
  11.  
  12. const useStyles = makeStyles((theme: Theme) =>
  13. createStyles({
  14. root: {
  15.  
  16. },profileContainer: {
  17. paddingTop: '20px',
  18. paddingBottom: '10px',
  19. paddingLeft: '20px',
  20. paddingRight: '20px',
  21. display: 'flex',
  22. alignItems: 'center',
  23. flexDirection: 'row',
  24. justifyContent: 'flex-start',
  25. flexwrap: 'wrap',
  26.  
  27.  
  28.  
  29. },profileTextfieldsContainer: {
  30. paddingTop: '35px',
  31. paddingLeft: '100px',
  32. display: 'flex',
  33. alignItems: 'center',
  34. justifyContent: 'space-between',
  35. flexDirection: 'column',
  36. flex: '0 0 430px',
  37.  
  38. },profilePictureContainer: {
  39. paddingBottom: '150px',
  40. display: 'flex',
  41. alignItems: 'center',
  42. justifyContent: 'space-between',
  43. flexDirection: 'column',
  44.  
  45. }, bigAvatar: {
  46. margin: 10,
  47. width: 120,
  48. height: 120,
  49. },
  50. textField: {
  51. padding: '16px',
  52. },
  53. }),
  54. );
  55. /*får feil token når en bruker denne
  56. function getCookie(name: string) {
  57. var nameEQ = name + "=";
  58. var ca = document.cookie.split(';');
  59. for(var i=0;i < ca.length;i++) {
  60. var c = ca[i];
  61. while (c.charAt(0)==' ') c = c.substring(1,c.length);
  62. if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  63. }
  64. return null;
  65. }
  66.  
  67. function getCurrentUser() {
  68. let config = {
  69. headers: {
  70. Authorization: "Bearer " + getCookie("authentication_token")
  71. }
  72. }
  73.  
  74. console.log(config);
  75.  
  76. return axios.get("api/ApplicationUser/GetCurrentUser", config).then((response) => {
  77. return response;
  78. });
  79. }
  80. */
  81.  
  82.  
  83. function ProfileView(props: any) {
  84. const classes = useStyles();
  85. const dispatch = useDispatch();
  86.  
  87. const userdata = useSelector((state: any) => state.user.userData);
  88.  
  89.  
  90. const [form, setForm] = React.useState({
  91. username: 'test',
  92. email: 'test@løk',
  93. phonenumber: '911',
  94. firstname:'løken',
  95. lastname: 'geir',
  96. password: 'hehe'
  97. });
  98.  
  99. const handleFormChange = (event: React.ChangeEvent<HTMLInputElement>) => {
  100. setForm({
  101. ...form,
  102. [event.target.name]: event.target.value
  103. });
  104. };
  105.  
  106. useEffect(() => {
  107. const getCurrentUser = () => {
  108. return dispatch({type: userActions.API_USER_REQUEST}
  109. )};
  110.  
  111. getCurrentUser();
  112. }, []);
  113.  
  114.  
  115.  
  116. return (
  117. <div>
  118. <div className={classes.profileContainer}>
  119. <div className={classes.profilePictureContainer}>
  120. <Avatar alt="Remy Sharp" src={require('../../../static/images/avatar.png')} className={classes.bigAvatar} />
  121. <Typography gutterBottom variant="h5" component="h2" >
  122. {props.data.description}
  123. </Typography>
  124. </div>
  125. <form className={classes.profileTextfieldsContainer}>
  126. <TextField
  127. id="username"
  128. fullWidth
  129. label="username"
  130. className={classes.textField}
  131. value={form.username}
  132. onChange={handleFormChange}
  133.  
  134. />
  135. <TextField
  136. id="email"
  137. fullWidth
  138. label="email"
  139. className={classes.textField}
  140. value={form.email}
  141. onChange={handleFormChange}
  142.  
  143. />
  144. <TextField
  145. id="email"
  146. fullWidth
  147. label="email"
  148. className={classes.textField}
  149. value={form.email}
  150. onChange={handleFormChange}
  151.  
  152. />
  153.  
  154. <TextField
  155. id="email"
  156. fullWidth
  157. label="email"
  158. className={classes.textField}
  159. value={form.email}
  160. onChange={handleFormChange}
  161.  
  162. />
  163.  
  164. </form>
  165.  
  166. </div>
  167. </div>
  168. );
  169. }
  170.  
  171. export default ProfileView;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement