diff --git a/website/src/components/Header/UserMenu.tsx b/website/src/components/Header/UserMenu.tsx index 2e06606c..c5ca92bd 100644 --- a/website/src/components/Header/UserMenu.tsx +++ b/website/src/components/Header/UserMenu.tsx @@ -2,6 +2,7 @@ import { Box, Link, Text, useColorModeValue } from "@chakra-ui/react"; import { Popover } from "@headlessui/react"; import { AnimatePresence, motion } from "framer-motion"; import Image from "next/image"; +import NextLink from "next/link"; import { signOut, useSession } from "next-auth/react"; import React from "react"; import { FiLayout, FiLogOut, FiSettings } from "react-icons/fi"; @@ -77,6 +78,7 @@ export function UserMenu() { {accountOptions.map((item) => ( { const [messages, setMessages] = useState([]); const [userMessages, setUserMessages] = useState([]); - const { isLoading: isLoadingAll } = useSWRImmutable("/api/messages", fetcher, { + const { isLoading: isLoadingAll, mutate: mutateAll } = useSWRImmutable("/api/messages", fetcher, { onSuccess: (data) => { setMessages(data); }, }); - const { isLoading: isLoadingUser } = useSWRImmutable(`/api/messages/user`, fetcher, { + const { isLoading: isLoadingUser, mutate: mutateUser } = useSWRImmutable(`/api/messages/user`, fetcher, { onSuccess: (data) => { setUserMessages(data); }, }); + useEffect(() => { + if (messages.length == 0) { + mutateAll(); + } + if (userMessages.length == 0) { + mutateUser(); + } + }, [messages, userMessages]); + return ( <>