diff --git a/app/components/chat/ApproveChange.tsx b/app/components/chat/ApproveChange.tsx new file mode 100644 index 00000000..a15ba08d --- /dev/null +++ b/app/components/chat/ApproveChange.tsx @@ -0,0 +1,121 @@ +import React, { useRef, useState } from 'react'; +import { classNames } from '~/utils/classNames'; +import { TEXTAREA_MIN_HEIGHT } from './BaseChat'; + +export interface RejectChangeData { + explanation: string; + shareProject: boolean; + retry: boolean; +} + +interface ApproveChangeProps { + onApprove: () => void; + onReject: (data: RejectChangeData) => void; +} + +const ApproveChange: React.FC = ({ onApprove, onReject }) => { + const textareaRef = useRef(null); + const [hasRejected, setHasRejected] = useState(false); + const [shareProject, setShareProject] = useState(false); + + if (hasRejected) { + const performReject = (retry: boolean) => { + const explanation = textareaRef.current?.value ?? ''; + onReject({ + explanation, + shareProject, + retry, + }); + }; + + return ( + <> +
+