Type fixes
Browse files
app/components/chat/BaseChat.tsx
CHANGED
|
@@ -343,8 +343,12 @@ export const BaseChat = React.forwardRef<HTMLDivElement, BaseChatProps>(
|
|
| 343 |
|
| 344 |
await importChat(data.description, data.messages);
|
| 345 |
toast.success('Chat imported successfully');
|
| 346 |
-
} catch (error) {
|
| 347 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 348 |
}
|
| 349 |
};
|
| 350 |
reader.onerror = () => toast.error('Failed to read chat file');
|
|
|
|
| 343 |
|
| 344 |
await importChat(data.description, data.messages);
|
| 345 |
toast.success('Chat imported successfully');
|
| 346 |
+
} catch (error: unknown) {
|
| 347 |
+
if(error instanceof Error) {
|
| 348 |
+
toast.error('Failed to parse chat file: ' + error.message);
|
| 349 |
+
} else {
|
| 350 |
+
toast.error('Failed to parse chat file');
|
| 351 |
+
}
|
| 352 |
}
|
| 353 |
};
|
| 354 |
reader.onerror = () => toast.error('Failed to read chat file');
|
app/components/chat/Chat.client.tsx
CHANGED
|
@@ -80,6 +80,7 @@ interface ChatProps {
|
|
| 80 |
storeMessageHistory: (messages: Message[]) => Promise<void>;
|
| 81 |
importChat: (description: string, messages: Message[]) => Promise<void>;
|
| 82 |
exportChat: () => void;
|
|
|
|
| 83 |
}
|
| 84 |
|
| 85 |
export const ChatImpl = memo(
|
|
|
|
| 80 |
storeMessageHistory: (messages: Message[]) => Promise<void>;
|
| 81 |
importChat: (description: string, messages: Message[]) => Promise<void>;
|
| 82 |
exportChat: () => void;
|
| 83 |
+
description?: string;
|
| 84 |
}
|
| 85 |
|
| 86 |
export const ChatImpl = memo(
|
app/components/chat/ExportChatButton.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import WithTooltip from '~/components/ui/Tooltip';
|
|
| 2 |
import { IconButton } from '~/components/ui/IconButton';
|
| 3 |
import React from 'react';
|
| 4 |
|
| 5 |
-
export const ExportChatButton = ({ exportChat }: { exportChat
|
| 6 |
return (
|
| 7 |
<WithTooltip tooltip="Export Chat">
|
| 8 |
<IconButton title="Export Chat" onClick={exportChat}>
|
|
|
|
| 2 |
import { IconButton } from '~/components/ui/IconButton';
|
| 3 |
import React from 'react';
|
| 4 |
|
| 5 |
+
export const ExportChatButton = ({ exportChat }: { exportChat?: () => void }) => {
|
| 6 |
return (
|
| 7 |
<WithTooltip tooltip="Export Chat">
|
| 8 |
<IconButton title="Export Chat" onClick={exportChat}>
|
app/lib/persistence/useChatHistory.ts
CHANGED
|
@@ -131,7 +131,11 @@ export function useChatHistory() {
|
|
| 131 |
window.location.href = `/chat/${newId}`;
|
| 132 |
toast.success('Chat imported successfully');
|
| 133 |
} catch (error) {
|
| 134 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 135 |
}
|
| 136 |
},
|
| 137 |
exportChat: async (id = urlId) => {
|
|
|
|
| 131 |
window.location.href = `/chat/${newId}`;
|
| 132 |
toast.success('Chat imported successfully');
|
| 133 |
} catch (error) {
|
| 134 |
+
if (error instanceof Error) {
|
| 135 |
+
toast.error('Failed to import chat: ' + error.message);
|
| 136 |
+
} else {
|
| 137 |
+
toast.error('Failed to import chat');
|
| 138 |
+
}
|
| 139 |
}
|
| 140 |
},
|
| 141 |
exportChat: async (id = urlId) => {
|