-
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
3f56308
commit 69f15f9
Showing
14 changed files
with
150 additions
and
14 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
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 |
---|---|---|
@@ -0,0 +1,67 @@ | ||
import * as React from "react" | ||
|
||
import { cn } from "@/lib/utils" | ||
import { Button } from "@/components/ui/button" | ||
import { Input } from "@/components/ui/input" | ||
import { Label } from "@/components/ui/label" | ||
|
||
interface UserAuthFormProps extends React.HTMLAttributes<HTMLDivElement> {} | ||
|
||
export function UserAuthForm({ className, ...props }: UserAuthFormProps) { | ||
const [isLoading, setIsLoading] = React.useState<boolean>(false) | ||
|
||
async function onSubmit(event: React.SyntheticEvent) { | ||
event.preventDefault() | ||
setIsLoading(true) | ||
|
||
setTimeout(() => { | ||
setIsLoading(false) | ||
}, 3000) | ||
} | ||
|
||
return ( | ||
<div className={cn("grid gap-6", className)} {...props}> | ||
<form action="/collapsar/auth/login" method="POST"> | ||
<div className="grid gap-5"> | ||
<div className="grid gap-3"> | ||
<Input type="hidden" name="__token" value={window.Collapsar.token} /> | ||
<Label htmlFor="email"> | ||
Email address | ||
</Label> | ||
<Input | ||
id="email" | ||
name="email" | ||
placeholder="" | ||
type="email" | ||
autoCapitalize="none" | ||
autoComplete="email" | ||
autoCorrect="off" | ||
disabled={isLoading} | ||
/> | ||
</div> | ||
<div className="grid gap-3"> | ||
<Label htmlFor="password"> | ||
Password | ||
</Label> | ||
<Input | ||
id="password" | ||
name="password" | ||
placeholder="" | ||
type="password" | ||
autoCapitalize="none" | ||
autoComplete="none" | ||
autoCorrect="off" | ||
disabled={isLoading} | ||
/> | ||
</div> | ||
<Button disabled={isLoading}> | ||
{isLoading && ( | ||
<Icons.spinner className="mr-2 h-4 w-4 animate-spin" /> | ||
)} | ||
Sign In with Email | ||
</Button> | ||
</div> | ||
</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
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
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 |
---|---|---|
@@ -0,0 +1,32 @@ | ||
import { ThemeProvider } from "@/components/theme-provider"; | ||
import { UserAuthForm } from "@/components/user-auth-form"; | ||
|
||
export function Login() { | ||
return ( | ||
<ThemeProvider defaultTheme="dark" storageKey="vite-ui-theme"> | ||
<div className="relative min-h-screen flex flex-col items-center justify-center"> | ||
<div className="absolute top-0 left-1 z-20 p-8 flex items-center text-lg font-medium gap-5"> | ||
<img | ||
className="w-[50px]" | ||
src="https://avatars.githubusercontent.com/u/148298115?s=200&v=4" | ||
alt="" | ||
/> | ||
Collapsar | ||
</div> | ||
|
||
<div className="mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]"> | ||
<div className="flex flex-col space-y-2 text-center"> | ||
<h1 className="text-2xl font-semibold tracking-tight">Sign in</h1> | ||
<p className="text-sm text-muted-foreground"> | ||
{/* Enter your credentials below to continue. */} | ||
</p> | ||
</div> | ||
<UserAuthForm /> | ||
<p className="px-8 text-center text-sm text-muted-foreground"> | ||
|
||
</p> | ||
</div> | ||
</div> | ||
</ThemeProvider> | ||
); | ||
} |
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
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 |
---|---|---|
@@ -0,0 +1,24 @@ | ||
"""A AuthController Module.""" | ||
from masonite.controllers import Controller | ||
from masonite.response import Response | ||
from masonite.request import Request | ||
from masonite.authentication import Auth | ||
|
||
|
||
class AuthController(Controller): | ||
"""AuthController Controller Class.""" | ||
|
||
def login(self, request: Request, response: Response, auth: Auth): | ||
"""Handle login.""" | ||
|
||
if (auth.attempt(request.input("email"), request.input("password"))): | ||
return response.redirect('/collapsar/') | ||
|
||
return response.redirect('/collapsar/auth/login') | ||
|
||
def logout(self, response: Response, auth: Auth): | ||
"""Handle logout.""" | ||
|
||
auth.logout() | ||
|
||
return response.redirect('/collapsar/auth/login') |
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
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
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
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
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 |
---|---|---|
|
@@ -4,5 +4,5 @@ | |
class VerifyCsrfToken(Middleware): | ||
|
||
exempt = [ | ||
'/collapsar/*', | ||
'/collapsar-api/*', | ||
] |
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
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