diff --git a/website/src/components/Footer.tsx b/website/src/components/Footer.tsx index cef47793..90fca02f 100644 --- a/website/src/components/Footer.tsx +++ b/website/src/components/Footer.tsx @@ -1,31 +1,75 @@ import Image from "next/image"; import Link from "next/link"; +import { FaGithub, FaDiscord } from "react-icons/fa"; import { Container } from "./Container"; -import { NavLinks } from "./NavLinks"; export function Footer() { return ( ); } diff --git a/website/src/components/Header.tsx b/website/src/components/Header.tsx index c996bb5e..1334fe6b 100644 --- a/website/src/components/Header.tsx +++ b/website/src/components/Header.tsx @@ -6,7 +6,7 @@ import Link from "next/link"; import { signOut, useSession } from "next-auth/react"; import { FaUser, FaSignOutAlt } from "react-icons/fa"; -import { Avatar } from "./Avatar"; +import { UserMenu } from "./UserMenu"; import { Container } from "./Container"; import { NavLinks } from "./NavLinks"; @@ -45,9 +45,9 @@ function AccountButton() { return; } return ( - + ); @@ -113,7 +113,7 @@ export function Header() { )} - + diff --git a/website/src/components/Avatar.tsx b/website/src/components/UserMenu.tsx similarity index 90% rename from website/src/components/Avatar.tsx rename to website/src/components/UserMenu.tsx index d5706946..e3b0d819 100644 --- a/website/src/components/Avatar.tsx +++ b/website/src/components/UserMenu.tsx @@ -5,18 +5,18 @@ import { Popover } from "@headlessui/react"; import { AnimatePresence, motion } from "framer-motion"; import { FaCog, FaSignOutAlt, FaGithub } from "react-icons/fa"; -export function Avatar() { +export function UserMenu() { const { data: session } = useSession(); if (!session) { return <>; } if (session && session.user) { - const displayName = session.user.name || session.user.email; + const email = session.user.email; const accountOptions = [ { name: "Account Settings", - href: "#", + href: "/account", desc: "Account Settings", icon: FaCog, //For future use @@ -35,8 +35,7 @@ export function Avatar() { height="40" className="rounded-full" > -

{displayName}

- {/* Will be changed to username once it is implemented */} +

{session.user.name || session.user.email}

@@ -72,7 +71,7 @@ export function Avatar() { ))} signOut()} + onClick={() => signOut({ callbackUrl: "/" })} >
@@ -93,4 +92,4 @@ export function Avatar() { } } -export default Avatar; +export default UserMenu; diff --git a/website/src/middleware.ts b/website/src/middleware.ts index dc13bf91..8e48d3b7 100644 --- a/website/src/middleware.ts +++ b/website/src/middleware.ts @@ -4,5 +4,5 @@ export { default } from "next-auth/middleware"; * Guards all pages under `/grading` and redirects them to the sign in page. */ export const config = { - matcher: ["/create/:path*", "/evaluate/:path*"], + matcher: ["/create/:path*", "/evaluate/:path*", "/account/:path*"], }; diff --git a/website/src/pages/404.tsx b/website/src/pages/404.tsx index 0b7a5c9b..76fb0b67 100644 --- a/website/src/pages/404.tsx +++ b/website/src/pages/404.tsx @@ -5,41 +5,15 @@ import Head from "next/head"; import Link from "next/link"; export default function Error() { - const { data: session } = useSession(); - - if (!session) { - return ( - <> - - Open Assistant - - -
-
- {"Sorry, the page you're looking for does not exist."} -
-