diff --git a/src/lib/client/server.js b/src/lib/client/server.js index 292ed5d..91dcd48 100644 --- a/src/lib/client/server.js +++ b/src/lib/client/server.js @@ -16,8 +16,9 @@ const server_types = { }; export const capabilities = { - MARKDOWN_CONTENT: "mdcontent", + MARKDOWN_CONTENT: "markdown_content", REACTIONS: "reactions", + FOREIGN_REACTIONS: "foreign_reactions", }; // if server is falsy, assume user has not begun the login process. @@ -118,6 +119,7 @@ function getCapabilities(type) { break; case server_types.CHUCKYA: c.push(capabilities.REACTIONS); + c.push(capabilities.FOREIGN_REACTIONS); break; case server_types.FIREFISH: c.push(capabilities.REACTIONS); diff --git a/src/lib/ui/post/ActionBar.svelte b/src/lib/ui/post/ActionBar.svelte index 096cd1d..8f3e490 100644 --- a/src/lib/ui/post/ActionBar.svelte +++ b/src/lib/ui/post/ActionBar.svelte @@ -11,7 +11,6 @@ import RepostIcon from '../../../img/icons/repost.svg'; import FavouriteIcon from '../../../img/icons/like.svg'; import FavouriteIconFill from '../../../img/icons/like_fill.svg'; - import ReactIcon from '../../../img/icons/react.svg'; import QuoteIcon from '../../../img/icons/quote.svg'; import MoreIcon from '../../../img/icons/more.svg'; @@ -45,23 +44,6 @@ post.favourite_count = data.favourites_count; if (data.reactions) post.reactions = parseReactions(data.reactions); } - - async function toggleReaction(reaction) { - if (reaction.name.includes('@')) return; - - let data; - if (reaction.me) - data = await api.unreactPost(get(server).host, get(app).token, post.id, reaction.name); - else - data = await api.reactPost(get(server).host, get(app).token, post.id, reaction.name); - if (!data) { - console.error(`Failed to favourite post ${post.id}`); - return; - } - post.favourited = data.favourited; - post.favourite_count = data.favourites_count; - if (data.reactions) post.reactions = parseReactions(data.reactions); - }
diff --git a/src/lib/ui/post/ReactionBar.svelte b/src/lib/ui/post/ReactionBar.svelte index 0e7e4aa..9e907e6 100644 --- a/src/lib/ui/post/ReactionBar.svelte +++ b/src/lib/ui/post/ReactionBar.svelte @@ -1,8 +1,35 @@
@@ -12,7 +39,7 @@ on:click={() => toggleReaction(reaction)} bind:active={reaction.me} bind:count={reaction.count} - disabled={reaction.name.includes('@')} + disabled={reaction.name.includes('@') && !$server.capabilities.includes(capabilities.FOREIGN_REACTIONS)} title={reaction.name} label=""> {#if reaction.url}