mirror of
https://github.com/langgenius/dify.git
synced 2026-09-08 11:04:27 +08:00
fix(web): guard invite-settings activate button against double-click (#38337)
This commit is contained in:
parent
503d80be1d
commit
3523da508f
@ -61,6 +61,7 @@ export default function InviteSettingsPage() {
|
|||||||
const token = decodeURIComponent(searchParams.get('invite_token') as string)
|
const token = decodeURIComponent(searchParams.get('invite_token') as string)
|
||||||
const locale = useLocale()
|
const locale = useLocale()
|
||||||
const [name, setName] = useState('')
|
const [name, setName] = useState('')
|
||||||
|
const [isActivating, setIsActivating] = useState(false)
|
||||||
const [language, setLanguage] = useState(() => getInitialLanguage(locale))
|
const [language, setLanguage] = useState(() => getInitialLanguage(locale))
|
||||||
const [timezone, setTimezone] = useState(() => getBrowserTimezone() || 'America/Los_Angeles')
|
const [timezone, setTimezone] = useState(() => getBrowserTimezone() || 'America/Los_Angeles')
|
||||||
const selectedLanguage = LANGUAGE_OPTIONS.find(item => item.value === language)
|
const selectedLanguage = LANGUAGE_OPTIONS.find(item => item.value === language)
|
||||||
@ -93,6 +94,7 @@ export default function InviteSettingsPage() {
|
|||||||
toast.error(t('enterYourName', { ns: 'login' }))
|
toast.error(t('enterYourName', { ns: 'login' }))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
setIsActivating(true)
|
||||||
const body = requiresAccountSetup
|
const body = requiresAccountSetup
|
||||||
? {
|
? {
|
||||||
token,
|
token,
|
||||||
@ -118,8 +120,9 @@ export default function InviteSettingsPage() {
|
|||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
recheck()
|
recheck()
|
||||||
|
setIsActivating(false)
|
||||||
}
|
}
|
||||||
}, [language, name, queryClient, recheck, requiresAccountSetup, searchParams, timezone, token, router, t])
|
}, [isActivating, language, name, queryClient, recheck, requiresAccountSetup, searchParams, timezone, token, router, t])
|
||||||
|
|
||||||
if (!checkRes)
|
if (!checkRes)
|
||||||
return <Loading />
|
return <Loading />
|
||||||
@ -228,6 +231,8 @@ export default function InviteSettingsPage() {
|
|||||||
variant="primary"
|
variant="primary"
|
||||||
className="w-full"
|
className="w-full"
|
||||||
onClick={handleActivate}
|
onClick={handleActivate}
|
||||||
|
loading={isActivating}
|
||||||
|
disabled={isActivating}
|
||||||
>
|
>
|
||||||
{`${t('join', { ns: 'login' })} ${checkRes?.data?.workspace_name}`}
|
{`${t('join', { ns: 'login' })} ${checkRes?.data?.workspace_name}`}
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user