Private message caching
This commit is contained in:
@@ -83,6 +83,7 @@ export default function CreateAccount() {
|
||||
Cookies.set("verify_temp_password", password);
|
||||
router.push(`/verify`);
|
||||
Cookies.set("servers", "");
|
||||
localStorage.clear();
|
||||
} else {
|
||||
setFeedback({ message: response.message, kind: "error" });
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ export default function Login() {
|
||||
});
|
||||
|
||||
Cookies.set("servers", "");
|
||||
localStorage.clear();
|
||||
router.push("/chat");
|
||||
} catch (err: any) {
|
||||
setFeedback({
|
||||
|
||||
@@ -27,6 +27,7 @@ export default function useApp(): App {
|
||||
>({});
|
||||
|
||||
const [speaking, setSpeaking] = useState<Record<number, number>>({});
|
||||
const [pmsLoaded, setPmsLoaded] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const stored = Cookies.get("servers");
|
||||
@@ -42,6 +43,22 @@ export default function useApp(): App {
|
||||
.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 {
|
||||
speaking,
|
||||
setSpeaking,
|
||||
|
||||
Reference in New Issue
Block a user