fix: activation page reload issue after activating (#964)

This commit is contained in:
Matri 2023-08-23 13:54:40 +08:00 committed by GitHub
parent a38412de7b
commit 916d8be0ae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 12 deletions

View File

@ -47,13 +47,14 @@ const ActivateForm = () => {
const [showSuccess, setShowSuccess] = useState(false)
const defaultLanguage = useCallback(() => (window.navigator.language.startsWith('zh') ? languageMaps['zh-Hans'] : languageMaps.en) || languageMaps.en, [])
const showErrorMessage = (message: string) => {
const showErrorMessage = useCallback((message: string) => {
Toast.notify({
type: 'error',
message,
})
}
const valid = () => {
}, [])
const valid = useCallback(() => {
if (!name.trim()) {
showErrorMessage(t('login.error.nameEmpty'))
return false
@ -66,9 +67,9 @@ const ActivateForm = () => {
showErrorMessage(t('login.error.passwordInvalid'))
return true
}
}, [name, password, showErrorMessage, t])
const handleActivate = async () => {
const handleActivate = useCallback(async () => {
if (!valid())
return
try {
@ -84,13 +85,13 @@ const ActivateForm = () => {
timezone,
},
})
setLocaleOnClient(language.startsWith('en') ? 'en' : 'zh-Hans')
setLocaleOnClient(language.startsWith('en') ? 'en' : 'zh-Hans', false)
setShowSuccess(true)
}
catch {
recheck()
}
}
}, [email, language, name, password, recheck, setLocaleOnClient, timezone, token, valid, workspaceID])
return (
<div className={

View File

@ -3,15 +3,15 @@ import type { Locale } from '@/i18n'
type II18NContext = {
locale: Locale
i18n: Record<string, any>,
setLocaleOnClient: (locale: Locale) => void
i18n: Record<string, any>
setLocaleOnClient: (locale: Locale, reloadPage?: boolean) => void
// setI8N: (i18n: Record<string, string>) => void,
}
const I18NContext = createContext<II18NContext>({
locale: 'en',
i18n: {},
setLocaleOnClient: (lang: Locale) => { }
setLocaleOnClient: (lang: Locale, reloadPage?: boolean) => { },
// setI8N: () => {},
})

View File

@ -9,8 +9,8 @@ export const getLocaleOnClient = (): Locale => {
return Cookies.get(LOCALE_COOKIE_NAME) as Locale || i18n.defaultLocale
}
export const setLocaleOnClient = (locale: Locale) => {
export const setLocaleOnClient = (locale: Locale, reloadPage = true) => {
Cookies.set(LOCALE_COOKIE_NAME, locale)
changeLanguage(locale)
location.reload()
reloadPage && location.reload()
}