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/lib/pwa-utils.js.es6
Sam Saffron 157dc5e298 FEATURE: disable native share API on non tablets/phones
Native share API works fantastically on phones/tablets but on full desktop
it is confusing.
2019-05-02 13:18:29 +10:00

27 lines
657 B
JavaScript

export function nativeShare(data) {
const caps = Discourse.__container__.lookup("capabilities:main");
return new Ember.RSVP.Promise((resolve, reject) => {
if (!(caps.isIOS || caps.isAndroid || caps.isWinphone)) {
reject();
return;
}
if (
window.location.protocol === "https:" &&
typeof window.navigator.share !== "undefined"
) {
window.navigator
.share(data)
.then(resolve)
.catch(e => {
if (e.name === "AbortError") {
// closing share panel do nothing
} else {
reject();
}
});
} else {
reject();
}
});
}