mirror of
https://github.com/langgenius/dify.git
synced 2026-07-21 18:58:35 +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 locale = useLocale()
|
||||
const [name, setName] = useState('')
|
||||
const [isActivating, setIsActivating] = useState(false)
|
||||
const [language, setLanguage] = useState(() => getInitialLanguage(locale))
|
||||
const [timezone, setTimezone] = useState(() => getBrowserTimezone() || 'America/Los_Angeles')
|
||||
const selectedLanguage = LANGUAGE_OPTIONS.find(item => item.value === language)
|
||||
@ -93,6 +94,7 @@ export default function InviteSettingsPage() {
|
||||
toast.error(t('enterYourName', { ns: 'login' }))
|
||||
return
|
||||
}
|
||||
setIsActivating(true)
|
||||
const body = requiresAccountSetup
|
||||
? {
|
||||
token,
|
||||
@ -118,8 +120,9 @@ export default function InviteSettingsPage() {
|
||||
}
|
||||
catch {
|
||||
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)
|
||||
return <Loading />
|
||||
@ -228,6 +231,8 @@ export default function InviteSettingsPage() {
|
||||
variant="primary"
|
||||
className="w-full"
|
||||
onClick={handleActivate}
|
||||
loading={isActivating}
|
||||
disabled={isActivating}
|
||||
>
|
||||
{`${t('join', { ns: 'login' })} ${checkRes?.data?.workspace_name}`}
|
||||
</Button>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user