import React, { useState, useEffect } from 'react'; import { Scrollable } from '../Components/Scrollable'; import { BackstoryPageProps } from '../Components/BackstoryTab'; import { Document } from '../Components/Document'; const AboutPage = (props: BackstoryPageProps) => { const { sessionId, submitQuery, setSnack, route, setRoute } = props; const [subRoute, setSubRoute] = useState(""); const [page, setPage] = useState(""); useEffect(() => { if (route === undefined) { return; } const parts = route.split("/"); setPage(parts[0]); parts.shift(); setSubRoute(parts.join("/")); }, [route]); useEffect(() => { console.log(`AboutPage: ${page} - sub-route - ${subRoute}`); }, [page, subRoute]); useEffect(() => { if (route) { const parts = route.split("/"); if (parts[0] !== page) { parts.shift(); const incomingSubRoute = parts.join("/"); if (incomingSubRoute !== subRoute) { setSubRoute(incomingSubRoute); } } } else if (subRoute) { setRoute && setRoute(subRoute); } }, [page, route, setRoute, subRoute]); useEffect(() => { let newRoute = page; if (subRoute) { newRoute += '/' + subRoute; } if (route !== newRoute && setRoute) { setRoute(newRoute); } }, [route, page, subRoute, setRoute]); const onDocumentExpand = (document: string, open: boolean) => { console.log("Document expanded:", document, open); if (open) { setSubRoute(""); setPage(document); } else { setSubRoute(""); setPage(""); } } return { onDocumentExpand('about', open); }, expanded: page === 'about', sessionId, submitQuery: submitQuery, setSnack, }} /> { onDocumentExpand('beta', open); }, expanded: page === 'beta', sessionId, submitQuery: submitQuery, setSnack, }} /> { onDocumentExpand('resume-generation', open); }, expanded: page === 'resume-generation', sessionId, submitQuery: submitQuery, setSnack, }} /> { onDocumentExpand('about-app', open); }, expanded: page === 'about-app', sessionId, submitQuery: submitQuery, setSnack, }} /> ; }; export { AboutPage };