2023-02-19 07:06:14 +03:00
import { hideElem , showElem } from '../utils/dom.js' ;
2022-01-29 00:00:11 +03:00
2023-09-26 08:56:20 +03:00
function onPronounsDropdownUpdate ( ) {
const pronounsCustom = document . getElementById ( 'pronouns-custom' ) ;
const pronounsInput = document . querySelector ( '#pronouns-dropdown input' ) ;
const isCustom = ! (
pronounsInput . value === 'he/him' ||
pronounsInput . value === 'she/her' ||
pronounsInput . value === 'they/them' ||
pronounsInput . value === 'it/its'
) ;
if ( isCustom ) {
pronounsCustom . value = pronounsInput . value ;
pronounsCustom . style . display = '' ;
} else {
pronounsCustom . style . display = 'none' ;
}
}
function onPronounsCustomUpdate ( ) {
const pronounsCustom = document . getElementById ( 'pronouns-custom' ) ;
const pronounsInput = document . querySelector ( '#pronouns-dropdown input' ) ;
pronounsInput . value = pronounsCustom . value ;
}
2021-10-16 20:28:04 +03:00
export function initUserSettings ( ) {
2024-03-25 21:37:55 +03:00
if ( ! document . querySelectorAll ( '.user.settings.profile' ) . length ) return ;
2024-02-16 18:52:50 +03:00
const usernameInput = document . getElementById ( 'username' ) ;
if ( ! usernameInput ) return ;
usernameInput . addEventListener ( 'input' , function ( ) {
const prompt = document . getElementById ( 'name-change-prompt' ) ;
const promptRedirect = document . getElementById ( 'name-change-redirect-prompt' ) ;
if ( this . value . toLowerCase ( ) !== this . getAttribute ( 'data-name' ) . toLowerCase ( ) ) {
showElem ( prompt ) ;
showElem ( promptRedirect ) ;
} else {
hideElem ( prompt ) ;
hideElem ( promptRedirect ) ;
}
} ) ;
2023-09-26 08:56:20 +03:00
const pronounsDropdown = document . getElementById ( 'pronouns-dropdown' ) ;
const pronounsCustom = document . getElementById ( 'pronouns-custom' ) ;
const pronounsInput = pronounsDropdown . querySelector ( 'input' ) ;
pronounsCustom . removeAttribute ( 'name' ) ;
pronounsDropdown . style . display = '' ;
onPronounsDropdownUpdate ( ) ;
pronounsInput . addEventListener ( 'change' , onPronounsDropdownUpdate ) ;
pronounsCustom . addEventListener ( 'input' , onPronounsCustomUpdate ) ;
2021-10-16 20:28:04 +03:00
}