CreateNewChat.jsx 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { Button, Paper, TextField } from '@mui/material';
  2. import { connect } from 'react-redux';
  3. import DropZoneAvatar from './DropZone/DropZoneAvatar';
  4. import { actionUploadFile } from '../actions/actionsMedia';
  5. import { SearchUserForChatWrap } from './SearchUserForChat/SearchUserForChat.style';
  6. import { SearchUserForChat } from './SearchUserForChat/SearchUserForChat';
  7. import { useEffect, useState } from 'react';
  8. import {actionUpsertChat } from '../actions/actionsForChats';
  9. export const NewChatModal = ({url, handleClose, handleSetAvatar, inputValue, setChatNameValue, setShowNextModal}) => {
  10. useEffect(() =>{
  11. console.log(url)
  12. }, [url])
  13. return(
  14. <div className='MainChatModal'>
  15. <div>
  16. <DropZoneAvatar component={"dropAvatarComponent"} onLoad={handleSetAvatar} url={url}/>
  17. <TextField
  18. sx={{width: '100%'}}
  19. id="standard-basic"
  20. label="Chat Name"
  21. variant="standard"
  22. color='primary'
  23. value={inputValue}
  24. onChange={(e) =>setChatNameValue(e.target.value)}
  25. />
  26. </div>
  27. <div>
  28. <Button variant='text' onClick={handleClose}>Cancel</Button>
  29. <Button variant='text' disabled={inputValue ? false : true} onClick={()=> setShowNextModal(true)}>Next</Button>
  30. </div>
  31. </div>
  32. )
  33. }
  34. function CreateNewChat({createChat, handleClose}) {
  35. const [avatar, setAvatar] = useState('');
  36. const [chatNameValue, setChatNameValue] = useState('');
  37. const [showNextModal, setShowNextModal] = useState(false);
  38. const [users, setUsers] = useState();
  39. return (!showNextModal) ?
  40. <NewChatModal
  41. handleSetAvatar={setAvatar}
  42. url={avatar && URL.createObjectURL(avatar)}
  43. handleClose={handleClose}
  44. inputValue={chatNameValue}
  45. setChatNameValue={setChatNameValue}
  46. setShowNextModal={setShowNextModal}
  47. />
  48. :
  49. <>
  50. <SearchUserForChat getUsers={setUsers} />
  51. <div style={{display: "flex",
  52. padding: "10px 15px",
  53. justifyContent: "right",
  54. alignItems: "center"}}>
  55. <Button variant="text" onClick={handleClose} >Cancel</Button>
  56. <Button variant="text" onClick={() => {createChat(null, chatNameValue, users, avatar); handleClose()}}>Create</Button>
  57. </div>
  58. </>
  59. }
  60. export default connect(null, {createChat: actionUpsertChat})(CreateNewChat);