2023-04-23 12:21:21 +02:00
{{ template "user/settings/layout_head" ( dict "ctxData" . "pageClass" "user settings profile" ) }}
< div class = "user-setting-content" >
2017-03-15 23:39:38 +01:00
< h4 class = "ui top attached header" >
2022-06-27 22:58:46 +02:00
{{ .locale.Tr "settings.public_profile" }}
2017-03-15 23:39:38 +01:00
< / h4 >
< div class = "ui attached segment" >
2022-06-27 22:58:46 +02:00
< p > {{ .locale.Tr "settings.profile_desc" }} </ p >
2017-03-15 23:39:38 +01:00
< form class = "ui form" action = " {{ .Link }} " method = "post" >
{{ .CsrfTokenHtml }}
< div class = "required field {{ if .Err_Name }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< label for = "username" > {{ .locale.Tr "username" }}
2023-02-19 05:06:14 +01:00
< span class = "text red gt-hidden" id = "name-change-prompt" > {{ .locale.Tr "settings.change_username_prompt" }} </ span >
< span class = "text red gt-hidden" id = "name-change-redirect-prompt" > {{ .locale.Tr "settings.change_username_redirect_prompt" }} </ span >
2021-01-24 16:23:05 +01:00
< / label >
2023-05-26 11:42:54 +02:00
< input id = "username" name = "name" value = " {{ .SignedUser.Name }} " data-name = " {{ .SignedUser.Name }} " autofocus required {{ if or ( not .SignedUser.IsLocal ) .IsReverseProxy }} disabled {{ end }} maxlength = "40" >
2021-05-15 20:33:13 +02:00
{{ if or ( not .SignedUser.IsLocal ) .IsReverseProxy }}
2022-06-27 22:58:46 +02:00
< p class = "help text blue" > {{ $.locale.Tr "settings.password_username_disabled" }} </ p >
2017-03-15 23:39:38 +01:00
{{ end }}
< / div >
< div class = "field {{ if .Err_FullName }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< label for = "full_name" > {{ .locale.Tr "settings.full_name" }} </ label >
2023-05-26 11:42:54 +02:00
< input id = "full_name" name = "full_name" value = " {{ .SignedUser.FullName }} " maxlength = "100" >
2017-03-15 23:39:38 +01:00
< / div >
2020-10-28 23:33:14 +01:00
< div class = "field {{ if .Err_Email }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< label for = "email" > {{ .locale.Tr "email" }} </ label >
2020-10-28 23:33:14 +01:00
< p > {{ .SignedUser.Email }} </ p >
2017-03-15 23:39:38 +01:00
< / div >
2019-03-19 03:28:10 +01:00
< div class = "field {{ if .Err_Description }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< label for = "description" > {{ $.locale.Tr "user.user_bio" }} </ label >
2023-05-26 11:42:54 +02:00
< textarea id = "description" name = "description" rows = "2" placeholder = " {{ .locale.Tr "settings.biography_placeholder" }} " maxlength = "255" > {{ .SignedUser.Description }} </ textarea >
2019-03-19 03:28:10 +01:00
< / div >
2017-03-15 23:39:38 +01:00
< div class = "field {{ if .Err_Website }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< label for = "website" > {{ .locale.Tr "settings.website" }} </ label >
2023-05-26 11:42:54 +02:00
< input id = "website" name = "website" type = "url" value = " {{ .SignedUser.Website }} " maxlength = "255" >
2017-03-15 23:39:38 +01:00
< / div >
< div class = "field" >
2022-06-27 22:58:46 +02:00
< label for = "location" > {{ .locale.Tr "settings.location" }} </ label >
2023-07-31 10:44:45 +02:00
< input id = "location" name = "location" placeholder = " {{ .locale.Tr "settings.location_placeholder" }} " value = " {{ .SignedUser.Location }} " maxlength = "50" >
2017-03-15 23:39:38 +01:00
< / div >
2015-09-06 22:31:22 +02:00
2023-06-29 14:24:22 +02:00
< div class = "divider" > < / div >
2021-06-26 21:53:14 +02:00
<!-- private block -->
2023-06-22 10:58:16 +02:00
< div class = "field" id = "privacy-user-settings" >
2022-06-27 22:58:46 +02:00
< label for = "security-private" >< strong > {{ .locale.Tr "settings.privacy" }} </ strong ></ label >
2021-06-26 21:53:14 +02:00
< / div >
< div class = "inline field {{ if .Err_Visibility }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< span class = "inline required field" >< label for = "visibility" > {{ .locale.Tr "settings.visibility" }} </ label ></ span >
2021-06-26 21:53:14 +02:00
< div class = "ui selection type dropdown" >
2021-06-27 20:47:35 +02:00
{{ if .SignedUser.Visibility.IsPublic }} < input type = "hidden" id = "visibility" name = "visibility" value = "0" > {{ end }}
{{ if .SignedUser.Visibility.IsLimited }} < input type = "hidden" id = "visibility" name = "visibility" value = "1" > {{ end }}
{{ if .SignedUser.Visibility.IsPrivate }} < input type = "hidden" id = "visibility" name = "visibility" value = "2" > {{ end }}
2021-06-26 21:53:14 +02:00
< div class = "text" >
2022-06-27 22:58:46 +02:00
{{ if .SignedUser.Visibility.IsPublic }}{{ .locale.Tr "settings.visibility.public" }}{{ end }}
{{ if .SignedUser.Visibility.IsLimited }}{{ .locale.Tr "settings.visibility.limited" }}{{ end }}
{{ if .SignedUser.Visibility.IsPrivate }}{{ .locale.Tr "settings.visibility.private" }}{{ end }}
2021-06-26 21:53:14 +02:00
< / div >
{{ svg "octicon-triangle-down" 14 "dropdown icon" }}
< div class = "menu" >
2021-06-27 20:47:35 +02:00
{{ range $mode := .AllowedUserVisibilityModes }}
{{ if $mode .IsPublic }}
2023-03-24 11:35:38 +01:00
< div class = "item" data-tooltip-content = " {{ $.locale.Tr "settings.visibility.public_tooltip" }} " data-value = "0" > {{ $.locale.Tr "settings.visibility.public" }} </ div >
2021-06-27 20:47:35 +02:00
{{ else if $mode .IsLimited }}
2023-03-24 11:35:38 +01:00
< div class = "item" data-tooltip-content = " {{ $.locale.Tr "settings.visibility.limited_tooltip" }} " data-value = "1" > {{ $.locale.Tr "settings.visibility.limited" }} </ div >
2021-06-27 20:47:35 +02:00
{{ else if $mode .IsPrivate }}
2023-03-24 11:35:38 +01:00
< div class = "item" data-tooltip-content = " {{ $.locale.Tr "settings.visibility.private_tooltip" }} " data-value = "2" > {{ $.locale.Tr "settings.visibility.private" }} </ div >
2021-06-27 20:47:35 +02:00
{{ end }}
{{ end }}
2021-06-26 21:53:14 +02:00
< / div >
< / div >
< / div >
2018-05-05 02:28:30 +02:00
2023-06-22 10:58:16 +02:00
< div class = "field" >
< div class = "ui checkbox" >
< label data-tooltip-content = " {{ .locale.Tr "settings.keep_email_private_popup" }} " >< strong > {{ .locale.Tr "settings.keep_email_private" }} </ strong ></ label >
< input name = "keep_email_private" type = "checkbox" {{ if .SignedUser.KeepEmailPrivate }} checked {{ end }} >
< / div >
< / div >
2020-06-05 22:01:53 +02:00
< div class = "field" >
< div class = "ui checkbox" id = "keep-activity-private" >
2023-03-24 11:35:38 +01:00
< label data-tooltip-content = " {{ .locale.Tr "settings.keep_activity_private_popup" }} " >< strong > {{ .locale.Tr "settings.keep_activity_private" }} </ strong ></ label >
2020-06-05 22:01:53 +02:00
< input name = "keep_activity_private" type = "checkbox" {{ if .SignedUser.KeepActivityPrivate }} checked {{ end }} >
< / div >
< / div >
2021-06-26 21:53:14 +02:00
2023-06-29 14:24:22 +02:00
< div class = "divider" > < / div >
2021-06-26 21:53:14 +02:00
2017-03-15 23:39:38 +01:00
< div class = "field" >
2022-06-27 22:58:46 +02:00
< button class = "ui green button" > {{ $.locale.Tr "settings.update_profile" }} </ button >
2015-12-07 23:30:52 +01:00
< / div >
2017-03-15 23:39:38 +01:00
< / form >
2018-05-15 12:07:32 +02:00
< / div >
< h4 class = "ui top attached header" >
2022-06-27 22:58:46 +02:00
{{ .locale.Tr "settings.avatar" }}
2018-05-15 12:07:32 +02:00
< / h4 >
< div class = "ui attached segment" >
< form class = "ui form" action = " {{ .Link }} /avatar" method = "post" enctype = "multipart/form-data" >
{{ .CsrfTokenHtml }}
2023-08-08 10:29:14 +02:00
{{ if not .DisableGravatar }}
2018-05-15 12:07:32 +02:00
< div class = "inline field" >
< div class = "ui radio checkbox" >
< input name = "source" value = "lookup" type = "radio" {{ if not .SignedUser.UseCustomAvatar }} checked {{ end }} >
2022-06-27 22:58:46 +02:00
< label > {{ .locale.Tr "settings.lookup_avatar_by_mail" }} </ label >
2018-05-15 12:07:32 +02:00
< / div >
< / div >
2023-05-31 00:28:25 +02:00
< div class = "field gt-pl-4 {{ if .Err_Gravatar }} error {{ end }} " >
2022-06-27 22:58:46 +02:00
< label for = "gravatar" > Avatar {{ .locale.Tr "email" }} </ label >
2023-03-27 18:05:51 +02:00
< input id = "gravatar" name = "gravatar" value = " {{ .SignedUser.AvatarEmail }} " >
2018-05-15 12:07:32 +02:00
< / div >
{{ end }}
2017-03-15 23:39:38 +01:00
2018-05-15 12:07:32 +02:00
< div class = "inline field" >
< div class = "ui radio checkbox" >
< input name = "source" value = "local" type = "radio" {{ if .SignedUser.UseCustomAvatar }} checked {{ end }} >
2022-06-27 22:58:46 +02:00
< label > {{ .locale.Tr "settings.enable_custom_avatar" }} </ label >
2018-05-15 12:07:32 +02:00
< / div >
< / div >
2023-05-31 00:28:25 +02:00
< div class = "inline field gt-pl-4" >
2022-06-27 22:58:46 +02:00
< label for = "avatar" > {{ .locale.Tr "settings.choose_new_avatar" }} </ label >
2023-04-21 23:58:59 +02:00
< input name = "avatar" type = "file" accept = "image/png,image/jpeg,image/gif,image/webp" >
2018-05-15 12:07:32 +02:00
< / div >
< div class = "field" >
2022-06-27 22:58:46 +02:00
< button class = "ui green button" > {{ $.locale.Tr "settings.update_avatar" }} </ button >
2023-06-13 14:10:10 +02:00
< button class = "ui red button link-action" data-url = " {{ .Link }} /avatar/delete" data-redirect = " {{ .Link }} " > {{ $.locale.Tr "settings.delete_current_avatar" }} </ button >
2018-05-15 12:07:32 +02:00
< / div >
< / form >
2015-12-07 23:30:52 +01:00
< / div >
< / div >
2023-04-23 12:21:21 +02:00
{{ template "user/settings/layout_footer" . }}