From 9aa2adce0f34bdb6e04fc6fe00ff7b71611d0df5 Mon Sep 17 00:00:00 2001 From: zeddyemmy Date: Tue, 1 Aug 2023 12:46:39 +0100 Subject: [PATCH] Selection tool explain (#491) * hover selection tool Explain * prompt --- src/config/index.mjs | 2 ++ src/content-script/selection-tools/index.mjs | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/config/index.mjs b/src/config/index.mjs index 14fb42c..d7fd3d2 100644 --- a/src/config/index.mjs +++ b/src/config/index.mjs @@ -215,6 +215,7 @@ export const defaultConfig = { userLanguage: getNavigatorLanguage(), apiModes: Object.keys(Models), selectionTools: [ + 'explain', 'translate', 'translateToEn', 'translateToZh', @@ -227,6 +228,7 @@ export const defaultConfig = { 'ask', ], selectionToolsDesc: [ + 'Explain', 'Translate', 'Translate (To English)', 'Translate (Bidirectional)', diff --git a/src/content-script/selection-tools/index.mjs b/src/content-script/selection-tools/index.mjs index 40e34e6..6b41190 100644 --- a/src/content-script/selection-tools/index.mjs +++ b/src/content-script/selection-tools/index.mjs @@ -7,10 +7,19 @@ import { Translate, Braces, Globe, + ChatTextFill, } from 'react-bootstrap-icons' import { getPreferredLanguage } from '../../config/language.mjs' export const config = { + explain: { + icon: , + label: 'Explain', + genPrompt: async (selection) => { + const preferredLanguage = await getPreferredLanguage() + return `Reply in ${preferredLanguage}.Explain the following:\n"${selection}"` + }, + }, translate: { icon: , label: 'Translate',