2014-10-29 18:03:03 +03:00
<!DOCTYPE html>
< html >
< head >
< meta charset = "UTF-8" >
< title > {{.i18n.wide}} - {{.i18n.sign_up}}< / title >
2015-02-15 11:04:18 +03:00
2014-12-25 12:08:58 +03:00
< meta name = "keywords" content = "Wide, Golang, IDE, Team, Cloud, B3log, Sign Up" / >
< meta name = "description" content = "A Web-based IDE for Teams using Golang, do your development anytime, anywhere." / >
< meta name = "author" content = "B3log" >
2015-02-15 11:04:18 +03:00
2014-10-30 11:25:57 +03:00
< link rel = "stylesheet" href = "{{.conf.StaticServer}}/static/css/base.css?{{.conf.StaticResourceVersion}}" >
< link rel = "stylesheet" href = "{{.conf.StaticServer}}/static/css/sign.css?{{.conf.StaticResourceVersion}}" >
2014-10-29 18:03:03 +03:00
< link rel = "icon" type = "image/x-icon" href = "/favicon.ico" / >
< / head >
< body >
2014-10-30 11:25:57 +03:00
< div class = "header" >
< div class = "wrapper fn-clear" >
2014-12-25 12:08:58 +03:00
< a href = "/login" rel = "login" >
< img title = "Wide, a Web-based IDE for Teams using Golang." src = "{{.conf.StaticServer}}/static/images/wide-logo.png"
2014-10-30 11:25:57 +03:00
class="logo"/>< / a >
< ul class = "fn-right" >
2015-02-15 11:04:18 +03:00
< li > < a rel = "bookmark" href = "/playground" target = "_blank" > Play< / a > < / li >
2014-12-25 12:08:58 +03:00
< li > < a rel = "bookmark" href = "https://github.com/b3log/wide" target = "_blank" > GitHub< / a > < / li >
< li > < a rel = "help" href = "https://www.gitbook.io/book/88250/wide-user-guide" target = "_blank" > {{.i18n.help}}< / a > < / li >
< li > < a rel = "bookmark" href = "https://github.com/b3log/wide/issues/new" target = "_blank" > {{.i18n.report_issues}}< / a > < / li >
2014-12-19 10:44:49 +03:00
< li > < button class = "btn btn-red" onclick = "window.open('http://b3log.org/services')" > {{.i18n.pricing}}< / button > < / li >
2014-12-19 12:44:50 +03:00
< li > < button class = "btn" onclick = "window.location.href = '/login'" > {{.i18n.login}}< / button > < / li >
2014-10-30 11:25:57 +03:00
< / ul >
< / div >
< / div >
< div class = "content" >
< div class = "wrapper fn-clear" >
< div class = "fn-left" >
< h2 > Join Wide< / h2 >
< h3 > Coding with Go on the Wide way.< / h3 >
< / div >
< div class = "form fn-right sign-up" >
< div id = "msg" class = "fn-none" > < / div >
< div class = "dir" >
Workspace:
2014-10-30 13:21:44 +03:00
< div id = "dir" data-dir = "{{.dir}}{{.pathSeparator}}" > {{.dir}}{{.pathSeparator}}< / div >
2014-10-30 11:25:57 +03:00
< / div >
< input id = "username" placeholder = "Username" / > < br / >
2014-12-08 09:02:39 +03:00
< input id = "email" placeholder = "Email" / > < br / >
2014-10-30 11:25:57 +03:00
< input id = "password" type = "password" placeholder = "Password" / > < br / >
< input id = "confirmPassword" type = "password" placeholder = "Confirm your password" / >
2014-12-19 10:44:49 +03:00
< button id = "signUpBtn" class = "btn" > {{.i18n.sign_up}}< / button >
2014-10-30 11:25:57 +03:00
< / div >
< / div >
< / div >
< div class = "footer" >
< div class = "wrapper" >
2015-01-01 04:24:16 +03:00
Ver {{.ver}}, © {{.year}} < a rel = "copyright" href = "http://b3log.org" target = "_blank" > B3LOG.ORG< / a >
2014-10-30 11:25:57 +03:00
< / div >
< / div >
< script type = "text/javascript" src = "{{.conf.StaticServer}}/static/js/lib/jquery-2.1.1.min.js" > < / script >
< script >
2015-02-15 11:04:18 +03:00
(function () {
var contentH = $(window).height() - $(".footer").height() - $(".header").height() - 18;
$(".content").height(contentH)
.css("padding-top", (contentH - $(".content .fn-left").height()) / 2 + "px");
2014-10-30 11:25:57 +03:00
2015-02-15 11:04:18 +03:00
var signUp = function () {
if ($.trim($("#username").val()) === ""
|| !/^\w+$/.test($("#username").val())
|| $.trim($("#username").val()).length > 16) {
$("#msg").text("{{.i18n.user_name_ruler}}").show();
$("#username").focus();
return false;
} else if (!/^((([a-z]|\d|[!#\$%& '\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%& '\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test($("#email").val())) {
$("#msg").text("{{.i18n.invalid_email}}").show();
$("#email").focus();
return false;
} else if ($.trim($("#password").val()) === "") {
$("#msg").text("{{.i18n.sing_up_error}}").show();
$("#password").focus();
return false;
} else if ($("#confirmPassword").val() !== $("#password").val()) {
$("#msg").text("{{.i18n.password_no_match}}").show();
$("#confirmPassword").focus();
return false;
}
2014-10-30 11:25:57 +03:00
2015-02-15 11:04:18 +03:00
var request = {
username: $("#username").val(),
password: $("#password").val(),
email: $("#email").val()
};
$.ajax({
type: 'POST',
url: '/signup',
data: JSON.stringify(request),
dataType: "json",
success: function (data) {
if (!data.succ) {
$("#msg").text(data.msg).show();
return;
}
2014-10-30 11:25:57 +03:00
2015-02-15 11:04:18 +03:00
window.location.href = "/";
}
});
};
2014-10-30 11:25:57 +03:00
2015-02-15 11:04:18 +03:00
$("#username").keyup(function (event) {
if (event.which === 13) {
if ($.trim($(this).val()) === ""
|| !/^\w+$/.test($(this).val())
|| $.trim($(this).val()).length > 16) {
$("#msg").text("{{.i18n.user_name_ruler}}").show();
} else {
$("#email").focus();
$("#msg").hide();
}
} else {
if ($.trim($(this).val()) === ""
|| !/^\w+$/.test($(this).val())
|| $.trim($(this).val()).length > 16) {
$("#msg").text("{{.i18n.user_name_ruler}}").show();
} else {
$("#msg").hide();
}
$("#dir").html($("#dir").data('dir') + $(this).val());
}
}).focus();
2014-10-30 11:25:57 +03:00
2015-02-15 11:04:18 +03:00
$("#email").keydown(function (event) {
if (event.which === 13) {
if ($.trim($(this).val()) === "") {
$("#msg").text("{{.i18n.invalid_email}}").show();
} else {
$("#password").focus();
}
} else {
$("#msg").hide();
}
});
2014-12-08 09:02:39 +03:00
2015-02-15 11:04:18 +03:00
$("#password").keydown(function (event) {
if (event.which === 13) {
if ($.trim($(this).val()) === "") {
$("#msg").text("{{.i18n.sing_up_error}}").show();
} else {
$("#confirmPassword").focus();
}
} else {
$("#msg").hide();
}
});
2014-10-30 11:25:57 +03:00
2015-02-15 11:04:18 +03:00
$("#confirmPassword").keydown(function (event) {
if (event.which === 13) {
if ($(this).val() !== $("#password").val()) {
$("#msg").text("{{.i18n.password_no_match}}").show();
} else {
signUp();
}
} else {
$("#msg").hide();
}
});
2014-11-21 09:39:56 +03:00
2015-02-15 11:04:18 +03:00
$("#signUpBtn").click(function () {
signUp();
});
})();
2014-10-30 11:25:57 +03:00
< / script >
2014-10-29 18:03:03 +03:00
< / body >
< / html >