diff --git a/extension.js b/extension.js index cec389d..c8c0e3e 100644 --- a/extension.js +++ b/extension.js @@ -184,302 +184,352 @@ function getWebviewContent(apiResponse = '', question = '') { .join(''); return ` - - - - - -

GPT Context

-
-
- - -
- + + + + + +

GPT Context

+ +
+ +
+
-
-
-
- API Response -
-
-
-

${question ? '> ' + question : null}

-
- ${ - apiResponse ? ` -
-

-

${apiResponse.replace(/```([^```]+)```/g, '$1')}
-

-
- ` : null - } -
-
+
+
+ API Response +
+
+
+

${question ? '> ' + question : null}

+
+ ${ + apiResponse ? ` +
+

+

${apiResponse.replace(/```([^```]+)```/g, '')}
+

+
+ ` : null + } +
+
+
${fileList ? fileList : '

No files selected

'}
-
- - - - `; + + + const form = document.getElementById('questionForm'); + function submitQuestionApi() { + event.preventDefault(); + if (document.getElementById('question').value === '' || document.getElementById('question').value === null) { + return; + } + const question = document.getElementById('question').value; + const checkboxes = document.querySelectorAll('input[type="checkbox"]'); + const selectedUris = []; + checkboxes.forEach(checkbox => { + if (checkbox.checked) { + const uri = checkbox.getAttribute('data-uri'); + selectedUris.push(uri); + } + }); + vscode.postMessage({ + command: 'submitQuestion', + text: question, + selectedUris: selectedUris + }); + } + + + + + `; } @@ -556,6 +610,8 @@ function activate(context) { webviewView.webview.html = getWebviewContent(); } else if (message.command === 'submitQuestion') { await handleQuestionSubmission(webviewView, message.text, message.selectedUris); + } else if (message.command === 'codeCopied') { + vscode.window.showInformationMessage('Code copied to clipboard'); } }); }