wide/views/sign_up.html

173 lines
10 KiB
HTML
Raw Normal View History

<!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
2019-05-16 19:41:52 +03:00
<link rel="stylesheet" href="{{.conf.Server}}/static/css/base.css?{{.conf.StaticResourceVersion}}">
<link rel="stylesheet" href="{{.conf.Server}}/static/css/sign.css?{{.conf.StaticResourceVersion}}">
<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">
2019-05-16 19:41:52 +03:00
<img title="Wide, a Web-based IDE for Teams using Golang." src="{{.conf.Server}}/static/images/wide-logo.png"
2014-10-30 11:25:57 +03:00
class="logo"/></a>
<ul class="fn-right">
2015-02-26 12:01:39 +03:00
<li><a href="/playground" target="_blank" style="color: #cd504a">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>
2019-05-16 16:41:20 +03:00
<li><a rel="help" href="https://hacpai.com/article/1538873544275" target="_blank">{{.i18n.help}}</a></li>
2015-02-21 07:27:04 +03:00
<li><a rel="bookmark" href="https://github.com/b3log/wide/issues/new" target="_blank">{{.i18n.issues}}</a></li>
2016-02-26 08:45:54 +03:00
<li><button class="btn" onclick="window.location.href = '{{.conf.Context}}/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">
2015-03-23 12:55:15 +03:00
<span class="wrapper">
2018-03-12 07:28:33 +03:00
Ver {{.ver}}, &copy; {{.year}} <a rel="copyright" href="https://b3log.org" target="_blank">B3LOG.ORG</a>, <a href="https://github.com/b3log/wide/blob/master/TERMS.md" target="_blank">{{.i18n.terms}}</a>
2015-03-23 12:55:15 +03:00
</span>
2015-03-23 16:15:21 +03:00
<div class="github-btns">
<iframe src="https://ghbtns.com/github-btn.html?user=b3log&repo=wide&type=star&count=true" frameborder="0" scrolling="0" width="100" height="20"></iframe>
</div>
2014-10-30 11:25:57 +03:00
</div>
2019-05-16 19:41:52 +03:00
<script type="text/javascript" src="{{.conf.Server}}/static/js/lib/jquery-2.1.1.min.js"></script>
2014-10-30 11:25:57 +03:00
<script>
2015-02-15 11:04:18 +03:00
(function () {
var contentH = $(window).height() - $(".footer").height() - $(".header").height() - 18;
2015-09-26 12:33:55 +03:00
$(".content").outerHeight(contentH)
2015-02-15 11:04:18 +03:00
.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',
2016-02-26 08:45:54 +03:00
url: '{{.conf.Context}}/signup',
2015-02-15 11:04:18 +03:00
data: JSON.stringify(request),
dataType: "json",
2015-11-24 12:39:35 +03:00
success: function (result) {
if (!result.succ) {
$("#msg").text(result.msg).show();
2015-02-15 11:04:18 +03:00
return;
}
2014-10-30 11:25:57 +03:00
2016-02-26 08:45:54 +03:00
window.location.href = "{{.conf.Context}}/";
2015-02-15 11:04:18 +03:00
}
});
};
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>
</body>
</html>