Path: blob/main/components/dashboard/src/repositories/detail/general/RemoveConfiguration.tsx
2502 views
/**1* Copyright (c) 2023 Gitpod GmbH. All rights reserved.2* Licensed under the GNU Affero General Public License (AGPL).3* See License.AGPL.txt in the project root for license information.4*/56import { Heading3, Subheading } from "@podkit/typography/Headings";7import { RemoveConfigurationModal } from "./RemoveConfigurationModal";8import { useHistory } from "react-router";9import { useCallback, useState } from "react";10import type { Configuration } from "@gitpod/public-api/lib/gitpod/v1/configuration_pb";11import { ConfigurationSettingsField } from "../ConfigurationSettingsField";12import { Button } from "@podkit/buttons/Button";1314interface Props {15configuration: Configuration;16}17export const RemoveConfiguration = ({ configuration }: Props) => {18const [showRemoveModal, setShowRemoveModal] = useState(false);1920const history = useHistory();21const onProjectRemoved = useCallback(() => {22history.push("/repositories");23}, [history]);2425return (26<>27<ConfigurationSettingsField>28<Heading3>Remove this repository</Heading3>29<Subheading className="max-w-lg">30This will remove all settings and environment variables you have set for this repository. It will31not delete the underlying git repository.32</Subheading>3334<Button variant="destructive" className="mt-4" onClick={() => setShowRemoveModal(true)}>35Remove Repository36</Button>37</ConfigurationSettingsField>38{configuration && showRemoveModal && (39<RemoveConfigurationModal40configuration={configuration}41onRemoved={onProjectRemoved}42onClose={() => setShowRemoveModal(false)}43/>44)}45</>46);47};484950