diff --git a/website/src/pages/api/messages.ts b/website/src/pages/api/messages.ts index a6a6d981..53b529b5 100644 --- a/website/src/pages/api/messages.ts +++ b/website/src/pages/api/messages.ts @@ -1,34 +1,32 @@ import { boolean } from "boolean"; import { getToken } from "next-auth/jwt"; - const handler = async (req, res) => { - const token = await getToken({ req }); + const token = await getToken({ req }); - // Return nothing if the user isn't registered. - if (!token) { - res.status(401).end(); - return; - } + // Return nothing if the user isn't registered. + if (!token) { + res.status(401).end(); + return; + } - //TODO: add params if needed - const reqParams = req.query; - console.log(reqParams); - const params = new URLSearchParams({ - username: boolean(reqParams.allUsers)? "" : token.sub, - }); -console.log(params); - const messagesRes = await fetch(`${process.env.FASTAPI_URL}/api/v1/messages?${params}`, { - method: "GET", - headers: { - "X-API-Key": process.env.FASTAPI_KEY, - "Content-Type": "application/json", - }, - },); - const messages = await messagesRes.json(); + //TODO: add params if needed + const reqParams = req.query; + const params = new URLSearchParams({ + username: boolean(reqParams.allUsers) ? "" : token.sub, + }); - // Send recieved messages to the client. - res.status(200).json(messages); -} + const messagesRes = await fetch(`${process.env.FASTAPI_URL}/api/v1/messages?${params}`, { + method: "GET", + headers: { + "X-API-Key": process.env.FASTAPI_KEY, + "Content-Type": "application/json", + }, + }); + const messages = await messagesRes.json(); + + // Send recieved messages to the client. + res.status(200).json(messages); +}; export default handler; diff --git a/website/src/pages/messages.tsx b/website/src/pages/messages.tsx index f8512ae3..7509922d 100644 --- a/website/src/pages/messages.tsx +++ b/website/src/pages/messages.tsx @@ -1,4 +1,16 @@ -import { Box, CircularProgress, HStack, Image, SimpleGrid, Stack, StackDivider, Text, useColorMode, useColorModeValue } from "@chakra-ui/react"; +import { + Avatar, + Box, + CircularProgress, + HStack, + Image, + SimpleGrid, + Stack, + StackDivider, + Text, + useColorMode, + useColorModeValue, +} from "@chakra-ui/react"; import Head from "next/head"; import { useState } from "react"; import useSWRImmutable from "swr/immutable"; @@ -10,97 +22,98 @@ import { Header } from "src/components/Header"; import { colors } from "styles/Theme/colors"; const MessageTable = ({ messages, isLoading }) => { - const backgroundColor = useColorModeValue("white", "gray.700"); - const accentColor = useColorModeValue("gray.200", "gray.900"); + const backgroundColor = useColorModeValue("white", "gray.700"); + const accentColor = useColorModeValue("gray.200", "gray.900"); - return ( - - {isLoading ? - : - } spacing="4"> - {messages.map((item, idx) => - - )} - - } - - ); -} + return ( + + {isLoading ? ( + + ) : ( + } spacing="4"> + {messages.map((item, idx) => ( + + ))} + + )} + + ); +}; const MesssageTableEntry = ({ item, idx }) => { - const bgColor = useColorModeValue(idx % 2 === 0 ? "bg-slate-800" : "bg-black", "bg-sky-900"); + const bgColor = useColorModeValue(idx % 2 === 0 ? "bg-slate-800" : "bg-black", "bg-sky-900"); - return ( - - - {item.isAssistant ? - Profile Picture - : Profile Picture} - - {item.text} - - - - ) -} + return ( + + + + {item.text} + + + ); +}; const MessagesDashboard = () => { - const bgColor = useColorModeValue(colors.light.bg, colors.dark.bg); + const bgColor = useColorModeValue(colors.light.bg, colors.dark.bg); - const [messages, setMessages] = useState([]); - const [userMessages, setUserMessages] = useState([]); + const [messages, setMessages] = useState([]); + const [userMessages, setUserMessages] = useState([]); - const { isLoading: isLoadingAll } = useSWRImmutable("/api/messages?allUsers=true", fetcher, { - onSuccess: (data) => { - setMessages(data); - }, - }); + const { isLoading: isLoadingAll } = useSWRImmutable("/api/messages?allUsers=true", fetcher, { + onSuccess: (data) => { + setMessages(data); + }, + }); - const { isLoading: isLoadingUser } = useSWRImmutable(`/api/messages`, fetcher, { - onSuccess: (data) => { - setUserMessages(data); - }, - }); + const { isLoading: isLoadingUser } = useSWRImmutable(`/api/messages`, fetcher, { + onSuccess: (data) => { + setUserMessages(data); + }, + }); - return ( - <> - - Messages - Open Assistant - - - - - - - - - - - Most recent messages - - - - Your most recent messages - - - - - - - - ); + return ( + <> + + Messages - Open Assistant + + + + + + + + + + + Most recent messages + + + + Your most recent messages + + + + + + + + ); }; MessagesDashboard.getLayout = (page) => ( -
-
- {page} -
+
+
+ {page} +
); export default MessagesDashboard;