added prompt url params
Browse files
app/components/chat/Chat.client.tsx
CHANGED
@@ -20,6 +20,7 @@ import Cookies from 'js-cookie';
|
|
20 |
import { debounce } from '~/utils/debounce';
|
21 |
import { useSettings } from '~/lib/hooks/useSettings';
|
22 |
import type { ProviderInfo } from '~/types/model';
|
|
|
23 |
|
24 |
const toastAnimation = cssTransition({
|
25 |
enter: 'animated fadeInRight',
|
@@ -93,6 +94,7 @@ export const ChatImpl = memo(
|
|
93 |
const [uploadedFiles, setUploadedFiles] = useState<File[]>([]); // Move here
|
94 |
const [imageDataList, setImageDataList] = useState<string[]>([]); // Move here
|
95 |
const { activeProviders } = useSettings();
|
|
|
96 |
|
97 |
const [model, setModel] = useState(() => {
|
98 |
const savedModel = Cookies.get('selectedModel');
|
@@ -126,6 +128,24 @@ export const ChatImpl = memo(
|
|
126 |
initialMessages,
|
127 |
initialInput: Cookies.get(PROMPT_COOKIE_KEY) || '',
|
128 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|
130 |
const { enhancingPrompt, promptEnhanced, enhancePrompt, resetEnhancer } = usePromptEnhancer();
|
131 |
const { parsedMessages, parseMessages } = useMessageParser();
|
|
|
20 |
import { debounce } from '~/utils/debounce';
|
21 |
import { useSettings } from '~/lib/hooks/useSettings';
|
22 |
import type { ProviderInfo } from '~/types/model';
|
23 |
+
import { useSearchParams } from '@remix-run/react';
|
24 |
|
25 |
const toastAnimation = cssTransition({
|
26 |
enter: 'animated fadeInRight',
|
|
|
94 |
const [uploadedFiles, setUploadedFiles] = useState<File[]>([]); // Move here
|
95 |
const [imageDataList, setImageDataList] = useState<string[]>([]); // Move here
|
96 |
const { activeProviders } = useSettings();
|
97 |
+
const [searchParams, setSearchParams] = useSearchParams();
|
98 |
|
99 |
const [model, setModel] = useState(() => {
|
100 |
const savedModel = Cookies.get('selectedModel');
|
|
|
128 |
initialMessages,
|
129 |
initialInput: Cookies.get(PROMPT_COOKIE_KEY) || '',
|
130 |
});
|
131 |
+
useEffect(() => {
|
132 |
+
const prompt = searchParams.get('prompt');
|
133 |
+
console.log(prompt, searchParams, model, provider);
|
134 |
+
|
135 |
+
if (prompt) {
|
136 |
+
setSearchParams({});
|
137 |
+
runAnimation();
|
138 |
+
append({
|
139 |
+
role: 'user',
|
140 |
+
content: [
|
141 |
+
{
|
142 |
+
type: 'text',
|
143 |
+
text: `[Model: ${model}]\n\n[Provider: ${provider.name}]\n\n${prompt}`,
|
144 |
+
},
|
145 |
+
] as any, // Type assertion to bypass compiler check
|
146 |
+
});
|
147 |
+
}
|
148 |
+
}, [model, provider, searchParams]);
|
149 |
|
150 |
const { enhancingPrompt, promptEnhanced, enhancePrompt, resetEnhancer } = usePromptEnhancer();
|
151 |
const { parsedMessages, parseMessages } = useMessageParser();
|