import { useRouter } from "next/router"; import React, { ReactElement, useEffect } from "react"; import Conversations from "../../components/MainTabsOrPages/Conversations"; import Done from "../../components/MainTabsOrPages/Done"; import Drawer from "../../components/MainTabsOrPages/Drawer"; import Header from "../../components/MainTabsOrPages/Header"; import Later from "../../components/MainTabsOrPages/Later"; import Sidebar from "../../components/MainTabsOrPages/Sidebar"; import { CSSTransition, SwitchTransition } from "react-transition-group"; import CreateConversation from "../../components/FullPageExperiences/CreateConversation.tsx"; import { FaArrowLeft } from "react-icons/fa"; import KeyboardShortcutHandler from "../../components/MainTabsOrPages/KeyboardShortcutHandler"; import SearchResults from "../../components/FullPageExperiences/SearchResults"; import { QueryRoutes, Routes } from "@nirvana/common/helpers/routes"; import ViewConvo from "../../components/MainTabsOrPages/ViewConvo"; import MainRecoilDataHandler from "../../recoil/MainRecoilDataHandler"; import { useAuth } from "../../contexts/authContext"; export default function Me() { // TODO: if not authenticated, take user away const { currUser } = useAuth(); useEffect(() => { if (!currUser) { console.log("not authenticated...routing from dashboard to teams home"); router.push("/teams/login"); return; } }, []); // figure out what content to render from here const router = useRouter(); const currPage = router.query.page; const currConvo = router.query.convoId; /** full page replacements: clean full page * 1. search page: * 2. view a conversation * 3. create conversation * 4. profile edit? nah not needed...just keep current separate page */ var fullCleanPageContent: ReactElement = undefined; if (currPage === QueryRoutes.search) { fullCleanPageContent = ; } else if (currPage === QueryRoutes.createConvo) { fullCleanPageContent = ; } else if (currConvo) { fullCleanPageContent = ; } if (fullCleanPageContent) { return (
ESC
{fullCleanPageContent}
); } function getCurrentContent() { switch (currPage) { case QueryRoutes.convos: return ; case QueryRoutes.later: return ; case QueryRoutes.done: return ; case QueryRoutes.drawer: return ; default: return <>; } } return (
{getCurrentContent()}
); } Me.getLayout = function (content: ReactElement) { return (
{content}
); };