code refactor
This commit is contained in:
@@ -30,7 +30,7 @@ function MessageForm({ contact }: MessaFormProps) {
|
||||
reset({ message: '' });
|
||||
};
|
||||
|
||||
const adjustSize = (event) => {
|
||||
const adjustSize = (event: React.ChangeEvent<HTMLTextAreaElement>) => {
|
||||
const textarea = event.target;
|
||||
|
||||
// Adjust height
|
||||
|
||||
@@ -21,11 +21,6 @@ type ContactsProps = {
|
||||
read: boolean;
|
||||
};
|
||||
|
||||
type ContactObjProps = {
|
||||
usernamecontact: string;
|
||||
read: boolean;
|
||||
};
|
||||
|
||||
function Chat() {
|
||||
const [contactsList, setContactsList] = useState<ContactsProps[]>([]);
|
||||
const [currentContact, setCurrentContact] = useState<string | null>(null);
|
||||
@@ -64,43 +59,42 @@ function Chat() {
|
||||
|
||||
const fetchMessages = async (currentContact: string | null) => {
|
||||
console.log('Fetching messages for: ', currentContact);
|
||||
try {
|
||||
const messages = await getMessages(currentContact);
|
||||
|
||||
setCursor(() => {
|
||||
return Math.min(
|
||||
...messages.messages.map((message) => message.message_id),
|
||||
);
|
||||
});
|
||||
await getMessages(currentContact)
|
||||
.then((messages) => {
|
||||
setCursor(() => {
|
||||
return Math.min(
|
||||
...messages.messages.map((message) => message.message_id),
|
||||
);
|
||||
});
|
||||
|
||||
messages.messages.forEach(messageHandler);
|
||||
} catch (e) {
|
||||
setErrorMessage(e.response.data.message);
|
||||
}
|
||||
messages.messages.forEach(messageHandler);
|
||||
})
|
||||
.catch((error) => setErrorMessage(error.response.data.message));
|
||||
};
|
||||
|
||||
const fetchPreviousMessages = async (contact: string | null) => {
|
||||
console.log('Fetching messages for: ', contact, 'with cursor: ', cursor);
|
||||
try {
|
||||
const messages = await getMessages(contact, cursor, 50);
|
||||
messages.messages.forEach((msg) => {
|
||||
setMessages((prevMessages) => {
|
||||
if (!prevMessages.some((m) => m.message_id === msg.message_id)) {
|
||||
return [msg, ...prevMessages];
|
||||
}
|
||||
return prevMessages;
|
||||
});
|
||||
});
|
||||
setCursor(() => {
|
||||
return Math.min(
|
||||
...messages.messages.map((message) => message.message_id),
|
||||
);
|
||||
});
|
||||
} catch (e) {
|
||||
setErrorMessage(e.response.data.message);
|
||||
}
|
||||
};
|
||||
|
||||
await getMessages(contact, cursor, 50)
|
||||
.then((messages) => {
|
||||
messages.messages.forEach((msg) => {
|
||||
setMessages((prevMessages) => {
|
||||
if (!prevMessages.some((m) => m.message_id === msg.message_id)) {
|
||||
return [msg, ...prevMessages];
|
||||
}
|
||||
return prevMessages;
|
||||
});
|
||||
});
|
||||
|
||||
setCursor(() => {
|
||||
return Math.min(
|
||||
...messages.messages.map((message) => message.message_id),
|
||||
);
|
||||
});
|
||||
})
|
||||
.catch((error) => setErrorMessage(error.response.data.message));
|
||||
};
|
||||
function messageHandler(msg: ChatMessages) {
|
||||
setMessages((prevMessages) => {
|
||||
// Check if the message already exists in the state
|
||||
@@ -111,7 +105,7 @@ function Chat() {
|
||||
});
|
||||
}
|
||||
|
||||
function updateContactStatus(contactObj: ContactObjProps, read: boolean) {
|
||||
function updateContactStatus(contactObj: ContactsProps, read: boolean) {
|
||||
setContactsList((prevContacts) =>
|
||||
prevContacts.map((contact) => {
|
||||
if (contact.usernamecontact === contactObj.usernamecontact) {
|
||||
|
||||
Reference in New Issue
Block a user