import Head from 'next/head'; import Link from 'next/link'; import { useRef, useState } from 'react'; import prisma from '../../lib/prisma'; import Modal from '../../components/Modal'; import Shell from '../../components/Shell'; import SettingsShell from '../../components/Settings'; import { signIn, useSession, getSession } from 'next-auth/client'; export default function Settings(props) { const [ session, loading ] = useSession(); const [successModalOpen, setSuccessModalOpen] = useState(false); const oldPasswordRef = useRef(); const newPasswordRef = useRef(); if (loading) { return

Loading...

; } const closeSuccessModal = () => { setSuccessModalOpen(false); } async function changePasswordHandler(event) { event.preventDefault(); const enteredOldPassword = oldPasswordRef.current.value; const enteredNewPassword = newPasswordRef.current.value; // TODO: Add validation const response = await fetch('/api/auth/changepw', { method: 'PATCH', body: JSON.stringify({oldPassword: enteredOldPassword, newPassword: enteredNewPassword}), headers: { 'Content-Type': 'application/json' } }); setSuccessModalOpen(true); } return( Change Password | Calendso

Change Password

Change the password for your Calendso account.


); } export async function getServerSideProps(context) { const session = await getSession(context); if (!session) { return { redirect: { permanent: false, destination: '/auth/login' } }; } const user = await prisma.user.findFirst({ where: { email: session.user.email, }, select: { id: true, username: true, name: true } }); return { props: {user}, // will be passed to the page component as props } }