2023-04-23 10:21:21 +00:00
{{ template "user/settings/layout_head" ( dict "ctxData" . "pageClass" "user settings account" ) }}
< div class = "user-setting-content" >
2018-05-15 10:07:32 +00:00
< h4 class = "ui top attached header" >
2024-02-22 17:33:22 +00:00
{{ ctx .Locale.Tr "settings.change_password" }}
2018-05-15 10:07:32 +00:00
< / h4 >
< div class = "ui attached segment" >
{{ if or ( .SignedUser.IsLocal ) ( .SignedUser.IsOAuth2 ) }}
2021-09-02 12:14:37 +00:00
< form class = "ui form ignore-dirty" action = " {{ AppSubUrl }} /user/settings/account" method = "post" >
2021-10-18 22:08:41 +00:00
{{ template "base/disable_form_autofill" }}
2018-05-15 10:07:32 +00:00
{{ .CsrfTokenHtml }}
{{ if .SignedUser.IsPasswordSet }}
< div class = "required field {{ if .Err_OldPassword }} error {{ end }} " >
2023-09-25 08:56:50 +00:00
< label for = "old_password" > {{ ctx .Locale.Tr "settings.old_password" }} </ label >
2020-10-09 07:32:30 +00:00
< input id = "old_password" name = "old_password" type = "password" autocomplete = "current-password" autofocus required >
2018-05-15 10:07:32 +00:00
< / div >
{{ end }}
< div class = "required field {{ if .Err_Password }} error {{ end }} " >
2023-09-25 08:56:50 +00:00
< label for = "password" > {{ ctx .Locale.Tr "settings.new_password" }} </ label >
2020-10-09 07:32:30 +00:00
< input id = "password" name = "password" type = "password" autocomplete = "new-password" required >
2018-05-15 10:07:32 +00:00
< / div >
< div class = "required field {{ if .Err_Password }} error {{ end }} " >
2023-09-25 08:56:50 +00:00
< label for = "retype" > {{ ctx .Locale.Tr "settings.retype_new_password" }} </ label >
2020-10-09 07:32:30 +00:00
< input id = "retype" name = "retype" type = "password" autocomplete = "new-password" required >
2018-05-15 10:07:32 +00:00
< / div >
< div class = "field" >
2024-02-22 17:33:22 +00:00
< button class = "ui primary button" > {{ ctx .Locale.Tr "settings.update_password" }} </ button >
2023-09-25 08:56:50 +00:00
< a href = " {{ AppSubUrl }} /user/forgot_password?email= {{ .Email }} " > {{ ctx .Locale.Tr "auth.forgot_password" }} </ a >
2018-05-15 10:07:32 +00:00
< / div >
< / form >
{{ else }}
< div class = "ui info message" >
2023-09-25 08:56:50 +00:00
< p class = "text left" > {{ ctx .Locale.Tr "settings.password_change_disabled" }} </ p >
2018-05-15 10:07:32 +00:00
< / div >
{{ end }}
< / div >
< h4 class = "ui top attached header" >
2023-09-25 08:56:50 +00:00
{{ ctx .Locale.Tr "settings.manage_emails" }}
2018-05-15 10:07:32 +00:00
< / h4 >
< div class = "ui attached segment" >
2023-07-03 20:38:06 +00:00
< div class = "ui list" >
2022-06-27 16:59:47 +00:00
{{ if $.EnableNotifyMail }}
2018-05-15 10:07:32 +00:00
< div class = "item" >
Migrate margin and padding helpers to tailwind (#30043)
This will conclude the refactor of 1:1 class replacements to tailwind,
except `gt-hidden`. Commands ran:
```bash
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-0#tw-$1$2-0#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-1#tw-$1$2-0.5#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-2#tw-$1$2-1#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-3#tw-$1$2-2#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-4#tw-$1$2-4#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-5#tw-$1$2-8#g' {web_src/js,templates,routers,services}/**/*
```
(cherry picked from commit 68ec9b48592fe88765bcc3a73093d43c98b315de)
Conflicts:
routers/web/repo/view.go
templates/base/head_navbar.tmpl
templates/repo/code/recently_pushed_new_branches.tmpl
templates/repo/diff/box.tmpl
templates/repo/diff/compare.tmpl
templates/repo/diff/conversation.tmpl
templates/repo/header.tmpl
templates/repo/issue/filter_list.tmpl
templates/repo/issue/view_content/conversation.tmpl
templates/repo/issue/view_content/sidebar.tmpl
templates/repo/settings/options.tmpl
templates/repo/view_file.tmpl
templates/shared/user/blocked_users.tmpl
templates/status/500.tmpl
web_src/js/components/DashboardRepoList.vue
resolved by prefering Forgejo version and applying the
commands to all files
2024-03-24 16:42:49 +00:00
< div class = "tw-mb-2" > {{ ctx .Locale.Tr "settings.email_desc" }} </ div >
2019-08-29 14:05:42 +00:00
< form action = " {{ AppSubUrl }} /user/settings/account/email" class = "ui form" method = "post" >
2023-07-03 20:38:06 +00:00
{{ $.CsrfTokenHtml }}
< input name = "_method" type = "hidden" value = "NOTIFICATION" >
2024-03-24 14:31:35 +00:00
< div class = "tw-flex tw-flex-wrap tw-gap-2" >
2023-07-03 20:38:06 +00:00
< div class = "ui selection dropdown" >
< input name = "preference" type = "hidden" value = " {{ .EmailNotificationsPreference }} " >
{{ svg "octicon-triangle-down" 14 "dropdown icon" }}
< div class = "text" > < / div >
< div class = "menu" >
2023-09-25 08:56:50 +00:00
< div data-value = "enabled" class = " {{ if eq .EmailNotificationsPreference "enabled" }} active selected {{ end }} item" > {{ ctx .Locale.Tr "settings.email_notifications.enable" }} </ div >
< div data-value = "andyourown" class = " {{ if eq .EmailNotificationsPreference "andyourown" }} active selected {{ end }} item" > {{ ctx .Locale.Tr "settings.email_notifications.andyourown" }} </ div >
< div data-value = "onmention" class = " {{ if eq .EmailNotificationsPreference "onmention" }} active selected {{ end }} item" > {{ ctx .Locale.Tr "settings.email_notifications.onmention" }} </ div >
< div data-value = "disabled" class = " {{ if eq .EmailNotificationsPreference "disabled" }} active selected {{ end }} item" > {{ ctx .Locale.Tr "settings.email_notifications.disable" }} </ div >
2019-08-29 14:05:42 +00:00
< / div >
< / div >
2023-09-25 08:56:50 +00:00
< button class = "ui primary button" > {{ ctx .Locale.Tr "settings.email_notifications.submit" }} </ button >
2019-08-29 14:05:42 +00:00
< / div >
< / form >
2018-05-15 10:07:32 +00:00
< / div >
2022-06-27 16:59:47 +00:00
{{ end }}
2018-05-15 10:07:32 +00:00
{{ range .Emails }}
< div class = "item" >
{{ if not .IsPrimary }}
< div class = "right floated content" >
2021-08-27 02:57:40 +00:00
< button class = "ui red tiny button delete-button" data-modal-id = "delete-email" data-url = " {{ AppSubUrl }} /user/settings/account/email/delete" data-id = " {{ .ID }} " >
2023-09-25 08:56:50 +00:00
{{ ctx .Locale.Tr "settings.delete_email" }}
2018-05-15 10:07:32 +00:00
< / button >
< / div >
2020-03-02 18:25:36 +00:00
{{ if .CanBePrimary }}
2018-05-15 10:07:32 +00:00
< div class = "right floated content" >
2018-05-19 01:02:04 +00:00
< form action = " {{ AppSubUrl }} /user/settings/account/email" method = "post" >
2018-05-15 10:07:32 +00:00
{{ $.CsrfTokenHtml }}
< input name = "_method" type = "hidden" value = "PRIMARY" >
< input name = "id" type = "hidden" value = " {{ .ID }} " >
2023-09-25 08:56:50 +00:00
< button class = "ui primary tiny button" > {{ ctx .Locale.Tr "settings.primary_email" }} </ button >
2018-05-15 10:07:32 +00:00
< / form >
< / div >
{{ end }}
{{ end }}
2020-03-02 18:25:36 +00:00
{{ 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" >
2021-07-13 20:59:27 +00:00
< input name = "id" type = "hidden" value = " {{ .ID }} " >
2020-03-02 18:25:36 +00:00
{{ if $.ActivationsPending }}
2023-09-25 08:56:50 +00:00
< button disabled class = "ui primary tiny button" > {{ ctx .Locale.Tr "settings.activations_pending" }} </ button >
2020-03-02 18:25:36 +00:00
{{ else }}
2023-09-25 08:56:50 +00:00
< button class = "ui primary tiny button" > {{ ctx .Locale.Tr "settings.activate_email" }} </ button >
2020-03-02 18:25:36 +00:00
{{ end }}
< / form >
< / div >
{{ end }}
Migrate margin and padding helpers to tailwind (#30043)
This will conclude the refactor of 1:1 class replacements to tailwind,
except `gt-hidden`. Commands ran:
```bash
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-0#tw-$1$2-0#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-1#tw-$1$2-0.5#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-2#tw-$1$2-1#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-3#tw-$1$2-2#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-4#tw-$1$2-4#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-5#tw-$1$2-8#g' {web_src/js,templates,routers,services}/**/*
```
(cherry picked from commit 68ec9b48592fe88765bcc3a73093d43c98b315de)
Conflicts:
routers/web/repo/view.go
templates/base/head_navbar.tmpl
templates/repo/code/recently_pushed_new_branches.tmpl
templates/repo/diff/box.tmpl
templates/repo/diff/compare.tmpl
templates/repo/diff/conversation.tmpl
templates/repo/header.tmpl
templates/repo/issue/filter_list.tmpl
templates/repo/issue/view_content/conversation.tmpl
templates/repo/issue/view_content/sidebar.tmpl
templates/repo/settings/options.tmpl
templates/repo/view_file.tmpl
templates/shared/user/blocked_users.tmpl
templates/status/500.tmpl
web_src/js/components/DashboardRepoList.vue
resolved by prefering Forgejo version and applying the
commands to all files
2024-03-24 16:42:49 +00:00
< div class = "content tw-py-2" >
2018-05-15 10:07:32 +00:00
< strong > {{ .Email }} </ strong >
2020-03-02 18:25:36 +00:00
{{ if .IsPrimary }}
2023-09-25 08:56:50 +00:00
< div class = "ui primary label" > {{ ctx .Locale.Tr "settings.primary" }} </ div >
2020-03-02 18:25:36 +00:00
{{ end }}
{{ if .IsActivated }}
2023-09-25 08:56:50 +00:00
< div class = "ui green label" > {{ ctx .Locale.Tr "settings.activated" }} </ div >
2020-03-02 18:25:36 +00:00
{{ else }}
2023-09-25 08:56:50 +00:00
< div class = "ui label" > {{ ctx .Locale.Tr "settings.requires_activation" }} </ div >
2020-03-02 18:25:36 +00:00
{{ end }}
2018-05-15 10:07:32 +00:00
< / div >
< / div >
{{ end }}
< / div >
< / div >
< div class = "ui attached bottom segment" >
2018-05-19 01:02:04 +00:00
< form class = "ui form" action = " {{ AppSubUrl }} /user/settings/account/email" method = "post" >
2018-05-15 10:07:32 +00:00
{{ .CsrfTokenHtml }}
< div class = "required field {{ if .Err_Email }} error {{ end }} " >
2023-09-25 08:56:50 +00:00
< label for = "email" > {{ ctx .Locale.Tr "settings.add_new_email" }} </ label >
2020-03-02 18:25:36 +00:00
< input id = "email" name = "email" type = "email" required {{ if not .CanAddEmails }} disabled {{ end }} >
2018-05-15 10:07:32 +00:00
< / div >
2023-09-18 22:05:31 +00:00
< button class = "ui primary button" {{ if not .CanAddEmails }} disabled {{ end }} >
2023-09-25 08:56:50 +00:00
{{ ctx .Locale.Tr "settings.add_email" }}
2018-05-15 10:07:32 +00:00
< / button >
< / form >
2023-06-26 04:52:49 +00:00
{{/* if ActivationsPending is false, then CanAddEmails must be true, so if CanAddEmails is false, ActivationsPending must be true */}}
{{ if not .CanAddEmails }}
2023-09-25 08:56:50 +00:00
< div class = "ui warning message" > {{ ctx .Locale.Tr "settings.can_not_add_email_activations_pending" }} </ div >
2023-06-26 04:52:49 +00:00
{{ end }}
2018-05-15 10:07:32 +00:00
< / div >
2024-02-23 07:24:04 +00:00
{{ if not ( $.UserDisabledFeatures.Contains "deletion" ) }}
2020-10-04 20:54:22 +00:00
< h4 class = "ui top attached error header" >
2023-09-25 08:56:50 +00:00
{{ ctx .Locale.Tr "settings.delete_account" }}
2018-05-15 10:07:32 +00:00
< / h4 >
2020-10-04 20:54:22 +00:00
< div class = "ui attached error segment" >
2018-05-15 10:07:32 +00:00
< div class = "ui red message" >
2024-03-10 08:51:19 +00:00
< p class = "text left" > {{ svg "octicon-alert" }} {{ ctx .Locale.Tr "settings.delete_prompt" }} </ p >
2022-08-31 15:58:54 +00:00
{{ if .UserDeleteWithComments }}
2024-03-23 18:45:11 +00:00
< p class = "text left tw-font-semibold" > {{ ctx .Locale.Tr "settings.delete_with_all_comments" .UserDeleteWithCommentsMaxTime }} </ p >
2022-08-31 15:58:54 +00:00
{{ end }}
2018-05-15 10:07:32 +00:00
< / div >
2018-05-19 01:02:04 +00:00
< form class = "ui form ignore-dirty" id = "delete-form" action = " {{ AppSubUrl }} /user/settings/account/delete" method = "post" >
2021-10-18 22:08:41 +00:00
{{ template "base/disable_form_autofill" }}
2018-05-15 10:07:32 +00:00
{{ .CsrfTokenHtml }}
< div class = "required field {{ if .Err_Password }} error {{ end }} " >
2023-09-25 08:56:50 +00:00
< label for = "password-confirmation" > {{ ctx .Locale.Tr "password" }} </ label >
2020-10-09 07:32:30 +00:00
< input id = "password-confirmation" name = "password" type = "password" autocomplete = "off" required >
2018-05-15 10:07:32 +00:00
< / div >
< div class = "field" >
2023-03-14 03:34:09 +00:00
< button class = "ui red button delete-button" data-modal-id = "delete-account" data-type = "form" data-form = "#delete-form" >
2023-09-25 08:56:50 +00:00
{{ ctx .Locale.Tr "settings.confirm_delete_account" }}
2023-03-14 03:34:09 +00:00
< / button >
2018-05-15 10:07:32 +00:00
< / div >
< / form >
2024-02-23 07:24:04 +00:00
< div class = "ui g-modal-confirm delete modal" id = "delete-account" >
< div class = "header" >
{{ svg "octicon-trash" }}
{{ ctx .Locale.Tr "settings.delete_account_title" }}
< / div >
< div class = "content" >
< p > {{ ctx .Locale.Tr "settings.delete_account_desc" }} </ p >
< / div >
{{ template "base/modal_actions_confirm" . }}
< / div >
2018-05-15 10:07:32 +00:00
< / div >
2024-02-23 07:24:04 +00:00
{{ end }}
2018-05-15 10:07:32 +00:00
< / div >
2023-04-24 11:08:59 +00:00
< div class = "ui g-modal-confirm delete modal" id = "delete-email" >
2023-04-23 09:24:19 +00:00
< div class = "header" >
2021-03-22 04:04:19 +00:00
{{ svg "octicon-trash" }}
2023-09-25 08:56:50 +00:00
{{ ctx .Locale.Tr "settings.email_deletion" }}
2018-05-15 10:07:32 +00:00
< / div >
< div class = "content" >
2023-09-25 08:56:50 +00:00
< p > {{ ctx .Locale.Tr "settings.email_deletion_desc" }} </ p >
2018-05-15 10:07:32 +00:00
< / div >
2023-04-23 09:24:19 +00:00
{{ template "base/modal_actions_confirm" . }}
2018-05-15 10:07:32 +00:00
< / div >
2023-04-23 10:21:21 +00:00
{{ template "user/settings/layout_footer" . }}