Browse Source

Merge branch 'master' of github.com:gogits/gogs

Conflicts:
	templates/user/signup.tmpl
pull/31/head
Unknown 11 years ago
parent
commit
d8b92b4bc9
  1. 12
      public/css/gogs.css
  2. 50
      public/js/app.js
  3. 2
      public/js/jquery.validate.min.js
  4. 3
      routers/dashboard.go
  5. 2
      routers/user/user.go
  6. 1
      templates/base/footer.tmpl
  7. 4
      templates/base/navbar.tmpl
  8. 16
      templates/user/signup.tmpl

12
public/css/gogs.css

@ -20,6 +20,10 @@ body {
border-bottom-color: #333 !important; border-bottom-color: #333 !important;
} }
.tooltip-arrow:before {
border-bottom-color: transparent !important;
}
.fa { .fa {
margin: 0 .5em; margin: 0 .5em;
} }
@ -39,6 +43,7 @@ body {
font-weight: bold; font-weight: bold;
color: #EEE; color: #EEE;
font-size: 100%; font-size: 100%;
height: 46px;
} }
.gogs-nav-item:hover, .gogs-nav-item:hover,
@ -55,6 +60,7 @@ body {
cursor: pointer; cursor: pointer;
margin-top: 8px; margin-top: 8px;
padding: 5px 15px; padding: 5px 15px;
height: 30px;
} }
.gogs-nav-item.navbar-right .fa { .gogs-nav-item.navbar-right .fa {
@ -68,7 +74,7 @@ body {
.gogs-nav .active:after { .gogs-nav .active:after {
position: absolute; position: absolute;
bottom: -2px; bottom: -1px;
left: 50%; left: 50%;
width: 0; width: 0;
height: 0; height: 0;
@ -80,6 +86,10 @@ body {
border-left: 5px solid transparent; border-left: 5px solid transparent;
} }
#gogs-nav-logo:after {
bottom: -4px !important;
}
.gogs-nav .tooltip { .gogs-nav .tooltip {
border: none; border: none;
} }

50
public/js/app.js

@ -1,7 +1,9 @@
var Gogits = {}; var Gogits = {
"PageIsSignup": false
};
(function($){ (function ($) {
Gogits.showTooltips = function(){ Gogits.showTooltips = function () {
$("body").tooltip({ $("body").tooltip({
selector: "[data-toggle=tooltip]" selector: "[data-toggle=tooltip]"
//container: "body" //container: "body"
@ -13,10 +15,48 @@ var Gogits = {};
} }
$(selector).tab("show"); $(selector).tab("show");
$(selector).find("li:eq(" + index + ") a").tab("show"); $(selector).find("li:eq(" + index + ") a").tab("show");
} };
Gogits.validateForm = function (selector, options) {
var $form = $(selector);
options = options || {};
options.showErrors = function (map, list) {
var $error = $form.find('.form-error').addClass('hidden');
$('.has-error').removeClass("has-error");
$error.text(list[0].message).show().removeClass("hidden");
$(list[0].element).parents(".form-group").addClass("has-error");
};
$form.validate(options);
};
})(jQuery); })(jQuery);
function initCore(){ function initCore() {
Gogits.showTooltips(); Gogits.showTooltips();
} }
function initRegister() {
$.getScript("/js/jquery.validate.min.js", function () {
Gogits.validateForm("#gogs-login-card", {
rules: {
"username": {
required: true,
minlength: 5,
maxlength: 30
},
"email": {
required: true,
email: true
},
"passwd": {
required: true,
minlength: 6,
maxlength: 30
},
"re-passwd": {
required: true,
equalTo: "input[name=passwd]"
}
}
});
});
}

2
public/js/jquery.validate.min.js vendored

File diff suppressed because one or more lines are too long

3
routers/dashboard.go

@ -16,5 +16,6 @@ func Home(r render.Render, data base.TmplData, session sessions.Session) {
user.Dashboard(r, data, session) user.Dashboard(r, data, session)
return return
} }
r.HTML(200, "home", nil) data["PageIsHome"] = true
r.HTML(200, "home", data)
} }

2
routers/user/user.go

@ -27,6 +27,7 @@ func Dashboard(r render.Render, data base.TmplData, session sessions.Session) {
data["IsSigned"] = true data["IsSigned"] = true
data["SignedUserId"] = SignedInId(session) data["SignedUserId"] = SignedInId(session)
data["SignedUserName"] = SignedInName(session) data["SignedUserName"] = SignedInName(session)
data["PageIsUserDashboard"] = true
data["Title"] = "Dashboard" data["Title"] = "Dashboard"
r.HTML(200, "user/dashboard", data) r.HTML(200, "user/dashboard", data)
@ -112,6 +113,7 @@ func SignIn(req *http.Request, r render.Render, session sessions.Session) {
func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r render.Render) { func SignUp(form auth.RegisterForm, data base.TmplData, req *http.Request, r render.Render) {
data["Title"] = "Sign Up" data["Title"] = "Sign Up"
data["PageIsSignUp"] = true
if req.Method == "GET" { if req.Method == "GET" {
r.HTML(200, "user/signup", data) r.HTML(200, "user/signup", data)

1
templates/base/footer.tmpl

@ -1,6 +1,7 @@
<script> <script>
$(function(){ $(function(){
initCore(); initCore();
{{if .PageIsSignUp}}initRegister();{{end}}
}); });
</script> </script>
</body> </body>

4
templates/base/navbar.tmpl

@ -1,8 +1,8 @@
<div class="gogs-masthead navbar navbar-fixed-top" id="masthead"> <div class="gogs-masthead navbar navbar-fixed-top" id="masthead">
<div class="container"> <div class="container">
<nav class="gogs-nav"> <nav class="gogs-nav">
<a class="gogs-nav-item active" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="gogs-logo"></a> <a id="gogs-nav-logo" class="gogs-nav-item{{if .PageIsHome}} active{{end}}" href="/"><img src="/img/favicon.png" alt="Gogs Logo" id="gogs-logo"></a>
<a class="gogs-nav-item" href="#">Dashboard</a> <a class="gogs-nav-item{{if .PageIsUserDashboard}} active{{end}}" href="#">Dashboard</a>
<a class="gogs-nav-item" href="#">Explore</a> <a class="gogs-nav-item" href="#">Explore</a>
<a class="gogs-nav-item" href="#">Help</a>{{if .IsSigned}} <a class="gogs-nav-item" href="#">Help</a>{{if .IsSigned}}
<a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/"><i class="fa fa-power-off fa-lg"></i></a> <a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/"><i class="fa fa-power-off fa-lg"></i></a>

16
templates/user/signup.tmpl

@ -3,41 +3,37 @@
<div class="container" id="gogs-body"> <div class="container" id="gogs-body">
<form action="/user/sign_up" method="post" class="form-horizontal gogs-card" id="gogs-login-card"> <form action="/user/sign_up" method="post" class="form-horizontal gogs-card" id="gogs-login-card">
<h3>Sign Up</h3> <h3>Sign Up</h3>
{{if .HasError}} <div class="alert alert-danger form-error{{if .HasError}}{{else}} hidden{{end}}">{{.ErrorMsg}}</div>
<div class="alert alert-danger">{{.ErrorMsg}}</div> <div class="form-group {{if .Err_Username}}has-error has-feedback{{end}}">
{{end}}
<div class="form-group {{if .Err_UserName}}has-error has-feedback{{end}}">
<label class="col-md-4 control-label">Username: </label> <label class="col-md-4 control-label">Username: </label>
<div class="col-md-6"> <div class="col-md-6">
<input name="username" class="form-control" placeholder="Type your username" value="{{.username}}"> <input name="username" class="form-control" placeholder="Type your username" value="{{.username}}" required="required" title="Username must contain at least has 5 characters">
</div> </div>
</div> </div>
<div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}"> <div class="form-group {{if .Err_Email}}has-error has-feedback{{end}}">
<label class="col-md-4 control-label">Email: </label> <label class="col-md-4 control-label">Email: </label>
<div class="col-md-6"> <div class="col-md-6">
<input name="email" class="form-control" placeholder="Type your e-mail address" value="{{.email}}"> <input name="email" class="form-control" placeholder="Type your e-mail address" value="{{.email}}" required="required" title="Email is not valid">
</div> </div>
</div> </div>
<div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}"> <div class="form-group {{if .Err_Password}}has-error has-feedback{{end}}">
<label class="col-md-4 control-label">Password: </label> <label class="col-md-4 control-label">Password: </label>
<div class="col-md-6"> <div class="col-md-6">
<input name="passwd" type="password" class="form-control" placeholder="Type your password"> <input name="passwd" type="password" class="form-control" placeholder="Type your password" required="required" title="Password must contain at least has 6 characters">
</div> </div>
</div> </div>
<div class="form-group {{if .Err_RetypePasswd}}has-error has-feedback{{end}}"> <div class="form-group {{if .Err_RetypePasswd}}has-error has-feedback{{end}}">
<label class="col-md-4 control-label">Re-type: </label> <label class="col-md-4 control-label">Re-type: </label>
<div class="col-md-6"> <div class="col-md-6">
<input type="password" class="form-control" placeholder="Re-type your password"> <input name="re-passwd" type="password" class="form-control" placeholder="Re-type your password" required="required" title="Re-type Password must be same to Password">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-4 col-md-6"> <div class="col-md-offset-4 col-md-6">
<button type="submit" class="btn btn-lg btn-primary">Create an account</button> <button type="submit" class="btn btn-lg btn-primary">Create an account</button>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="col-md-offset-4 col-md-6"> <div class="col-md-offset-4 col-md-6">
<a href="/user/login">Already have an account? Sign in now!</a> <a href="/user/login">Already have an account? Sign in now!</a>

Loading…
Cancel
Save