mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-10 20:59:31 +01:00
Add "Unspecified" option to pronouns dropdown
This commit is contained in:
parent
994c6d3cde
commit
563e8b49e8
4 changed files with 15 additions and 5 deletions
|
@ -703,6 +703,7 @@ website = Website
|
||||||
location = Location
|
location = Location
|
||||||
pronouns = Pronouns
|
pronouns = Pronouns
|
||||||
pronouns_custom = Custom
|
pronouns_custom = Custom
|
||||||
|
pronouns_unspecified = Unspecified
|
||||||
update_theme = Change theme
|
update_theme = Change theme
|
||||||
update_profile = Update profile
|
update_profile = Update profile
|
||||||
update_language = Change language
|
update_language = Change language
|
||||||
|
|
|
@ -46,7 +46,7 @@ func Profile(ctx *context.Context) {
|
||||||
ctx.Data["PageIsSettingsProfile"] = true
|
ctx.Data["PageIsSettingsProfile"] = true
|
||||||
ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
|
ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
|
||||||
ctx.Data["DisableGravatar"] = setting.Config().Picture.DisableGravatar.Value(ctx)
|
ctx.Data["DisableGravatar"] = setting.Config().Picture.DisableGravatar.Value(ctx)
|
||||||
ctx.Data["PronounsAreCustom"] = ctx.Doer.Pronouns != "he/him" && ctx.Doer.Pronouns != "she/her" && ctx.Doer.Pronouns != "they/them" && ctx.Doer.Pronouns != "it/its"
|
ctx.Data["PronounsAreCustom"] = ctx.Doer.Pronouns != "" && ctx.Doer.Pronouns != "he/him" && ctx.Doer.Pronouns != "she/her" && ctx.Doer.Pronouns != "they/them" && ctx.Doer.Pronouns != "it/its"
|
||||||
|
|
||||||
ctx.HTML(http.StatusOK, tplSettingsProfile)
|
ctx.HTML(http.StatusOK, tplSettingsProfile)
|
||||||
}
|
}
|
||||||
|
@ -57,7 +57,7 @@ func ProfilePost(ctx *context.Context) {
|
||||||
ctx.Data["PageIsSettingsProfile"] = true
|
ctx.Data["PageIsSettingsProfile"] = true
|
||||||
ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
|
ctx.Data["AllowedUserVisibilityModes"] = setting.Service.AllowedUserVisibilityModesSlice.ToVisibleTypeSlice()
|
||||||
ctx.Data["DisableGravatar"] = setting.Config().Picture.DisableGravatar.Value(ctx)
|
ctx.Data["DisableGravatar"] = setting.Config().Picture.DisableGravatar.Value(ctx)
|
||||||
ctx.Data["PronounsAreCustom"] = ctx.Doer.Pronouns != "he/him" && ctx.Doer.Pronouns != "she/her" && ctx.Doer.Pronouns != "they/them" && ctx.Doer.Pronouns != "it/its"
|
ctx.Data["PronounsAreCustom"] = ctx.Doer.Pronouns != "" && ctx.Doer.Pronouns != "he/him" && ctx.Doer.Pronouns != "she/her" && ctx.Doer.Pronouns != "they/them" && ctx.Doer.Pronouns != "it/its"
|
||||||
|
|
||||||
if ctx.HasError() {
|
if ctx.HasError() {
|
||||||
ctx.HTML(http.StatusOK, tplSettingsProfile)
|
ctx.HTML(http.StatusOK, tplSettingsProfile)
|
||||||
|
|
|
@ -44,12 +44,15 @@
|
||||||
<div class="text">
|
<div class="text">
|
||||||
{{if .PronounsAreCustom}}
|
{{if .PronounsAreCustom}}
|
||||||
{{.locale.Tr "settings.pronouns_custom"}}
|
{{.locale.Tr "settings.pronouns_custom"}}
|
||||||
|
{{else if eq "" .SignedUser.Pronouns}}
|
||||||
|
{{.locale.Tr "settings.pronouns_unspecified"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{.SignedUser.Pronouns}}
|
{{.SignedUser.Pronouns}}
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
|
<div class="item{{if eq "" .SignedUser.Pronouns}} active selected{{end}}" data-value=""><i>{{.locale.Tr "settings.pronouns_unspecified"}}</i></div>
|
||||||
<div class="item{{if eq "he/him" .SignedUser.Pronouns}} active selected{{end}}" data-value="he/him">he/him</div>
|
<div class="item{{if eq "he/him" .SignedUser.Pronouns}} active selected{{end}}" data-value="he/him">he/him</div>
|
||||||
<div class="item{{if eq "she/her" .SignedUser.Pronouns}} active selected{{end}}" data-value="she/her">she/her</div>
|
<div class="item{{if eq "she/her" .SignedUser.Pronouns}} active selected{{end}}" data-value="she/her">she/her</div>
|
||||||
<div class="item{{if eq "they/them" .SignedUser.Pronouns}} active selected{{end}}" data-value="they/them">they/them</div>
|
<div class="item{{if eq "they/them" .SignedUser.Pronouns}} active selected{{end}}" data-value="they/them">they/them</div>
|
||||||
|
@ -57,7 +60,7 @@
|
||||||
{{if .PronounsAreCustom}}
|
{{if .PronounsAreCustom}}
|
||||||
<div class="item active selected" data-value="{{.SignedUser.Pronouns}}">{{.locale.Tr "settings.pronouns_custom"}}</div>
|
<div class="item active selected" data-value="{{.SignedUser.Pronouns}}">{{.locale.Tr "settings.pronouns_custom"}}</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="item" data-value="">{{.locale.Tr "settings.pronouns_custom"}}</div>
|
<div class="item" data-value="!">{{.locale.Tr "settings.pronouns_custom"}}</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,15 +2,21 @@ import {hideElem, showElem} from '../utils/dom.js';
|
||||||
|
|
||||||
function onPronounsDropdownUpdate() {
|
function onPronounsDropdownUpdate() {
|
||||||
const pronounsCustom = document.getElementById('pronouns-custom');
|
const pronounsCustom = document.getElementById('pronouns-custom');
|
||||||
const pronounsInput = document.querySelector('#pronouns-dropdown input');
|
const pronounsDropdown = document.getElementById('pronouns-dropdown');
|
||||||
|
const pronounsInput = pronounsDropdown.querySelector('input');
|
||||||
const isCustom = !(
|
const isCustom = !(
|
||||||
|
pronounsInput.value === '' ||
|
||||||
pronounsInput.value === 'he/him' ||
|
pronounsInput.value === 'he/him' ||
|
||||||
pronounsInput.value === 'she/her' ||
|
pronounsInput.value === 'she/her' ||
|
||||||
pronounsInput.value === 'they/them' ||
|
pronounsInput.value === 'they/them' ||
|
||||||
pronounsInput.value === 'it/its'
|
pronounsInput.value === 'it/its'
|
||||||
);
|
);
|
||||||
if (isCustom) {
|
if (isCustom) {
|
||||||
pronounsCustom.value = pronounsInput.value;
|
if (pronounsInput.value === '!') {
|
||||||
|
pronounsCustom.value = '';
|
||||||
|
} else {
|
||||||
|
pronounsCustom.value = pronounsInput.value;
|
||||||
|
}
|
||||||
pronounsCustom.style.display = '';
|
pronounsCustom.style.display = '';
|
||||||
} else {
|
} else {
|
||||||
pronounsCustom.style.display = 'none';
|
pronounsCustom.style.display = 'none';
|
||||||
|
|
Loading…
Reference in a new issue