diff --git a/CHANGELOG.md b/CHANGELOG.md index 76841e35fbd..5296ba66052 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Increase preview size of a task till 256, 256 on the server - Minor style updates +- Public ssh-keys are displayed in a dedicated window instead of console when create a task with a repository ### Deprecated - diff --git a/cvat-ui/src/components/create-task-page/create-task-page.tsx b/cvat-ui/src/components/create-task-page/create-task-page.tsx index 7961841016d..439439f9251 100644 --- a/cvat-ui/src/components/create-task-page/create-task-page.tsx +++ b/cvat-ui/src/components/create-task-page/create-task-page.tsx @@ -3,30 +3,65 @@ // SPDX-License-Identifier: MIT import './styles.scss'; -import React from 'react'; - -import { - Row, - Col, -} from 'antd'; - +import React, { useEffect } from 'react'; +import { Row, Col } from 'antd/lib/grid'; +import Modal from 'antd/lib/modal'; import Text from 'antd/lib/typography/Text'; +import Paragraph from 'antd/lib/typography/Paragraph'; +import TextArea from 'antd/lib/input/TextArea'; import CreateTaskContent, { CreateTaskData } from './create-task-content'; + interface Props { onCreate: (data: CreateTaskData) => void; status: string; + error: string; installedGit: boolean; } export default function CreateTaskPage(props: Props): JSX.Element { const { + error, status, onCreate, installedGit, } = props; + useEffect(() => { + if (error) { + let errorCopy = error; + const sshKeys: string[] = []; + while (errorCopy.length) { + const startIndex = errorCopy.search(/'ssh/); + if (startIndex === -1) break; + let sshKey = errorCopy.slice(startIndex + 1); + const stopIndex = sshKey.search(/'/); + sshKey = sshKey.slice(0, stopIndex); + sshKeys.push(sshKey); + errorCopy = errorCopy.slice(stopIndex + 1); + } + + if (sshKeys.length) { + Modal.error({ + width: 800, + title: 'Could not clone the repository', + content: ( + <> + + Please make sure it exists and you have access + + + Consider adding the following public ssh keys to git: + +