code refactor

This commit is contained in:
slawk0
2024-11-15 22:56:45 +01:00
parent 88307104a2
commit c1cd395a5e
2 changed files with 31 additions and 37 deletions

View File

@@ -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

View File

@@ -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) {