refac: optimisation

This commit is contained in:
Timothy Jaeryang Baek 2024-12-31 00:11:46 -08:00
parent 00e8849445
commit a3dfa90668
2 changed files with 17 additions and 7 deletions

View File

@ -74,7 +74,6 @@
const data = event?.data?.data ?? null; const data = event?.data?.data ?? null;
if (type === 'message') { if (type === 'message') {
console.log('message', data);
messages = [data, ...messages]; messages = [data, ...messages];
if (typingUsers.find((user) => user.id === event.user.id)) { if (typingUsers.find((user) => user.id === event.user.id)) {
@ -86,18 +85,14 @@
messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight; messagesContainerElement.scrollTop = messagesContainerElement.scrollHeight;
} }
} else if (type === 'message:update') { } else if (type === 'message:update') {
console.log('message:update', data);
const idx = messages.findIndex((message) => message.id === data.id); const idx = messages.findIndex((message) => message.id === data.id);
if (idx !== -1) { if (idx !== -1) {
messages[idx] = data; messages[idx] = data;
} }
} else if (type === 'message:delete') { } else if (type === 'message:delete') {
console.log('message:delete', data);
messages = messages.filter((message) => message.id !== data.id); messages = messages.filter((message) => message.id !== data.id);
} else if (type === 'message:reaction') { } else if (type === 'message:reaction') {
console.log('message:reaction', data);
const idx = messages.findIndex((message) => message.id === data.id); const idx = messages.findIndex((message) => message.id === data.id);
if (idx !== -1) { if (idx !== -1) {
messages[idx] = data; messages[idx] = data;

View File

@ -14,7 +14,7 @@
export let user = null; export let user = null;
let show = false; let show = false;
let emojis = emojiShortCodes; let emojis = {};
let search = ''; let search = '';
$: if (search) { $: if (search) {
@ -39,6 +39,21 @@
} else { } else {
emojis = emojiShortCodes; emojis = emojiShortCodes;
} }
$: if (show) {
init();
} else {
destroy();
}
const init = () => {
emojis = emojiShortCodes;
};
const destroy = () => {
search = '';
emojis = {};
};
</script> </script>
<DropdownMenu.Root <DropdownMenu.Root
@ -86,7 +101,7 @@
</div> </div>
<div class="flex mb-2 flex-wrap gap-1"> <div class="flex mb-2 flex-wrap gap-1">
{#each groupEmojis as emoji} {#each groupEmojis as emoji (emoji)}
<Tooltip <Tooltip
content={(typeof emojiShortCodes[emoji] === 'string' content={(typeof emojiShortCodes[emoji] === 'string'
? [emojiShortCodes[emoji]] ? [emojiShortCodes[emoji]]