= ({
+ messageTs: _messageTs, // Prefixed with _ to indicate intentionally unused
+ isProtected = false,
+ disabled = false,
+ onResponse,
+}) => {
+ const [hasResponded, setHasResponded] = useState(false)
+
+ const handleApprove = () => {
+ if (hasResponded) return
+ setHasResponded(true)
+ vscode.postMessage({
+ type: "askResponse",
+ askResponse: "yesButtonClicked",
+ })
+ onResponse?.()
+ }
+
+ const handleReject = () => {
+ if (hasResponded) return
+ setHasResponded(true)
+ vscode.postMessage({
+ type: "askResponse",
+ askResponse: "noButtonClicked",
+ })
+ onResponse?.()
+ }
+
+ if (hasResponded) {
+ return null // Hide buttons after response
+ }
+
+ return (
+
+
+
+ {isProtected ? "Approve (Protected File)" : "Approve"}
+
+
+
+ Reject
+
+
+ )
+}