'use client'; import { ReactNode, useEffect, useState, useCallback } from "react"; import { Spinner, Dropdown, Modal, ModalContent, ModalHeader, ModalBody, ModalFooter, Input, useDisclosure } from "@heroui/react"; import { Button } from "@/components/ui/button"; import { fetchProject, createApiKey, deleteApiKey, listApiKeys, deleteProject, rotateSecret, updateProjectName, saveWorkflow } from "../../../../actions/project.actions"; import { CopyButton } from "../../../../../components/common/copy-button"; import { EyeIcon, EyeOffIcon, PlusIcon, Trash2Icon } from "lucide-react"; import { ApiKey } from "@/src/entities/models/api-key"; import { z } from "zod"; import { RelativeTime } from "@primer/react"; import { Label } from "../../../../lib/components/label"; import { sectionHeaderStyles, sectionDescriptionStyles } from './shared-styles'; import { clsx } from "clsx"; import { InputField } from "../../../../lib/components/input-field"; import { ComposioConnectedAccount } from "@/src/entities/models/project"; import { getToolkit, listComposioTriggerDeployments, deleteComposioTriggerDeployment } from "../../../../actions/composio.actions"; import { deleteConnectedAccount } from "../../../../actions/composio.actions"; import { PictureImg } from "@/components/ui/picture-img"; import { UnlinkIcon, AlertTriangle, Trash2 } from "lucide-react"; import { ProjectWideChangeConfirmationModal } from "@/components/common/project-wide-change-confirmation-modal"; import { Workflow } from "../../../../lib/types/workflow_types"; export function Section({ title, children, description, }: { title: string; children: React.ReactNode; description?: string; }) { return (

{title}

{description && (

{description}

)}
{children}
); } export function SectionRow({ children, }: { children: ReactNode; }) { return
{children}
; } export function LeftLabel({ label, }: { label: string; }) { return