From 0a104644208239bfccb8a3c0a952d2144fb85a42 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Thu, 3 Apr 2025 17:28:37 +0300 Subject: [PATCH] Enable share button to do native share --- app/assets/javascripts/social_share_button.js | 9 +++++++++ app/helpers/social_share_button_helper.rb | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/social_share_button.js b/app/assets/javascripts/social_share_button.js index 4ea11128c..e8c6673b5 100644 --- a/app/assets/javascripts/social_share_button.js +++ b/app/assets/javascripts/social_share_button.js @@ -14,4 +14,13 @@ $(function () { e.preventDefault(); openShareUrl(this.href); }); + + if (navigator.share) { + $(".social-share-buttons [data-share-type='native']").prop("hidden", false).on("click", function () { + navigator.share({ + text: this.dataset.shareText, + url: this.dataset.shareUrl + }); + }); + } }); diff --git a/app/helpers/social_share_button_helper.rb b/app/helpers/social_share_button_helper.rb index b9c8e309e..04f0729ab 100644 --- a/app/helpers/social_share_button_helper.rb +++ b/app/helpers/social_share_button_helper.rb @@ -21,7 +21,9 @@ module SocialShareButtonHelper :class => "btn btn-secondary p-1 border-1 rounded-circle", :title => I18n.t("application.share.share.title"), :hidden => true, - :data => { :share_type => "native" }) do + :data => { :share_type => "native", + :share_text => title, + :share_url => url }) do image_tag("social_icons/share.svg", :alt => I18n.t("application.share.share.alt"), :size => 18, :class => "d-block") end ] -- 2.39.5