This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/initializers/sharing-sources.js.es6
Penar Musaraj 03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00

66 lines
1.6 KiB
JavaScript

import Sharing from "discourse/lib/sharing";
export default {
name: "sharing-sources",
initialize: function() {
Sharing.addSource({
id: "twitter",
icon: "fab-twitter-square",
generateUrl: function(link, title) {
return (
"http://twitter.com/intent/tweet?url=" +
encodeURIComponent(link) +
"&text=" +
encodeURIComponent(title)
);
},
shouldOpenInPopup: true,
title: I18n.t("share.twitter"),
popupHeight: 265
});
Sharing.addSource({
id: "facebook",
icon: "fab-facebook-square",
title: I18n.t("share.facebook"),
generateUrl: function(link, title) {
return (
"http://www.facebook.com/sharer.php?u=" +
encodeURIComponent(link) +
"&t=" +
encodeURIComponent(title)
);
},
shouldOpenInPopup: true
});
Sharing.addSource({
id: "google+",
icon: "fab-google-plus-square",
title: I18n.t("share.google+"),
generateUrl: function(link) {
return "https://plus.google.com/share?url=" + encodeURIComponent(link);
},
shouldOpenInPopup: true,
popupHeight: 600
});
Sharing.addSource({
id: "email",
icon: "envelope-square",
title: I18n.t("share.email"),
generateUrl: function(link, title) {
return (
"mailto:?to=&subject=" +
encodeURIComponent(
"[" + Discourse.SiteSettings.title + "] " + title
) +
"&body=" +
encodeURIComponent(link)
);
}
});
}
};