diff --git a/libs/remix-ui/settings/src/lib/github-settings.tsx b/libs/remix-ui/settings/src/lib/github-settings.tsx index a91749e478..a52ca7507d 100644 --- a/libs/remix-ui/settings/src/lib/github-settings.tsx +++ b/libs/remix-ui/settings/src/lib/github-settings.tsx @@ -1,5 +1,5 @@ import { CopyToClipboard } from '@remix-ui/clipboard' -import React, { useState } from 'react' +import React, { useEffect, useState } from 'react' import { GithubSettingsProps } from '../types' export function GithubSettings (props: GithubSettingsProps) { @@ -7,6 +7,18 @@ export function GithubSettings (props: GithubSettingsProps) { const [githubUserName, setGithubUsername] = useState("") const [githubEmail, setGithubEmail] = useState("") + useEffect(() => { + if (props.config) { + const githubToken = props.config.get('settings/gist-access-token') + const githubUserName = props.config.get('settings/github-user-name') + const githubEmail = props.config.get('settings/github-email') + + setGithubToken(githubToken) + setGithubUsername(githubUserName) + setGithubEmail(githubEmail) + } + }, [props.config]) + const handleChangeTokenState = (event) => { setGithubToken(event.target.value) } @@ -26,6 +38,8 @@ export function GithubSettings (props: GithubSettingsProps) { const removeToken = () => { setGithubToken('') + setGithubUsername('') + setGithubEmail('') props.removeTokenToast() } @@ -48,13 +62,13 @@ export function GithubSettings (props: GithubSettingsProps) {
- handleChangeUserNameState(e)} value={ githubUserName } /> + handleChangeUserNameState(e)} value={ githubUserName } />
- handleChangeEmailState(e)} value={ githubEmail } /> + handleChangeEmailState(e)} value={ githubEmail } />
diff --git a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx index 62d1e07cfb..19655dd281 100644 --- a/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx +++ b/libs/remix-ui/settings/src/lib/remix-ui-settings.tsx @@ -359,6 +359,7 @@ export const RemixUiSettings = (props: RemixUiSettingsProps) => { removeTokenToast(props.config, dispatchToast, "github-user-name") removeTokenToast(props.config, dispatchToast, "github-email") }} + config={props.config} /> {token('etherscan')} {swarmSettings()} diff --git a/libs/remix-ui/settings/src/types/index.ts b/libs/remix-ui/settings/src/types/index.ts index b9f3fcfbd3..5b4af8dfc1 100644 --- a/libs/remix-ui/settings/src/types/index.ts +++ b/libs/remix-ui/settings/src/types/index.ts @@ -1,4 +1,12 @@ export interface GithubSettingsProps { saveTokenToast: (githubToken: string, githubUserName: string, githubEmail: string) => void, - removeTokenToast: () => void + removeTokenToast: () => void, + config: { + exists: (key: string) => boolean, + get: (key: string) => string, + set: (key: string, content: string) => void, + clear: () => void, + getUnpersistedProperty: (key: string) => void, + setUnpersistedProperty: (key: string, value: string) => void + } } diff --git a/libs/remix-ui/workspace/src/lib/components/clone.tsx b/libs/remix-ui/workspace/src/lib/components/clone.tsx index fa92552b22..95ec9c6d88 100644 --- a/libs/remix-ui/workspace/src/lib/components/clone.tsx +++ b/libs/remix-ui/workspace/src/lib/components/clone.tsx @@ -18,6 +18,6 @@ const popover = ( export const CloneRepository = () => ( - + )