Skip to content

Commit

Permalink
Option for clear all messages (mckaywrigley#222)
Browse files Browse the repository at this point in the history
Co-authored-by: ryanhex53 <[email protected]>
  • Loading branch information
mckaywrigley and ryanhex53 committed Mar 27, 2023
1 parent 90399d2 commit 82401a4
Show file tree
Hide file tree
Showing 15 changed files with 42 additions and 25 deletions.
25 changes: 14 additions & 11 deletions components/Chat/Chat.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -70,6 +62,12 @@ export const Chat: FC<Props> = memo(
setShowSettings(!showSettings);
};

const onClearAll = () => {
if (confirm(t<string>('Are you sure you want to clear all messages?'))) {
onUpdateConversation(conversation, { key: 'messages', value: [] });
}
};

const scrollDown = () => {
if (autoScrollEnabled) {
messagesEndRef.current?.scrollIntoView(true);
Expand Down Expand Up @@ -182,6 +180,11 @@ export const Chat: FC<Props> = memo(
onClick={handleSettings}
size={18}
/>
<IconClearAll
className="ml-2 cursor-pointer hover:opacity-50"
onClick={onClearAll}
size={18}
/>
</div>
{showSettings && (
<div className="mx-auto flex w-[200px] flex-col space-y-10 pt-8 sm:w-[300px]">
Expand Down
3 changes: 2 additions & 1 deletion public/locales/bn/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "সমস্ত বার্তা মুছে ফেলতে আপনি কি নিশ্চিত?"
}
3 changes: 2 additions & 1 deletion public/locales/de/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?"
}
3 changes: 2 additions & 1 deletion public/locales/es/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?"
}
3 changes: 2 additions & 1 deletion public/locales/fr/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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 ?"
}
3 changes: 2 additions & 1 deletion public/locales/he/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "האם אתה בטוח שברצונך למחוק את כל ההודעות?"
}
3 changes: 2 additions & 1 deletion public/locales/id/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?"
}
3 changes: 2 additions & 1 deletion public/locales/ja/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "すべてのメッセージを削除してもよろしいですか?"
}
3 changes: 2 additions & 1 deletion public/locales/ko/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "모든 메시지를 지우시겠습니까?"
}
3 changes: 2 additions & 1 deletion public/locales/pt/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?"
}
3 changes: 2 additions & 1 deletion public/locales/ru/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "Вы уверены, что хотите удалить все сообщения?"
}
3 changes: 2 additions & 1 deletion public/locales/sv/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?"
}
3 changes: 2 additions & 1 deletion public/locales/te/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "మీరు అన్ని సందేశాలను తొలగించాలా?"
}
3 changes: 2 additions & 1 deletion public/locales/vi/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?"
}
3 changes: 2 additions & 1 deletion public/locales/zh/chat.json
Original file line number Diff line number Diff line change
Expand Up @@ -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?": "你确定要清除所有的消息吗?"
}

0 comments on commit 82401a4

Please sign in to comment.