AccountDetails.jsx 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import {useState} from "react";
  2. import {Avatar, Grid, Typography} from "@mui/material";
  3. import {backURL} from "../../actions/PathDB";
  4. import ManageAccountsIcon from "@mui/icons-material/ManageAccounts";
  5. import {ItemTabsAccountDefault} from "./ItemTabsAccountDefault";
  6. import {CFormUpload} from "./FormUpload";
  7. export const AccountDetails = ({promise, user, time}) => {
  8. const [status, setStatus] = useState(false)
  9. return (
  10. !status ?
  11. <Grid
  12. container
  13. spacing={2}
  14. justifyContent='space-between'
  15. alignItems='center'
  16. textAlign='center'
  17. >
  18. <ItemTabsAccountDefault
  19. title={'Login'}
  20. content={user?.login}
  21. />
  22. <ItemTabsAccountDefault
  23. title={'Nick'}
  24. content={user?.nick}
  25. />
  26. <ItemTabsAccountDefault
  27. title={'Status account'}
  28. content={user?.acl[2] || user?.acl[1]}
  29. />
  30. <ItemTabsAccountDefault
  31. title={'Account creation date'}
  32. content={time}
  33. />
  34. <ItemTabsAccountDefault
  35. title={'Avatar'}
  36. content={
  37. (user?.avatar?.url ?
  38. <Avatar
  39. style={{margin: '0 auto'}}
  40. alt="User"
  41. src={backURL + '/' + user?.avatar?.url}
  42. />
  43. : 'Not installed'
  44. )
  45. }
  46. />
  47. <Grid item xs={12} md={4}>
  48. <Typography
  49. sx={{cursor: 'pointer'}}
  50. color={'#1976d2'}
  51. display='flex'
  52. justifyContent='center'
  53. alignItems='center'
  54. variant='h6'
  55. onClick={() => setStatus(true)}
  56. >
  57. <ManageAccountsIcon style={{marginRight: '10px'}}/>
  58. Edit data
  59. </Typography>
  60. </Grid>
  61. {!promise['setNewLogin']?.payload && promise['setNewLogin']?.status === 'RESOLVED' &&
  62. <Typography
  63. width='100%'
  64. textAlign='center'
  65. color='red'
  66. >
  67. this login already exists
  68. </Typography>
  69. }
  70. </Grid>
  71. :
  72. <CFormUpload
  73. user={user}
  74. setStatus={value => setStatus(value)}
  75. />
  76. )
  77. }