Compare commits

...

2 Commits

Author SHA1 Message Date
c8a75efa27 feat: keep fouce model 2025-02-03 09:10:38 -10:00
c3d56e5d66 feat: remove speed and show focus mode 2025-02-03 08:48:19 -10:00
4 changed files with 25 additions and 13 deletions

View File

@ -3,8 +3,8 @@ import { Metadata } from 'next';
import { Suspense } from 'react'; import { Suspense } from 'react';
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Chat - Perplexica', title: 'MyCounsellor Ai Serach Eengine - Searching Thking with Gemini',
description: 'Chat with the internet, chat with Perplexica.', description: 'Chat with the internet, chat with MyCounsellor.',
}; };
const Home = () => { const Home = () => {

View File

@ -5,7 +5,6 @@ import {Document} from '@langchain/core/documents';
import Navbar from './Navbar'; import Navbar from './Navbar';
import Chat from './Chat'; import Chat from './Chat';
import EmptyChat from './EmptyChat'; import EmptyChat from './EmptyChat';
import crypto from 'crypto';
import {toast} from 'sonner'; import {toast} from 'sonner';
import {useSearchParams} from 'next/navigation'; import {useSearchParams} from 'next/navigation';
import {getSuggestions} from '@/lib/actions'; import {getSuggestions} from '@/lib/actions';
@ -481,6 +480,18 @@ const ChatWindow = ({id}: { id?: string }) => {
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
}, []); }, []);
useEffect(() => {
const savedFocusMode = localStorage.getItem('focusMode');
if (savedFocusMode) {
setFocusMode(savedFocusMode);
}
}, [setFocusMode]);
const handleFocusModeChange = (mode: string) => {
localStorage.setItem('focusMode', mode);
setFocusMode(mode);
};
const messagesRef = useRef<Message[]>([]); const messagesRef = useRef<Message[]>([]);
useEffect(() => { useEffect(() => {
@ -515,7 +526,7 @@ const ChatWindow = ({id}: { id?: string }) => {
ws.send( ws.send(
JSON.stringify({ JSON.stringify({
type: 'message', type: 'message',
userId:userId, userId: userId,
message: { message: {
messageId: messageId, messageId: messageId,
chatId: chatId!, chatId: chatId!,
@ -701,7 +712,7 @@ const ChatWindow = ({id}: { id?: string }) => {
focusMode={focusMode} focusMode={focusMode}
copilotEnabled={copilotEnabled} copilotEnabled={copilotEnabled}
setCopilotEnabled={setCopilotEnabled} setCopilotEnabled={setCopilotEnabled}
setFocusMode={setFocusMode} setFocusMode={handleFocusModeChange}
optimizationMode={optimizationMode} optimizationMode={optimizationMode}
setOptimizationMode={setOptimizationMode} setOptimizationMode={setOptimizationMode}
fileIds={fileIds} fileIds={fileIds}

View File

@ -88,6 +88,8 @@ const EmptyChatMessageInput = ({
<div className="flex flex-row items-center justify-between mt-4"> <div className="flex flex-row items-center justify-between mt-4">
<div className="flex flex-row items-center space-x-2 lg:space-x-4"> <div className="flex flex-row items-center space-x-2 lg:space-x-4">
<Focus focusMode={focusMode} setFocusMode={setFocusMode} /> <Focus focusMode={focusMode} setFocusMode={setFocusMode} />
</div>
<div className="flex flex-row items-center space-x-1 sm:space-x-4">
<Attach <Attach
fileIds={fileIds} fileIds={fileIds}
setFileIds={setFileIds} setFileIds={setFileIds}
@ -95,13 +97,12 @@ const EmptyChatMessageInput = ({
setFiles={setFiles} setFiles={setFiles}
showText showText
/> />
</div>
<div className="flex flex-row items-center space-x-1 sm:space-x-4">
<CopilotToggle setCopilotEnabled={setCopilotEnabled} copilotEnabled={copilotEnabled}/> <CopilotToggle setCopilotEnabled={setCopilotEnabled} copilotEnabled={copilotEnabled}/>
<Optimization {/*<Optimization*/}
optimizationMode={optimizationMode} {/* optimizationMode={optimizationMode}*/}
setOptimizationMode={setOptimizationMode} {/* setOptimizationMode={setOptimizationMode}*/}
/> {/*/>*/}
<button <button
disabled={message.trim().length === 0} disabled={message.trim().length === 0}
className="bg-[#24A0ED] text-white disabled:text-black/50 dark:disabled:text-white/50 disabled:bg-[#e0e0dc] dark:disabled:bg-[#ececec21] hover:bg-opacity-85 transition duration-100 rounded-full p-2" className="bg-[#24A0ED] text-white disabled:text-black/50 dark:disabled:text-white/50 disabled:bg-[#e0e0dc] dark:disabled:bg-[#ececec21] hover:bg-opacity-85 transition duration-100 rounded-full p-2"

View File

@ -111,7 +111,7 @@ const Focus = ({
{focusMode !== 'webSearch' ? ( {focusMode !== 'webSearch' ? (
<div className="flex flex-row items-center space-x-1"> <div className="flex flex-row items-center space-x-1">
{focusModes.find((mode) => mode.key === focusMode)?.icon} {focusModes.find((mode) => mode.key === focusMode)?.icon}
<p className="text-xs font-medium hidden lg:block"> <p className="text-xs font-medium">
{focusModes.find((mode) => mode.key === focusMode)?.title} {focusModes.find((mode) => mode.key === focusMode)?.title}
</p> </p>
<ChevronDown size={20} className="-translate-x-1" /> <ChevronDown size={20} className="-translate-x-1" />
@ -119,7 +119,7 @@ const Focus = ({
) : ( ) : (
<div className="flex flex-row items-center space-x-1"> <div className="flex flex-row items-center space-x-1">
<ScanEye size={20} /> <ScanEye size={20} />
<p className="text-xs font-medium hidden lg:block">Focus</p> <p className="text-xs font-medium">Focus</p>
</div> </div>
)} )}
</PopoverButton> </PopoverButton>