From d5769c2cb9e6f116c3d17da576ed963623af9865 Mon Sep 17 00:00:00 2001 From: Tiago Ribeiro Date: Sun, 8 Sep 2024 18:39:52 +0100 Subject: [PATCH] Updated more of the page --- src/components/DemographicInformationInput.tsx | 2 +- src/pages/api/sessions/index.ts | 10 +++------- src/pages/index.tsx | 16 +++++++++++----- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/components/DemographicInformationInput.tsx b/src/components/DemographicInformationInput.tsx index ce647f4c..3f32eb49 100644 --- a/src/components/DemographicInformationInput.tsx +++ b/src/components/DemographicInformationInput.tsx @@ -17,7 +17,7 @@ import moment from "moment"; interface Props { user: User; - mutateUser: KeyedMutator; + mutateUser: (user: User) => void; } export default function DemographicInformationInput({user, mutateUser}: Props) { diff --git a/src/pages/api/sessions/index.ts b/src/pages/api/sessions/index.ts index 1e7c83f1..267ae57b 100644 --- a/src/pages/api/sessions/index.ts +++ b/src/pages/api/sessions/index.ts @@ -24,7 +24,7 @@ async function get(req: NextApiRequest, res: NextApiResponse) { const {user} = req.query as {user?: string}; const q = user ? {user: user} : {}; - const sessions = await db.collection("sessions").find(q).toArray(); + const sessions = await db.collection("sessions").find(q).limit(10).toArray(); res.status(200).json( sessions.filter((x) => { @@ -41,12 +41,8 @@ async function post(req: NextApiRequest, res: NextApiResponse) { return; } const session = req.body; - - await db.collection("sessions").updateOne( - { id: session.id}, - { $set: session }, - { upsert: true } - ); + + await db.collection("sessions").updateOne({id: session.id}, {$set: session}, {upsert: true}); res.status(200).json({ok: true}); } diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 153bb52c..6a4f9ca4 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -68,18 +68,18 @@ interface Props { linkedCorporate?: CorporateUser | MasterCorporateUser; } -export default function Home({linkedCorporate}: Props) { +export default function Home({user: propsUser, linkedCorporate}: Props) { + const [user, setUser] = useState(propsUser); const [showDiagnostics, setShowDiagnostics] = useState(false); const [showDemographicInput, setShowDemographicInput] = useState(false); const [selectedScreen, setSelectedScreen] = useState("admin"); - const {user, mutateUser} = useUser({redirectTo: "/login"}); + const {mutateUser} = useUser({redirectTo: "/login"}); const router = useRouter(); useEffect(() => { if (user) { - console.log(user.demographicInformation); - setShowDemographicInput(!user.demographicInformation || !user.demographicInformation.country || !user.demographicInformation.phone); + // setShowDemographicInput(!user.demographicInformation || !user.demographicInformation.country || !user.demographicInformation.phone); setShowDiagnostics(user.isFirstLogin && user.type === "student"); } }, [user]); @@ -131,7 +131,13 @@ export default function Home({linkedCorporate}: Props) { - + { + setUser(user); + mutateUser(user); + }} + user={user} + /> );