From 940f566ce847104e90fd109315a253cec6d51202 Mon Sep 17 00:00:00 2001 From: Lince mathew Date: Thu, 22 Aug 2024 01:54:04 +0530 Subject: [PATCH] copy to clipbnoard big hficex --- src/panels/RequestPanel.ts | 3 +++ webview/src/modules/IconPanel.tsx | 11 +++++++-- webview/src/modules/JsonView.tsx | 4 ++-- webview/src/pages/Response.tsx | 39 ++++++++++++++++++------------- 4 files changed, 37 insertions(+), 20 deletions(-) diff --git a/src/panels/RequestPanel.ts b/src/panels/RequestPanel.ts index f7a1327..49a0007 100644 --- a/src/panels/RequestPanel.ts +++ b/src/panels/RequestPanel.ts @@ -236,6 +236,9 @@ export class Lama2Panel { case "alert": vscode.window.showErrorMessage(message.text) return + case 'showNotification': + vscode.window.showInformationMessage(message.text); + break; } }, undefined, diff --git a/webview/src/modules/IconPanel.tsx b/webview/src/modules/IconPanel.tsx index 44b5ded..3db39ef 100644 --- a/webview/src/modules/IconPanel.tsx +++ b/webview/src/modules/IconPanel.tsx @@ -6,9 +6,16 @@ interface IconPanelProps { toggleIcon: (icon: string) => void isHtmlContent: boolean showTerminal: () => void + copyContent: () => void } -const IconPanel: React.FC = ({ highlightedIcon, toggleIcon, isHtmlContent, showTerminal }) => ( +const IconPanel: React.FC = ({ + highlightedIcon, + toggleIcon, + isHtmlContent, + showTerminal, + copyContent, +}) => (
= ({ highlightedIcon, toggleIcon, isHt
-
+
diff --git a/webview/src/modules/JsonView.tsx b/webview/src/modules/JsonView.tsx index d59a803..86114e0 100644 --- a/webview/src/modules/JsonView.tsx +++ b/webview/src/modules/JsonView.tsx @@ -6,7 +6,7 @@ interface JsonViewProps { } const JsonView: React.FC = ({ data }) => ( - -); + +) export default JsonView; diff --git a/webview/src/pages/Response.tsx b/webview/src/pages/Response.tsx index 0af08fa..f8d9519 100644 --- a/webview/src/pages/Response.tsx +++ b/webview/src/pages/Response.tsx @@ -157,22 +157,29 @@ const Response: React.FC = () => {
) } - - const responseContent = ( - <> -
- - -
- -
{htmlContent ? : }
- - ) + const copyContent = () => { + const copyBody = htmlContent || JSON.stringify(body, null, 2) + navigator.clipboard.writeText(copyBody).then(() => { + vscode.postMessage({ command: "showNotification", text: "Copied to clipboard" }) + }) + } + + const responseContent = ( + <> +
+ + +
+ +
{htmlContent ? : }
+ + ) const headersContent = (