feat: added message persistance

This commit is contained in:
Dan Ditomaso
2025-03-25 15:23:24 -04:00
parent 0d6c5878fc
commit ed2ab36ed4
12 changed files with 3504 additions and 527 deletions
@@ -1,10 +1,10 @@
import { type MessageWithState, useDevice } from "@core/stores/deviceStore.ts";
import { Message } from "@components/PageComponents/Messages/Message.tsx";
import { MessageItem } from "@components/PageComponents/Messages/MessageItem.tsx";
import type { Message as Message } from "@core/stores/messageStore.ts";
import { InboxIcon } from "lucide-react";
import { useCallback, useEffect, useRef } from "react";
export interface ChannelChatProps {
messages?: MessageWithState[];
messages?: Message[];
}
const EmptyState = () => (
@@ -17,8 +17,6 @@ const EmptyState = () => (
export const ChannelChat = ({
messages = [],
}: ChannelChatProps) => {
const { nodes } = useDevice();
const messagesEndRef = useRef<HTMLDivElement>(null);
const scrollContainerRef = useRef<HTMLDivElement>(null);
@@ -59,12 +57,12 @@ export const ChannelChat = ({
>
<div className="flex flex-col justify-end min-h-full">
{messages?.map((message, index) => (
<Message
key={message.id}
<MessageItem
key={message.messageId + index}
message={message}
sender={nodes.get(message.from)}
lastMsgSameUser={
index > 0 && messages[index - 1].from === message.from
index > 0 &&
messages[index - 1].from === message.from
}
/>
))}