support for chromium side panel (#111)

This commit is contained in:
josc146
2023-11-13 14:48:21 +08:00
parent d0fbc9fecb
commit 3e46fa29a6
19 changed files with 62 additions and 19 deletions
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Zum Ende springen",
"Explain": "Erklären",
"Failed to get arkose token.": "Arkose-Token konnte nicht abgerufen werden.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Bitte halten Sie https://chat.openai.com geöffnet und versuchen Sie es erneut. Wenn es immer noch nicht funktioniert, geben Sie einige Zeichen in das Eingabefeld der ChatGPT-Webseite ein und versuchen Sie es erneut."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Bitte halten Sie https://chat.openai.com geöffnet und versuchen Sie es erneut. Wenn es immer noch nicht funktioniert, geben Sie einige Zeichen in das Eingabefeld der ChatGPT-Webseite ein und versuchen Sie es erneut.",
"Open Side Panel": "Seitenleiste öffnen"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Jump to bottom",
"Explain": "Explain",
"Failed to get arkose token.": "Failed to get arkose token.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.",
"Open Side Panel": "Open Side Panel"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Saltar al final",
"Explain": "Explicar",
"Failed to get arkose token.": "No se pudo obtener el token de arkose.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Por favor, mantenga https://chat.openai.com abierto e inténtelo de nuevo. Si aún no funciona, escriba algunos caracteres en el cuadro de entrada de la página web de chatgpt e inténtelo de nuevo."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Por favor, mantenga https://chat.openai.com abierto e inténtelo de nuevo. Si aún no funciona, escriba algunos caracteres en el cuadro de entrada de la página web de chatgpt e inténtelo de nuevo.",
"Open Side Panel": "Abrir panel lateral"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Aller en bas",
"Explain": "Expliquer",
"Failed to get arkose token.": "Échec de l'obtention du jeton arkose.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Veuillez garder https://chat.openai.com ouvert et réessayer. Si cela ne fonctionne toujours pas, tapez quelques caractères dans la boîte de saisie de la page web chatgpt et réessayez."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Veuillez garder https://chat.openai.com ouvert et réessayer. Si cela ne fonctionne toujours pas, tapez quelques caractères dans la boîte de saisie de la page web chatgpt et réessayez.",
"Open Side Panel": "Ouvrir le panneau latéral"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Lompat ke bawah",
"Explain": "Jelaskan",
"Failed to get arkose token.": "Gagal mendapatkan token arkose.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Harap tetap buka https://chat.openai.com dan coba lagi. Jika masih tidak berhasil, ketik beberapa karakter di kotak masukan halaman web chatgpt dan coba lagi."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Harap tetap buka https://chat.openai.com dan coba lagi. Jika masih tidak berhasil, ketik beberapa karakter di kotak masukan halaman web chatgpt dan coba lagi.",
"Open Side Panel": "Buka Panel Samping"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Salta in fondo",
"Explain": "Spiega",
"Failed to get arkose token.": "Impossibile ottenere il token arkose",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Per favore, mantieni aperto https://chat.openai.com e riprova. Se ancora non funziona, digita alcuni caratteri nella casella di input della pagina web di chatgpt e riprova."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Per favore, mantieni aperto https://chat.openai.com e riprova. Se ancora non funziona, digita alcuni caratteri nella casella di input della pagina web di chatgpt e riprova.",
"Open Side Panel": "Apri il pannello laterale"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "最下部にジャンプ",
"Explain": "説明",
"Failed to get arkose token.": "arkoseトークンの取得に失敗しました。",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "https://chat.openai.com を開いたままにして、もう一度試してください。それでもうまくいかない場合は、chatgpt webページの入力ボックスにいくつかの文字を入力してからもう一度試してください。"
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "https://chat.openai.com を開いたままにして、もう一度試してください。それでもうまくいかない場合は、chatgpt webページの入力ボックスにいくつかの文字を入力してからもう一度試してください。",
"Open Side Panel": "サイドパネルを開く"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "아래로 이동",
"Explain": "설명",
"Failed to get arkose token.": "arkose 토큰을 가져오지 못했습니다.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "https://chat.openai.com 을 열어두고 다시 시도하세요. 여전히 작동하지 않으면 chatgpt 웹 페이지의 입력 상자에 몇 가지 문자를 입력한 다음 다시 시도하세요."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "https://chat.openai.com 을 열어두고 다시 시도하세요. 여전히 작동하지 않으면 chatgpt 웹 페이지의 입력 상자에 몇 가지 문자를 입력한 다음 다시 시도하세요.",
"Open Side Panel": "사이드 패널 열기"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Ir para o fundo",
"Explain": "Explicar",
"Failed to get arkose token.": "Falha ao obter o token arkose.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Por favor, mantenha https://chat.openai.com aberto e tente novamente. Se ainda não funcionar, digite alguns caracteres na caixa de entrada da página da web do chatgpt e tente novamente."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Por favor, mantenha https://chat.openai.com aberto e tente novamente. Se ainda não funcionar, digite alguns caracteres na caixa de entrada da página da web do chatgpt e tente novamente.",
"Open Side Panel": "Abrir Painel Lateral"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "Перейти вниз",
"Explain": "Объяснить",
"Failed to get arkose token.": "Не удалось получить токен arkose.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Пожалуйста, оставьте открытым https://chat.openai.com и попробуйте еще раз. Если это все еще не работает, введите несколько символов в поле ввода веб-страницы chatgpt и попробуйте еще раз."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Пожалуйста, оставьте открытым https://chat.openai.com и попробуйте еще раз. Если это все еще не работает, введите несколько символов в поле ввода веб-страницы chatgpt и попробуйте еще раз.",
"Open Side Panel": "Открыть боковую панель"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "En alta git",
"Explain": "Açıkla",
"Failed to get arkose token.": "Arkose jetonu alınamadı.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Lütfen https://chat.openai.com adresini açık tutun ve tekrar deneyin. Hala çalışmazsa, chatgpt web sayfasının girdi kutusuna bazı karakterler yazın ve tekrar deneyin."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "Lütfen https://chat.openai.com adresini açık tutun ve tekrar deneyin. Hala çalışmazsa, chatgpt web sayfasının girdi kutusuna bazı karakterler yazın ve tekrar deneyin.",
"Open Side Panel": "Yan Paneli Aç"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "跳转到底部",
"Explain": "解释",
"Failed to get arkose token.": "获取arkose token失败.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "请保持 https://chat.openai.com 打开并重试. 如果仍然不起作用, 请在chatgpt网页的输入框中输入一些字符, 然后再试一次."
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "请保持 https://chat.openai.com 打开并重试. 如果仍然不起作用, 请在chatgpt网页的输入框中输入一些字符, 然后再试一次.",
"Open Side Panel": "打开侧边栏"
}
+2 -1
View File
@@ -128,5 +128,6 @@
"Jump to bottom": "轉跳至底部",
"Explain": "解釋",
"Failed to get arkose token.": "無法取得 arkose token.",
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "請保持 https://chat.openai.com 開啟並重試,如果還是無法通過驗證,請在 ChatGPT 網頁版輸入框輸入一些文字後再重試"
"Please keep https://chat.openai.com open and try again. If it still doesn't work, type some characters in the input box of chatgpt web page and try again.": "請保持 https://chat.openai.com 開啟並重試,如果還是無法通過驗證,請在 ChatGPT 網頁版輸入框輸入一些文字後再重試",
"Open Side Panel": "開啟側邊面板"
}
+2 -2
View File
@@ -2,7 +2,7 @@ import Browser from 'webextension-polyfill'
import { config as menuConfig } from '../content-script/menu-tools/index.mjs'
export function registerCommands() {
Browser.commands.onCommand.addListener(async (command) => {
Browser.commands.onCommand.addListener(async (command, tab) => {
const message = {
itemId: command,
selectionText: '',
@@ -12,7 +12,7 @@ export function registerCommands() {
if (command in menuConfig) {
if (menuConfig[command].action) {
menuConfig[command].action(true)
menuConfig[command].action(true, tab)
}
if (menuConfig[command].genPrompt) {
+10
View File
@@ -279,6 +279,16 @@ try {
},
['requestHeaders'],
)
Browser.tabs.onUpdated.addListener(async (tabId, info, tab) => {
if (!tab.url) return
// eslint-disable-next-line no-undef
await chrome.sidePanel.setOptions({
tabId,
path: 'IndependentPanel.html',
enabled: true,
})
})
} catch (error) {
console.log(error)
}
+1 -1
View File
@@ -57,7 +57,7 @@ export function refreshMenu() {
})
} else if (message.itemId in menuConfig) {
if (menuConfig[message.itemId].action) {
menuConfig[message.itemId].action(true)
menuConfig[message.itemId].action(true, tab)
}
if (menuConfig[message.itemId].genPrompt) {
+12
View File
@@ -57,6 +57,18 @@ export const config = {
}
},
},
openSidePanel: {
label: 'Open Side Panel',
action: async (fromBackground, tab) => {
console.debug('action is from background', fromBackground)
if (fromBackground) {
// eslint-disable-next-line no-undef
chrome.sidePanel.open({ windowId: tab.windowId, tabId: tab.id })
} else {
// side panel is not supported
}
},
},
closeAllChats: {
label: 'Close All Chats In This Page',
action: async (fromBackground) => {
+8 -1
View File
@@ -24,7 +24,8 @@
"unlimitedStorage",
"tabs",
"webRequest",
"declarativeNetRequestWithHostAccess"
"declarativeNetRequestWithHostAccess",
"sidePanel"
],
"optional_permissions": [
"background"
@@ -35,6 +36,9 @@
"action": {
"default_popup": "popup.html"
},
"sidePanel": {
"default_path": "IndependentPanel.html"
},
"declarative_net_request": {
"rule_resources": [
{
@@ -99,6 +103,9 @@
"openConversationWindow": {
"description": "Open the independent conversation window"
},
"openSidePanel": {
"description": "Open the independent conversation side panel"
},
"closeAllChats": {
"description": "Close all chats in this page"
}
+3 -2
View File
@@ -17,12 +17,13 @@ getUserConfig().then(async (config) => {
console.debug('custom icon action triggered', message)
if (config.clickIconAction in menuConfig) {
const currentTab = (await Browser.tabs.query({ active: true, currentWindow: true }))[0]
if (menuConfig[config.clickIconAction].action) {
menuConfig[config.clickIconAction].action(false)
menuConfig[config.clickIconAction].action(false, currentTab)
}
if (menuConfig[config.clickIconAction].genPrompt) {
const currentTab = (await Browser.tabs.query({ active: true, currentWindow: true }))[0]
Browser.tabs.sendMessage(currentTab.id, {
type: 'CREATE_CHAT',
data: message,