/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ $('#username').on("keyup", function () { $('#username').val($('#username').val().toLowerCase()); }); function checkAndSave(username, password) { app.preloader.show(); callAPI("getkey", { username: username, password: password }, function (data) { app.preloader.hide(); localStorage.setItem("key", data.key); localStorage.setItem("username", username); localStorage.setItem("password", password); callAPI("getprofile", { key: data.key }, function (profile) { if (profile.profile.type == 1) { localStorage.setItem("accttype", "giver"); } else if (profile.profile.type == 2) { localStorage.setItem("accttype", "receiver"); } else if (profile.profile.type == 3) { app.preloader.hide(); app.dialog.alert("You need to download the merchant app instead. Visit ntsm.co/contact if you need help.", "Error"); return; } else { app.preloader.hide(); app.dialog.alert("Server replied with unknown account type. You might need to update this app.", "Error"); return; } localStorage.setItem("configured", true); // Restart the app to re-read the config restartApplication(); }, function (msg) { app.preloader.hide(); app.dialog.alert(msg, "Error"); }); }, function (msg) { app.preloader.hide(); app.dialog.alert(msg, "Error"); }); } function setupAccount() { var type = $("#accttype").val(); var username = $("#username").val(); var password = $("#password").val(); checkAndSave(username, password, type); } function createAccount() { var type = $("#accttype").val(); var username = $("#username").val(); var password = $("#password").val(); if (username.length < 1) { app.dialog.alert("Enter a username.", "Error"); return; } if (password.length < SETTINGS["min_password_length"]) { app.dialog.alert("Password must be at least " + SETTINGS["min_password_length"] + " characters long.", "Error"); return; } app.dialog.create({ text: "I agree to the terms of service and privacy policy.", buttons: [ { text: "No", onClick: function () { restartApplication(); } }, { text: "Yes", onClick: function () { app.preloader.show(); callAPI("signup", { username: username, password: password, accttype: type }, function (data) { app.preloader.hide(); checkAndSave(username, password, type); }, function (msg) { app.preloader.hide(); app.dialog.alert(msg, "Error"); }); } }, { text: "Show", onClick: function () { openBrowser(SETTINGS["terms_of_service_url"]); } }, ] }).open(); }