127.0.0.1:8000 watch-together / master src / js / confirm-email.js
master

Tree @master (Download .tar.gz)

confirm-email.js @masterraw · history · blame

require('../scss/style.scss');
require('../scss/confirm-email.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');
const qs = query_string.parse(location.search);

$("#request_new_confirmation").on("click", function() {
    utils.validate.keys({
        token: qs.token
    }, [
        ["token", {
            message: "No confirmation token",
            color: "red",
            persistent: true
        }, utils.validate.uuid]
    ]).then(function(data) {
        return api.post("/registration/confirm-email/request", data, {
            add_captcha_token: {}
        });
    }).then(function(data) {
        ui.show_banner(data);
        if (data.show_login) {
            $("#goto_login").on("click", function() {
                window.location = "/login";
            });
            $("#request_wrapper").hide();
            $("#login_wrapper").show();
        }
    }).catch(api.handle_error_message);
});

utils.validate.keys({
    token: qs.token
}, [
    ["token", {
        message: "No confirmation token",
        color: "red",
        persistent: true
    }, utils.validate.uuid]
]).then(function(data) {
    return api.post("/registration/confirm-email", data);
}).then(function(data) {
    $("#success_message").text(data.message);
    $("#goto_login").on("click", function() {
        window.location = "/login?" + query_string.stringify({
            email: data.email
        });
    });
    $("#loading").hide();
    $("#login_wrapper").show();
}).catch(api.handle_error_message);