Message chunk loading test

This commit is contained in:
2025-12-22 19:55:05 +01:00
parent eeae53bd01
commit f92449c493
12 changed files with 61 additions and 147 deletions
+1 -2
View File
@@ -33,8 +33,7 @@ export default function Login() {
message: "Login successful! Redirecting...",
});
// small delay to show feedback before redirect
setTimeout(() => router.push("/chat"), 800);
router.push("/chat");
} catch (err: any) {
setFeedback({
kind: "error",
+1 -1
View File
@@ -37,7 +37,7 @@ export default function DMs() {
app={app}
channelName={target?.display_name || id}
channelIcon={target?.avatar_url || "_"}
messages={app.messages.filter(
messages={app.privateMessages.filter(
(m) =>
(m.channel_id === id && m.from === app.profile?.id) ||
(m.from === id && m.channel_id === app.profile?.id)
+1 -1
View File
@@ -52,7 +52,7 @@ export default function ChatHub() {
channels: [],
},
];
const recentActivity = app.messages.slice(0, 3);
const recentActivity = app.privateMessages.slice(0, 3);
return (
<AppLayout app={app}>
+7 -11
View File
@@ -6,7 +6,7 @@ import MessageBox from "@/components/channel/MessageBox";
import AppLayout from "@/components/app/AppLayout";
import { Server as ServerType } from "@/types/types";
import auth from "@/lib/auth";
import { useServerMessages } from "@/hooks/use-messages";
import useMessages from "@/hooks/use-messages";
import useApp from "@/hooks/use-app";
import { useEffectOnceWhenReady } from "@/hooks/use-once";
import ChannelView from "@/components/channel/ChannelView";
@@ -16,25 +16,19 @@ export default function Server() {
const searchParams = useSearchParams();
const serverRef = useRef<WebSocket | null>(null);
const app = useApp();
const { messages, addMessage, editMessage, deleteMessage } =
useServerMessages();
const messageStore = useMessages();
useEffectOnceWhenReady(
() => {
if (!ip) return;
const msgs = messages[ip];
auth({
id: ip,
wsRef: serverRef,
setServer: app.setServer,
lastMessage: msgs ? msgs[msgs.length - 1]?.id : undefined,
addMessage: (m) => addMessage(ip, m),
editMessage: (msg_id, contents) => editMessage(ip, msg_id, contents),
deleteMessage: (msg_id) => deleteMessage(ip, msg_id),
messageStore: messageStore,
});
},
[ip, messages],
[ip, messageStore.messages],
[undefined, (v) => v]
);
@@ -55,7 +49,9 @@ export default function Server() {
<AppLayout app={app}>
<ChannelView
app={app}
messages={messages}
messages={messageStore.messages.filter(
(m) => m.channel_id === app.currentChannel?.id
)}
ip={ip}
serverRef={serverRef}
/>