|
|
|
@ -63,6 +63,7 @@ const transformToFormState = async (userInfo: UserInfo) => { |
|
|
|
export const useUserInfo = () => { |
|
|
|
export const useUserInfo = () => { |
|
|
|
const { changeLang, lang } = useLexicsStore() |
|
|
|
const { changeLang, lang } = useLexicsStore() |
|
|
|
const [userInfo, setUserInfo] = useState<FormState>() |
|
|
|
const [userInfo, setUserInfo] = useState<FormState>() |
|
|
|
|
|
|
|
const [loader, setLoader] = useState<boolean>(false) |
|
|
|
|
|
|
|
|
|
|
|
const fetchUserInfo = useCallback(() => { |
|
|
|
const fetchUserInfo = useCallback(() => { |
|
|
|
getUserInfo() |
|
|
|
getUserInfo() |
|
|
|
@ -71,12 +72,13 @@ export const useUserInfo = () => { |
|
|
|
}, []) |
|
|
|
}, []) |
|
|
|
|
|
|
|
|
|
|
|
const onSubmit = useCallback((data: SaveWithLang) => { |
|
|
|
const onSubmit = useCallback((data: SaveWithLang) => { |
|
|
|
|
|
|
|
setLoader(true) |
|
|
|
saveUserInfo(data).then(() => { |
|
|
|
saveUserInfo(data).then(() => { |
|
|
|
fetchUserInfo() |
|
|
|
fetchUserInfo() |
|
|
|
if (data.language) { |
|
|
|
if (data.language) { |
|
|
|
changeLang(data.language as Languages) |
|
|
|
changeLang(data.language as Languages) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}).finally(() => setLoader(false)) |
|
|
|
}, [fetchUserInfo, changeLang]) |
|
|
|
}, [fetchUserInfo, changeLang]) |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
@ -90,5 +92,9 @@ export const useUserInfo = () => { |
|
|
|
} |
|
|
|
} |
|
|
|
: null), [userInfo, lang]) |
|
|
|
: null), [userInfo, lang]) |
|
|
|
|
|
|
|
|
|
|
|
return { onSubmit, userInfo: user } |
|
|
|
return { |
|
|
|
|
|
|
|
loader, |
|
|
|
|
|
|
|
onSubmit, |
|
|
|
|
|
|
|
userInfo: user, |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|