-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
cb3c61b
commit 87345d6
Showing
3 changed files
with
0 additions
and
152 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +0,0 @@ | ||
import { redirect } from 'next/navigation'; | ||
import { createClient } from '@/utils/supabase/server'; | ||
|
||
import { cookies } from 'next/headers'; | ||
export default async function Dashboard() { | ||
const go = async () => { | ||
'use server'; | ||
const cookieStore = cookies(); | ||
const client = createClient(cookieStore); | ||
client.auth.signOut(); | ||
return redirect('/'); | ||
}; | ||
return ( | ||
<form action={go}> | ||
<button>Sign out</button> | ||
</form> | ||
); | ||
} | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,115 +0,0 @@ | ||
import Link from 'next/link'; | ||
import { headers, cookies } from 'next/headers'; | ||
import { createClient } from '@/utils/supabase/server'; | ||
import { redirect } from 'next/navigation'; | ||
|
||
export default function Login({ searchParams }: { searchParams: { message: string } }) { | ||
const signIn = async (formData: FormData) => { | ||
'use server'; | ||
|
||
const email = formData.get('email') as string; | ||
const password = formData.get('password') as string; | ||
const cookieStore = cookies(); | ||
const supabase = createClient(cookieStore); | ||
|
||
const { error } = await supabase.auth.signInWithPassword({ | ||
email, | ||
password, | ||
}); | ||
|
||
if (error) { | ||
return redirect('/login?message=Could not authenticate user'); | ||
} | ||
|
||
return redirect('/'); | ||
}; | ||
|
||
const signUp = async (formData: FormData) => { | ||
'use server'; | ||
|
||
const origin = headers().get('origin'); | ||
const email = formData.get('email') as string; | ||
const password = formData.get('password') as string; | ||
const cookieStore = cookies(); | ||
const supabase = createClient(cookieStore); | ||
|
||
const { error } = await supabase.auth.signUp({ | ||
email, | ||
password, | ||
options: { | ||
emailRedirectTo: `${origin}/auth/callback`, | ||
}, | ||
}); | ||
|
||
console.log(error); | ||
|
||
if (error) { | ||
console.error(error); | ||
return redirect('/login?message=Could not authenticate user'); | ||
} | ||
|
||
return redirect('/login?message=Check email to continue sign in process'); | ||
}; | ||
|
||
return ( | ||
<div className="flex-1 flex flex-col w-full px-8 sm:max-w-md justify-center gap-2"> | ||
<Link | ||
href="/" | ||
className="absolute left-8 top-8 py-2 px-4 rounded-md no-underline text-foreground bg-btn-background hover:bg-btn-background-hover flex items-center group text-sm" | ||
> | ||
<svg | ||
xmlns="http://www.w3.org/2000/svg" | ||
width="24" | ||
height="24" | ||
viewBox="0 0 24 24" | ||
fill="none" | ||
stroke="currentColor" | ||
strokeWidth="2" | ||
strokeLinecap="round" | ||
strokeLinejoin="round" | ||
className="mr-2 h-4 w-4 transition-transform group-hover:-translate-x-1" | ||
> | ||
<polyline points="15 18 9 12 15 6" /> | ||
</svg>{' '} | ||
Back | ||
</Link> | ||
|
||
<form | ||
className="animate-in flex-1 flex flex-col w-full justify-center gap-2 text-foreground" | ||
action={signIn} | ||
> | ||
<label className="text-md" htmlFor="email"> | ||
</label> | ||
<input | ||
className="rounded-md px-4 py-2 bg-inherit border mb-6" | ||
name="email" | ||
placeholder="you@example.com" | ||
required | ||
/> | ||
<label className="text-md" htmlFor="password"> | ||
Password | ||
</label> | ||
<input | ||
className="rounded-md px-4 py-2 bg-inherit border mb-6" | ||
type="password" | ||
name="password" | ||
placeholder="••••••••" | ||
required | ||
/> | ||
<button className="bg-green-700 rounded-md px-4 py-2 text-foreground mb-2">Sign In</button> | ||
<button | ||
formAction={signUp} | ||
className="border border-foreground/20 rounded-md px-4 py-2 text-foreground mb-2" | ||
> | ||
Sign Up | ||
</button> | ||
{searchParams?.message && ( | ||
<p className="mt-4 p-4 bg-foreground/10 text-foreground text-center"> | ||
{searchParams.message} | ||
</p> | ||
)} | ||
</form> | ||
</div> | ||
); | ||
} | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +0,0 @@ | ||
import { createClient } from '@/utils/supabase/server'; | ||
import Link from 'next/link'; | ||
|
||
import { cookies } from 'next/headers'; | ||
import { redirect } from 'next/navigation'; | ||
|
||
export default async function Index() { | ||
const cookieStore = cookies(); | ||
const client = createClient(cookieStore); | ||
if ((await client.auth.getUser()).data.user == null) { | ||
return ( | ||
<> | ||
<h1>Scouting app</h1> | ||
<Link href="/login">Login</Link> | ||
</> | ||
); | ||
} | ||
return redirect('/dashboard'); | ||
} | ||