feat: reactions
This commit is contained in:
@@ -11,12 +11,12 @@
|
||||
dayjs.extend(isYesterday);
|
||||
import { tick, getContext, onMount, createEventDispatcher } from 'svelte';
|
||||
|
||||
import { settings } from '$lib/stores';
|
||||
import { settings, user } from '$lib/stores';
|
||||
|
||||
import Message from './Messages/Message.svelte';
|
||||
import Loader from '../common/Loader.svelte';
|
||||
import Spinner from '../common/Spinner.svelte';
|
||||
import { deleteMessage, updateMessage } from '$lib/apis/channels';
|
||||
import { addReaction, deleteMessage, removeReaction, updateMessage } from '$lib/apis/channels';
|
||||
|
||||
const i18n = getContext('i18n');
|
||||
|
||||
@@ -109,6 +109,31 @@
|
||||
return null;
|
||||
});
|
||||
}}
|
||||
onReaction={(name) => {
|
||||
if (
|
||||
message.reactions
|
||||
.find((reaction) => reaction.name === name)
|
||||
?.user_ids?.includes($user.id) ??
|
||||
false
|
||||
) {
|
||||
const res = removeReaction(
|
||||
localStorage.token,
|
||||
message.channel_id,
|
||||
message.id,
|
||||
name
|
||||
).catch((error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
});
|
||||
} else {
|
||||
const res = addReaction(localStorage.token, message.channel_id, message.id, name).catch(
|
||||
(error) => {
|
||||
toast.error(error);
|
||||
return null;
|
||||
}
|
||||
);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
{/each}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user