Updated more of the page

This commit is contained in:
Tiago Ribeiro
2024-09-08 18:39:52 +01:00
parent e49a325074
commit d5769c2cb9
3 changed files with 15 additions and 13 deletions

View File

@@ -17,7 +17,7 @@ import moment from "moment";
interface Props { interface Props {
user: User; user: User;
mutateUser: KeyedMutator<User>; mutateUser: (user: User) => void;
} }
export default function DemographicInformationInput({user, mutateUser}: Props) { export default function DemographicInformationInput({user, mutateUser}: Props) {

View File

@@ -24,7 +24,7 @@ async function get(req: NextApiRequest, res: NextApiResponse) {
const {user} = req.query as {user?: string}; const {user} = req.query as {user?: string};
const q = user ? {user: user} : {}; const q = user ? {user: user} : {};
const sessions = await db.collection("sessions").find<Session>(q).toArray(); const sessions = await db.collection("sessions").find<Session>(q).limit(10).toArray();
res.status(200).json( res.status(200).json(
sessions.filter((x) => { sessions.filter((x) => {
@@ -41,12 +41,8 @@ async function post(req: NextApiRequest, res: NextApiResponse) {
return; return;
} }
const session = req.body; const session = req.body;
await db.collection("sessions").updateOne( await db.collection("sessions").updateOne({id: session.id}, {$set: session}, {upsert: true});
{ id: session.id},
{ $set: session },
{ upsert: true }
);
res.status(200).json({ok: true}); res.status(200).json({ok: true});
} }

View File

@@ -68,18 +68,18 @@ interface Props {
linkedCorporate?: CorporateUser | MasterCorporateUser; 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 [showDiagnostics, setShowDiagnostics] = useState(false);
const [showDemographicInput, setShowDemographicInput] = useState(false); const [showDemographicInput, setShowDemographicInput] = useState(false);
const [selectedScreen, setSelectedScreen] = useState<Type>("admin"); const [selectedScreen, setSelectedScreen] = useState<Type>("admin");
const {user, mutateUser} = useUser({redirectTo: "/login"}); const {mutateUser} = useUser({redirectTo: "/login"});
const router = useRouter(); const router = useRouter();
useEffect(() => { useEffect(() => {
if (user) { 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"); setShowDiagnostics(user.isFirstLogin && user.type === "student");
} }
}, [user]); }, [user]);
@@ -131,7 +131,13 @@ export default function Home({linkedCorporate}: Props) {
<link rel="icon" href="/favicon.ico" /> <link rel="icon" href="/favicon.ico" />
</Head> </Head>
<Layout user={user} navDisabled> <Layout user={user} navDisabled>
<DemographicInformationInput mutateUser={mutateUser} user={user} /> <DemographicInformationInput
mutateUser={(user) => {
setUser(user);
mutateUser(user);
}}
user={user}
/>
</Layout> </Layout>
</> </>
); );