127.0.0.1:8000 watch-together / master src / js / register.js
master

Tree @master (Download .tar.gz)

register.js @masterraw · history · blame

require('../scss/style.scss');
require('./utils/logger');
const ui = require('./ui/common');
const $ = require('jquery');
const utils = require('./utils');
const api = require('./utils/api');
const query_string = require('query-string');

let qs = query_string.parse(location.search);
logger.log(qs);

ui.init_new_password();

$("#register_button").on("click", function() {
    utils.validate.keys({
        token: qs.token,
        email: $("#email").val().trim(),
        display_name: $("#display_name").val().trim(),
        password: $("#new_password").val()
    }, [
        ["token", "Registration token required", utils.validate.uuid],
        ["email", "Email required"],
        ["email", "Invalid email", utils.validate.email],
        ["display_name", "You must pick a username"],
        ["password", "Passwords don't match", password => password === $("#confirm_password").val()],
        ["password", "You must appease the password strength meter", password => utils.validate.password(password).score]
    ]).then(function(data) {
        return api.post("/registration", data, {
            add_captcha_token: {}
        });
    }).then(function(data) {
        logger.log(data);
        ui.show_banner(data);
    }).catch(api.handle_error_message);
});