| 
					
				 | 
			
			
				@@ -22,27 +22,41 @@ export default function LanguagePage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { notify } = useContext(ToastContext) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const [editing, setEditing] = useState(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { t } = useTranslation() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const handleSelect = async (type: string, item: Item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let url = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let bodyKey = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (type === 'language') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      url = '/account/interface-language' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bodyKey = 'interface_language' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleSelectLanguage = async (item: Item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const url = '/account/interface-language' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const bodyKey = 'interface_language' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setEditing(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await updateUserProfile({ url, body: { [bodyKey]: item.value } }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       setLocaleOnClient(item.value.toString()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (type === 'timezone') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      url = '/account/timezone' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      bodyKey = 'timezone' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      notify({ type: 'error', message: (e as Error).message }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setEditing(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleSelectTimezone = async (item: Item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const url = '/account/timezone' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const bodyKey = 'timezone' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setEditing(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      setEditing(true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       await updateUserProfile({ url, body: { [bodyKey]: item.value } }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       notify({ type: 'success', message: t('common.actionMsg.modifiedSuccessfully') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       mutateUserProfile() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      setEditing(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       notify({ type: 'error', message: (e as Error).message }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       setEditing(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,7 +68,7 @@ export default function LanguagePage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <SimpleSelect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           defaultValue={locale || userProfile.interface_language} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           items={languages.filter(item => item.supported)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          onSelect={item => handleSelect('language', item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onSelect={item => handleSelectLanguage(item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           disabled={editing} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,7 +77,7 @@ export default function LanguagePage() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <SimpleSelect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           defaultValue={userProfile.timezone} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           items={timezones} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          onSelect={item => handleSelect('timezone', item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onSelect={item => handleSelectTimezone(item)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           disabled={editing} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 |