diff --git a/src/components/dialog-add-workspace/index.js b/src/components/dialog-add-workspace/index.js index 2689738b..2eb8aa2c 100644 --- a/src/components/dialog-add-workspace/index.js +++ b/src/components/dialog-add-workspace/index.js @@ -59,7 +59,7 @@ const previousToken = getGithubToken(); previousToken && setHeaderToGraphqlClient(previousToken); export default function AddWorkspace() { - const [currentTab, currentTabSetter] = useState(0); + const [currentTab, currentTabSetter] = useState('CloneOnlineWiki'); const [isCreateMainWorkspace, isCreateMainWorkspaceSetter] = useState(countWorkspace() === 0); const [parentFolderLocation, parentFolderLocationSetter] = useState(getDesktopPath()); const [existedFolderLocation, existedFolderLocationSetter] = useState(getDesktopPath()); @@ -138,6 +138,7 @@ export default function AddWorkspace() { accessToken={accessToken} githubWikiUrlSetter={githubWikiUrlSetter} userInfo={userInfo} + wikiFolderNameSetter={wikiFolderNameSetter} isCreateMainWorkspace={isCreateMainWorkspace} /> @@ -152,7 +153,7 @@ export default function AddWorkspace() { /> {syncContainer} - {currentTab === 0 && ( + {currentTab === 'CreateNewWiki' && ( )} - {currentTab === 1 && ( + {currentTab === 'OpenLocalWiki' && ( )} - {currentTab === 2 && ( + {currentTab === 'CloneOnlineWiki' && ( void, + wikiFolderNameSetter: string => void, userInfo?: IUserInfo, isCreateMainWorkspace: boolean, |}; @@ -72,6 +73,7 @@ export default function SearchRepo({ accessToken, githubWikiUrl, githubWikiUrlSetter, + wikiFolderNameSetter, userInfo, isCreateMainWorkspace, }: Props) { @@ -148,7 +150,10 @@ export default function SearchRepo({ githubWikiUrlSetter(url)} + onClick={() => { + githubWikiUrlSetter(url); + wikiFolderNameSetter(name); + }} selected={trim(githubWikiUrl) === trim(url)} > diff --git a/src/components/dialog-add-workspace/tab-bar.js b/src/components/dialog-add-workspace/tab-bar.js index 0eaebf2a..981e02f7 100644 --- a/src/components/dialog-add-workspace/tab-bar.js +++ b/src/components/dialog-add-workspace/tab-bar.js @@ -1,5 +1,6 @@ // @flow import React from 'react'; +import { invert } from 'lodash'; import { useTranslation } from 'react-i18next'; import Paper from '@material-ui/core/Paper'; @@ -9,28 +10,36 @@ import Tab from '@material-ui/core/Tab'; function a11yProps(index) { return { - id: `simple-tab-${index}`, + id: index, 'aria-controls': `simple-tabpanel-${index}`, }; } +const tabIndexMap = { + CloneOnlineWiki: 0, + CreateNewWiki: 1, + OpenLocalWiki: 2, +}; + export interface IProps { - currentTab: number; - currentTabSetter: number => void; + currentTab: string; + currentTabSetter: string => void; } export default function TabBar({ currentTab, currentTabSetter }: IProps) { const { t } = useTranslation(); + // DEBUG: console + console.log(`currentTab`, currentTab); return ( currentTabSetter(newValue)} + value={tabIndexMap[currentTab]} + onChange={(event, newValue) => currentTabSetter(invert(tabIndexMap)[newValue])} aria-label={t('AddWorkspace.SwitchCreateNewOrOpenExisted')} > - - - + + +