AccountDetails.jsx 2.8 KB

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