Setting.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import React, { useState, useEffect } from 'react'
  2. import { CEditAvatar } from '../../components/EditAvatar'
  3. import { Input } from '../../components/Input'
  4. import { message, Image, Button } from 'antd'
  5. import { connect } from 'react-redux'
  6. import { actionUploadFile, actionSetAvatar, actionUserUpsert, actionUserUpdate } from '../../actions'
  7. import { Basic, ConstructorModal } from '../../helpers'
  8. export const EditAccount = ({showModalEdit }) => {
  9. return (
  10. <Button
  11. type="primary" style={{
  12. fontWeight: '600',
  13. fontSize: '15px',
  14. transition: ".3s",
  15. boxShadow: "0 5px 15px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22)",
  16. }}
  17. onClick={showModalEdit}>Edit Setting</Button>
  18. )
  19. }
  20. const EditSetting = ({ info, myId, onSaveUserUpsert }) => {
  21. const [state, setState] = useState(info)
  22. const [isModalVisibleEdit, setIsModalVisibleEdit] = useState(false);
  23. // actionChangePassword
  24. console.log('all info ', info)
  25. const showModalEdit = () => {
  26. setIsModalVisibleEdit(true);
  27. };
  28. const handleCancelEdit = () => {
  29. setIsModalVisibleEdit(false)
  30. }
  31. const onChangeLogin = (event) =>
  32. setState({
  33. ...state,
  34. login: event.target.value,
  35. })
  36. const onChangeNick = (event) =>
  37. setState({
  38. ...state,
  39. nick: event.target.value,
  40. })
  41. const saveChange = () => {
  42. onSaveUserUpsert(state, myId)
  43. && message.success(`Save success changed!`)
  44. && setIsModalVisibleEdit(false)
  45. }
  46. return (
  47. <div>
  48. <EditAccount showModalEdit={showModalEdit}/>
  49. <ConstructorModal title={'Edit setting'}
  50. isModalVisible={isModalVisibleEdit}
  51. setIsModalVisible={setIsModalVisibleEdit}
  52. handleCancel={handleCancelEdit}
  53. >
  54. <CEditAvatar setIsModalVisibleEdit={setIsModalVisibleEdit} />
  55. <h2> Edit login </h2>
  56. <div style={{ display: 'flex', alignItems: 'center', flexDirection: 'row' }}>
  57. <Input
  58. state={state?.login || ''}
  59. className="Input"
  60. onChangeText={onChangeLogin}
  61. />
  62. <Button size="large" style={{ margin: '10px' }}
  63. onClick={saveChange}
  64. disabled={state?.login ? false : true}
  65. type="primary"> Save login </Button>
  66. </div>
  67. <h2> Edit nick </h2>
  68. <div style={{ display: 'flex', alignItems: 'center', flexDirection: 'row' }}>
  69. <Input
  70. state={state?.nick || ''}
  71. className="Input"
  72. onChangeText={onChangeNick}
  73. />
  74. <Button style={{ margin: '10px' }}
  75. disabled={state?.nick ? false : true}
  76. onClick={saveChange}
  77. size="large"
  78. type="primary"
  79. >
  80. Save nick
  81. </Button>
  82. </div>
  83. </ConstructorModal>
  84. </div>
  85. )
  86. }
  87. export const CEditSetting = connect(
  88. (state) => ({
  89. myId: state?.auth.payload.sub?.id,
  90. info: state?.profileData?.aboutMe,
  91. }),
  92. {
  93. onSaveUserUpsert: actionUserUpdate,
  94. },
  95. )(EditSetting)