{{template "base/head" .}} <div class="page-content user settings account"> {{template "user/settings/navbar" .}} <div class="ui container"> {{template "base/alert" .}} <h4 class="ui top attached header"> {{.i18n.Tr "settings.password"}} </h4> <div class="ui attached segment"> {{if or (.SignedUser.IsLocal) (.SignedUser.IsOAuth2)}} <form class="ui form" action="{{AppSubUrl}}/user/settings/account" method="post"> {{.CsrfTokenHtml}} {{if .SignedUser.IsPasswordSet}} <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" autocomplete="current-password" autofocus required> </div> {{end}} <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" autocomplete="new-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" autocomplete="new-password" required> </div> <div class="field"> <button class="ui green button">{{$.i18n.Tr "settings.change_password"}}</button> <a href="{{AppSubUrl}}/user/forgot_password?email={{.Email}}">{{.i18n.Tr "auth.forgot_password"}}</a> </div> </form> {{else}} <div class="ui info message"> <p class="text left">{{$.i18n.Tr "settings.password_change_disabled"}}</p> </div> {{end}} </div> <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"> <form action="{{AppSubUrl}}/user/settings/account/email" class="ui form" method="post"> {{.i18n.Tr "settings.email_desc"}} <div class="right floated content"> <div class="field"> <button class="ui green button">{{$.i18n.Tr "settings.email_notifications.submit"}}</button> </div> </div> <div class="right floated content"> {{$.CsrfTokenHtml}} <input name="_method" type="hidden" value="NOTIFICATION"> <div class="field"> <div class="ui selection dropdown" tabindex="0"> <input name="preference" type="hidden" value="{{.EmailNotificationsPreference}}"> {{svg "octicon-triangle-down" 14 "dropdown icon"}} <div class="text">{{$.i18n.Tr "settings.email_notifications"}}</div> <div class="menu"> <div data-value="enabled" class="{{if eq .EmailNotificationsPreference "enabled"}}active selected {{end}}item">{{$.i18n.Tr "settings.email_notifications.enable"}}</div> <div data-value="onmention" class="{{if eq .EmailNotificationsPreference "onmention"}}active selected {{end}}item">{{$.i18n.Tr "settings.email_notifications.onmention"}}</div> <div data-value="disabled" class="{{if eq .EmailNotificationsPreference "disabled"}}active selected {{end}}item">{{$.i18n.Tr "settings.email_notifications.disable"}}</div> </div> </div> </div> </div> </form> </div> {{range .Emails}} <div class="item"> {{if not .IsPrimary}} <div class="right floated content"> <button class="ui red tiny button delete-button" id="delete-email" data-url="{{AppSubUrl}}/user/settings/account/email/delete" data-id="{{.ID}}"> {{$.i18n.Tr "settings.delete_email"}} </button> </div> {{if .CanBePrimary}} <div class="right floated content"> <form action="{{AppSubUrl}}/user/settings/account/email" method="post"> {{$.CsrfTokenHtml}} <input name="_method" type="hidden" value="PRIMARY"> <input name="id" type="hidden" value="{{.ID}}"> <button class="ui blue tiny button">{{$.i18n.Tr "settings.primary_email"}}</button> </form> </div> {{end}} {{end}} {{if not .IsActivated}} <div class="right floated content"> <form action="{{AppSubUrl}}/user/settings/account/email" method="post"> {{$.CsrfTokenHtml}} <input name="_method" type="hidden" value="SENDACTIVATION"> <input name="id" type="hidden" value="{{if .IsPrimary}}PRIMARY{{else}}{{.ID}}{{end}}"> {{if $.ActivationsPending}} <button disabled class="ui blue tiny button">{{$.i18n.Tr "settings.activations_pending"}}</button> {{else}} <button class="ui blue tiny button">{{$.i18n.Tr "settings.activate_email"}}</button> {{end}} </form> </div> {{end}} <div class="content"> <strong>{{.Email}}</strong> {{if .IsPrimary}} <div class="ui blue label">{{$.i18n.Tr "settings.primary"}}</div> {{end}} {{if .IsActivated}} <div class="ui green label">{{$.i18n.Tr "settings.activated"}}</div> {{else}} <div class="ui label">{{$.i18n.Tr "settings.requires_activation"}}</div> {{end}} </div> </div> {{end}} </div> </div> <div class="ui attached bottom segment"> <form class="ui form" action="{{AppSubUrl}}/user/settings/account/email" 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" required {{if not .CanAddEmails}}disabled{{end}}> </div> <button class="ui green button" {{if not .CanAddEmails}}disabled{{end}}> {{.i18n.Tr "settings.add_email"}} </button> </form> </div> <h4 class="ui top attached header"> {{.i18n.Tr "settings.manage_themes"}} </h4> <div class="ui attached segment"> <div class="ui email list"> <div class="item"> {{.i18n.Tr "settings.theme_desc"}} </div> <form class="ui form" action="{{.Link}}/theme" method="post"> {{.CsrfTokenHtml}} <div class="field"> <label for="ui">{{.i18n.Tr "settings.ui"}}</label> <div class="ui selection dropdown" id="ui"> <input name="theme" type="hidden" value="{{.SignedUser.Theme}}"> {{svg "octicon-triangle-down" 14 "dropdown icon"}} <div class="text"> {{range $i,$a := .AllThemes}} {{if eq $.SignedUser.Theme $a}}{{$a}}{{end}} {{end}} </div> <div class="menu"> {{range $i,$a := .AllThemes}} <div class="item{{if eq $.SignedUser.Theme $a}} active selected{{end}}" data-value="{{$a}}"> {{$a}} </div> {{end}} </div> </div> </div> <div class="field"> <button class="ui green button">{{$.i18n.Tr "settings.update_theme"}}</button> </div> </form> </div> </div> <h4 class="ui top attached error header"> {{.i18n.Tr "settings.delete_account"}} </h4> <div class="ui attached error segment"> <div class="ui red message"> <p class="text left">{{svg "octicon-alert"}} {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p> {{ if .UserDeleteWithComments }} <p class="text left" style="font-weight: bold;">{{.i18n.Tr "settings.delete_with_all_comments" .UserDeleteWithCommentsMaxTime | Str2html}}</p> {{ end }} </div> <form class="ui form ignore-dirty" id="delete-form" action="{{AppSubUrl}}/user/settings/account/delete" method="post"> {{.CsrfTokenHtml}} <input class="fake" type="password"> <div class="required field {{if .Err_Password}}error{{end}}"> <label for="password-confirmation">{{.i18n.Tr "password"}}</label> <input id="password-confirmation" name="password" type="password" autocomplete="off" required> </div> <div class="field"> <div class="ui red button delete-button" id="delete-account" data-type="form" data-form="#delete-form"> {{.i18n.Tr "settings.confirm_delete_account"}} </div> <a href="{{AppSubUrl}}/user/forgot_password?email={{.Email}}">{{.i18n.Tr "auth.forgot_password"}}</a> </div> </form> </div> </div> </div> <div class="ui small basic delete modal" id="delete-email"> <div class="ui icon header"> {{svg "octicon-trashcan"}} {{.i18n.Tr "settings.email_deletion"}} </div> <div class="content"> <p>{{.i18n.Tr "settings.email_deletion_desc"}}</p> </div> {{template "base/delete_modal_actions" .}} </div> <div class="ui small basic delete modal" id="delete-account"> <div class="ui icon header"> {{svg "octicon-trashcan"}} {{.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" .}}