summaryrefslogtreecommitdiffstats
path: root/templates/user
diff options
context:
space:
mode:
Diffstat (limited to 'templates/user')
-rw-r--r--templates/user/auth/activate.tmpl68
-rw-r--r--templates/user/auth/forgot_passwd.tmpl60
-rw-r--r--templates/user/auth/reset_passwd.tmpl54
-rw-r--r--templates/user/auth/signin.tmpl78
-rw-r--r--templates/user/auth/signup.tmpl104
-rw-r--r--templates/user/dashboard/dashboard.tmpl218
-rw-r--r--templates/user/dashboard/feeds.tmpl136
-rw-r--r--templates/user/dashboard/issues.tmpl164
-rw-r--r--templates/user/dashboard/navbar.tmpl94
-rw-r--r--templates/user/profile.tmpl132
-rw-r--r--templates/user/settings/applications.tmpl158
-rw-r--r--templates/user/settings/delete.tmpl72
-rw-r--r--templates/user/settings/email.tmpl128
-rw-r--r--templates/user/settings/navbar.tmpl36
-rw-r--r--templates/user/settings/password.tmpl64
-rw-r--r--templates/user/settings/profile.tmpl126
-rw-r--r--templates/user/settings/sshkeys.tmpl154
17 files changed, 923 insertions, 923 deletions
diff --git a/templates/user/auth/activate.tmpl b/templates/user/auth/activate.tmpl
index 49419dcf6b..8bff54aaf4 100644
--- a/templates/user/auth/activate.tmpl
+++ b/templates/user/auth/activate.tmpl
@@ -1,38 +1,38 @@
{{template "base/head" .}}
<div class="user activate">
- <div class="ui middle very relaxed page grid">
- <div class="column">
- <form class="ui form" action="{{AppSubUrl}}/user/activate" method="post">
- {{.CsrfTokenHtml}}
- <h2 class="ui top attached header">
- {{.i18n.Tr "auth.active_your_account"}}
- </h2>
- <div class="ui attached segment">
- {{template "base/alert" .}}
- {{if .IsActivatePage}}
- {{if .ServiceNotEnabled}}
- <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p>
- {{else if .ResendLimited}}
- <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p>
- {{else}}
- <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .SignedUser.Email .Hours | Str2html}}</p>
- {{end}}
- {{else}}
- {{if .IsSendRegisterMail}}
- <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p>
- {{else if .IsActivateFailed}}
- <p>{{.i18n.Tr "auth.invalid_code"}}</p>
- {{else}}
- <p>{{.i18n.Tr "auth.has_unconfirmed_mail" .SignedUser.Name .SignedUser.Email | Str2html}}</p>
- <div class="ui divider"></div>
- <div class="text right">
- <button class="ui blue button">{{.i18n.Tr "auth.resend_mail"}}</button>
- </div>
- {{end}}
- {{end}}
- </div>
- </form>
- </div>
- </div>
+ <div class="ui middle very relaxed page grid">
+ <div class="column">
+ <form class="ui form" action="{{AppSubUrl}}/user/activate" method="post">
+ {{.CsrfTokenHtml}}
+ <h2 class="ui top attached header">
+ {{.i18n.Tr "auth.active_your_account"}}
+ </h2>
+ <div class="ui attached segment">
+ {{template "base/alert" .}}
+ {{if .IsActivatePage}}
+ {{if .ServiceNotEnabled}}
+ <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p>
+ {{else if .ResendLimited}}
+ <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p>
+ {{else}}
+ <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .SignedUser.Email .Hours | Str2html}}</p>
+ {{end}}
+ {{else}}
+ {{if .IsSendRegisterMail}}
+ <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p>
+ {{else if .IsActivateFailed}}
+ <p>{{.i18n.Tr "auth.invalid_code"}}</p>
+ {{else}}
+ <p>{{.i18n.Tr "auth.has_unconfirmed_mail" .SignedUser.Name .SignedUser.Email | Str2html}}</p>
+ <div class="ui divider"></div>
+ <div class="text right">
+ <button class="ui blue button">{{.i18n.Tr "auth.resend_mail"}}</button>
+ </div>
+ {{end}}
+ {{end}}
+ </div>
+ </form>
+ </div>
+ </div>
</div>
{{template "base/footer" .}}
diff --git a/templates/user/auth/forgot_passwd.tmpl b/templates/user/auth/forgot_passwd.tmpl
index de141e67a3..f1c25df503 100644
--- a/templates/user/auth/forgot_passwd.tmpl
+++ b/templates/user/auth/forgot_passwd.tmpl
@@ -1,34 +1,34 @@
{{template "base/head" .}}
<div class="user forgot password">
- <div class="ui middle very relaxed page grid">
- <div class="column">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <h2 class="ui top attached header">
- {{.i18n.Tr "auth.forgot_password"}}
- </h2>
- <div class="ui attached segment">
- {{template "base/alert" .}}
- {{if .IsResetSent}}
- <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p>
- {{else if .IsResetRequest}}
- <div class="required inline field {{if .Err_Email}}error{{end}}">
- <label for="email">{{.i18n.Tr "email"}}</label>
- <input id="email" name="email" type="email" value="{{.Email}}" autofocus required>
- </div>
- <div class="ui divider"></div>
- <div class="inline field">
- <label></label>
- <button class="ui blue button">{{.i18n.Tr "auth.send_reset_mail"}}</button>
- </div>
- {{else if .IsResetDisable}}
- <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p>
- {{else if .ResendLimited}}
- <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p>
- {{end}}
- </div>
- </form>
- </div>
- </div>
+ <div class="ui middle very relaxed page grid">
+ <div class="column">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <h2 class="ui top attached header">
+ {{.i18n.Tr "auth.forgot_password"}}
+ </h2>
+ <div class="ui attached segment">
+ {{template "base/alert" .}}
+ {{if .IsResetSent}}
+ <p>{{.i18n.Tr "auth.confirmation_mail_sent_prompt" .Email .Hours | Str2html}}</p>
+ {{else if .IsResetRequest}}
+ <div class="required inline field {{if .Err_Email}}error{{end}}">
+ <label for="email">{{.i18n.Tr "email"}}</label>
+ <input id="email" name="email" type="email" value="{{.Email}}" autofocus required>
+ </div>
+ <div class="ui divider"></div>
+ <div class="inline field">
+ <label></label>
+ <button class="ui blue button">{{.i18n.Tr "auth.send_reset_mail"}}</button>
+ </div>
+ {{else if .IsResetDisable}}
+ <p class="center">{{.i18n.Tr "auth.disable_register_mail"}}</p>
+ {{else if .ResendLimited}}
+ <p class="center">{{.i18n.Tr "auth.resent_limit_prompt"}}</p>
+ {{end}}
+ </div>
+ </form>
+ </div>
+ </div>
</div>
{{template "base/footer" .}}
diff --git a/templates/user/auth/reset_passwd.tmpl b/templates/user/auth/reset_passwd.tmpl
index 5f06bd6494..cb124f5b25 100644
--- a/templates/user/auth/reset_passwd.tmpl
+++ b/templates/user/auth/reset_passwd.tmpl
@@ -1,31 +1,31 @@
{{template "base/head" .}}
<div class="user reset password">
- <div class="ui middle very relaxed page grid">
- <div class="column">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <input name="code" type="hidden" value="{{.Code}}">
- <h2 class="ui top attached header">
- {{.i18n.Tr "auth.reset_password"}}
- </h2>
- <div class="ui attached segment">
- {{template "base/alert" .}}
- {{if .IsResetForm}}
- <div class="required inline field {{if .Err_Password}}error{{end}}">
- <label for="password">{{.i18n.Tr "password"}}</label>
- <input id="password" name="password" type="password" value="{{.password}}" autofocus required>
- </div>
- <div class="ui divider"></div>
- <div class="inline field">
- <label></label>
- <button class="ui blue button">{{.i18n.Tr "auth.reset_password_helper"}}</button>
- </div>
- {{else}}
- <p class="center">{{.i18n.Tr "auth.invalid_code"}}</p>
- {{end}}
- </div>
- </form>
- </div>
- </div>
+ <div class="ui middle very relaxed page grid">
+ <div class="column">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <input name="code" type="hidden" value="{{.Code}}">
+ <h2 class="ui top attached header">
+ {{.i18n.Tr "auth.reset_password"}}
+ </h2>
+ <div class="ui attached segment">
+ {{template "base/alert" .}}
+ {{if .IsResetForm}}
+ <div class="required inline field {{if .Err_Password}}error{{end}}">
+ <label for="password">{{.i18n.Tr "password"}}</label>
+ <input id="password" name="password" type="password" value="{{.password}}" autofocus required>
+ </div>
+ <div class="ui divider"></div>
+ <div class="inline field">
+ <label></label>
+ <button class="ui blue button">{{.i18n.Tr "auth.reset_password_helper"}}</button>
+ </div>
+ {{else}}
+ <p class="center">{{.i18n.Tr "auth.invalid_code"}}</p>
+ {{end}}
+ </div>
+ </form>
+ </div>
+ </div>
</div>
{{template "base/footer" .}}
diff --git a/templates/user/auth/signin.tmpl b/templates/user/auth/signin.tmpl
index a1e30e95cb..b928f2bdb5 100644
--- a/templates/user/auth/signin.tmpl
+++ b/templates/user/auth/signin.tmpl
@@ -1,44 +1,44 @@
{{template "base/head" .}}
<div class="user signin">
- <div class="ui middle very relaxed page grid">
- <div class="column">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <h3 class="ui top attached header">
- {{.i18n.Tr "sign_in"}}
- </h3>
- <div class="ui attached segment">
- {{template "base/alert" .}}
- <div class="required inline field {{if .Err_UserName}}error{{end}}">
- <label for="user_name">{{.i18n.Tr "home.uname_holder"}}</label>
- <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
- </div>
- <div class="required inline field {{if .Err_Password}}error{{end}}">
- <label for="password">{{.i18n.Tr "password"}}</label>
- <input id="password" name="password" type="password" value="{{.password}}" required>
- </div>
- <div class="inline field">
- <label></label>
- <div class="ui checkbox">
- <label>{{.i18n.Tr "auth.remember_me"}}</label>
- <input name="remember" type="checkbox">
- </div>
- </div>
+ <div class="ui middle very relaxed page grid">
+ <div class="column">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <h3 class="ui top attached header">
+ {{.i18n.Tr "sign_in"}}
+ </h3>
+ <div class="ui attached segment">
+ {{template "base/alert" .}}
+ <div class="required inline field {{if .Err_UserName}}error{{end}}">
+ <label for="user_name">{{.i18n.Tr "home.uname_holder"}}</label>
+ <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
+ </div>
+ <div class="required inline field {{if .Err_Password}}error{{end}}">
+ <label for="password">{{.i18n.Tr "password"}}</label>
+ <input id="password" name="password" type="password" value="{{.password}}" required>
+ </div>
+ <div class="inline field">
+ <label></label>
+ <div class="ui checkbox">
+ <label>{{.i18n.Tr "auth.remember_me"}}</label>
+ <input name="remember" type="checkbox">
+ </div>
+ </div>
- <div class="inline field">
- <label></label>
- <button class="ui green button">{{.i18n.Tr "sign_in"}}</button>
- <a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a>
- </div>
- {{if .ShowRegistrationButton}}
- <div class="inline field">
- <label></label>
- <a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a>
- </div>
- {{end}}
- </div>
- </form>
- </div>
- </div>
+ <div class="inline field">
+ <label></label>
+ <button class="ui green button">{{.i18n.Tr "sign_in"}}</button>
+ <a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a>
+ </div>
+ {{if .ShowRegistrationButton}}
+ <div class="inline field">
+ <label></label>
+ <a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a>
+ </div>
+ {{end}}
+ </div>
+ </form>
+ </div>
+ </div>
</div>
{{template "base/footer" .}}
diff --git a/templates/user/auth/signup.tmpl b/templates/user/auth/signup.tmpl
index c237a20d85..86c020d6bb 100644
--- a/templates/user/auth/signup.tmpl
+++ b/templates/user/auth/signup.tmpl
@@ -1,56 +1,56 @@
{{template "base/head" .}}
<div class="user signup">
- <div class="ui middle very relaxed page grid">
- <div class="column">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <h3 class="ui top attached header">
- {{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_up"}}{{end}}
- </h3>
- <div class="ui attached segment">
- {{template "base/alert" .}}
- {{if .DisableRegistration}}
- <p>{{.i18n.Tr "auth.disable_register_prompt"}}</p>
- {{else}}
- <div class="required inline field {{if .Err_UserName}}error{{end}}">
- <label for="user_name">{{.i18n.Tr "username"}}</label>
- <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
- </div>
- <div class="required inline field {{if .Err_Email}}error{{end}}">
- <label for="email">{{.i18n.Tr "email"}}</label>
- <input id="email" name="email" type="email" value="{{.email}}" required>
- </div>
- <div class="required inline field {{if .Err_Password}}error{{end}}">
- <label for="password">{{.i18n.Tr "password"}}</label>
- <input id="password" name="password" type="password" value="{{.password}}" required>
- </div>
- <div class="required inline field {{if .Err_Password}}error{{end}}">
- <label for="retype">{{.i18n.Tr "re_type"}}</label>
- <input id="retype" name="retype" type="password" value="{{.retype}}" required>
- </div>
- {{if .EnableCaptcha}}
- <div class="inline field">
- <label></label>
- {{.Captcha.CreateHtml}}
- </div>
- <div class="required inline field {{if .Err_Captcha}}error{{end}}">
- <label for="captcha">{{.i18n.Tr "captcha"}}</label>
- <input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off">
- </div>
- {{end}}
+ <div class="ui middle very relaxed page grid">
+ <div class="column">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <h3 class="ui top attached header">
+ {{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_up"}}{{end}}
+ </h3>
+ <div class="ui attached segment">
+ {{template "base/alert" .}}
+ {{if .DisableRegistration}}
+ <p>{{.i18n.Tr "auth.disable_register_prompt"}}</p>
+ {{else}}
+ <div class="required inline field {{if .Err_UserName}}error{{end}}">
+ <label for="user_name">{{.i18n.Tr "username"}}</label>
+ <input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
+ </div>
+ <div class="required inline field {{if .Err_Email}}error{{end}}">
+ <label for="email">{{.i18n.Tr "email"}}</label>
+ <input id="email" name="email" type="email" value="{{.email}}" required>
+ </div>
+ <div class="required inline field {{if .Err_Password}}error{{end}}">
+ <label for="password">{{.i18n.Tr "password"}}</label>
+ <input id="password" name="password" type="password" value="{{.password}}" required>
+ </div>
+ <div class="required inline field {{if .Err_Password}}error{{end}}">
+ <label for="retype">{{.i18n.Tr "re_type"}}</label>
+ <input id="retype" name="retype" type="password" value="{{.retype}}" required>
+ </div>
+ {{if .EnableCaptcha}}
+ <div class="inline field">
+ <label></label>
+ {{.Captcha.CreateHtml}}
+ </div>
+ <div class="required inline field {{if .Err_Captcha}}error{{end}}">
+ <label for="captcha">{{.i18n.Tr "captcha"}}</label>
+ <input id="captcha" name="captcha" value="{{.captcha}}" autocomplete="off">
+ </div>
+ {{end}}
- <div class="inline field">
- <label></label>
- <button class="ui green button">{{.i18n.Tr "auth.create_new_account"}}</button>
- </div>
- <div class="inline field">
- <label></label>
- <a href="{{AppSubUrl}}/user/login">{{if .IsSocialLogin}}{{.i18n.Tr "auth.social_register_hepler_msg"}}{{else}}{{.i18n.Tr "auth.register_hepler_msg"}}{{end}}</a>
- </div>
- {{end}}
- </div>
- </form>
- </div>
- </div>
+ <div class="inline field">
+ <label></label>
+ <button class="ui green button">{{.i18n.Tr "auth.create_new_account"}}</button>
+ </div>
+ <div class="inline field">
+ <label></label>
+ <a href="{{AppSubUrl}}/user/login">{{if .IsSocialLogin}}{{.i18n.Tr "auth.social_register_hepler_msg"}}{{else}}{{.i18n.Tr "auth.register_hepler_msg"}}{{end}}</a>
+ </div>
+ {{end}}
+ </div>
+ </form>
+ </div>
+ </div>
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/dashboard/dashboard.tmpl b/templates/user/dashboard/dashboard.tmpl
index 3bc6f9f6ca..eb7fa02fc1 100644
--- a/templates/user/dashboard/dashboard.tmpl
+++ b/templates/user/dashboard/dashboard.tmpl
@@ -1,115 +1,115 @@
{{template "base/head" .}}
<div class="dashboard feeds">
- {{template "user/dashboard/navbar" .}}
- <div class="ui container">
- <div class="ui grid">
- <div class="ten wide column">
- {{template "user/dashboard/feeds" .}}
- </div>
- <div class="six wide column">
- <div class="ui {{if not .ContextUser.IsOrganization}}three{{else}}two{{end}} item tabable menu">
- <a class="item active" data-tab="repos">{{.i18n.Tr "repository"}}</a>
- {{if not .ContextUser.IsOrganization}}
- <a class="item" data-tab="orgs">{{.i18n.Tr "organization"}}</a>
- {{end}}
- <a class="item" data-tab="mirrors">{{.i18n.Tr "mirror"}}</a>
- </div>
- <div class="ui tab active list" data-tab="repos">
- <h4 class="ui top attached header">
- {{.i18n.Tr "home.my_repos"}} <span class="ui grey label">{{.ContextUser.NumRepos}}</span>
- <div class="ui right">
- <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/create">{{.i18n.Tr "new_repo"}}</a>
- </div>
- </h4>
- <div class="ui attached table segment">
- <ul>
- {{range .Repos}}
- <li {{if .IsPrivate}}class="private"{{end}}>
- <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
- <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
- <strong>{{.Name}}</strong>
- <span class="ui right text light grey">
- <i class="octicon octicon-star"></i>{{.NumStars}}
- </span>
- </a>
- </li>
- {{end}}
- </ul>
- </div>
+ {{template "user/dashboard/navbar" .}}
+ <div class="ui container">
+ <div class="ui grid">
+ <div class="ten wide column">
+ {{template "user/dashboard/feeds" .}}
+ </div>
+ <div class="six wide column">
+ <div class="ui {{if not .ContextUser.IsOrganization}}three{{else}}two{{end}} item tabable menu">
+ <a class="item active" data-tab="repos">{{.i18n.Tr "repository"}}</a>
+ {{if not .ContextUser.IsOrganization}}
+ <a class="item" data-tab="orgs">{{.i18n.Tr "organization"}}</a>
+ {{end}}
+ <a class="item" data-tab="mirrors">{{.i18n.Tr "mirror"}}</a>
+ </div>
+ <div class="ui tab active list" data-tab="repos">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "home.my_repos"}} <span class="ui grey label">{{.ContextUser.NumRepos}}</span>
+ <div class="ui right">
+ <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/create">{{.i18n.Tr "new_repo"}}</a>
+ </div>
+ </h4>
+ <div class="ui attached table segment">
+ <ul>
+ {{range .Repos}}
+ <li {{if .IsPrivate}}class="private"{{end}}>
+ <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
+ <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
+ <strong>{{.Name}}</strong>
+ <span class="ui right text light grey">
+ <i class="octicon octicon-star"></i>{{.NumStars}}
+ </span>
+ </a>
+ </li>
+ {{end}}
+ </ul>
+ </div>
- {{if not .ContextUser.IsOrganization}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "home.collaborative_repos"}} <span class="ui grey label">{{.CollaborateCount}}</span>
- </h4>
- <div class="ui attached table segment">
- <ul>
- {{range .CollaborativeRepos}}
- <li {{if .IsPrivate}}class="private"{{end}}>
- <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">
- <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
- {{.Owner.Name}} / <strong>{{.Name}}</strong>
- <span class="ui right text light grey">
- <i class="octicon octicon-star"></i>{{.NumStars}}
- </span>
- </a>
- </li>
- {{end}}
- </ul>
- </div>
- {{end}}
- </div>
+ {{if not .ContextUser.IsOrganization}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "home.collaborative_repos"}} <span class="ui grey label">{{.CollaborateCount}}</span>
+ </h4>
+ <div class="ui attached table segment">
+ <ul>
+ {{range .CollaborativeRepos}}
+ <li {{if .IsPrivate}}class="private"{{end}}>
+ <a href="{{AppSubUrl}}/{{.Owner.Name}}/{{.Name}}">
+ <i class="icon octicon octicon-{{if .IsPrivate}}lock{{else if .IsFork}}repo-forked{{else if .IsMirror}}repo-clone{{else}}repo{{end}}"></i>
+ {{.Owner.Name}} / <strong>{{.Name}}</strong>
+ <span class="ui right text light grey">
+ <i class="octicon octicon-star"></i>{{.NumStars}}
+ </span>
+ </a>
+ </li>
+ {{end}}
+ </ul>
+ </div>
+ {{end}}
+ </div>
- {{if not .ContextUser.IsOrganization}}
- <div class="ui tab list" data-tab="orgs">
- <h4 class="ui top attached header">
- {{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">{{.ContextUser.GetOrganizationCount}}</span>
- <div class="ui right">
- <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/org/create">{{.i18n.Tr "new_org"}}</a>
- </div>
- </h4>
- <div class="ui attached table segment">
- <ul>
- {{range .ContextUser.Orgs}}
- <li>
- <a href="{{AppSubUrl}}/{{.Name}}">
- <i class="icon octicon octicon-organization"></i>
- <strong>{{.ShortName 20}}</strong>
- <span class="ui right text light grey">
- <i class="octicon octicon-repo"></i>{{.NumRepos}}
- </span>
- </a>
- </li>
- {{end}}
- </ul>
- </div>
- </div>
- {{end}}
+ {{if not .ContextUser.IsOrganization}}
+ <div class="ui tab list" data-tab="orgs">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "home.my_orgs"}} <span class="ui grey label">{{.ContextUser.GetOrganizationCount}}</span>
+ <div class="ui right">
+ <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/org/create">{{.i18n.Tr "new_org"}}</a>
+ </div>
+ </h4>
+ <div class="ui attached table segment">
+ <ul>
+ {{range .ContextUser.Orgs}}
+ <li>
+ <a href="{{AppSubUrl}}/{{.Name}}">
+ <i class="icon octicon octicon-organization"></i>
+ <strong>{{.ShortName 20}}</strong>
+ <span class="ui right text light grey">
+ <i class="octicon octicon-repo"></i>{{.NumRepos}}
+ </span>
+ </a>
+ </li>
+ {{end}}
+ </ul>
+ </div>
+ </div>
+ {{end}}
- <div class="ui tab list" data-tab="mirrors">
- <h4 class="ui top attached header">
- {{.i18n.Tr "home.my_mirrors"}} <span class="ui grey label">{{.MirrorCount}}</span>
- <div class="ui right">
- <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/migrate">{{.i18n.Tr "new_migrate"}}</a>
- </div>
- </h4>
- <div class="ui attached table segment">
- <ul>
- {{range .Mirrors}}
- <li {{if .IsPrivate}}class="private"{{end}}>
- <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
- <i class="icon octicon octicon-repo-clone"></i>
- <strong>{{.Name}}</strong>
- <span class="ui right text light grey">
- <i class="octicon octicon-sync"></i>{{.Interval}}H
- </span>
- </a>
- </li>
- {{end}}
- </ul>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <div class="ui tab list" data-tab="mirrors">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "home.my_mirrors"}} <span class="ui grey label">{{.MirrorCount}}</span>
+ <div class="ui right">
+ <a class="ui blue tiny show-panel button" href="{{AppSubUrl}}/repo/migrate">{{.i18n.Tr "new_migrate"}}</a>
+ </div>
+ </h4>
+ <div class="ui attached table segment">
+ <ul>
+ {{range .Mirrors}}
+ <li {{if .IsPrivate}}class="private"{{end}}>
+ <a href="{{AppSubUrl}}/{{$.ContextUser.Name}}/{{.Name}}">
+ <i class="icon octicon octicon-repo-clone"></i>
+ <strong>{{.Name}}</strong>
+ <span class="ui right text light grey">
+ <i class="octicon octicon-sync"></i>{{.Interval}}H
+ </span>
+ </a>
+ </li>
+ {{end}}
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl
index fff1e16f60..e45fb4cfea 100644
--- a/templates/user/dashboard/feeds.tmpl
+++ b/templates/user/dashboard/feeds.tmpl
@@ -1,69 +1,69 @@
{{range .Feeds}}
-<div class="news">
- <div class="ui left">
- <img class="ui avatar image" src="{{.ActAvatar}}" alt="">
- </div>
- <div class="ui grid">
- <div class="ui fifteen wide column">
- <div class="{{if eq .GetOpType 5}}push news{{end}}">
- <p>
- <a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
- {{if eq .GetOpType 1}}
- {{$.i18n.Tr "action.create_repo" .GetRepoLink .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 2}}
- {{$.i18n.Tr "action.rename_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 5}}
- {{ $branchLink := .GetBranch | EscapePound}}
- {{$.i18n.Tr "action.commit_repo" .GetRepoLink $branchLink .GetBranch .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 6}}
- {{ $index := index .GetIssueInfos 0}}
- {{$.i18n.Tr "action.create_issue" .GetRepoLink $index .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 7}}
- {{ $index := index .GetIssueInfos 0}}
- {{$.i18n.Tr "action.create_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 8}}
- {{$.i18n.Tr "action.transfer_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 9}}
- {{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 10}}
- {{ $index := index .GetIssueInfos 0}}
- {{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .GetRepoPath | Str2html}}
- {{else if eq .GetOpType 11}}
- {{ $index := index .GetIssueInfos 0}}
- {{$.i18n.Tr "action.merge_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}}
- {{end}}
- </p>
- {{if eq .GetOpType 5}}
- <div class="content">
- <ul>
- {{ $push := ActionContent2Commits .}}
- {{ $repoLink := .GetRepoLink}}
- {{if $push.Commits}}
- {{range $push.Commits}}
- <li><img class="img-8" src="{{$push.AvatarLink .AuthorEmail}}"> <a href="{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text truncate light grey">{{.Message}}</span></li>
- {{end}}
- {{end}}
- {{if $push.CompareUrl}}<li><a href="{{AppSubUrl}}/{{$push.CompareUrl}}">{{$.i18n.Tr "action.compare_2_commits"}} »</a></li>{{end}}
- </ul>
- </div>
- {{else if eq .GetOpType 6}}
- <span class="text truncate issue title">{{index .GetIssueInfos 1}}</span>
- <p class="text light grey">{{.GetIssueContent}}</p>
- {{else if eq .GetOpType 7}}
- <p class="text light grey">{{index .GetIssueInfos 1}}</p>
- {{else if eq .GetOpType 10}}
- <span class="text truncate issue title">{{.GetIssueTitle}}</span>
- <p class="text light grey">{{index .GetIssueInfos 1}}</p>
- {{else if eq .GetOpType 11}}
- <p class="text light grey">{{index .GetIssueInfos 1}}</p>
- {{end}}
- <p class="text italic light grey">{{TimeSince .GetCreate $.i18n.Lang}}</p>
- </div>
- </div>
- <div class="ui one wide column">
- <i class="text grey mega-octicon octicon-{{ActionIcon .GetOpType}}"></i>
- </div>
- </div>
- <div class="ui divider"></div>
-</div>
-{{end}} \ No newline at end of file
+ <div class="news">
+ <div class="ui left">
+ <img class="ui avatar image" src="{{.ActAvatar}}" alt="">
+ </div>
+ <div class="ui grid">
+ <div class="ui fifteen wide column">
+ <div class="{{if eq .GetOpType 5}}push news{{end}}">
+ <p>
+ <a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
+ {{if eq .GetOpType 1}}
+ {{$.i18n.Tr "action.create_repo" .GetRepoLink .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 2}}
+ {{$.i18n.Tr "action.rename_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 5}}
+ {{ $branchLink := .GetBranch | EscapePound}}
+ {{$.i18n.Tr "action.commit_repo" .GetRepoLink $branchLink .GetBranch .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 6}}
+ {{ $index := index .GetIssueInfos 0}}
+ {{$.i18n.Tr "action.create_issue" .GetRepoLink $index .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 7}}
+ {{ $index := index .GetIssueInfos 0}}
+ {{$.i18n.Tr "action.create_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 8}}
+ {{$.i18n.Tr "action.transfer_repo" .GetContent .GetRepoLink .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 9}}
+ {{$.i18n.Tr "action.push_tag" .GetRepoLink .GetBranch .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 10}}
+ {{ $index := index .GetIssueInfos 0}}
+ {{$.i18n.Tr "action.comment_issue" .GetRepoLink $index .GetRepoPath | Str2html}}
+ {{else if eq .GetOpType 11}}
+ {{ $index := index .GetIssueInfos 0}}
+ {{$.i18n.Tr "action.merge_pull_request" .GetRepoLink $index .GetRepoPath | Str2html}}
+ {{end}}
+ </p>
+ {{if eq .GetOpType 5}}
+ <div class="content">
+ <ul>
+ {{ $push := ActionContent2Commits .}}
+ {{ $repoLink := .GetRepoLink}}
+ {{if $push.Commits}}
+ {{range $push.Commits}}
+ <li><img class="img-8" src="{{$push.AvatarLink .AuthorEmail}}"> <a href="{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text truncate light grey">{{.Message}}</span></li>
+ {{end}}
+ {{end}}
+ {{if $push.CompareUrl}}<li><a href="{{AppSubUrl}}/{{$push.CompareUrl}}">{{$.i18n.Tr "action.compare_2_commits"}} »</a></li>{{end}}
+ </ul>
+ </div>
+ {{else if eq .GetOpType 6}}
+ <span class="text truncate issue title">{{index .GetIssueInfos 1}}</span>
+ <p class="text light grey">{{.GetIssueContent}}</p>
+ {{else if eq .GetOpType 7}}
+ <p class="text light grey">{{index .GetIssueInfos 1}}</p>
+ {{else if eq .GetOpType 10}}
+ <span class="text truncate issue title">{{.GetIssueTitle}}</span>
+ <p class="text light grey">{{index .GetIssueInfos 1}}</p>
+ {{else if eq .GetOpType 11}}
+ <p class="text light grey">{{index .GetIssueInfos 1}}</p>
+ {{end}}
+ <p class="text italic light grey">{{TimeSince .GetCreate $.i18n.Lang}}</p>
+ </div>
+ </div>
+ <div class="ui one wide column">
+ <i class="text grey mega-octicon octicon-{{ActionIcon .GetOpType}}"></i>
+ </div>
+ </div>
+ <div class="ui divider"></div>
+ </div>
+{{end}}
diff --git a/templates/user/dashboard/issues.tmpl b/templates/user/dashboard/issues.tmpl
index 678dfecfc6..a99a478170 100644
--- a/templates/user/dashboard/issues.tmpl
+++ b/templates/user/dashboard/issues.tmpl
@@ -1,43 +1,43 @@
{{template "base/head" .}}
<div class="dashboard issues">
- {{template "user/dashboard/navbar" .}}
- <div class="ui container">
- <div class="ui grid">
- <div class="four wide column">
- <div class="ui secondary vertical filter menu">
- <a class="{{if eq .ViewType "all"}}ui basic blue button{{end}} item" href="{{.Link}}?repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}">
- {{.i18n.Tr "home.issues.in_your_repos"}}
- <strong class="ui right">{{.IssueStats.AllCount}}</strong>
- </a>
- {{if not .ContextUser.IsOrganization}}
- <a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}">
- {{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}
- <strong class="ui right">{{.IssueStats.AssignCount}}</strong>
- </a>
- <a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}">
- {{.i18n.Tr "repo.issues.filter_type.created_by_you"}}
- <strong class="ui right">{{.IssueStats.CreateCount}}</strong>
- </a>
- {{end}}
- <div class="ui divider"></div>
- {{range .Repos}}
- <a class="{{if eq $.RepoID .ID}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}{{if not (eq $.RepoID .ID)}}&repo={{.ID}}{{end}}&sort={{$.SortType}}&state={{$.State}}">
- <span class="text truncate">{{$.ContextUser.Name}}/{{.Name}}</span>
- <div class="floating ui {{if $.IsShowClosed}}red{{else}}green{{end}} label">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</div>
- </a>
- {{end}}
- </div>
- </div>
+ {{template "user/dashboard/navbar" .}}
+ <div class="ui container">
+ <div class="ui grid">
+ <div class="four wide column">
+ <div class="ui secondary vertical filter menu">
+ <a class="{{if eq .ViewType "all"}}ui basic blue button{{end}} item" href="{{.Link}}?repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}">
+ {{.i18n.Tr "home.issues.in_your_repos"}}
+ <strong class="ui right">{{.IssueStats.AllCount}}</strong>
+ </a>
+ {{if not .ContextUser.IsOrganization}}
+ <a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}">
+ {{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}
+ <strong class="ui right">{{.IssueStats.AssignCount}}</strong>
+ </a>
+ <a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repo={{.RepoID}}&sort={{$.SortType}}&state={{.State}}">
+ {{.i18n.Tr "repo.issues.filter_type.created_by_you"}}
+ <strong class="ui right">{{.IssueStats.CreateCount}}</strong>
+ </a>
+ {{end}}
+ <div class="ui divider"></div>
+ {{range .Repos}}
+ <a class="{{if eq $.RepoID .ID}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}{{if not (eq $.RepoID .ID)}}&repo={{.ID}}{{end}}&sort={{$.SortType}}&state={{$.State}}">
+ <span class="text truncate">{{$.ContextUser.Name}}/{{.Name}}</span>
+ <div class="floating ui {{if $.IsShowClosed}}red{{else}}green{{end}} label">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</div>
+ </a>
+ {{end}}
+ </div>
+ </div>
<div class="twelve wide column content">
<div class="ui tiny basic status buttons">
- <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=open">
- <i class="octicon octicon-issue-opened"></i>
- {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
- </a>
- <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=closed">
- <i class="octicon octicon-issue-closed"></i>
- {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
- </a>
+ <a class="ui {{if not .IsShowClosed}}green active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=open">
+ <i class="octicon octicon-issue-opened"></i>
+ {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
+ </a>
+ <a class="ui {{if .IsShowClosed}}red active{{end}} basic button" href="{{.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort={{$.SortType}}&state=closed">
+ <i class="octicon octicon-issue-closed"></i>
+ {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
+ </a>
</div>
<div class="ui right floated secondary filter menu">
<!-- Sort -->
@@ -46,63 +46,63 @@
{{.i18n.Tr "repo.issues.filter_sort"}}
<i class="dropdown icon"></i>
</span>
- <div class="menu">
- <a class="{{if or (eq .SortType "latest") (not .SortType)}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=latest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a>
- <a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=oldest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a>
- <a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=recentupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a>
- <a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a>
- <a class="{{if eq .SortType "mostcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=mostcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.mostcomment"}}</a>
- <a class="{{if eq .SortType "leastcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastcomment"}}</a>
+ <div class="menu">
+ <a class="{{if or (eq .SortType "latest") (not .SortType)}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=latest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a>
+ <a class="{{if eq .SortType "oldest"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=oldest&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a>
+ <a class="{{if eq .SortType "recentupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=recentupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a>
+ <a class="{{if eq .SortType "leastupdate"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastupdate&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a>
+ <a class="{{if eq .SortType "mostcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=mostcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.mostcomment"}}</a>
+ <a class="{{if eq .SortType "leastcomment"}}active{{end}} item" href="{{$.Link}}?type={{$.ViewType}}&repo={{.RepoID}}&sort=leastcomment&state={{$.State}}">{{.i18n.Tr "repo.issues.filter_sort.leastcomment"}}</a>
</div>
</div>
</div>
<div class="issue list">
{{range .Issues}}
- {{ $timeStr:= TimeSince .Created $.Lang }}
- <li class="item">
- <div class="ui label">{{if not $.RepoID}}{{.Repo.Name}}{{end}}#{{.Index}}</div>
- <a class="title" href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a>
+ {{ $timeStr:= TimeSince .Created $.Lang }}
+ <li class="item">
+ <div class="ui label">{{if not $.RepoID}}{{.Repo.Name}}{{end}}#{{.Index}}</div>
+ <a class="title" href="{{AppSubUrl}}/{{.Repo.Owner.Name}}/{{.Repo.Name}}/issues/{{.Index}}">{{.Name}}</a>
- {{if .NumComments}}
- <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
- {{end}}
-
- <p class="desc">
- {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}}
- {{if .Assignee}}
- <a class="ui right assignee poping up" href="{{.Assignee.HomeLink}}" data-content="{{.Assignee.Name}}" data-variation="inverted" data-position="left center">
- <img class="ui avatar image" src="{{.Assignee.AvatarLink}}">
- </a>
- {{end}}
- </p>
- </li>
- {{end}}
-
- {{with .Page}}
- {{if gt .TotalPages 1}}
- <div class="center page buttons">
- <div class="ui borderless pagination menu">
- <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Previous}}"{{end}}>
- <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}}
- </a>
- {{range .Pages}}
- {{if eq .Num -1}}
- <a class="disabled item">...</a>
- {{else}}
- <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Num}}"{{end}}>{{.Num}}</a>
- {{end}}
+ {{if .NumComments}}
+ <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
{{end}}
- <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Next}}"{{end}}>
- {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i>
- </a>
- </div>
- </div>
+
+ <p class="desc">
+ {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.HomeLink .Poster.Name | Safe}}
+ {{if .Assignee}}
+ <a class="ui right assignee poping up" href="{{.Assignee.HomeLink}}" data-content="{{.Assignee.Name}}" data-variation="inverted" data-position="left center">
+ <img class="ui avatar image" src="{{.Assignee.AvatarLink}}">
+ </a>
+ {{end}}
+ </p>
+ </li>
{{end}}
+
+ {{with .Page}}
+ {{if gt .TotalPages 1}}
+ <div class="center page buttons">
+ <div class="ui borderless pagination menu">
+ <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Previous}}"{{end}}>
+ <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}}
+ </a>
+ {{range .Pages}}
+ {{if eq .Num -1}}
+ <a class="disabled item">...</a>
+ {{else}}
+ <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Num}}"{{end}}>{{.Num}}</a>
+ {{end}}
+ {{end}}
+ <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}&page={{.Next}}"{{end}}>
+ {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i>
+ </a>
+ </div>
+ </div>
+ {{end}}
{{end}}
</div>
- </div>
- </div>
+ </div>
+ </div>
</div>
</div>
{{template "base/footer" .}}
diff --git a/templates/user/dashboard/navbar.tmpl b/templates/user/dashboard/navbar.tmpl
index eb74191702..c31f0b5542 100644
--- a/templates/user/dashboard/navbar.tmpl
+++ b/templates/user/dashboard/navbar.tmpl
@@ -1,53 +1,53 @@
<div class="ui container">
- <div class="ui floating dropdown link jump">
- <span class="text">
- <img class="ui avatar image" src="{{.ContextUser.AvatarLink}}">
- {{.ContextUser.ShortName 20}}
- <i class="dropdown icon"></i>
- </span>
- <div class="context user overflow menu" tabindex="-1">
+ <div class="ui floating dropdown link jump">
+ <span class="text">
+ <img class="ui avatar image" src="{{.ContextUser.AvatarLink}}">
+ {{.ContextUser.ShortName 20}}
+ <i class="dropdown icon"></i>
+ </span>
+ <div class="context user overflow menu" tabindex="-1">
<div class="ui header">
{{.i18n.Tr "home.switch_dashboard_context"}}
</div>
- <div class="items">
- <a class="{{if eq .ContextUser.Id .SignedUser.Id}}active selected{{end}} item" href="{{AppSubUrl}}/{{if .PageIsIssues}}issues{{else if .PageIsPulls}}pulls{{end}}">
- <img class="ui avatar image" src="{{.SignedUser.AvatarLink}}">
- {{.SignedUser.Name}}
- </a>
- {{range .Orgs}}
- <a class="{{if eq $.ContextUser.Id .Id}}active selected{{end}} item" href="{{AppSubUrl}}/org/{{.Name}}/{{if $.PageIsIssues}}issues{{else if $.PageIsPulls}}pulls{{else}}dashboard{{end}}">
- <img class="ui avatar image" src="{{.AvatarLink}}">
- {{.ShortName 20}}
- </a>
- {{end}}
- </div>
- <a class="item" href="{{AppSubUrl}}/org/create">
- <i class="octicon octicon-repo-create"></i>&nbsp;&nbsp;&nbsp;{{.i18n.Tr "new_org"}}
- </a>
- </div>
- </div>
+ <div class="items">
+ <a class="{{if eq .ContextUser.Id .SignedUser.Id}}active selected{{end}} item" href="{{AppSubUrl}}/{{if .PageIsIssues}}issues{{else if .PageIsPulls}}pulls{{end}}">
+ <img class="ui avatar image" src="{{.SignedUser.AvatarLink}}">
+ {{.SignedUser.Name}}
+ </a>
+ {{range .Orgs}}
+ <a class="{{if eq $.ContextUser.Id .Id}}active selected{{end}} item" href="{{AppSubUrl}}/org/{{.Name}}/{{if $.PageIsIssues}}issues{{else if $.PageIsPulls}}pulls{{else}}dashboard{{end}}">
+ <img class="ui avatar image" src="{{.AvatarLink}}">
+ {{.ShortName 20}}
+ </a>
+ {{end}}
+ </div>
+ <a class="item" href="{{AppSubUrl}}/org/create">
+ <i class="octicon octicon-repo-create"></i>&nbsp;&nbsp;&nbsp;{{.i18n.Tr "new_org"}}
+ </a>
+ </div>
+ </div>
- {{if .ContextUser.IsOrganization}}
- <div class="ui right">
- <div class="ui secondary head menu">
- <a class="{{if .PageIsNews}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/dashboard">
- <i class="octicon octicon-rss"></i>&nbsp;{{.i18n.Tr "news_feed"}}
- </a>
- <a class="{{if .PageIsIssues}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/issues">
- <i class="octicon octicon-issue-opened"></i>&nbsp;{{.i18n.Tr "issues"}}
- </a>
- <a class="{{if .PageIsPulls}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/pulls">
- <i class="octicon octicon-git-pull-request"></i>&nbsp;{{.i18n.Tr "pull_requests"}}
- </a>
- <div class="right menu">
- <div class="item">
- <a class="ui blue basic button" href="{{.ContextUser.HomeLink}}">
- {{.i18n.Tr "home.view_home" (.ContextUser.ShortName 10)}}
- </a>
- </div>
- </div>
- </div>
- </div>
- {{end}}
+ {{if .ContextUser.IsOrganization}}
+ <div class="ui right">
+ <div class="ui secondary head menu">
+ <a class="{{if .PageIsNews}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/dashboard">
+ <i class="octicon octicon-rss"></i>&nbsp;{{.i18n.Tr "news_feed"}}
+ </a>
+ <a class="{{if .PageIsIssues}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/issues">
+ <i class="octicon octicon-issue-opened"></i>&nbsp;{{.i18n.Tr "issues"}}
+ </a>
+ <a class="{{if .PageIsPulls}}active{{end}} item" href="{{AppSubUrl}}/org/{{.ContextUser.Name}}/pulls">
+ <i class="octicon octicon-git-pull-request"></i>&nbsp;{{.i18n.Tr "pull_requests"}}
+ </a>
+ <div class="right menu">
+ <div class="item">
+ <a class="ui blue basic button" href="{{.ContextUser.HomeLink}}">
+ {{.i18n.Tr "home.view_home" (.ContextUser.ShortName 10)}}
+ </a>
+ </div>
+ </div>
+ </div>
+ </div>
+ {{end}}
</div>
-<div class="ui divider"></div> \ No newline at end of file
+<div class="ui divider"></div>
diff --git a/templates/user/profile.tmpl b/templates/user/profile.tmpl
index a17261d138..f571f3a090 100644
--- a/templates/user/profile.tmpl
+++ b/templates/user/profile.tmpl
@@ -1,69 +1,69 @@
{{template "base/head" .}}
<div class="user profile">
- <div class="ui container">
- <div class="ui grid">
- <div class="ui five wide column">
- <div class="ui card">
- {{if and (.Owner.UseCustomAvatar) (eq .SignedUserName .Owner.Name)}}
- <a class="image poping up" href="{{AppSubUrl}}/user/settings" id="profile-avatar" data-content="{{.i18n.Tr "user.change_custom_avatar"}}" data-variation="inverted tiny" data-position="bottom center">
- <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/>
- </a>
- {{else if eq .SignedUserName .Owner.Name}}
- <a class="image poping up" href="http://gravatar.com/emails/" id="profile-avatar" data-content="{{.i18n.Tr "user.change_avatar"}}" data-variation="inverted tiny" data-position="bottom center">
- <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/>
- </a>
- {{else}}
- <span class="image">
- <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/>
- </span>
- {{end}}
- <div class="content">
- {{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}}
- <span class="username text center">{{.Owner.Name}}</span>
- </div>
- <div class="extra content">
- <ul class="text black">
- {{if .Owner.Location}}
- <li><i class="icon octicon octicon-location"></i> {{.Owner.Location}}</li>
- {{end}}
- {{if and .Owner.Email .IsSigned}}
- <li>
- <i class="icon octicon octicon-mail"></i>
- <a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a>
- </li>
- {{end}}
- {{if .Owner.Website}}
- <li>
- <i class="icon octicon octicon-link"></i>
- <a target="_blank" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
- </li>
- {{end}}
- <li><i class="icon octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{DateFmtShort .Owner.Created}}</li>
- </ul>
- </div>
- </div>
- </div>
- <div class="ui eleven wide column">
- <div class="ui secondary pointing menu">
- <a class="{{if ne .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}">
- <i class="icon octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}}
- </a>
- <a class="item">
- <a class="{{if eq .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}?tab=activity">
- <i class="icon octicon octicon-rss"></i> {{.i18n.Tr "user.activity"}}
- </a>
- </a>
- </div>
- {{if ne .TabName "activity"}}
- {{template "explore/repo_list" .}}
- {{else}}
- <br>
- <div class="feeds">
- {{template "user/dashboard/feeds" .}}
- </div>
- {{end}}
- </div>
- </div>
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ <div class="ui five wide column">
+ <div class="ui card">
+ {{if and (.Owner.UseCustomAvatar) (eq .SignedUserName .Owner.Name)}}
+ <a class="image poping up" href="{{AppSubUrl}}/user/settings" id="profile-avatar" data-content="{{.i18n.Tr "user.change_custom_avatar"}}" data-variation="inverted tiny" data-position="bottom center">
+ <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/>
+ </a>
+ {{else if eq .SignedUserName .Owner.Name}}
+ <a class="image poping up" href="http://gravatar.com/emails/" id="profile-avatar" data-content="{{.i18n.Tr "user.change_avatar"}}" data-variation="inverted tiny" data-position="bottom center">
+ <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/>
+ </a>
+ {{else}}
+ <span class="image">
+ <img src="{{.Owner.AvatarLink}}?s=290" title="{{.Owner.Name}}"/>
+ </span>
+ {{end}}
+ <div class="content">
+ {{if .Owner.FullName}}<span class="header text center">{{.Owner.FullName}}</span>{{end}}
+ <span class="username text center">{{.Owner.Name}}</span>
+ </div>
+ <div class="extra content">
+ <ul class="text black">
+ {{if .Owner.Location}}
+ <li><i class="icon octicon octicon-location"></i> {{.Owner.Location}}</li>
+ {{end}}
+ {{if and .Owner.Email .IsSigned}}
+ <li>
+ <i class="icon octicon octicon-mail"></i>
+ <a href="mailto:{{.Owner.Email}}" rel="nofollow">{{.Owner.Email}}</a>
+ </li>
+ {{end}}
+ {{if .Owner.Website}}
+ <li>
+ <i class="icon octicon octicon-link"></i>
+ <a target="_blank" href="{{.Owner.Website}}">{{.Owner.Website}}</a>
+ </li>
+ {{end}}
+ <li><i class="icon octicon octicon-clock"></i> {{.i18n.Tr "user.join_on"}} {{DateFmtShort .Owner.Created}}</li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="ui eleven wide column">
+ <div class="ui secondary pointing menu">
+ <a class="{{if ne .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}">
+ <i class="icon octicon octicon-repo"></i> {{.i18n.Tr "user.repositories"}}
+ </a>
+ <a class="item">
+ <a class="{{if eq .TabName "activity"}}active{{end}} item" href="{{.Owner.HomeLink}}?tab=activity">
+ <i class="icon octicon octicon-rss"></i> {{.i18n.Tr "user.activity"}}
+ </a>
+ </a>
+ </div>
+ {{if ne .TabName "activity"}}
+ {{template "explore/repo_list" .}}
+ {{else}}
+ <br>
+ <div class="feeds">
+ {{template "user/dashboard/feeds" .}}
+ </div>
+ {{end}}
+ </div>
+ </div>
+ </div>
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/settings/applications.tmpl b/templates/user/settings/applications.tmpl
index 37de6d151f..b5bacf7765 100644
--- a/templates/user/settings/applications.tmpl
+++ b/templates/user/settings/applications.tmpl
@@ -1,85 +1,85 @@
{{template "base/head" .}}
<div class="user settings">
- <div class="ui container">
- <div class="ui grid">
- {{template "user/settings/navbar" .}}
- <div class="twelve wide column content">
- {{template "base/alert" .}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.manage_access_token"}}
- <div class="ui right">
- <div class="ui blue tiny show-panel button" data-panel="#add-access-token-panel">{{.i18n.Tr "settings.generate_new_token"}}</div>
- </div>
- </h4>
- <div class="ui attached segment">
- <div class="ui key list">
- <div class="item">
- {{.i18n.Tr "settings.tokens_desc"}}
- </div>
- {{range .Tokens}}
- <div class="item ui grid">
- <div class="one wide column">
- <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.token_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
- </div>
- <div class="one wide column">
- <i class="fa fa-send fa-2x left"></i>
- </div>
- <div class="eleven wide column">
- <strong>{{.Name}}</strong>
- <div class="activity meta">
- <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
- </div>
- </div>
- <div class="two wide column">
- <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
- {{$.i18n.Tr "settings.delete_token"}}
- </button>
- </div>
- </div>
- {{end}}
- </div>
- </div>
- <br>
- <div {{if not .HasError}}class="hide"{{end}} id="add-access-token-panel">
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.generate_new_token"}}
- </h4>
- <div class="ui attached segment">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <p>{{.i18n.Tr "settings.new_token_desc"}}</p>
- <div class="field {{if .Err_Name}}error{{end}}">
- <label for="name">{{.i18n.Tr "settings.token_name"}}</label>
- <input id="name" name="name" value="{{.name}}" autofocus required>
- </div>
- <button class="ui green button">
- {{.i18n.Tr "settings.generate_token"}}
- </button>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ {{template "user/settings/navbar" .}}
+ <div class="twelve wide column content">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.manage_access_token"}}
+ <div class="ui right">
+ <div class="ui blue tiny show-panel button" data-panel="#add-access-token-panel">{{.i18n.Tr "settings.generate_new_token"}}</div>
+ </div>
+ </h4>
+ <div class="ui attached segment">
+ <div class="ui key list">
+ <div class="item">
+ {{.i18n.Tr "settings.tokens_desc"}}
+ </div>
+ {{range .Tokens}}
+ <div class="item ui grid">
+ <div class="one wide column">
+ <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.token_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
+ </div>
+ <div class="one wide column">
+ <i class="fa fa-send fa-2x left"></i>
+ </div>
+ <div class="eleven wide column">
+ <strong>{{.Name}}</strong>
+ <div class="activity meta">
+ <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
+ </div>
+ </div>
+ <div class="two wide column">
+ <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
+ {{$.i18n.Tr "settings.delete_token"}}
+ </button>
+ </div>
+ </div>
+ {{end}}
+ </div>
+ </div>
+ <br>
+ <div {{if not .HasError}}class="hide"{{end}} id="add-access-token-panel">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.generate_new_token"}}
+ </h4>
+ <div class="ui attached segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <p>{{.i18n.Tr "settings.new_token_desc"}}</p>
+ <div class="field {{if .Err_Name}}error{{end}}">
+ <label for="name">{{.i18n.Tr "settings.token_name"}}</label>
+ <input id="name" name="name" value="{{.name}}" autofocus required>
+ </div>
+ <button class="ui green button">
+ {{.i18n.Tr "settings.generate_token"}}
+ </button>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<div class="ui small basic delete modal">
- <div class="ui icon header">
- <i class="trash icon"></i>
- {{.i18n.Tr "settings.access_token_deletion"}}
- </div>
- <div class="content">
- <p>{{.i18n.Tr "settings.access_token_deletion_desc"}}</p>
- </div>
- <div class="actions">
- <div class="ui red basic inverted cancel button">
- <i class="remove icon"></i>
- {{.i18n.Tr "modal.no"}}
- </div>
- <div class="ui green basic inverted ok button">
- <i class="checkmark icon"></i>
- {{.i18n.Tr "modal.yes"}}
- </div>
- </div>
+ <div class="ui icon header">
+ <i class="trash icon"></i>
+ {{.i18n.Tr "settings.access_token_deletion"}}
+ </div>
+ <div class="content">
+ <p>{{.i18n.Tr "settings.access_token_deletion_desc"}}</p>
+ </div>
+ <div class="actions">
+ <div class="ui red basic inverted cancel button">
+ <i class="remove icon"></i>
+ {{.i18n.Tr "modal.no"}}
+ </div>
+ <div class="ui green basic inverted ok button">
+ <i class="checkmark icon"></i>
+ {{.i18n.Tr "modal.yes"}}
+ </div>
+ </div>
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/settings/delete.tmpl b/templates/user/settings/delete.tmpl
index 6b490ad291..b95eb2105f 100644
--- a/templates/user/settings/delete.tmpl
+++ b/templates/user/settings/delete.tmpl
@@ -1,42 +1,42 @@
{{template "base/head" .}}
<div class="user settings delete">
- <div class="ui container">
- <div class="ui grid">
- {{template "user/settings/navbar" .}}
- <div class="twelve wide column content">
- {{template "base/alert" .}}
- <h4 class="ui top attached warning header">
- {{.i18n.Tr "settings.delete_account"}}
- </h4>
- <div class="ui attached warning segment">
- <div class="ui red message">
- <p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p>
- </div>
- <form class="ui form" id="delete-form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <input class="fake" type="password">
- <div class="inline required field {{if .Err_Password}}error{{end}}">
- <label for="password">{{.i18n.Tr "password"}}</label>
- <input id="password" name="password" type="password" autofocus required>
- </div>
- <div class="ui red button delete-button" data-type="form" data-form="#delete-form">
- {{.i18n.Tr "settings.confirm_delete_account"}}
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ {{template "user/settings/navbar" .}}
+ <div class="twelve wide column content">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached warning header">
+ {{.i18n.Tr "settings.delete_account"}}
+ </h4>
+ <div class="ui attached warning segment">
+ <div class="ui red message">
+ <p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p>
+ </div>
+ <form class="ui form" id="delete-form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <input class="fake" type="password">
+ <div class="inline required field {{if .Err_Password}}error{{end}}">
+ <label for="password">{{.i18n.Tr "password"}}</label>
+ <input id="password" name="password" type="password" autofocus required>
+ </div>
+ <div class="ui red button delete-button" data-type="form" data-form="#delete-form">
+ {{.i18n.Tr "settings.confirm_delete_account"}}
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<div class="ui small basic delete modal">
- <div class="ui icon header">
- <i class="trash icon"></i>
- {{.i18n.Tr "settings.delete_account_title"}}
- </div>
- <div class="content">
- <p>{{.i18n.Tr "settings.delete_account_desc"}}</p>
- </div>
- {{template "base/delete_modal_actions" .}}
+ <div class="ui icon header">
+ <i class="trash icon"></i>
+ {{.i18n.Tr "settings.delete_account_title"}}
+ </div>
+ <div class="content">
+ <p>{{.i18n.Tr "settings.delete_account_desc"}}</p>
+ </div>
+ {{template "base/delete_modal_actions" .}}
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/settings/email.tmpl b/templates/user/settings/email.tmpl
index a9667dde91..558145302f 100644
--- a/templates/user/settings/email.tmpl
+++ b/templates/user/settings/email.tmpl
@@ -1,70 +1,70 @@
{{template "base/head" .}}
<div class="user settings emails">
- <div class="ui container">
- <div class="ui grid">
- {{template "user/settings/navbar" .}}
- <div class="twelve wide column content">
- {{template "base/alert" .}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.manage_emails"}}
- </h4>
- <div class="ui attached segment">
- <div class="ui email list">
- <div class="item">
- {{.i18n.Tr "settings.email_desc"}}
- </div>
- {{range .Emails}}
- <div class="item ui grid">
- <div class="column">
- <strong>{{.Email}}</strong>
- {{if .IsPrimary}}<span class="text red">{{$.i18n.Tr "settings.primary"}}</span>{{end}}
- {{if not .IsPrimary}}
- <div class="ui right">
- <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
- {{$.i18n.Tr "settings.delete_key"}}
- </button>
- </div>
- {{if .IsActivated}}
- <div class="ui right">
- <form action="{{$.Link}}" method="post">
- {{$.CsrfTokenHtml}}
- <input name="_method" type="hidden" value="PRIMARY">
- <input name="id" type="hidden" value="{{.ID}}">
- <button class="ui green tiny button">{{$.i18n.Tr "settings.primary_email"}}</button>
- </form>
- </div>
- {{end}}
- {{end}}
- </div>
- </div>
- {{end}}
- </div>
- </div>
- <div class="ui attached bottom segment">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <div class="required field {{if .Err_Email}}error{{end}}">
- <label for="email">{{.i18n.Tr "settings.add_new_email"}}</label>
- <input id="email" name="email" type="email" autofocus required>
- </div>
- <button class="ui green button">
- {{.i18n.Tr "settings.add_email"}}
- </button>
- </form>
- </div>
- </div>
- </div>
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ {{template "user/settings/navbar" .}}
+ <div class="twelve wide column content">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.manage_emails"}}
+ </h4>
+ <div class="ui attached segment">
+ <div class="ui email list">
+ <div class="item">
+ {{.i18n.Tr "settings.email_desc"}}
+ </div>
+ {{range .Emails}}
+ <div class="item ui grid">
+ <div class="column">
+ <strong>{{.Email}}</strong>
+ {{if .IsPrimary}}<span class="text red">{{$.i18n.Tr "settings.primary"}}</span>{{end}}
+ {{if not .IsPrimary}}
+ <div class="ui right">
+ <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
+ {{$.i18n.Tr "settings.delete_key"}}
+ </button>
+ </div>
+ {{if .IsActivated}}
+ <div class="ui right">
+ <form action="{{$.Link}}" method="post">
+ {{$.CsrfTokenHtml}}
+ <input name="_method" type="hidden" value="PRIMARY">
+ <input name="id" type="hidden" value="{{.ID}}">
+ <button class="ui green tiny button">{{$.i18n.Tr "settings.primary_email"}}</button>
+ </form>
+ </div>
+ {{end}}
+ {{end}}
+ </div>
+ </div>
+ {{end}}
+ </div>
+ </div>
+ <div class="ui attached bottom segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="required field {{if .Err_Email}}error{{end}}">
+ <label for="email">{{.i18n.Tr "settings.add_new_email"}}</label>
+ <input id="email" name="email" type="email" autofocus required>
+ </div>
+ <button class="ui green button">
+ {{.i18n.Tr "settings.add_email"}}
+ </button>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<div class="ui small basic delete modal">
- <div class="ui icon header">
- <i class="trash icon"></i>
- {{.i18n.Tr "settings.email_deletion"}}
- </div>
- <div class="content">
- <p>{{.i18n.Tr "settings.email_deletion_desc"}}</p>
- </div>
- {{template "base/delete_modal_actions" .}}
+ <div class="ui icon header">
+ <i class="trash icon"></i>
+ {{.i18n.Tr "settings.email_deletion"}}
+ </div>
+ <div class="content">
+ <p>{{.i18n.Tr "settings.email_deletion_desc"}}</p>
+ </div>
+ {{template "base/delete_modal_actions" .}}
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/settings/navbar.tmpl b/templates/user/settings/navbar.tmpl
index 5c8773a84b..87e24522b4 100644
--- a/templates/user/settings/navbar.tmpl
+++ b/templates/user/settings/navbar.tmpl
@@ -1,23 +1,23 @@
<div class="four wide column">
<div class="ui vertical menu">
<div class="header item">{{.i18n.Tr "settings"}}</div>
- <a class="{{if .PageIsSettingsProfile}}active{{end}} item" href="{{AppSubUrl}}/user/settings">
- {{.i18n.Tr "settings.profile"}}
- </a>
- <a class="{{if .PageIsSettingsPassword}}active{{end}} item" href="{{AppSubUrl}}/user/settings/password">
- {{.i18n.Tr "settings.password"}}
- </a>
- <a class="{{if .PageIsSettingsEmails}}active{{end}} item" href="{{AppSubUrl}}/user/settings/email">
- {{.i18n.Tr "settings.emails"}}
- </a>
- <a class="{{if .PageIsSettingsSSHKeys}}active{{end}} item" href="{{AppSubUrl}}/user/settings/ssh">
- {{.i18n.Tr "settings.ssh_keys"}}
- </a>
- <a class="{{if .PageIsSettingsApplications}}active{{end}} item" href="{{AppSubUrl}}/user/settings/applications">
- {{.i18n.Tr "settings.applications"}}
- </a>
- <a class="{{if .PageIsSettingsDelete}}active{{end}} item" href="{{AppSubUrl}}/user/settings/delete">
- {{.i18n.Tr "settings.delete"}}
- </a>
+ <a class="{{if .PageIsSettingsProfile}}active{{end}} item" href="{{AppSubUrl}}/user/settings">
+ {{.i18n.Tr "settings.profile"}}
+ </a>
+ <a class="{{if .PageIsSettingsPassword}}active{{end}} item" href="{{AppSubUrl}}/user/settings/password">
+ {{.i18n.Tr "settings.password"}}
+ </a>
+ <a class="{{if .PageIsSettingsEmails}}active{{end}} item" href="{{AppSubUrl}}/user/settings/email">
+ {{.i18n.Tr "settings.emails"}}
+ </a>
+ <a class="{{if .PageIsSettingsSSHKeys}}active{{end}} item" href="{{AppSubUrl}}/user/settings/ssh">
+ {{.i18n.Tr "settings.ssh_keys"}}
+ </a>
+ <a class="{{if .PageIsSettingsApplications}}active{{end}} item" href="{{AppSubUrl}}/user/settings/applications">
+ {{.i18n.Tr "settings.applications"}}
+ </a>
+ <a class="{{if .PageIsSettingsDelete}}active{{end}} item" href="{{AppSubUrl}}/user/settings/delete">
+ {{.i18n.Tr "settings.delete"}}
+ </a>
</div>
</div>
diff --git a/templates/user/settings/password.tmpl b/templates/user/settings/password.tmpl
index d56952b19f..e29e807e96 100644
--- a/templates/user/settings/password.tmpl
+++ b/templates/user/settings/password.tmpl
@@ -1,36 +1,36 @@
{{template "base/head" .}}
<div class="user settings password">
- <div class="ui container">
- <div class="ui grid">
- {{template "user/settings/navbar" .}}
- <div class="twelve wide column content">
- {{template "base/alert" .}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.change_password"}}
- </h4>
- <div class="ui attached segment">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <div class="required field {{if .Err_OldPassword}}error{{end}}">
- <label for="old_password">{{.i18n.Tr "settings.old_password"}}</label>
- <input id="old_password" name="old_password" type="password" autofocus required>
- </div>
- <div class="required field {{if .Err_Password}}error{{end}}">
- <label for="password">{{.i18n.Tr "settings.new_password"}}</label>
- <input id="password" name="password" type="password" required>
- </div>
- <div class="required field {{if .Err_Password}}error{{end}}">
- <label for="retype">{{.i18n.Tr "settings.retype_new_password"}}</label>
- <input id="retype" name="retype" type="password" required>
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ {{template "user/settings/navbar" .}}
+ <div class="twelve wide column content">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.change_password"}}
+ </h4>
+ <div class="ui attached segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="required field {{if .Err_OldPassword}}error{{end}}">
+ <label for="old_password">{{.i18n.Tr "settings.old_password"}}</label>
+ <input id="old_password" name="old_password" type="password" autofocus required>
+ </div>
+ <div class="required field {{if .Err_Password}}error{{end}}">
+ <label for="password">{{.i18n.Tr "settings.new_password"}}</label>
+ <input id="password" name="password" type="password" required>
+ </div>
+ <div class="required field {{if .Err_Password}}error{{end}}">
+ <label for="retype">{{.i18n.Tr "settings.retype_new_password"}}</label>
+ <input id="retype" name="retype" type="password" required>
+ </div>
- <div class="field">
- <button class="ui green button">{{$.i18n.Tr "settings.change_password"}}</button>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
+ <div class="field">
+ <button class="ui green button">{{$.i18n.Tr "settings.change_password"}}</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/settings/profile.tmpl b/templates/user/settings/profile.tmpl
index d9bf7af09a..37d5683671 100644
--- a/templates/user/settings/profile.tmpl
+++ b/templates/user/settings/profile.tmpl
@@ -1,70 +1,70 @@
{{template "base/head" .}}
<div class="user settings profile">
- <div class="ui container">
- <div class="ui grid">
- {{template "user/settings/navbar" .}}
- <div class="twelve wide column content">
- {{template "base/alert" .}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.public_profile"}}
- </h4>
- <div class="ui attached segment">
- <p>{{.i18n.Tr "settings.profile_desc"}}</p>
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <div class="required field {{if .Err_Name}}error{{end}}">
- <label for="username">{{.i18n.Tr "username"}}<span class="text red hide" id="name-change-prompt"> {{.i18n.Tr "settings.change_username_prompt"}}</span></label>
- <input id="username" name="name" value="{{.SignedUser.Name}}" data-name="{{.SignedUser.Name}}" autofocus required>
- </div>
- <div class="field {{if .Err_FullName}}error{{end}}">
- <label for="full_name">{{.i18n.Tr "settings.full_name"}}</label>
- <input id="full_name" name="full_name" value="{{.SignedUser.FullName}}">
- </div>
- <div class="required field {{if .Err_Email}}error{{end}}">
- <label for="email">{{.i18n.Tr "email"}}</label>
- <input id="email" name="email" value="{{.SignedUser.Email}}">
- </div>
- <div class="field {{if .Err_Website}}error{{end}}">
- <label for="website">{{.i18n.Tr "settings.website"}}</label>
- <input id="website" name="website" type="url" value="{{.SignedUser.Website}}">
- </div>
- <div class="field">
- <label for="location">{{.i18n.Tr "settings.location"}}</label>
- <input id="location" name="location" value="{{.SignedUser.Location}}">
- </div>
- <div class="required field {{if or DisableGravatar .SignedUser.UseCustomAvatar}}hide{{end}} {{if .Err_Gravatar}}error{{end}}">
- <label for="gravatar">Gravatar {{.i18n.Tr "email"}}</label>
- <input id="gravatar" name="gravatar" value="{{.SignedUser.AvatarEmail}}" />
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ {{template "user/settings/navbar" .}}
+ <div class="twelve wide column content">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.public_profile"}}
+ </h4>
+ <div class="ui attached segment">
+ <p>{{.i18n.Tr "settings.profile_desc"}}</p>
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="required field {{if .Err_Name}}error{{end}}">
+ <label for="username">{{.i18n.Tr "username"}}<span class="text red hide" id="name-change-prompt"> {{.i18n.Tr "settings.change_username_prompt"}}</span></label>
+ <input id="username" name="name" value="{{.SignedUser.Name}}" data-name="{{.SignedUser.Name}}" autofocus required>
+ </div>
+ <div class="field {{if .Err_FullName}}error{{end}}">
+ <label for="full_name">{{.i18n.Tr "settings.full_name"}}</label>
+ <input id="full_name" name="full_name" value="{{.SignedUser.FullName}}">
+ </div>
+ <div class="required field {{if .Err_Email}}error{{end}}">
+ <label for="email">{{.i18n.Tr "email"}}</label>
+ <input id="email" name="email" value="{{.SignedUser.Email}}">
+ </div>
+ <div class="field {{if .Err_Website}}error{{end}}">
+ <label for="website">{{.i18n.Tr "settings.website"}}</label>
+ <input id="website" name="website" type="url" value="{{.SignedUser.Website}}">
+ </div>
+ <div class="field">
+ <label for="location">{{.i18n.Tr "settings.location"}}</label>
+ <input id="location" name="location" value="{{.SignedUser.Location}}">
+ </div>
+ <div class="required field {{if or DisableGravatar .SignedUser.UseCustomAvatar}}hide{{end}} {{if .Err_Gravatar}}error{{end}}">
+ <label for="gravatar">Gravatar {{.i18n.Tr "email"}}</label>
+ <input id="gravatar" name="gravatar" value="{{.SignedUser.AvatarEmail}}" />
+ </div>
- <div class="field">
- <button class="ui green button">{{$.i18n.Tr "settings.update_profile"}}</button>
- </div>
- </form>
+ <div class="field">
+ <button class="ui green button">{{$.i18n.Tr "settings.update_profile"}}</button>
+ </div>
+ </form>
- <div class="ui divider"></div>
+ <div class="ui divider"></div>
- <form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data">
- {{.CsrfTokenHtml}}
- <div class="inline field">
- <label>{{.i18n.Tr "settings.enable_custom_avatar"}}</label>
- <div class="ui checkbox">
- <input name="enable" type="checkbox" {{if .SignedUser.UseCustomAvatar}}checked{{end}}>
- <label>{{.i18n.Tr "settings.enable_custom_avatar_helper"}}</label>
- </div>
- </div>
- <div class="inline field">
- <label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label>
- <input name="avatar" type="file" >
- </div>
+ <form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data">
+ {{.CsrfTokenHtml}}
+ <div class="inline field">
+ <label>{{.i18n.Tr "settings.enable_custom_avatar"}}</label>
+ <div class="ui checkbox">
+ <input name="enable" type="checkbox" {{if .SignedUser.UseCustomAvatar}}checked{{end}}>
+ <label>{{.i18n.Tr "settings.enable_custom_avatar_helper"}}</label>
+ </div>
+ </div>
+ <div class="inline field">
+ <label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label>
+ <input name="avatar" type="file" >
+ </div>
- <div class="field">
- <button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
+ <div class="field">
+ <button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}
diff --git a/templates/user/settings/sshkeys.tmpl b/templates/user/settings/sshkeys.tmpl
index 4c2177278b..33426fdc56 100644
--- a/templates/user/settings/sshkeys.tmpl
+++ b/templates/user/settings/sshkeys.tmpl
@@ -1,83 +1,83 @@
{{template "base/head" .}}
<div class="user settings sshkeys">
- <div class="ui container">
- <div class="ui grid">
- {{template "user/settings/navbar" .}}
- <div class="twelve wide column content">
- {{template "base/alert" .}}
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.manage_ssh_keys"}}
- <div class="ui right">
- <div class="ui blue tiny show-panel button" data-panel="#add-ssh-key-panel">{{.i18n.Tr "settings.add_key"}}</div>
- </div>
- </h4>
- <div class="ui attached segment">
- <div class="ui key list">
- <div class="item">
- {{.i18n.Tr "settings.ssh_desc"}}
- </div>
- {{range .Keys}}
- <div class="item ui grid">
- <div class="one wide column">
- <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
- </div>
- <div class="one wide column">
- <i class="mega-octicon octicon-key left"></i>
- </div>
- <div class="eleven wide column">
- <strong>{{.Name}}</strong>
- <div class="print meta">
- {{.Fingerprint}}
- </div>
- <div class="activity meta">
- <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
- </div>
- </div>
- <div class="two wide column">
- <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
- {{$.i18n.Tr "settings.delete_key"}}
- </button>
- </div>
- </div>
- {{end}}
- </div>
- </div>
- <br>
- <p>{{.i18n.Tr "settings.ssh_helper" "https://help.github.com/articles/generating-ssh-keys" "https://help.github.com/ssh-issues/" | Str2html}}</p>
- <div {{if not .HasError}}class="hide"{{end}} id="add-ssh-key-panel">
- <h4 class="ui top attached header">
- {{.i18n.Tr "settings.add_new_key"}}
- </h4>
- <div class="ui attached segment">
- <form class="ui form" action="{{.Link}}" method="post">
- {{.CsrfTokenHtml}}
- <div class="field {{if .Err_Title}}error{{end}}">
- <label for="title">{{.i18n.Tr "settings.key_name"}}</label>
- <input id="title" name="title" value="{{.title}}" autofocus required>
- </div>
- <div class="field {{if .Err_Content}}error{{end}}">
- <label for="content">{{.i18n.Tr "settings.key_content"}}</label>
- <textarea id="content" name="content" required>{{.content}}</textarea>
- </div>
- <button class="ui green button">
- {{.i18n.Tr "settings.add_key"}}
- </button>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <div class="ui container">
+ <div class="ui grid">
+ {{template "user/settings/navbar" .}}
+ <div class="twelve wide column content">
+ {{template "base/alert" .}}
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.manage_ssh_keys"}}
+ <div class="ui right">
+ <div class="ui blue tiny show-panel button" data-panel="#add-ssh-key-panel">{{.i18n.Tr "settings.add_key"}}</div>
+ </div>
+ </h4>
+ <div class="ui attached segment">
+ <div class="ui key list">
+ <div class="item">
+ {{.i18n.Tr "settings.ssh_desc"}}
+ </div>
+ {{range .Keys}}
+ <div class="item ui grid">
+ <div class="one wide column">
+ <i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted tiny"{{end}}></i>
+ </div>
+ <div class="one wide column">
+ <i class="mega-octicon octicon-key left"></i>
+ </div>
+ <div class="eleven wide column">
+ <strong>{{.Name}}</strong>
+ <div class="print meta">
+ {{.Fingerprint}}
+ </div>
+ <div class="activity meta">
+ <i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
+ </div>
+ </div>
+ <div class="two wide column">
+ <button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
+ {{$.i18n.Tr "settings.delete_key"}}
+ </button>
+ </div>
+ </div>
+ {{end}}
+ </div>
+ </div>
+ <br>
+ <p>{{.i18n.Tr "settings.ssh_helper" "https://help.github.com/articles/generating-ssh-keys" "https://help.github.com/ssh-issues/" | Str2html}}</p>
+ <div {{if not .HasError}}class="hide"{{end}} id="add-ssh-key-panel">
+ <h4 class="ui top attached header">
+ {{.i18n.Tr "settings.add_new_key"}}
+ </h4>
+ <div class="ui attached segment">
+ <form class="ui form" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="field {{if .Err_Title}}error{{end}}">
+ <label for="title">{{.i18n.Tr "settings.key_name"}}</label>
+ <input id="title" name="title" value="{{.title}}" autofocus required>
+ </div>
+ <div class="field {{if .Err_Content}}error{{end}}">
+ <label for="content">{{.i18n.Tr "settings.key_content"}}</label>
+ <textarea id="content" name="content" required>{{.content}}</textarea>
+ </div>
+ <button class="ui green button">
+ {{.i18n.Tr "settings.add_key"}}
+ </button>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
</div>
<div class="ui small basic delete modal">
- <div class="ui icon header">
- <i class="trash icon"></i>
- {{.i18n.Tr "settings.ssh_key_deletion"}}
- </div>
- <div class="content">
- <p>{{.i18n.Tr "settings.ssh_key_deletion_desc"}}</p>
- </div>
- {{template "base/delete_modal_actions" .}}
+ <div class="ui icon header">
+ <i class="trash icon"></i>
+ {{.i18n.Tr "settings.ssh_key_deletion"}}
+ </div>
+ <div class="content">
+ <p>{{.i18n.Tr "settings.ssh_key_deletion_desc"}}</p>
+ </div>
+ {{template "base/delete_modal_actions" .}}
</div>
-{{template "base/footer" .}} \ No newline at end of file
+{{template "base/footer" .}}