sending full promptData to the frontend
This commit is contained in:
parent
9307c4742e
commit
a8f8a7e33a
2 changed files with 11 additions and 5 deletions
|
|
@ -34,6 +34,9 @@ const messageInput = document.querySelector('message-input');
|
|||
messageInput.init(worker);
|
||||
messageInput.setMessagesArea(messagesArea);
|
||||
|
||||
// Data received from the user
|
||||
let promptData = {};
|
||||
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
//let prefs_api_key = await browser.storage.sync.get({api_key_chatgpt: ''});
|
||||
let prefs_api_key = '' // only for testing
|
||||
|
|
@ -54,7 +57,7 @@ worker.onmessage = function(event) {
|
|||
messagesArea.handleNewToken(payload.token);
|
||||
break;
|
||||
case 'tokensDone':
|
||||
messagesArea.handleTokensDone();
|
||||
messagesArea.handleTokensDone(promptData);
|
||||
messageInput.handleMessageSent();
|
||||
break;
|
||||
case 'error':
|
||||
|
|
@ -70,6 +73,7 @@ browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
|||
//console.log(">>>>>>>>>>>>> controller.js onMessage: " + JSON.stringify(message));
|
||||
if (message.command === "chatgpt_send") {
|
||||
//send the received prompt to the chatgpt api
|
||||
promptData = message;
|
||||
messageInput._setMessageInputValue(message.prompt);
|
||||
messageInput._handleNewChatMessage();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@ class MessagesArea extends HTMLElement {
|
|||
this.worker = worker;
|
||||
}
|
||||
|
||||
handleTokensDone() {
|
||||
handleTokensDone(promptData = null) {
|
||||
this.flushAccumulatingMessage();
|
||||
this.addActionButtons();
|
||||
this.addActionButtons(promptData);
|
||||
}
|
||||
|
||||
appendUserMessage(messageText, source="You") {
|
||||
|
|
@ -140,13 +140,15 @@ class MessagesArea extends HTMLElement {
|
|||
this.messages.scrollTop = this.messages.scrollHeight;
|
||||
}
|
||||
|
||||
addActionButtons() {
|
||||
addActionButtons(promptData = null) {
|
||||
if(promptData == null) { return; }
|
||||
if(promptData.action == 0) { return; } // No action needed
|
||||
const actionButtons = document.createElement('div');
|
||||
actionButtons.classList.add('action-buttons');
|
||||
const actionButton = document.createElement('button');
|
||||
actionButton.textContent = 'Send';
|
||||
actionButton.addEventListener('click', () => {
|
||||
alert(this.fullTextHTML);
|
||||
alert('action: ' + promptData.action);
|
||||
});
|
||||
actionButtons.appendChild(actionButton);
|
||||
this.messages.appendChild(actionButtons);
|
||||
|
|
|
|||
Loading…
Reference in a new issue