From 1d35c41dcbedcc5da5456d129b4e19222192547f Mon Sep 17 00:00:00 2001 From: Aashish-Upadhyay-101 Date: Wed, 22 Feb 2023 13:20:34 +0545 Subject: [PATCH] Authorize.tsx for travis-ci --- .../pages/integrations/travisci/authorize.tsx | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 frontend/src/pages/integrations/travisci/authorize.tsx diff --git a/frontend/src/pages/integrations/travisci/authorize.tsx b/frontend/src/pages/integrations/travisci/authorize.tsx new file mode 100644 index 000000000..3ae7e9def --- /dev/null +++ b/frontend/src/pages/integrations/travisci/authorize.tsx @@ -0,0 +1,77 @@ +import { useState } from 'react'; +import { useRouter } from 'next/router'; + +import { getTranslatedServerSideProps } from '../../../components/utilities/withTranslateProps'; +import { + Button, + Card, + CardTitle, + FormControl, + Input, +} from '../../../components/v2'; +import saveIntegrationAccessToken from "../../api/integrations/saveIntegrationAccessToken"; + +export default function CircleCICreateIntegrationPage() { + const router = useRouter(); + const [apiKey, setApiKey] = useState(''); + const [apiKeyErrorText, setApiKeyErrorText] = useState(''); + const [isLoading, setIsLoading] = useState(false); + + const handleButtonClick = async () => { + try { + setApiKeyErrorText(''); + if (apiKey.length === 0) { + setApiKeyErrorText('API Key cannot be blank'); + return; + } + + setIsLoading(true); + + const integrationAuth = await saveIntegrationAccessToken({ + workspaceId: localStorage.getItem('projectData.id'), + integration: 'travisci', + accessToken: apiKey, + accessId: null, + }); + + setIsLoading(false); + + router.push( + `/integrations/travisci/create?integrationAuthId=${integrationAuth._id}` + ); + } catch (err) { + console.error(err); + } + } + + return ( +
+ + TravisCI Integration + + setApiKey(e.target.value)} + /> + + + +
+ ) +} + +CircleCICreateIntegrationPage.requireAuth = true; + +export const getServerSideProps = getTranslatedServerSideProps(['integrations']); \ No newline at end of file