From 82401a414273e843fd47693ccdb6333f9f24c226 Mon Sep 17 00:00:00 2001 From: Mckay Wrigley Date: Mon, 27 Mar 2023 01:38:01 -0600 Subject: [PATCH] Option for clear all messages (#222) Co-authored-by: ryanhex53 --- components/Chat/Chat.tsx | 25 ++++++++++++++----------- public/locales/bn/chat.json | 3 ++- public/locales/de/chat.json | 3 ++- public/locales/es/chat.json | 3 ++- public/locales/fr/chat.json | 3 ++- public/locales/he/chat.json | 3 ++- public/locales/id/chat.json | 3 ++- public/locales/ja/chat.json | 3 ++- public/locales/ko/chat.json | 3 ++- public/locales/pt/chat.json | 3 ++- public/locales/ru/chat.json | 3 ++- public/locales/sv/chat.json | 3 ++- public/locales/te/chat.json | 3 ++- public/locales/vi/chat.json | 3 ++- public/locales/zh/chat.json | 3 ++- 15 files changed, 42 insertions(+), 25 deletions(-) diff --git a/components/Chat/Chat.tsx b/components/Chat/Chat.tsx index 7ebd174..3fb9f0c 100644 --- a/components/Chat/Chat.tsx +++ b/components/Chat/Chat.tsx @@ -5,24 +5,16 @@ import { Message, OpenAIModel, } from '@/types'; -import { - FC, - memo, - MutableRefObject, - useCallback, - useEffect, - useRef, - useState, -} from 'react'; +import { throttle } from '@/utils'; +import { IconClearAll, IconSettings } from '@tabler/icons-react'; import { useTranslation } from 'next-i18next'; +import { FC, memo, MutableRefObject, useEffect, useRef, useState } from 'react'; import { ChatInput } from './ChatInput'; import { ChatLoader } from './ChatLoader'; import { ChatMessage } from './ChatMessage'; import { ErrorMessageDiv } from './ErrorMessageDiv'; import { ModelSelect } from './ModelSelect'; import { SystemPrompt } from './SystemPrompt'; -import { IconSettings } from '@tabler/icons-react'; -import { throttle } from '@/utils'; interface Props { conversation: Conversation; @@ -70,6 +62,12 @@ export const Chat: FC = memo( setShowSettings(!showSettings); }; + const onClearAll = () => { + if (confirm(t('Are you sure you want to clear all messages?'))) { + onUpdateConversation(conversation, { key: 'messages', value: [] }); + } + }; + const scrollDown = () => { if (autoScrollEnabled) { messagesEndRef.current?.scrollIntoView(true); @@ -182,6 +180,11 @@ export const Chat: FC = memo( onClick={handleSettings} size={18} /> + {showSettings && (
diff --git a/public/locales/bn/chat.json b/public/locales/bn/chat.json index 9574ff5..9d08319 100644 --- a/public/locales/bn/chat.json +++ b/public/locales/bn/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "আপনি এই ধাপটি সম্পন্ন করে থাকলে, হতে পারে যে OpenAI কোনো সমস্যার সম্মুখীন হয়েছে।", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "বার্তার সর্বোচ্চ সীমা হল {{maxLength}} অক্ষর৷ আপনি {{valueLength}} অক্ষর লিখেছেন।", "Please enter a message": "দয়া করে একটি মেসেজ লিখুন", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI হল OpenAI-এর চ্যাট মডেলগুলির জন্য একটি উন্নত চ্যাটবট কিট যার লক্ষ্য হল ChatGPT-এর ইন্টারফেস এবং কার্যকারিতা অনুকরণ করা।" + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI হল OpenAI-এর চ্যাট মডেলগুলির জন্য একটি উন্নত চ্যাটবট কিট যার লক্ষ্য হল ChatGPT-এর ইন্টারফেস এবং কার্যকারিতা অনুকরণ করা।", + "Are you sure you want to clear all messages?": "সমস্ত বার্তা মুছে ফেলতে আপনি কি নিশ্চিত?" } diff --git a/public/locales/de/chat.json b/public/locales/de/chat.json index ad0c43c..9326685 100644 --- a/public/locales/de/chat.json +++ b/public/locales/de/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "Wenn Sie diesen Schritt abgeschlossen haben, kann OpenAI möglicherweise Probleme haben.", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "Nachrichtenlimit beträgt {{maxLength}} Zeichen. Sie haben {{valueLength}} Zeichen eingegeben.", "Please enter a message": "Bitte geben Sie eine Nachricht ein", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI ist ein fortschrittliches Chatbot-Toolkit für OpenAIs Chat-Modelle, das darauf abzielt, die Benutzeroberfläche und Funktionalität von ChatGPT nachzuahmen." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI ist ein fortschrittliches Chatbot-Toolkit für OpenAIs Chat-Modelle, das darauf abzielt, die Benutzeroberfläche und Funktionalität von ChatGPT nachzuahmen.", + "Are you sure you want to clear all messages?": "Sind Sie sicher, dass Sie alle Nachrichten löschen möchten?" } diff --git a/public/locales/es/chat.json b/public/locales/es/chat.json index 3000635..50cb2af 100644 --- a/public/locales/es/chat.json +++ b/public/locales/es/chat.json @@ -21,5 +21,6 @@ "click if using a .env.local file": "haz clic si estás utilizando un archivo .env.local", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "El límite del mensaje es de {{maxLength}} caracteres. Has ingresado {{valueLength}} caracteres.", "Please enter a message": "Por favor, ingrese un mensaje", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI es un kit avanzado de chatbot para los modelos de chat de OpenAI que busca imitar la interfaz y funcionalidad de ChatGPT." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI es un kit avanzado de chatbot para los modelos de chat de OpenAI que busca imitar la interfaz y funcionalidad de ChatGPT.", + "Are you sure you want to clear all messages?": "¿Está seguro de que desea borrar todos los mensajes?" } diff --git a/public/locales/fr/chat.json b/public/locales/fr/chat.json index 35ab117..8aa4da6 100644 --- a/public/locales/fr/chat.json +++ b/public/locales/fr/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "Si vous avez effectué cette étape, OpenAI peut rencontrer des problèmes.", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "La limite de message est de {{maxLength}} caractères. Vous avez saisi {{valueLength}} caractères.", "Please enter a message": "Veuillez entrer un message", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI est un kit de chatbot avancé pour les modèles de chat d'OpenAI visant à imiter l'interface et les fonctionnalités de ChatGPT." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI est un kit de chatbot avancé pour les modèles de chat d'OpenAI visant à imiter l'interface et les fonctionnalités de ChatGPT.", + "Are you sure you want to clear all messages?": "Êtes-vous sûr de vouloir effacer tous les messages ?" } diff --git a/public/locales/he/chat.json b/public/locales/he/chat.json index b514415..6482460 100644 --- a/public/locales/he/chat.json +++ b/public/locales/he/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "אם טרם השלמת חלק זה יש סבירות גבוהה להתרחשות תקלה", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "מגבלת תווים היא {{maxLength}}. אתה הקלדת עד עכשיו {{valueLength}} תווים.", "Please enter a message": "הקלד את הודעתך", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "מערכת הצאטבוט היא ערכה מתקדמת לניהול שיחה המכוונת לחקות את המראה והפונקציונאלית של ChatGPT" + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "מערכת הצאטבוט היא ערכה מתקדמת לניהול שיחה המכוונת לחקות את המראה והפונקציונאלית של ChatGPT", + "Are you sure you want to clear all messages?": "האם אתה בטוח שברצונך למחוק את כל ההודעות?" } \ No newline at end of file diff --git a/public/locales/id/chat.json b/public/locales/id/chat.json index 23b6f4d..480e278 100644 --- a/public/locales/id/chat.json +++ b/public/locales/id/chat.json @@ -21,5 +21,6 @@ "click if using a .env.local file": "klik jika menggunakan file .env.local", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "Batas karakter untuk pesan adalah {{maxLength}} karakter. Anda telah memasukkan {{valueLength}} karakter.", "Please enter a message": "Silakan masukkan sebuah pesan", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI adalah kit chatbot canggih untuk model obrolan OpenAI yang bertujuan meniru antarmuka dan fungsionalitas ChatGPT." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI adalah kit chatbot canggih untuk model obrolan OpenAI yang bertujuan meniru antarmuka dan fungsionalitas ChatGPT.", + "Are you sure you want to clear all messages?": "Apakah Anda yakin ingin menghapus semua pesan?" } \ No newline at end of file diff --git a/public/locales/ja/chat.json b/public/locales/ja/chat.json index f10599e..d3c4895 100644 --- a/public/locales/ja/chat.json +++ b/public/locales/ja/chat.json @@ -21,5 +21,6 @@ "click if using a .env.local file": "もし.env.localファイルを使用している場合はこちらをクリックしてください", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "メッセージの文字数は{{maxLength}}文字までです。あなたは{{valueLength}}文字を入力しました。", "Please enter a message": "メッセージを入力してください", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UIは、ChatGPTと同様のインターフェイスと機能を実現するための、チャットボットキットです。" + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UIは、ChatGPTと同様のインターフェイスと機能を実現するための、チャットボットキットです。", + "Are you sure you want to clear all messages?": "すべてのメッセージを削除してもよろしいですか?" } \ No newline at end of file diff --git a/public/locales/ko/chat.json b/public/locales/ko/chat.json index 27bc4cf..ffb4851 100644 --- a/public/locales/ko/chat.json +++ b/public/locales/ko/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "이 단계를 완료한 경우 OpenAI에 문제가 있을 수도 있습니다.", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "메시지 제한은 {{maxLength}}자입니다. {{valueLength}}자를 입력했습니다.", "Please enter a message": "메시지를 입력하세요", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI는 ChatGPT의 인터페이스와 기능을 모방하는 것을 목표로 둔 OpenAI의 채팅 모델들을 위한 고급 챗봇 키트입니다." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI는 ChatGPT의 인터페이스와 기능을 모방하는 것을 목표로 둔 OpenAI의 채팅 모델들을 위한 고급 챗봇 키트입니다.", + "Are you sure you want to clear all messages?": "모든 메시지를 지우시겠습니까?" } diff --git a/public/locales/pt/chat.json b/public/locales/pt/chat.json index 091b6c3..e5a65cd 100644 --- a/public/locales/pt/chat.json +++ b/public/locales/pt/chat.json @@ -21,5 +21,6 @@ "click if using a .env.local file": "clique se estiver usando um arquivo .env.local", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "O limite de mensagens é de {{maxLength}} caracteres. Você inseriu {{valueLength}} caracteres", "Please enter a message": "Por favor, insira uma mensagem", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI é um kit de chatbot avançado para os modelos de chat do OpenAI com o objetivo de imitar a interface e a funcionalidade do ChatGPT." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI é um kit de chatbot avançado para os modelos de chat do OpenAI com o objetivo de imitar a interface e a funcionalidade do ChatGPT.", + "Are you sure you want to clear all messages?": "Tem certeza de que deseja limpar todas as mensagens?" } diff --git a/public/locales/ru/chat.json b/public/locales/ru/chat.json index 710acb2..218a7a1 100644 --- a/public/locales/ru/chat.json +++ b/public/locales/ru/chat.json @@ -22,5 +22,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "Если вы выполнили этот шаг, то возможно OpenAI может испытывать проблемы", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "Лимит сообщения: {{maxLength}} символов. Вы ввели {{valueLength}} символов.", "Please enter a message": "Пожалуйста введите сообщение", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI - продвинутый интерфейс чатбота для чат-моделей OpenAI, которое имитирует интерфейс ChatGPT" + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI - продвинутый интерфейс чатбота для чат-моделей OpenAI, которое имитирует интерфейс ChatGPT", + "Are you sure you want to clear all messages?": "Вы уверены, что хотите удалить все сообщения?" } diff --git a/public/locales/sv/chat.json b/public/locales/sv/chat.json index de4c4a0..61d64c0 100644 --- a/public/locales/sv/chat.json +++ b/public/locales/sv/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "Om du slutförde det här steget kan OpenAI ha problem.", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "Meddelandegränsen är {{maxLength}} tecken. Du har angett {{valueLength}} tecken.", "Please enter a message": "Vänligen ange ett meddelande", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI är ett avancerat chatbot-kit för OpenAI:s chattmodeller som syftar till att efterlikna ChatGPT:s gränssnitt och funktionalitet." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI är ett avancerat chatbot-kit för OpenAI:s chattmodeller som syftar till att efterlikna ChatGPT:s gränssnitt och funktionalitet.", + "Are you sure you want to clear all messages?": "Är du säker på att du vill rensa alla meddelanden?" } diff --git a/public/locales/te/chat.json b/public/locales/te/chat.json index 3c86b41..ff71510 100644 --- a/public/locales/te/chat.json +++ b/public/locales/te/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "మీరు ఈ హంతం పూర్తి చేసినా, OpenAI సమస్యలు ఉన్నట్లు ఉంటాయి.", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "సందేశం పరిమితి {{maxLength}} అక్షరాలు. మీరు {{valueLength}} అక్షరాలు నమోదు చేసారు.", "Please enter a message": "దయచేసి ఒక సందేశం నమోదు చేయండి", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI ఒక అభ్యంతర సంవిధానం మరియు కార్యాచరణ లక్ష్యం తీసుకున్న OpenAI ఛాట్ మోడల్లలో మార్పులు చేయడానికి ప్రయత్నిస్తుంది, ChatGPT ఇంటర్ఫేస్ మరియు కార్యాచరణను అనుకరించడానికి." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI ఒక అభ్యంతర సంవిధానం మరియు కార్యాచరణ లక్ష్యం తీసుకున్న OpenAI ఛాట్ మోడల్లలో మార్పులు చేయడానికి ప్రయత్నిస్తుంది, ChatGPT ఇంటర్ఫేస్ మరియు కార్యాచరణను అనుకరించడానికి.", + "Are you sure you want to clear all messages?": "మీరు అన్ని సందేశాలను తొలగించాలా?" } diff --git a/public/locales/vi/chat.json b/public/locales/vi/chat.json index 5d5090d..b424b1b 100644 --- a/public/locales/vi/chat.json +++ b/public/locales/vi/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "Nếu bạn đã hoàn thành bước này, OpenAI có thể đang gặp sự cố.", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "Giới hạn tin nhắn là {{maxLength}} ký tự. Bạn đã nhập {{valueLength}} ký tự.", "Please enter a message": "Vui lòng nhập một tin nhắn", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI là một bộ công cụ chatbot tiên tiến cho các mô hình chat của OpenAI nhằm mô phỏng giao diện và chức năng của ChatGPT." + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI là một bộ công cụ chatbot tiên tiến cho các mô hình chat của OpenAI nhằm mô phỏng giao diện và chức năng của ChatGPT.", + "Are you sure you want to clear all messages?": "Bạn có chắc chắn muốn xóa tất cả tin nhắn không?" } diff --git a/public/locales/zh/chat.json b/public/locales/zh/chat.json index 211d710..86f3915 100644 --- a/public/locales/zh/chat.json +++ b/public/locales/zh/chat.json @@ -20,5 +20,6 @@ "If you completed this step, OpenAI may be experiencing issues.": "如果您已完成此步骤,OpenAI 可能遇到了问题。", "Message limit is {{maxLength}} characters. You have entered {{valueLength}} characters.": "消息字数限制为 {{maxLength}} 个字符。您已输入 {{valueLength}} 个字符。", "Please enter a message": "请输入一条消息", - "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI 是一个高级聊天机器人工具包,旨在模仿 OpenAI 聊天模型的 ChatGPT 界面和功能。" + "Chatbot UI is an advanced chatbot kit for OpenAI's chat models aiming to mimic ChatGPT's interface and functionality.": "Chatbot UI 是一个高级聊天机器人工具包,旨在模仿 OpenAI 聊天模型的 ChatGPT 界面和功能。", + "Are you sure you want to clear all messages?": "你确定要清除所有的消息吗?" }