@@ -10,17 +10,17 @@ body { | |||
/* override bs3 */ | |||
.tooltip-inner{ | |||
.tooltip-inner { | |||
border-radius: 3px; | |||
background: #333; | |||
border: none; | |||
} | |||
.tooltip-arrow{ | |||
.tooltip-arrow { | |||
border-bottom-color: #333 !important; | |||
} | |||
.fa{ | |||
.fa { | |||
margin: 0 .5em; | |||
} | |||
@@ -28,8 +28,7 @@ body { | |||
.gogs-masthead { | |||
background-color: #428bca; | |||
box-shadow: inset 0 -2px 5px rgba(0, 0, 0, .1); | |||
min-height: 45px; | |||
padding: 2px 16px; | |||
padding: 0 16px; | |||
} | |||
/* gogits nav item link */ | |||
@@ -54,6 +53,14 @@ body { | |||
padding: 5px 15px; | |||
} | |||
.gogs-nav-item.navbar-right { | |||
margin-top: 3px; | |||
} | |||
.gogs-nav-item.navbar-right .fa{ | |||
margin: 0; | |||
} | |||
/* gogits nav item active status */ | |||
.gogs-nav .active { | |||
color: #fff; | |||
@@ -73,19 +80,41 @@ body { | |||
border-left: 5px solid transparent; | |||
} | |||
.gogs-nav .tooltip{ | |||
border: none; | |||
} | |||
/* gogits logo */ | |||
#gogs-logo { | |||
#gogs-nav-avatar { | |||
margin-top: 0; | |||
} | |||
#gogs-logo, #gogs-nav-avatar img { | |||
width: 28px; | |||
height: 28px; | |||
} | |||
#gogs-nav-out { | |||
margin-top: 10px; | |||
padding: 5px 0; | |||
margin-left: 10px; | |||
height: 28px; | |||
} | |||
#gogs-nav-out .fa { | |||
vertical-align: -10%; | |||
margin: 0 .5em; | |||
} | |||
/* gogits body */ | |||
#gogs-body { | |||
padding-top: 30px; | |||
padding-bottom: 60px; | |||
margin-top: 50px; | |||
} | |||
/* gogits login card */ | |||
.gogs-card{ | |||
.gogs-card { | |||
margin: auto; | |||
padding: 30px; | |||
background: #fff; | |||
@@ -101,7 +130,7 @@ body { | |||
border-bottom: 1px solid #ccc; | |||
} | |||
#gogs-login-card{ | |||
#gogs-login-card { | |||
width: 600px; | |||
} | |||
@@ -115,51 +144,51 @@ body { | |||
line-height: 30px; | |||
} | |||
.gogs-card .btn{ | |||
.gogs-card .btn { | |||
cursor: pointer; | |||
margin-right: 1.2em; | |||
} | |||
#gogs-social-login{ | |||
#gogs-social-login { | |||
margin-top: 30px; | |||
padding-top: 20px; | |||
border-top: 1px solid #ccc; | |||
} | |||
#gogs-social-login .btn{ | |||
#gogs-social-login .btn { | |||
float: none; | |||
margin: auto; | |||
} | |||
/* gogs-user-profile */ | |||
#gogs-user-avatar{ | |||
#gogs-user-avatar { | |||
width: 200px; | |||
height: 200px; | |||
border-radius: 6px; | |||
} | |||
#gogs-user-name{ | |||
#gogs-user-name { | |||
margin-top: 20px; | |||
font-size: 1.6em; | |||
font-weight: bold; | |||
margin-bottom: 20px; | |||
} | |||
#gogs-user-profile .profile-info .list-group-item{ | |||
#gogs-user-profile .profile-info .list-group-item { | |||
background-color: transparent; | |||
padding-top: 18px; | |||
color: #666; | |||
} | |||
#gogs-user-profile .profile-info .list-group-item a{ | |||
#gogs-user-profile .profile-info .list-group-item a { | |||
margin: 0; | |||
padding: 0; | |||
display: inline; | |||
color: #0093c4; | |||
} | |||
#gogs-user-profile .profile-info .list-group{ | |||
#gogs-user-profile .profile-info .list-group { | |||
border-top: 1px solid #ccc; | |||
padding-bottom: 18px; | |||
border-bottom: 1px solid #ccc; | |||
@@ -167,20 +196,20 @@ body { | |||
padding-right: 18px; | |||
} | |||
#gogs-user-activity .tab-pane{ | |||
#gogs-user-activity .tab-pane { | |||
padding: 20px; | |||
} | |||
#gogs-user-act-tabs li.active a{ | |||
#gogs-user-act-tabs li.active a { | |||
border-bottom-color: #ddd; | |||
} | |||
/* gogits repo create */ | |||
#gogs-repo-create{ | |||
#gogs-repo-create { | |||
width: 800px; | |||
} | |||
#gogs-repo-create textarea[name=desc]{ | |||
#gogs-repo-create textarea[name=desc] { | |||
height: 8em; | |||
} |
@@ -14,4 +14,9 @@ var Gogits = {}; | |||
$(selector).tab("show"); | |||
$(selector).find("li:eq(" + index + ") a").tab("show"); | |||
} | |||
})(jQuery); | |||
})(jQuery); | |||
function initCore(){ | |||
Gogits.showTooltips(); | |||
} |
@@ -25,24 +25,28 @@ func Profile(r render.Render) { | |||
} | |||
func SignIn(req *http.Request, r render.Render, session sessions.Session) { | |||
if req.Method == "GET" { | |||
r.HTML(200, "user/signin", map[string]interface{}{ | |||
"Title": "Log In", | |||
}) | |||
return | |||
} | |||
// TODO: LDAP sign in | |||
user, err := models.LoginUserPlain(req.FormValue("account"), req.FormValue("passwd")) | |||
if err != nil { | |||
r.HTML(200, "base/error", map[string]interface{}{ | |||
"Error": fmt.Sprintf("%v", err), | |||
}) | |||
return | |||
var ( | |||
errString string | |||
account string | |||
) | |||
if req.Method == "POST" { | |||
account = req.FormValue("account") | |||
user, err := models.LoginUserPlain(account, req.FormValue("passwd")) | |||
if err == nil { | |||
// login success | |||
session.Set("userId", user.Id) | |||
session.Set("userName", user.Name) | |||
r.Redirect("/") | |||
return | |||
} | |||
// login fail | |||
errString = fmt.Sprintf("%v", err) | |||
} | |||
session.Set("userId", user.Id) | |||
session.Set("userName", user.Name) | |||
r.Redirect("/") | |||
r.HTML(200, "user/signin", map[string]interface{}{ | |||
"Title": "Log In", | |||
"Error": errString, | |||
"Account": account, | |||
}) | |||
} | |||
func SignUp(req *http.Request, r render.Render) { |
@@ -1,2 +1,7 @@ | |||
</body> | |||
<script> | |||
$(function(){ | |||
initCore(); | |||
}); | |||
</script> | |||
</body> | |||
</html> |
@@ -1,13 +1,18 @@ | |||
<div class="gogs-masthead" id="masthead"> | |||
<div class="gogs-masthead navbar navbar-fixed-top" id="masthead"> | |||
<div class="container"> | |||
<nav class="gogs-nav"> | |||
<a class="gogs-nav-item active" 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" href="#">Explore</a> | |||
<a class="gogs-nav-item" href="#">Help</a> | |||
<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/repo/create">Create a repository</a> | |||
<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a> | |||
<!--<a class="gogs-nav-item navbar-right" href="#">Profile</a>--> | |||
<!--<a class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/">Sign in</a>--> | |||
<a id="gogs-nav-out" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/login/"><i class="fa fa-power-off fa-lg"></i></a> | |||
<a id="gogs-nav-avatar" class="gogs-nav-item navbar-right" href="/user/profile" data-toggle="tooltip" data-placement="bottom" title="Username"> | |||
<img src="http://1.gravatar.com/avatar/x?s=28" alt="user-avatar" title="username"/> | |||
</a> | |||
<a class="navbar-right gogs-nav-item" href="/repo/create" data-toggle="tooltip" data-placement="bottom" title="New Repository"><i class="fa fa-plus fa-lg"></i></a> | |||
<a class="navbar-right gogs-nav-item" href="#" data-toggle="tooltip" data-placement="bottom" title="Setting"><i class="fa fa-cogs fa-lg"></i></a> | |||
</nav> | |||
</div> | |||
</div> |
@@ -30,7 +30,6 @@ | |||
</div> | |||
<script> | |||
$(function () { | |||
Gogits.showTooltips(); | |||
Gogits.showTab("#gogs-user-act-tabs"); | |||
}); | |||
</script> |
@@ -2,17 +2,20 @@ | |||
{{template "base/navbar" .}} | |||
<div class="container" id="gogs-body"> | |||
<form action="/user/signin" method="post" class="form-horizontal gogs-card" id="gogs-login-card"> | |||
<h3>Log in</h3> | |||
<h3>Log in</h3>{{if .Error}} | |||
<div class="form-group"> | |||
<div class="col-md-6 col-md-offset-3 alert alert-danger text-center"><strong>{{.Error}}</strong></div> | |||
</div>{{end}} | |||
<div class="form-group"> | |||
<label class="col-md-4 control-label">Username or Email: </label> | |||
<div class="col-md-6"> | |||
<input name="account" class="form-control" placeholder="Type your username or e-mail address"> | |||
<input name="account" class="form-control" placeholder="Type your username or e-mail address" value="{{.Account}}" required="required"> | |||
</div> | |||
</div> | |||
<div class="form-group"> | |||
<label class="col-md-4 control-label">Password: </label> | |||
<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"> | |||
</div> | |||
</div> | |||
<div class="form-group"> |