Private message caching

This commit is contained in:
2026-01-09 20:26:05 +01:00
parent 11fba61b60
commit 8df66a2a94
3 changed files with 19 additions and 0 deletions
+1
View File
@@ -83,6 +83,7 @@ export default function CreateAccount() {
Cookies.set("verify_temp_password", password); Cookies.set("verify_temp_password", password);
router.push(`/verify`); router.push(`/verify`);
Cookies.set("servers", ""); Cookies.set("servers", "");
localStorage.clear();
} else { } else {
setFeedback({ message: response.message, kind: "error" }); setFeedback({ message: response.message, kind: "error" });
} }
+1
View File
@@ -30,6 +30,7 @@ export default function Login() {
}); });
Cookies.set("servers", ""); Cookies.set("servers", "");
localStorage.clear();
router.push("/chat"); router.push("/chat");
} catch (err: any) { } catch (err: any) {
setFeedback({ setFeedback({
+17
View File
@@ -27,6 +27,7 @@ export default function useApp(): App {
>({}); >({});
const [speaking, setSpeaking] = useState<Record<number, number>>({}); const [speaking, setSpeaking] = useState<Record<number, number>>({});
const [pmsLoaded, setPmsLoaded] = useState(false);
useEffect(() => { useEffect(() => {
const stored = Cookies.get("servers"); const stored = Cookies.get("servers");
@@ -42,6 +43,22 @@ export default function useApp(): App {
.catch(toast.error); .catch(toast.error);
}, []); }, []);
useEffect(() => {
const json = localStorage.getItem("privateMessages");
if (json) {
privateMessages.setMessages(JSON.parse(json));
}
setPmsLoaded(true);
}, []);
useEffect(() => {
if (!pmsLoaded) return;
localStorage.setItem(
"privateMessages",
JSON.stringify(privateMessages.messages)
);
}, [privateMessages.messages, pmsLoaded]);
return { return {
speaking, speaking,
setSpeaking, setSpeaking,