Set localstorage github credentials on load

pull/5370/head
David Disu 3 years ago
parent cb9ce41797
commit 1555c25e61
  1. 20
      libs/remix-ui/settings/src/lib/github-settings.tsx
  2. 1
      libs/remix-ui/settings/src/lib/remix-ui-settings.tsx
  3. 10
      libs/remix-ui/settings/src/types/index.ts
  4. 2
      libs/remix-ui/workspace/src/lib/components/clone.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<string>("")
const [githubEmail, setGithubEmail] = useState<string>("")
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) {
<div>
<label>USERNAME:</label>
<div className="text-secondary mb-0 h6">
<input id="githubusername" data-id="settingsTabGithubUsername" type="password" className="form-control" onChange={(e) => handleChangeUserNameState(e)} value={ githubUserName } />
<input id="githubusername" data-id="settingsTabGithubUsername" type="text" className="form-control" onChange={(e) => handleChangeUserNameState(e)} value={ githubUserName } />
</div>
</div>
<div>
<label>EMAIL:</label>
<div className="text-secondary mb-0 h6">
<input id="githubemail" data-id="settingsTabGithubEmail" type="password" className="form-control" onChange={(e) => handleChangeEmailState(e)} value={ githubEmail } />
<input id="githubemail" data-id="settingsTabGithubEmail" type="text" className="form-control" onChange={(e) => handleChangeEmailState(e)} value={ githubEmail } />
<div className="d-flex justify-content-end pt-2">
<input className="btn btn-sm btn-primary ml-2" id="savegisttoken" data-id="settingsTabSaveGistToken" onClick={saveGithubToken} value="Save" type="button" disabled={githubToken === ''}></input>
<button className="btn btn-sm btn-secondary ml-2" id="removegisttoken" data-id="settingsTabRemoveGistToken" title="Delete GitHub Credentials" onClick={removeToken}>Remove</button>

@ -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()}

@ -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
}
}

@ -18,6 +18,6 @@ const popover = (
export const CloneRepository = () => (
<OverlayTrigger trigger="click" placement={"bottom"} overlay={popover}>
<i className="fas fa-cloud-download remixui_menuicon"></i>
<i className="fas fa-cloud-download remixui_menuicon pr-0 mr-2"></i>
</OverlayTrigger>
)

Loading…
Cancel
Save