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
2020-01-27 11:07:28 -03:00

44 lines
1.0 KiB
JavaScript

import { Promise } from "rsvp";
export function nativeShare(data) {
const caps = Discourse.__container__.lookup("capabilities:main");
return new 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();
}
});
}
export function getNativeContact(properties, multiple) {
const caps = Discourse.__container__.lookup("capabilities:main");
return new Promise((resolve, reject) => {
if (!caps.hasContactPicker) {
reject();
return;
}
navigator.contacts
.select(properties, { multiple })
.then(resolve)
.catch(reject);
});
}