From 70981ed72a6a63cfb0952b3d4b1c5c35808c962b Mon Sep 17 00:00:00 2001 From: EnixCoda Date: Tue, 13 Apr 2021 22:23:36 +0800 Subject: [PATCH] feature: support new GitHub token format --- .../settings/AccessTokenSettings.tsx | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/components/settings/AccessTokenSettings.tsx b/src/components/settings/AccessTokenSettings.tsx index e3097b8..b675dbe 100644 --- a/src/components/settings/AccessTokenSettings.tsx +++ b/src/components/settings/AccessTokenSettings.tsx @@ -8,7 +8,7 @@ import * as React from 'react' import { useStateIO } from 'utils/hooks/useStateIO' import { SettingsSection } from './SettingsSection' -const ACCESS_TOKEN_REGEXP = /^[0-9a-f]+$/ +const ACCESS_TOKEN_REGEXP = /^([0-9a-fA-F]+|gh[pousr]_[A-Za-z0-9_]+)$/ type Props = {} @@ -37,30 +37,33 @@ export function AccessTokenSettings(props: React.PropsWithChildren) { [], ) - const onPressAccessToken = React.useCallback(({ key }: React.KeyboardEvent) => { - if (key === 'Enter') saveToken() - }, []) - const saveToken = React.useCallback( - async (hint?: typeof useAccessTokenHint.value) => { + async ( + hint: typeof useAccessTokenHint.value = ( + + window.location.reload()}> + Reload + {' '} + to activate! + + ), + ) => { if (accessToken) { configContext.onChange({ accessToken }) useAccessToken.onChange('') - useAccessTokenHint.onChange( - hint || ( - - window.location.reload()}> - Reload - {' '} - to activate! - - ), - ) + useAccessTokenHint.onChange(hint) } }, [accessToken], ) + const onPressAccessToken = React.useCallback( + ({ key }: React.KeyboardEvent) => { + if (key === 'Enter') saveToken() + }, + [saveToken], + ) + return ( ) { )} - {accessTokenHint && !focusInput.value && {accessTokenHint}} + {accessTokenHint && {accessTokenHint}} ) }