0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Updated members SDK to handle upgrade (#52)

no-issue

Adds update method to layer 2

Adds update support to drop in script

Improves flickering
This commit is contained in:
Fabien O'Carroll 2019-02-23 04:33:14 +01:00 committed by GitHub
parent 8d2bbe5b0d
commit 7c360aa51d
2 changed files with 34 additions and 6 deletions

View file

@ -1,4 +1,4 @@
/* global window */
/* global document window */
var layer1 = require('@tryghost/members-layer1');
module.exports = function layer2(options) {
@ -50,6 +50,10 @@ module.exports = function layer2(options) {
return openAuth('signin');
}
function upgrade() {
return openAuth('upgrade');
}
function getToken({audience}) {
return members.getToken({audience});
}
@ -62,6 +66,7 @@ module.exports = function layer2(options) {
getToken,
signout,
signin,
upgrade,
resetPassword
});
};

View file

@ -35,19 +35,30 @@ DomReady(function () {
}
}
const membersContentElements = Array.from(document.querySelectorAll('[data-members]')); // TODO use data-members-content;
const membersContentElements = Array.from(document.querySelectorAll('[data-members-content]'));
var signinBtn = document.querySelector('[data-members-signin]');
var signinCta = document.querySelector('[data-members-signin-cta]');
var signoutBtn = document.querySelector('[data-members-signout]');
const signinBtn = document.querySelector('[data-members-signin]');
const signinCta = document.querySelector('[data-members-signin-cta]');
const upgradeCta = document.querySelector('[data-members-upgrade-cta]');
const signoutBtn = document.querySelector('[data-members-signout]');
const showForbidden = document.querySelector('[data-members-show-forbidden]');
const showUnauthorized = document.querySelector('[data-members-show-unauthorized]');
hide(showForbidden);
hide(showUnauthorized);
members.on('signedin', function () {
show(signoutBtn);
show(upgradeCta);
hide(signinCta);
hide(signinBtn);
});
members.on('signedout', function () {
show(signinBtn);
show(signinCta);
hide(upgradeCta);
hide(signoutBtn);
});
@ -63,9 +74,16 @@ DomReady(function () {
.then(reload);
}
function upgrade(event) {
event.preventDefault();
members.upgrade()
.then(reload);
}
signoutBtn.addEventListener('click', signout);
signinBtn.addEventListener('click', signin);
signinCta.addEventListener('click', signin);
upgradeCta.addEventListener('click', upgrade);
membersContentElements.forEach(function (element) {
const resourceType = element.getAttribute('data-members-resource-type');
@ -80,11 +98,16 @@ DomReady(function () {
const audience = new URL(host).origin;
members.getToken({audience}).then((token) => {
if (!token) {
show(showUnauthorized);
return;
}
api[resourceType].read({id: resourceId}, {}, token).then(({html}) => {
element.innerHTML = html;
if (html) {
element.innerHTML = html;
} else {
show(showForbidden);
}
}).catch((err) => {
element.innerHTML = err.message;
});