mirror of
https://github.com/Fayorg/calendrier-avant.git
synced 2026-05-27 17:18:38 +02:00
add: using nextauth WIP
This commit is contained in:
6
app/api/auth/[...nextauth]/route.ts
Normal file
6
app/api/auth/[...nextauth]/route.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import NextAuth from "next-auth";
|
||||
|
||||
import { authOptions } from "@lib/authenticate";
|
||||
|
||||
const handler = NextAuth(authOptions);
|
||||
export { handler as GET, handler as POST };
|
||||
@@ -1,5 +1,6 @@
|
||||
import prisma from '@/lib/prisma';
|
||||
import ActiveCard from './ActiveCard';
|
||||
import { getAuthServerSession } from '@/lib/authenticate';
|
||||
|
||||
export default async function Dashboard() {
|
||||
const tests = await prisma.test.findMany({ select: { isActive: true, isPassed: true, id: true, testOf: { select: { id: true, firstName: true, lastName: true, isTeacher: true } } } });
|
||||
@@ -7,6 +8,10 @@ export default async function Dashboard() {
|
||||
const activeTests = tests.filter((test) => test.isActive);
|
||||
const passedTests = tests.filter((test) => test.isPassed);
|
||||
|
||||
const authSession = await getAuthServerSession();
|
||||
|
||||
console.log(authSession);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h1>Dashboard</h1>
|
||||
|
||||
35
app/page.tsx
35
app/page.tsx
@@ -1,14 +1,15 @@
|
||||
'use client';
|
||||
|
||||
import { Poppins } from 'next/font/google'
|
||||
import { Check } from 'lucide-react'
|
||||
import { Poppins } from 'next/font/google';
|
||||
import { Check } from 'lucide-react';
|
||||
import { useState, useEffect } from 'react';
|
||||
import { useRouter } from 'next/navigation';
|
||||
|
||||
import logo from '../images/logo.svg';
|
||||
import Image from "next/image";
|
||||
import {Input} from "@components/ui/input";
|
||||
import {white} from "next/dist/lib/picocolors";
|
||||
import Image from 'next/image';
|
||||
import { Input } from '@components/ui/input';
|
||||
import { white } from 'next/dist/lib/picocolors';
|
||||
import { signIn } from 'next-auth/react';
|
||||
|
||||
export default function Home() {
|
||||
const [password, setPassword] = useState('');
|
||||
@@ -20,21 +21,27 @@ export default function Home() {
|
||||
}
|
||||
}, [router]);
|
||||
|
||||
function handleSubmit(event: React.FormEvent<HTMLFormElement>) {
|
||||
async function handleSubmit(event: React.FormEvent<HTMLFormElement>) {
|
||||
event.preventDefault();
|
||||
|
||||
localStorage.setItem('@password', password);
|
||||
router.push('/play');
|
||||
// localStorage.setItem('@password', password);
|
||||
// router.push('/play');
|
||||
|
||||
console.log('Trying to sign in');
|
||||
const result = await signIn('credentials', {
|
||||
key: password,
|
||||
callbackUrl: '/play',
|
||||
});
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={"w-full h-screen text-[#F0F0F0] bg-black p-12 flex flex-col items-center justify-center gap-y-28"}>
|
||||
<Image src={logo} alt={"Logo"} width={100} height={200} className={"mx-auto w-full md:w-[400px]"}/>
|
||||
<form onSubmit={handleSubmit} className={"flex flex-row gap-4 w-full md:w-[400px]"}>
|
||||
<div className={'w-full h-screen text-[#F0F0F0] bg-black p-12 flex flex-col items-center justify-center gap-y-28'}>
|
||||
<Image src={logo} alt={'Logo'} width={100} height={200} className={'mx-auto w-full md:w-[400px]'} />
|
||||
<form onSubmit={handleSubmit} className={'flex flex-row gap-4 w-full md:w-[400px]'}>
|
||||
<Input type="password" placeholder="Mot de passe" id="password" name="password" value={password} onChange={(e) => setPassword(e.target.value)}></Input>
|
||||
<input type="submit" value="Submit" id="submit" className={"hidden"} />
|
||||
<label htmlFor="submit" className={"w-[54px] h-[54px] bg-secondary rounded-[20px] contents-none grid place-content-center"}>
|
||||
<Check width={24} height={24} color={"white"}/>
|
||||
<input type="submit" value="Submit" id="submit" className={'hidden'} />
|
||||
<label htmlFor="submit" className={'w-[54px] h-[54px] bg-secondary rounded-[20px] contents-none grid place-content-center'}>
|
||||
<Check width={24} height={24} color={'white'} />
|
||||
</label>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user