Compare commits
1 Commits
fix/chat-t
...
fix/crypto
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fa9b0456a |
@@ -8,12 +8,25 @@ export interface ChatMessage {
|
|||||||
timestamp: Date;
|
timestamp: Date;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fallback UUID generator for environments where crypto.randomUUID is not available
|
||||||
|
function generateId(): string {
|
||||||
|
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
|
||||||
|
return crypto.randomUUID();
|
||||||
|
}
|
||||||
|
// Fallback: simple UUID v4 implementation
|
||||||
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
||||||
|
const r = (Math.random() * 16) | 0;
|
||||||
|
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
||||||
|
return v.toString(16);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export const chatStore = writable<ChatMessage[]>([]);
|
export const chatStore = writable<ChatMessage[]>([]);
|
||||||
|
|
||||||
export function addMessage(message: Omit<ChatMessage, 'id' | 'timestamp'>) {
|
export function addMessage(message: Omit<ChatMessage, 'id' | 'timestamp'>) {
|
||||||
const newMessage: ChatMessage = {
|
const newMessage: ChatMessage = {
|
||||||
...message,
|
...message,
|
||||||
id: crypto.randomUUID(),
|
id: generateId(),
|
||||||
timestamp: new Date()
|
timestamp: new Date()
|
||||||
};
|
};
|
||||||
chatStore.update(messages => [...messages, newMessage]);
|
chatStore.update(messages => [...messages, newMessage]);
|
||||||
|
|||||||
Reference in New Issue
Block a user