Skip to content
This repository was archived by the owner on Nov 23, 2024. It is now read-only.

Commit 83d61a4

Browse files
author
Oscar Villegas
committed
Write User Language Preference to the table once a selection is made in the menu
1 parent e0f7331 commit 83d61a4

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

app/javascript/components/UserProfileMenu/index.jsx

+4-7
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { Avatar } from '@zendeskgarden/react-avatars'
1414
import { MD } from '@zendeskgarden/react-typography'
1515

1616
import UpdateUserOfficeMutation from '/mutations/UpdateUserOfficeMutation.gql'
17+
import UpdateUserLanguagePreferenceMutation from '/mutations/UpdateUserLanguagePreferenceMutation.gql'
1718
import { UserContext, FilterContext } from '/context'
1819
import GeneralSettingsMenu from './GeneralSettingsMenu'
1920
import DefaultOfficeMenu from './DefaultOfficeMenu'
@@ -35,12 +36,6 @@ const UserName = styled(MD)`
3536
`
3637

3738
const UserProfileMenu = ({ offices, location, router, togglePopover, languages }) => {
38-
// 1: {id: "2", languageCode: "es", languageName: "Español"}
39-
// const oldLanguages = [
40-
// { label: 'English', value: 'en' },
41-
// { label: '日本語', value: 'ja' },
42-
// { label: 'Español', value: 'es' },
43-
// ]
4439

4540
const { i18n, t } = useTranslation()
4641
const { currentUser, setOffice } = useContext(UserContext)
@@ -50,6 +45,7 @@ const UserProfileMenu = ({ offices, location, router, togglePopover, languages }
5045
// language: reach out to local storage first
5146
const [ selectedItem, setSelectedItem ] = useState({ office: currentUser.office, language: i18n.language })
5247
const [ updateDefaultOffice ] = useMutation(UpdateUserOfficeMutation)
48+
const [ updateUserLanguagePreference ] = useMutation(UpdateUserLanguagePreferenceMutation)
5349

5450
if (R.isNil(currentUser) || R.isEmpty(currentUser)) return null
5551

@@ -64,7 +60,6 @@ const UserProfileMenu = ({ offices, location, router, togglePopover, languages }
6460
.then(_ => setOfficeValue(office.id))
6561
.then(_ => togglePopover('user'))
6662

67-
6863
const handleStateChange = (changes, stateAndHelpers) => {
6964
if (R.hasPath(['isOpen'])(changes)) {
7065
setIsOpen(
@@ -102,6 +97,8 @@ const UserProfileMenu = ({ offices, location, router, togglePopover, languages }
10297
i18n.changeLanguage(selectedItem.language.value, () => {
10398
// TODO: Handle callback (error/success)
10499
})
100+
const selectedLanguage = R.find(R.propEq("languageCode", selectedItem.language.value), languages)
101+
updateUserLanguagePreference({ variables: { id: selectedLanguage.id } })
105102
setSelectedItem(selectedItem)
106103
}
107104
// The following are for accessibility support for Link navigation
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mutation updateUserLanguagePreference($id:ID!) {
2+
updateUserLanguagePreference(id: $id) {
3+
id
4+
}
5+
}

0 commit comments

Comments
 (0)