diff --git a/src/App.vue b/src/App.vue index 56bcad2..e61deeb 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,6 +12,7 @@ enum CardStatus { 'PleaseLogin', 'UnknownError', 'TooManyRequests', + 'GeneralError', } const answer = ref(null) const cardStatus = ref() @@ -140,6 +141,10 @@ async function getAnswer(question: string, callback) { removeAccessToken() cardStatus.value = 'PleaseLogin' } + + if (event.status !== 200) + cardStatus.value = 'GeneralError' + if (event.status === 403) cardStatus.value = 'BlockedByCloudflare' @@ -160,6 +165,8 @@ async function getAnswer(question: string, callback) { function getQuestion() { switch (getWebsite().name) { + case 'startpage': + return document.getElementById("q").value; case 'baidu': return new URL(window.location.href).searchParams.get('wd') case 'deepl': { diff --git a/src/components/ChatGPTCard.vue b/src/components/ChatGPTCard.vue index d14178c..1418075 100644 --- a/src/components/ChatGPTCard.vue +++ b/src/components/ChatGPTCard.vue @@ -25,4 +25,7 @@ defineProps(['status', 'answer'])

{{ i18n('tooManyRequests') }}

+
+

{{ i18n('generalError') }}

+
diff --git a/src/main.ts b/src/main.ts index 2e24417..51597a6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -28,6 +28,9 @@ function initUI(container: HTMLDivElement) { case 'duckduckgo': duckduckgoInjectContainer(container) break + case 'startpage': + startpageInjectContainer(container) + break case 'deepl': deeplInjectContainer(container) break @@ -86,6 +89,11 @@ function initUI(container: HTMLDivElement) { const ChatGPTCard: Element = document.getElementsByClassName('results--sidebar')[0] ChatGPTCard.prepend(container) } + function startpageInjectContainer(container: HTMLDivElement) { + const ChatGPTCard: Element = document.getElementsByClassName('sidebar-results')[0] + container2.classList.add("sx-kp"); + ChatGPTCard.prepend(container) + } function deeplInjectContainer(container: HTMLDivElement) { const button = document.createElement('button') button.innerHTML = i18n('chatGPTTranslate') diff --git a/src/utils/i18n.ts b/src/utils/i18n.ts index 7d22728..551d7d7 100644 --- a/src/utils/i18n.ts +++ b/src/utils/i18n.ts @@ -18,6 +18,7 @@ export function config(lang: string) { networkException: '网络异常,请刷新页面。', containerPosition: '容器位置 - 侧面(1)/顶部(0): ', chatGPTTranslate: 'ChatGPT 翻译', + generalError: "NEEDS TRANSLATING: Error... Failed to get valid response from ChatGPT", } break case 'zh-TW': @@ -31,6 +32,7 @@ export function config(lang: string) { networkException: '網路異常,請刷新頁面。', containerPosition: '容器位置 - 側面(1)/頂部(0):', chatGPTTranslate: 'ChatGPT 翻譯', + generalError: "NEEDS TRANSLATING: Error... Failed to get valid response from ChatGPT", } break default: @@ -43,6 +45,7 @@ export function config(lang: string) { networkException: 'Network exception, please refresh the page.', containerPosition: 'Container Position - Side(1)/Top(0): ', chatGPTTranslate: 'ChatGPT Translate', + generalError: "Error... Failed to get valid response from ChatGPT", } } return result diff --git a/src/utils/index.ts b/src/utils/index.ts index 1c74558..3fa1dcc 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -16,6 +16,8 @@ export function getWebsite() { return configRequestImmediately('baidu') case 'duckduckgo.com': return configRequestImmediately('duckduckgo') + case 'www.startpage.com': + return configRequestImmediately('startpage') case 'www.deepl.com': return configRequestAfterClickButton('deepl') default: