From 02b064923b1e51d81d49f14f28dbebafce23edb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sun, 8 Mar 2026 20:12:34 -0400 Subject: [PATCH] feat: add mastodon share, closes #14069 --- public/src/modules/share.js | 6 ++++++ src/social.js | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/public/src/modules/share.js b/public/src/modules/share.js index 1f2752fd76..e9e6c27489 100644 --- a/public/src/modules/share.js +++ b/public/src/modules/share.js @@ -63,6 +63,12 @@ define('share', ['hooks'], function (hooks) { return openShare(linkedin_url, postUrl, 626, 436); }); + addHandler('[component="share/mastodon"]', function () { + const postUrl = getPostUrl($(this)); + const mastodon_url = `https://share.joinmastodon.org/#text=${encodeURIComponent(postUrl)}`; + return openShare(mastodon_url, postUrl, 626, 760); + }); + hooks.fire('action:share.addHandlers', { openShare: openShare }); }; diff --git a/src/social.js b/src/social.js index 8f1d460133..9d52114583 100644 --- a/src/social.js +++ b/src/social.js @@ -40,6 +40,11 @@ social.getPostSharing = async function () { name: 'LinkedIn', class: 'fa-brands fa-linkedin', }, + { + id: 'mastodon', + name: 'Mastodon', + class: 'fa-brands fa-mastodon', + }, ]; networks = await plugins.hooks.fire('filter:social.posts', networks); networks.forEach((network) => {