From b1b8d366fb1fb77871bd911f5c24b16c963f49b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=A6Ltorio?= Date: Mon, 28 Oct 2024 08:47:42 +0100 Subject: [PATCH] rename boutons outside outlook --- src/aipane/AIPrompt.ts | 18 ++++++++++++++++++ src/aipane/aipane.ts | 19 +------------------ src/aipane/components/TextInsertion.tsx | 9 +++++++-- 3 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/aipane/AIPrompt.ts b/src/aipane/AIPrompt.ts index a22d27c..37bcc8b 100644 --- a/src/aipane/AIPrompt.ts +++ b/src/aipane/AIPrompt.ts @@ -5,6 +5,7 @@ */ import config from "../config.json" with { type: "json" }; +import { isOutlookClient } from "./aipane"; export interface AIAnswer { /** @@ -161,3 +162,20 @@ export function getPrompts(standalone: boolean): AIPrompt[] { return config.prompts; } } + +/** + * Retrieves the prompt configuration by its ID. + * @param {string} id - The ID of the prompt. + * @returns {AIPrompt} - The prompt configuration. + */ +export function getPrompt(id: string): AIPrompt { + const prompts: AIPrompt[] = config.prompts; + const prompt: AIPrompt | undefined = prompts.find( + (prompt) => prompt.id === id && (!prompt.standalone || !isOutlookClient()) + ); + if (!prompt) { + console.error("getPrompt: Prompt not found"); + throw new Error("Prompt not found"); + } + return prompt; +} diff --git a/src/aipane/aipane.ts b/src/aipane/aipane.ts index 077975f..c911e17 100644 --- a/src/aipane/aipane.ts +++ b/src/aipane/aipane.ts @@ -8,7 +8,7 @@ import { AI } from "@sctg/ai-sdk"; import config from "../config.json" with { type: "json" }; -import type { AIAnswer, AIModel, AIPrompt, AIProvider } from "./AIPrompt.js"; +import { getPrompt, type AIAnswer, type AIModel, type AIProvider } from "./AIPrompt.js"; import { SentencePieceProcessor, cleanText, llama_3_1_tokeniser_b64 } from "@sctg/sentencepiece-js"; import { Model } from "@sctg/ai-sdk/resources/models.js"; import DOMPurify from "dompurify"; @@ -92,23 +92,6 @@ async function aiRequest( return response; } -/** - * Retrieves the prompt configuration by its ID. - * @param {string} id - The ID of the prompt. - * @returns {AIPrompt} - The prompt configuration. - */ -function getPrompt(id: string): AIPrompt { - const prompts: AIPrompt[] = config.prompts; - const prompt: AIPrompt | undefined = prompts.find( - (prompt) => prompt.id === id && (!prompt.standalone || !isOutlookClient()) - ); - if (!prompt) { - console.error("getPrompt: Prompt not found"); - throw new Error("Prompt not found"); - } - return prompt; -} - /** * Retrieves the text selected in the email body. * @returns Promise - The selected text. diff --git a/src/aipane/components/TextInsertion.tsx b/src/aipane/components/TextInsertion.tsx index b1bcaec..5275ccc 100644 --- a/src/aipane/components/TextInsertion.tsx +++ b/src/aipane/components/TextInsertion.tsx @@ -128,6 +128,11 @@ const TextInsertion: React.FC = (props: TextInsertionProps): const styles = useStyles(); + let isOutlook: boolean = true; + isOutlookClient().then((isOutlookClient: boolean) => { + isOutlook = isOutlookClient; + }); + return (
@@ -138,12 +143,12 @@ const TextInsertion: React.FC = (props: TextInsertionProps): appearance="primary" size="large" onClick={handleTextFromOutlook} - className={isOutlookClient() ? styles.buttonInsert : styles.buttonInsertOff} + className={isOutlook ? styles.buttonInsert : styles.buttonInsertOff} > Use selected text