Path: blob/main/components/dashboard/src/repositories/detail/variables/ConfigurationVariableItem.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 {7ConfigurationEnvironmentVariable,8EnvironmentVariableAdmission,9} from "@gitpod/public-api/lib/gitpod/v1/envvar_pb";10import { DropdownActions } from "@podkit/dropdown/DropDownActions";11import { TableRow, TableCell } from "@podkit/tables/Table";12import { useState } from "react";13import { ConfigurationDeleteVariableModal } from "./ConfigurationRemoveVariableModal";14import { DropdownMenuItem } from "@podkit/dropdown/DropDown";1516type Props = {17configurationId: string;18variable: ConfigurationEnvironmentVariable;19};20export const ConfigurationVariableItem = ({ variable, configurationId }: Props) => {21const [showRemoveModal, setShowRemoveModal] = useState<boolean>(false);2223return (24<>25{showRemoveModal && (26<ConfigurationDeleteVariableModal27variable={variable}28configurationId={configurationId}29onClose={() => setShowRemoveModal(false)}30/>31)}32<TableRow key={variable.id}>33<TableCell className="break-all">{variable.name}</TableCell>34<TableCell>35{variable.admission === EnvironmentVariableAdmission.PREBUILD36? "Prebuilds only"37: "Prebuilds & workspaces"}38</TableCell>39<TableCell className="flex justify-end">40<DropdownActions>41<DropdownMenuItem42className="text-red-600 dark:text-red-400 focus:text-red-800 dark:focus:text-red-300"43onSelect={() => {44setShowRemoveModal(true);45}}46>47Delete48</DropdownMenuItem>49</DropdownActions>50</TableCell>51</TableRow>52</>53);54};555657