|
@@ -3,12 +3,8 @@ import ListItemAvatar from '@mui/material/ListItemAvatar';
|
|
|
import Avatar from '@mui/material/Avatar';
|
|
|
import Checkbox from '@mui/material/Checkbox';
|
|
|
import ListItemText from '@mui/material/ListItemText';
|
|
|
-import DoneIcon from '@mui/icons-material/Done';
|
|
|
-import { useState,useEffect } from 'react';
|
|
|
import { format,firstLetter,slicedWord } from '../../../../../../../helpers'
|
|
|
-import { muteChat, updateContact } from '../../../../../../../api-data';
|
|
|
import { TChat } from '../../../../../../../typescript/redux/chat/types'
|
|
|
-import { TContact } from '../../../../../../../typescript/redux/contacts/types'
|
|
|
|
|
|
const useStyles = makeStyles({
|
|
|
container: {
|
|
@@ -21,7 +17,7 @@ const useStyles = makeStyles({
|
|
|
padding: 20,
|
|
|
marginBottom:15,
|
|
|
position: 'relative',
|
|
|
- backgroundColor:'#ffffff'
|
|
|
+ backgroundColor: '#ffffff',
|
|
|
},
|
|
|
textField: {
|
|
|
marginBottom:20
|
|
@@ -45,13 +41,22 @@ const useStyles = makeStyles({
|
|
|
|
|
|
const label = { inputProps: { 'aria-label': 'Checkbox demo' } };
|
|
|
|
|
|
-const EditList = ({chat,isContact}:{chat:TChat,isContact:TContact}) => {
|
|
|
- const classes = useStyles()
|
|
|
- const [name, setName] = useState<string>('')
|
|
|
- const [lastName, setLastName] = useState<string>('')
|
|
|
- const [mute, setMute] = useState<boolean>(true)
|
|
|
- const [openBtn, setOpenBtn] = useState<boolean>(false)
|
|
|
- const { avatarUrl,color,mute:Mute,name:Name,lastName:LastName,companionId,_id } = chat
|
|
|
+interface IEditList {
|
|
|
+ chat: TChat,
|
|
|
+ name: string,
|
|
|
+ setName: any,
|
|
|
+ lastName: string,
|
|
|
+ setLastName: any,
|
|
|
+ mute: boolean,
|
|
|
+ setMute: any,
|
|
|
+ openBtn: boolean,
|
|
|
+ setOpenBtn: any,
|
|
|
+}
|
|
|
+
|
|
|
+const EditList = (props: IEditList) => {
|
|
|
+ const classes = useStyles()
|
|
|
+ const {chat,name,setName,lastName,setLastName,mute,setMute,openBtn,setOpenBtn} = props
|
|
|
+ const { avatarUrl,color,name:Name,lastName:LastName } = chat
|
|
|
const handleNotifications = () => {
|
|
|
setMute(!mute)
|
|
|
!openBtn&&setOpenBtn(true)
|
|
@@ -71,22 +76,6 @@ const EditList = ({chat,isContact}:{chat:TChat,isContact:TContact}) => {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- const handleSubmit = () => {
|
|
|
- if (mute !== !Mute) {
|
|
|
- muteChat(companionId)
|
|
|
- }
|
|
|
- if (name !== Name || lastName !== LastName) {
|
|
|
- updateContact(isContact._id,_id,name,lastName)
|
|
|
- }
|
|
|
- openBtn&&setOpenBtn(false)
|
|
|
- }
|
|
|
-
|
|
|
- useEffect(() => {
|
|
|
- Name&&setName(Name)
|
|
|
- LastName && setLastName(LastName)
|
|
|
- setMute(!Mute)
|
|
|
- }, [Name, LastName, Mute])
|
|
|
|
|
|
return (
|
|
|
<div className={classes.container} >
|
|
@@ -110,7 +99,6 @@ const EditList = ({chat,isContact}:{chat:TChat,isContact:TContact}) => {
|
|
|
variant='outlined'
|
|
|
onChange={handleTextField}
|
|
|
className={classes.textField}
|
|
|
- required
|
|
|
/>
|
|
|
<TextField
|
|
|
id="lastName"
|
|
@@ -121,17 +109,12 @@ const EditList = ({chat,isContact}:{chat:TChat,isContact:TContact}) => {
|
|
|
variant='outlined'
|
|
|
onChange={handleTextField}
|
|
|
className={classes.textField}
|
|
|
- required
|
|
|
/>
|
|
|
<div className={classes.notifications}>
|
|
|
<Checkbox onChange={handleNotifications} {...label} checked={mute} style={{marginRight:20}} />
|
|
|
<ListItemText primary="Notifications" primaryTypographyProps={{ color: "#0e0d0d" }}
|
|
|
secondary={!mute ? 'Disabled':'Enabled'} />
|
|
|
- </div>
|
|
|
- {openBtn&&<Avatar onClick={handleSubmit} className={classes.avatarArrow}
|
|
|
- sx={{width: 56, height: 56,backgroundColor: 'rgb(41, 139, 231)',color: '#ffffff'}}>
|
|
|
- <DoneIcon fontSize="medium" />
|
|
|
- </Avatar>}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
)
|
|
|
};
|