Added monetizejs calls
This commit is contained in:
parent
8ccbe7cae4
commit
d7cfc938f1
@ -10,12 +10,13 @@ define([
|
||||
"storage",
|
||||
"settings",
|
||||
"eventMgr",
|
||||
"monetizejs",
|
||||
"text!html/bodyIndex.html",
|
||||
"text!html/bodyViewer.html",
|
||||
"text!html/tooltipSettingsTemplate.html",
|
||||
"storage",
|
||||
'pagedown'
|
||||
], function($, _, crel, editor, layout, constants, utils, storage, settings, eventMgr, bodyIndexHTML, bodyViewerHTML, settingsTemplateTooltipHTML) {
|
||||
], function($, _, crel, editor, layout, constants, utils, storage, settings, eventMgr, MonetizeJS, bodyIndexHTML, bodyViewerHTML, settingsTemplateTooltipHTML) {
|
||||
|
||||
var core = {};
|
||||
|
||||
@ -325,6 +326,59 @@ define([
|
||||
eventMgr.onReady();
|
||||
};
|
||||
|
||||
var monetize = new MonetizeJS({
|
||||
applicationID: 'iklMbzDI7dvMEScb'
|
||||
});
|
||||
var $alerts = $();
|
||||
|
||||
function hasPaid(payments) {
|
||||
return payments && (
|
||||
(payments.chargeOption && payments.chargeOption.alias == 'once') ||
|
||||
(payments.subscriptionOption && payments.subscriptionOption.alias == 'monthly') ||
|
||||
(payments.subscriptionOption && payments.subscriptionOption.alias == 'yearly'));
|
||||
}
|
||||
|
||||
function removeAlerts() {
|
||||
$alerts.remove();
|
||||
$alerts = $();
|
||||
}
|
||||
|
||||
function performPayment() {
|
||||
monetize.getPayments({
|
||||
pricingOptions: [
|
||||
'once',
|
||||
'monthly',
|
||||
'yearly'
|
||||
]
|
||||
}, function(err, payments) {
|
||||
if(hasPaid(payments)) {
|
||||
eventMgr.onMessage('Thank you for sponsoring StackEdit!');
|
||||
removeAlerts();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var checkPayment = _.debounce(function() {
|
||||
if(isOffline) {
|
||||
return;
|
||||
}
|
||||
monetize.getPaymentsImmediate(function(err, payments) {
|
||||
if(!hasPaid(payments)) {
|
||||
_.each(document.querySelectorAll('.modal-body'), function(modalBodyElt) {
|
||||
var $elt = $('<div class="alert alert-danger">Please consider <a href="#">sponsoring StackEdit</a> for $1/month (or <a href="#">sign in</a> if you\'re already a sponsor).</div>');
|
||||
$elt.find('a').click(performPayment);
|
||||
modalBodyElt.insertBefore($elt[0], modalBodyElt.firstChild);
|
||||
$alerts = $alerts.add($elt);
|
||||
});
|
||||
}
|
||||
else {
|
||||
removeAlerts();
|
||||
}
|
||||
});
|
||||
}, 1000);
|
||||
|
||||
eventMgr.addListener('onOfflineChanged', checkPayment);
|
||||
|
||||
// Other initialization that are not prioritary
|
||||
eventMgr.addListener("onReady", function() {
|
||||
|
||||
@ -521,7 +575,8 @@ define([
|
||||
document.getElementById('input-settings-theme').innerHTML = themeOptions;
|
||||
}
|
||||
|
||||
$('.modal-header').append('<a class="dialog-header-message" href="https://github.com/benweet/stackedit/issues/385" target="_blank">Give your feedback <i class="icon-megaphone"></i></a>');
|
||||
//$('.modal-header').append('<a class="dialog-header-message" href="https://github.com/benweet/stackedit/issues/385" target="_blank">Give your feedback <i class="icon-megaphone"></i></a>');
|
||||
checkPayment();
|
||||
});
|
||||
|
||||
return core;
|
||||
|
@ -1,61 +1,31 @@
|
||||
define([
|
||||
"underscore",
|
||||
"constants",
|
||||
"utils",
|
||||
"classes/Extension",
|
||||
"text!html/dialogAbout.html",
|
||||
], function(_, constants, utils, Extension, dialogAboutHTML) {
|
||||
"jquery",
|
||||
"underscore",
|
||||
"constants",
|
||||
"utils",
|
||||
"classes/Extension",
|
||||
"monetizejs",
|
||||
"text!html/dialogAbout.html"
|
||||
], function($, _, constants, utils, Extension, MonetizeJS, dialogAboutHTML) {
|
||||
|
||||
var dialogAbout = new Extension("dialogAbout", 'Dialog "About"');
|
||||
var dialogAbout = new Extension("dialogAbout", 'Dialog "About"');
|
||||
|
||||
var libraries = {
|
||||
"Bootstrap": "http://getbootstrap.com/",
|
||||
"Bootstrap Tour": "http://bootstraptour.com/",
|
||||
"crel": "https://github.com/KoryNunn/crel",
|
||||
"FileSaver.js": "https://github.com/eligrey/FileSaver.js/",
|
||||
"Fontello": "http://fontello.com/",
|
||||
"Font Awesome and others...": "res/libs/fontello/LICENSE.txt",
|
||||
"Gatekeeper": "https://github.com/prose/gatekeeper",
|
||||
"Github.js": "https://github.com/michael/github",
|
||||
"Hammer.js": "http://eightmedia.github.io/hammer.js/",
|
||||
"Highlight.js": "http://softwaremaniacs.org/soft/highlight/en/",
|
||||
"jGrowl": "https://github.com/stanlemon/jGrowl/",
|
||||
"jQuery": "http://jquery.com/",
|
||||
"jsondiffpatch": "https://github.com/benjamine/jsondiffpatch",
|
||||
"MathJax": "http://www.mathjax.org/",
|
||||
"Mousetrap": "http://craig.is/killing/mice",
|
||||
"PageDown": "https://code.google.com/p/pagedown/",
|
||||
"PageDown Extra": "https://github.com/jmcmanus/pagedown-extra/",
|
||||
"Prettify": "https://code.google.com/p/google-code-prettify/",
|
||||
"Prism": "http://prismjs.com/",
|
||||
"Rangy": "https://code.google.com/p/rangy/",
|
||||
"RequireJS": "http://requirejs.org/",
|
||||
"RequireJS LESS plugin": "https://github.com/guybedford/require-less",
|
||||
"stacktrace.js": "http://stacktracejs.com/",
|
||||
"to-markdown": "https://github.com/domchristie/to-markdown",
|
||||
"Underscore.js": "http://underscorejs.org/",
|
||||
"waitForImages": "https://github.com/alexanderdickson/waitForImages",
|
||||
"XRegExp": "https://github.com/slevithan/xregexp",
|
||||
"yaml.js": "https://github.com/jeremyfa/yaml.js"
|
||||
};
|
||||
var monetize = new MonetizeJS({
|
||||
applicationID: 'iklMbzDI7dvMEScb'
|
||||
});
|
||||
|
||||
var projects = {
|
||||
"StackEdit Download Proxy": "https://github.com/benweet/stackedit-download-proxy",
|
||||
"StackEdit HTMLtoPDF": "https://github.com/benweet/stackedit-htmltopdf",
|
||||
"StackEdit Picasa Proxy": "https://github.com/benweet/stackedit-picasa-proxy",
|
||||
"StackEdit SSH Proxy": "https://github.com/benweet/stackedit-ssh-proxy",
|
||||
"StackEdit Tumblr Proxy": "https://github.com/benweet/stackedit-tumblr-proxy",
|
||||
"StackEdit WordPress Proxy": "https://github.com/benweet/stackedit-wordpress-proxy",
|
||||
};
|
||||
dialogAbout.onReady = function() {
|
||||
utils.addModal('modal-about', _.template(dialogAboutHTML, {
|
||||
version: constants.VERSION
|
||||
}));
|
||||
$('.modal-about .sponsorship-button').click(function() {
|
||||
monetize.getPayments({
|
||||
summary: true
|
||||
}, function() {
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
dialogAbout.onReady = function() {
|
||||
utils.addModal('modal-about', _.template(dialogAboutHTML, {
|
||||
libraries: libraries,
|
||||
projects: projects,
|
||||
version: constants.VERSION
|
||||
}));
|
||||
};
|
||||
|
||||
return dialogAbout;
|
||||
return dialogAbout;
|
||||
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user