Added Auth Page #5

Merged
victor.ebuka merged 1 commits from auth_pages into master-bootstrap 2024-12-05 18:40:19 +00:00
9 changed files with 216 additions and 14 deletions
+2
View File
@@ -15,7 +15,9 @@ function App() {
<div className="">
<Routes>
<Route path={siteLinks.home} element={<LoginPage />} />
<Route path={siteLinks.login} element={<LoginPage />} />
<Route path={siteLinks.signup} element={<SignupPage />} />
<Route path={siteLinks.forgetpwd} element={<ForgetpwdPage />} />
<Route path={siteLinks.error} element={<ForgetpwdPage />} />
{/* protected routes */}
+75
View File
@@ -0,0 +1,75 @@
import React, { useEffect, useState } from 'react'
import LoginImg from '../../assets/bg/login.svg'
import BSMainLoader from '../loaders/BSMainLoader'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
export default function Forgetpwd2() {
const [loading, setLoading] = useState(true)
const navigate = useNavigate()
useEffect(()=>{
const timer = setTimeout(()=>{
setLoading(false)
},1000)
return () => clearTimeout(timer)
},[])
return (
<div className="bg-white">
{loading ?
<BSMainLoader />
:
<div className="app">
<div className="app-wrap">
<div className="app-contant">
<div className="bg-white">
<div className="container-fluid p-0">
<div className="row no-gutters">
<div className="col-sm-6 col-lg-5 col-xxl-3 align-self-center order-2 order-sm-1">
<div className="d-flex align-items-center h-100-vh">
<div className="login p-50">
<h1 className="mb-2">Recover Password</h1>
<p>Please enter your email.</p>
<form action="auth-login.html" className="mt-3 mt-sm-5">
<div className="row">
<div className="col-12">
<div className="form-group">
<label className="control-label">Email*</label>
<input type="text" className="form-control" placeholder="Email" />
</div>
</div>
<div className="col-12 mt-3">
<button onClick={()=>{navigate(siteLinks.dash)}} className="btn btn-primary text-uppercase">Send</button>
</div>
<div className="col-12 mt-3">
<p>Go <Link to={siteLinks.home}> Back</Link></p>
</div>
</div>
</form>
</div>
</div>
</div>
<div className="col-sm-6 col-xxl-9 col-lg-7 bg-gradient o-hidden order-1 order-sm-2">
<div className="row align-items-center h-100">
<div className="col-7 mx-auto ">
<img className="img-fluid" src={LoginImg} alt="" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
</div>
)
}
+10 -6
View File
@@ -1,12 +1,16 @@
import React, { useEffect, useState } from 'react'
import LoginImg from '../../assets/bg/login.svg'
import MainLoader from '../loaders/MainLoader'
import BSMainLoader from '../loaders/BSMainLoader'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
export default function Login() {
const [loading, setLoading] = useState(true)
const navigate = useNavigate()
useEffect(()=>{
const timer = setTimeout(()=>{
setLoading(false)
@@ -19,7 +23,7 @@ export default function Login() {
<div className="bg-white">
{loading ?
<MainLoader />
<BSMainLoader />
:
<div className="app">
<div className="app-wrap">
@@ -54,21 +58,21 @@ export default function Login() {
Remember Me
</label>
</div>
<a href="#" className="ml-auto">Forgot Password ?</a>
<Link to={siteLinks.forgetpwd} className="ml-auto">Forgot Password ?</Link>
</div>
</div>
<div className="col-12 mt-3">
<a href="index.html" className="btn btn-primary text-uppercase">Sign In</a>
<button onClick={()=>{navigate(siteLinks.dash)}} className="btn btn-primary text-uppercase">Sign In</button>
</div>
<div className="col-12 mt-3">
<p>Don't have an account ?<a href="auth-register.html"> Sign Up</a></p>
<p>Don't have an account ?<Link to={siteLinks.signup}> Sign Up</Link></p>
</div>
</div>
</form>
</div>
</div>
</div>
<div className="col-sm-6 col-xxl-9 col-lg-7 bg-gradient o-hidden order-1 order-sm-2" style={{background: 'linear-gradient(to right, #8e54e9 0, #4776e6 100%)'}}>
<div className="col-sm-6 col-xxl-9 col-lg-7 bg-gradient o-hidden order-1 order-sm-2">
<div className="row align-items-center h-100">
<div className="col-7 mx-auto ">
<img className="img-fluid" src={LoginImg} alt="" />
+107
View File
@@ -0,0 +1,107 @@
import React, { useEffect, useState } from 'react'
import LoginImg from '../../assets/bg/login.svg'
import BSMainLoader from '../loaders/BSMainLoader'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
export default function Signup2() {
const [loading, setLoading] = useState(true)
const navigate = useNavigate()
useEffect(()=>{
const timer = setTimeout(()=>{
setLoading(false)
},1000)
return () => clearTimeout(timer)
},[])
return (
<div className="bg-white">
{loading ?
<BSMainLoader />
:
<div className="app">
<div className="app-wrap">
<div className="app-contant">
<div className="bg-white">
<div className="container-fluid p-0">
<div className="row no-gutters">
<div class="col-sm-6 col-lg-5 col-xxl-3 align-self-center order-2 order-sm-1">
<div class="d-flex align-items-center h-100-vh">
<div class="register p-5">
<h1 class="mb-2">We are Mentor</h1>
<p>Welcome, Please create your account.</p>
<form action="auth-register.html" class="mt-2 mt-sm-5">
<div class="row">
<div class="col-12 col-sm-6">
<div class="form-group">
<label class="control-label">First Name*</label>
<input type="text" class="form-control" placeholder="First Name" />
</div>
</div>
<div class="col-12 col-sm-6">
<div class="form-group">
<label class="control-label">Last Name*</label>
<input type="text" class="form-control" placeholder="Last Name" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Email*</label>
<input type="email" class="form-control" placeholder="Email" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Username*</label>
<input type="text" class="form-control" placeholder="Username" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Password*</label>
<input type="password" class="form-control" placeholder="Password" />
</div>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck" />
<label class="form-check-label" for="gridCheck">
I accept terms & policy
</label>
</div>
</div>
<div class="col-12 mt-3">
<button onClick={()=>navigate(siteLinks.dash)} class="btn btn-primary text-uppercase">Sign up</button>
</div>
<div class="col-12 mt-3">
<p>Already have an account ?<Link to={siteLinks.login}> Sign In</Link></p>
</div>
</div>
</form>
</div>
</div>
</div>
<div className="col-sm-6 col-xxl-9 col-lg-7 bg-gradient o-hidden order-1 order-sm-2">
<div className="row align-items-center h-100">
<div className="col-7 mx-auto ">
<img className="img-fluid" src={LoginImg} alt="" />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
</div>
)
}
+2 -2
View File
@@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react'
import { Outlet } from 'react-router-dom'
import MainLoader from '../loaders/MainLoader'
import BSMainLoader from '../loaders/BSMainLoader'
export default function UserExist() {
@@ -17,7 +17,7 @@ export default function UserExist() {
return (
<>
{loading ?
<MainLoader />
<BSMainLoader />
:
<Outlet />
}
+14
View File
@@ -0,0 +1,14 @@
import React from 'react'
import Loader from '../../assets/loader/loader.svg'
export default function BSMainLoader() {
return (
<div className="loader">
<div className="vh-100 d-flex justify-content-center">
<div className="align-self-center">
<img src={Loader} alt="loader" />
</div>
</div>
</div>
)
}
+2 -2
View File
@@ -1,8 +1,8 @@
import React from 'react'
import Forgetpwd from '../component/auth/Forgetpwd'
import Forgetpwd2 from '../component/auth/Forgetpwd2'
export default function ForgetpwdPage() {
return (
<Forgetpwd />
<Forgetpwd2 />
)
}
+2 -2
View File
@@ -1,8 +1,8 @@
import React from 'react'
import Login from '../component/auth/Login'
import Login2 from '../component/auth/Login2'
export default function LoginPage() {
return (
<Login />
<Login2 />
)
}
+2 -2
View File
@@ -1,8 +1,8 @@
import React from 'react'
import Signup from '../component/auth/Signup'
import Signup2 from '../component/auth/Signup2'
export default function SignupPage() {
return (
<Signup />
<Signup2 />
)
}