auth layout fix

This commit is contained in:
victorAnumudu
2024-12-06 09:08:54 +01:00
parent 53726ad8eb
commit 4b63384092
17 changed files with 225 additions and 200 deletions
+25
View File
@@ -0,0 +1,25 @@
import React, { useEffect, useState } from 'react'
import { Outlet } from 'react-router-dom'
import MainLoaderBS from '../loaders/MainLoaderBS'
export default function AuthLayout() {
const [loading, setLoading] = useState(true)
useEffect(()=>{
const timer = setTimeout(()=>{
setLoading(false)
},500)
return () => clearTimeout(timer)
},[])
return (
<div className="bg-white">
{loading ?
<MainLoaderBS />
:
<Outlet />
}
</div>
)
}
-5
View File
@@ -23,10 +23,6 @@ export default function Forgetpwd() {
return (
<div className="h-screen bg-white w-full flex justify-center items-center">
{loading ?
<MainLoader />
:
<div className="h-full w-full bg-white grid sm:grid-cols-2 lg:grid-cols-5 xl:grid-cols-8">
<div className="col-span-1 lg:col-span-2 xl:col-span-2 place-content-center order-2 sm:order-1">
<div className="w-full p-4 px-8 md:p-10 flex flex-col gap-6 items-start justify-start">
@@ -61,7 +57,6 @@ export default function Forgetpwd() {
</div>
</div>
</div>
}
</div>
)
}
+32 -39
View File
@@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react'
import LoginImg from '../../assets/bg/login.svg'
import BSMainLoader from '../loaders/BSMainLoader'
import MainLoaderBS from '../loaders/MainLoaderBS'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
@@ -20,56 +20,49 @@ export default function Forgetpwd2() {
},[])
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 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 type='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 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 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>
</form>
</div>
<div className="col-12 mt-3">
<button type='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 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 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>
)
}
-5
View File
@@ -23,10 +23,6 @@ export default function Login() {
return (
<div className="h-screen bg-white w-full flex justify-center items-center">
{loading ?
<MainLoader />
:
<div className="h-full w-full bg-white grid sm:grid-cols-2 lg:grid-cols-5 xl:grid-cols-8">
<div className="col-span-1 lg:col-span-2 xl:col-span-2 place-content-center order-2 sm:order-1">
<div className="w-full p-4 px-8 md:p-10 flex flex-col gap-6 items-start justify-start">
@@ -77,7 +73,6 @@ export default function Login() {
</div>
</div>
</div>
}
</div>
)
}
+49 -56
View File
@@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react'
import LoginImg from '../../assets/bg/login.svg'
import BSMainLoader from '../loaders/BSMainLoader'
import MainLoaderBS from '../loaders/MainLoaderBS'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
@@ -20,73 +20,66 @@ export default function Login() {
},[])
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">MERMS Panel</h1>
<p>Welcome back, please login to your account.</p>
<form className="mt-3 mt-sm-5">
<div className="row">
<div className="col-12">
<div className="form-group">
<label className="control-label">User Name*</label>
<input type="text" className="form-control" placeholder="Username" />
</div>
</div>
<div className="col-12">
<div className="form-group">
<label className="control-label">Password*</label>
<input type="password" className="form-control" placeholder="Password" />
</div>
</div>
<div className="col-12">
<div className="d-block d-sm-flex align-items-center">
<div className="form-check">
<input className="form-check-input" type="checkbox" id="gridCheck" />
<label className="form-check-label" htmlFor="gridCheck">
Remember Me
</label>
</div>
<Link to={siteLinks.forgetpwd} className="ml-auto">Forgot Password ?</Link>
</div>
</div>
<div className="col-12 mt-3">
<button type='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 ?<Link to={siteLinks.signup}> Sign Up</Link></p>
<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">MERMS Panel</h1>
<p>Welcome back, please login to your account.</p>
<form className="mt-3 mt-sm-5">
<div className="row">
<div className="col-12">
<div className="form-group">
<label className="control-label">User Name*</label>
<input type="text" className="form-control" placeholder="Username" />
</div>
</div>
</form>
</div>
<div className="col-12">
<div className="form-group">
<label className="control-label">Password*</label>
<input type="password" className="form-control" placeholder="Password" />
</div>
</div>
<div className="col-12">
<div className="d-block d-sm-flex align-items-center">
<div className="form-check">
<input className="form-check-input" type="checkbox" id="gridCheck" />
<label className="form-check-label" htmlFor="gridCheck">
Remember Me
</label>
</div>
<Link to={siteLinks.forgetpwd} className="ml-auto">Forgot Password ?</Link>
</div>
</div>
<div className="col-12 mt-3">
<button type='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 ?<Link to={siteLinks.signup}> Sign Up</Link></p>
</div>
</div>
</form>
</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 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>
)
}
-5
View File
@@ -23,10 +23,6 @@ export default function Signup() {
return (
<div className="h-screen bg-white w-full flex justify-center items-center">
{loading ?
<MainLoader />
:
<div className="h-full w-full bg-white grid sm:grid-cols-2 lg:grid-cols-5 xl:grid-cols-8">
<div className="col-span-1 lg:col-span-2 xl:col-span-2 place-content-center order-2 sm:order-1">
<div className="w-full p-4 px-8 md:p-10 flex flex-col gap-6 items-start justify-start">
@@ -96,7 +92,6 @@ export default function Signup() {
</div>
</div>
</div>
}
</div>
)
}
+64 -71
View File
@@ -1,7 +1,7 @@
import React, { useEffect, useState } from 'react'
import LoginImg from '../../assets/bg/login.svg'
import BSMainLoader from '../loaders/BSMainLoader'
import MainLoaderBS from '../loaders/MainLoaderBS'
import { Link, useNavigate } from 'react-router-dom'
import siteLinks from '../../links/siteLinks'
@@ -20,88 +20,81 @@ export default function Signup2() {
},[])
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">MERMS Panel</h1>
<p>Welcome, Please create your account.</p>
<form 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 type='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 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">MERMS Panel</h1>
<p>Welcome, Please create your account.</p>
<form 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>
</form>
</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 type='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 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 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>
)
}
+2 -2
View File
@@ -1,6 +1,6 @@
import React, { useEffect, useState } from 'react'
import { Outlet } from 'react-router-dom'
import BSMainLoader from '../loaders/BSMainLoader'
import MainLoaderBS from '../loaders/MainLoaderBS'
import Layout from '../layout/Layout'
@@ -19,7 +19,7 @@ export default function UserExist() {
return (
<>
{loading ?
<BSMainLoader />
<MainLoaderBS />
:
<Layout>
<Outlet />
@@ -0,0 +1,34 @@
import React from 'react'
import { MdKeyboardDoubleArrowRight } from 'react-icons/md'
import { TiHomeOutline } from 'react-icons/ti'
import siteLinks from '../../links/siteLinks'
import { Link } from 'react-router-dom'
export default function BreadcrumbComBS({title='Home', paths=[]}) {
return (
<>
<div className="row">
<div className="col-md-12 m-b-30">
<div className="d-block d-sm-flex flex-nowrap align-items-center">
<div className="page-title mb-2 mb-sm-0">
<h1>{title}</h1>
</div>
<div className="ml-auto d-flex align-items-center">
<nav>
<ol className="breadcrumb gap-1 align-items-center p-0 m-b-0">
<Link to={siteLinks.dash}><TiHomeOutline /></Link>
{paths.map((item, index) => (
<li className={`d-flex align-items-center gap-1 ${index + 1 == paths.length ? 'active text-primary' : ''}`}>
<MdKeyboardDoubleArrowRight />
{item}
</li>
))}
</ol>
</nav>
</div>
</div>
</div>
</div>
</>
)
}
+1 -5
View File
@@ -1,9 +1,5 @@
import React from 'react'
import UserMenu from "../../parts/UserMenu";
import UserHeader from "../../parts/UserHeader";
import HomeSections from "../../parts/HomeSections";
import UserFooter from "../../parts/UserFooter";
import LoaderImage from "../../parts/LoaderImage";
import HomeSections from "./HomeSections";
export default function Home() {
return (
+457
View File
@@ -0,0 +1,457 @@
import React from "react";
import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS";
export default function HomeSections(){
return <>
{/* <div className="row">
<div className="col-md-12 m-b-30">
<div className="d-block d-sm-flex flex-nowrap align-items-center">
<div className="page-title mb-2 mb-sm-0">
<h1>The Practice Name Shows Up Here </h1>
</div>
<div className="ml-auto d-flex align-items-center">
<nav>
<ol className="breadcrumb p-0 m-b-0">
<li className="breadcrumb-item">
<a href="/dash"><i className="ti ti-home"></i></a>
</li>
<li className="breadcrumb-item">
Dashboard
</li>
<li className="breadcrumb-item active text-primary" aria-current="page">Home</li>
</ol>
</nav>
</div>
</div>
</div>
</div> */}
<BreadcrumbComBS title='Home' paths={['Dashboard', 'Home']} />
<div className="row">
<div className="col-sm-6 col-xxl-3">
<div className="card card-statistics ecommerce-contant overflow-h">
<div className="card-body p-0">
<div className="d-flex m-b-0 ecommerce-contant-text h-100">
<div className="w-100">
<div className="row p-3">
<div className="col">
<h3 className="mb-0">$65,456</h3>
<small className="d-block">Last 6 months</small>
</div>
<div className="col text-right">
<h5 className="text-muted mb-0">Revenue</h5>
<strong className="text-danger m-t-5"><i
className="zmdi zmdi-long-arrow-up font-weight-bold"></i> N/A</strong>
</div>
</div>
<div className="apexchart-wrapper">
<div id="ecommercedemo3" className="chart-fit"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="col-sm-6 col-xxl-3">
<div className="card card-statistics ecommerce-contant overflow-h">
<div className="card-body p-0">
<div className="d-flex ecommerce-contant-text m-b-0 h-100">
<div className="w-100">
<div className="row p-3">
<div className="col">
<h3 className="mb-0">52%</h3>
<small className="d-block">Past 12 hours</small>
</div>
<div className="col text-right">
<h5 className="text-muted mb-0">Conversion Rate</h5>
<strong className="text-primary m-t-5"><i
className="zmdi zmdi-long-arrow-up font-weight-bold"></i> 5.35%</strong>
</div>
</div>
<div className="apexchart-wrapper">
<div id="ecommercedemo1" className="chart-fit"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="col-sm-6 col-xxl-3">
<div className="card card-statistics ecommerce-contant overflow-h">
<div className="card-body p-0">
<div className="d-flex m-b-0 ecommerce-contant-text h-100">
<div className="w-100">
<div className="w-100">
<div className="row p-3">
<div className="col">
<h3 className="mb-0">605</h3>
<small className="d-block">Last 90 days</small>
</div>
<div className="col text-right">
<h5 className="text-muted mb-0">Transactions</h5>
<strong className="text-orange m-t-5"><i
className="zmdi zmdi-long-arrow-up font-weight-bold"></i> 4.65%</strong>
</div>
</div>
</div>
<div className="apexchart-wrapper">
<div id="ecommercedemo2" className="chart-fit"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="col-sm-6 col-xxl-3">
<div className="card card-statistics ecommerce-contant overflow-h">
<div className="card-body p-0">
<div className="d-flex m-b-0 ecommerce-contant-text h-100">
<div className="w-100">
<div className="row p-3">
<div className="col">
<h3 className="mb-0">5,687</h3>
<small className="d-block">Last 3 months</small>
</div>
<div className="col text-right">
<h5 className="text-muted mb-0">Purchases</h5>
<strong className="text-success m-t-5"><i
className="zmdi zmdi-long-arrow-up font-weight-bold"></i> 9.89%</strong>
</div>
</div>
<div className="apexchart-wrapper">
<div id="ecommercedemo4" className="chart-fit"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div className="row">
<div className="col-xxl-6 m-b-30">
<div className="card card-statistics h-100 mb-0">
<div className="card-header">
<h4 className="card-title">My Products</h4>
</div>
<div className="card-body pb-0">
<div className="row m-b-20">
<div className="col-xxs-6 col-xl-4 col-xxl-4 mb-2 mb-xxl-0">
<div className="d-flex align-items-center">
<div className="icon-container img-icon m-r-20 bg-light-gray rounded">
<i className="fa fa-cart-plus text-primary"></i>
</div>
<div className="report-details">
<p>Annual Sales</p>
<h3>15,236</h3>
</div>
</div>
</div>
<div className="col-xxs-6 col-md-4 col-xxl-4 mb-2 mb-xxl-0">
<div className="d-flex align-items-center">
<div className="icon-container img-icon m-r-20 bg-light-gray rounded">
<i className="fa fa-dollar text-primary"></i>
</div>
<div className="report-details">
<p>Annual Revenue</p>
<h3>$40,516</h3>
</div>
</div>
</div>
</div>
<div className="apexchart-wrapper">
<div id="ecommerce5" className="chart-fit"></div>
</div>
</div>
</div>
</div>
<div className="col-xxl-6 m-b-30">
<div className="card card-statistics h-100 mb-0">
<div className="card-header d-sm-flex justify-content-between align-items-center py-3">
<div className="card-heading mb-3 mb-sm-0">
<h4 className="card-title">Recent Actions</h4>
</div>
<div className="dropdown">
{/*<input type="text" className="form-control form-control-sm" placeholder="Search Invoice"/>*/}
</div>
</div>
<div className="card-body scrollbar scroll_dark" style={{maxHeight: '420px'}}>
<div className="d-xxs-flex align-items-center">
<div className="total-sales">
<p>Last Update</p>
<h1>10-10-2021 10 AM</h1>
</div>
<div className="mb-3 mb-sm-0 ml-auto">
{/*<button className="btn btn-primary btn-xs">View All Invoices</button>*/}
</div>
</div>
<div className="d-none d-sm-flex progress m-t-20 m-b-0" style={{height: '5px'}}>
<div className="progress-bar bg-primary" role="progressbar" style={{width: '25%'}}
aria-valuenow="15" aria-valuemin="0" aria-valuemax="100"></div>
<div className="progress-bar bg-warning" role="progressbar" style={{width: '25%'}}
aria-valuenow="30" aria-valuemin="0" aria-valuemax="100"></div>
<div className="progress-bar bg-info" role="progressbar" style={{width: '25%'}} aria-valuenow="20"
aria-valuemin="0" aria-valuemax="100"></div>
<div className="progress-bar bg-success" role="progressbar" style={{width: '25%'}}
aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div className="row no-gutters">
<div className="col-6 col-xxs-3 ">
<p>Overdue</p>
<h4>$1596</h4>
</div>
<div className="col-6 col-xxs-3 ">
<p>Outstanding</p>
<h4>$2586</h4>
</div>
<div className="col-6 col-xxs-3 ">
<p>Open</p>
<h4>$5678</h4>
</div>
<div className="col-6 col-xxs-3 ">
<p>Paid</p>
<h4>$2458</h4>
</div>
</div>
<div className="table-responsive m-t-20">
<table id="datatable-buttons" className="table">
<thead>
<tr>
<th>No.</th>
<th>Name</th>
<th>Date</th>
<th>Total</th>
<th>Status</th>
</tr>
</thead>
<tbody className="text-muted">
<tr>
<td>1</td>
<td>Smith Drake</td>
<td>27/3/2014</td>
<td>$1,00,000</td>
<td>
<label className="badge mb-0 badge-primary-inverse"> Overdue</label>
</td>
</tr>
<tr>
<td>2</td>
<td>Martha Doe</td>
<td>28/3/2015</td>
<td>$70,000</td>
<td>
<label className="badge mb-0 badge-warning-inverse
"> Outstanding</label>
</td>
</tr>
<tr>
<td>3</td>
<td>Fenish Paul</td>
<td>24/3/2015</td>
<td>$60,000</td>
<td>
<label className="badge mb-0 badge-info-inverse
"> Open</label>
</td>
</tr>
<tr>
<td>4</td>
<td>Albom Mitch</td>
<td>29/3/2016</td>
<td>$60,000</td>
<td>
<label className="badge mb-0 badge-success-inverse
"> Paid</label>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div className="row">
<div className="col-xxl-8 m-b-30">
<div className="card card-statistics h-100 mb-0">
<div className="card-header d-flex align-items-center justify-content-between">
<div className="card-heading">
<h4 className="card-title">Top selling products</h4>
</div>
<div className="dropdown">
{/*<a className="btn btn-xs" href="#!">Export <i className="zmdi zmdi-download pl-1"></i> </a>*/}
</div>
</div>
<div className="card-body scrollbar scroll_dark pt-0" style={{maxHeight: '350px'}}>
<div className="datatable-wrapper table-responsive">
<table id="datatable" className="table table-borderless table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Price</th>
<th>In stock</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Cold Shoulder Bling Dress</td>
<td>$65.342</td>
<td>
<div className="progress my-3" style={{height: '3px'}}>
<div className="progress-bar" role="progressbar" style={{width: '80%'}}
aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</td>
<td><span className="badge badge-success-inverse">Active</span></td>
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a><a
href=""><i className="fe fe-trash-2"></i></a></td>
</tr>
<tr>
<td>2</td>
<td>PlayStation 4 Pro 1TB Console</td>
<td>$47.655</td>
<td>
<div className="progress my-3" style={{height: '3px'}}>
<div className="progress-bar" role="progressbar" style={{width: '36%'}} aria-valuenow="36" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</td>
<td><span className="badge badge-success-inverse">Active</span></td>
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a><a
href=""><i className="fe fe-trash-2"></i></a></td>
</tr>
<tr>
<td>3</td>
<td>Extra Fine Wool Jumpers</td>
<td>$56.479</td>
<td>
<div className="progress my-3" style={{height: '3px'}}>
<div className="progress-bar" role="progressbar" style={{width: '60%'}} aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</td>
<td><span className="badge badge-danger-inverse">Canceled</span></td>
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a><a
href=""><i className="fe fe-trash-2"></i></a></td>
</tr>
<tr>
<td>4</td>
<td>Long Sleeve Bow Top</td>
<td>$04.786</td>
<td>
<div className="progress my-3" style={{height: '3px'}}>
<div className="progress-bar" role="progressbar" style={{width: '50%'}}
aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</td>
<td><span className="badge badge-success-inverse">Active</span></td>
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a><a
href=""><i className="fe fe-trash-2"></i></a></td>
</tr>
<tr>
<td>5</td>
<td>Shine Stripe Long Sleeve Ruffle</td>
<td>$23.456</td>
<td>
<div className="progress my-3" style={{height: '3px'}}>
<div className="progress-bar" role="progressbar" style={{width: '75%'}}
aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</td>
<td><span className="badge badge-success-inverse">Active</span></td>
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a><a
href=""><i className="fe fe-trash-2"></i></a></td>
</tr>
<tr>
<td>6</td>
<td>Long Sleeve Micro Thermal Shirt</td>
<td>$65.598</td>
<td>
<div className="progress my-3" style={{height: '3px'}}>
<div className="progress-bar" role="progressbar" style={{width: '90%'}}
aria-valuenow="90" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</td>
<td><span className="badge badge-info-inverse">info</span></td>
<td><a className="mr-3" href=""><i className="fe fe-edit"></i></a><a
href=""><i className="fe fe-trash-2"></i></a></td>
</tr>
</tbody>
<tfoot>
<tr>
<th>#</th>
<th>Name</th>
<th>Price</th>
<th>In stock</th>
<th>Status</th>
<th>Action</th>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
<div className="col-xxl-4 m-b-30">
<div className="card card-statistics h-100 mb-0">
<div className="card-header d-flex justify-content-between">
<div className="card-heading">
<h4 className="card-title">Lifetime sales</h4>
</div>
<div className="dropdown">
<a className="p-2" href="#!" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i className="fe fe-circle"></i>
</a>
<div className="dropdown-menu custom-dropdown dropdown-menu-right p-4">
<h6 className="mb-1">Action</h6>
<a className="dropdown-item" href="#!"><i className="fa-fw fa fa-file-o pr-2"></i>View
reports</a>
<a className="dropdown-item" href="#!"><i className="fa-fw fa fa-edit pr-2"></i>Edit reports</a>
<a className="dropdown-item" href="#!"><i className="fa-fw fa fa-bar-chart-o pr-2"></i>Statistics</a>
<h6 className="mb-1 mt-3">Export</h6>
<a className="dropdown-item" href="#!"><i className="fa-fw fa fa-file-pdf-o pr-2"></i>Export
to PDF</a>
<a className="dropdown-item" href="#!"><i className="fa-fw fa fa-file-excel-o pr-2"></i>Export
to CSV</a>
</div>
</div>
</div>
<div className="card-body">
<h5>We only started collecting data from February 2019 </h5>
<p>Questions about the Net Earnings number? <a
className="btn btn-square btn-inverse-success btn-xs ml-1" href="#">Click here</a></p>
<div className="row mt-4">
<div className="col-lg-8">
<div className="morris-wrapper">
<div id="morrisecommerce1" style={{height: '260px'}}></div>
</div>
</div>
<div className="col-lg-4 mt-4">
<div className="mb-3">
<h3 className="mb-0">680</h3>
<p className="mb-0 text-info">Total sales</p>
</div>
<div className="mb-3">
<h3 className="mb-0">800</h3>
<p className="mb-0 text-primary">Open campaign</p>
</div>
<div className="mb-3">
<h3 className="mb-0">500</h3>
<p className="mb-0">Daily sales</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</>;
}
+3 -3
View File
@@ -1,7 +1,7 @@
import React from 'react'
import UserMenu from "../../parts/UserMenu";
import UserHeader from "../../parts/UserHeader";
import UserFooter from "../../parts/UserFooter";
import UserMenu from "./layoutcom/UserMenu";
import UserHeader from "./layoutcom/UserHeader";
import UserFooter from "./layoutcom/UserFooter";
import { Outlet } from 'react-router-dom';
@@ -0,0 +1,17 @@
import React from "react";
export default function UserFooter(){
return <>
<footer className="footer">
<div className="row">
<div className="col-12 col-sm-6 text-center text-sm-left">
<p>&copy; Copyright 2024. All rights reserved.</p>
</div>
<div className="col col-sm-6 ml-sm-auto text-center text-sm-right">
<p>Hand-crafted made with <i className="fa fa-heart text-danger mx-1"></i> by Potenza</p>
</div>
</div>
</footer>
</>;
}
@@ -0,0 +1,310 @@
import React from "react";
export default function UserHeader(){
return (
<header className="app-header top-bar">
<nav className="navbar navbar-expand-md">
<div className="navbar-header d-flex align-items-center">
<a href="#" className="mobile-toggle"><i className="ti ti-align-right"></i></a>
<a className="navbar-brand" href="/dash">
<img src="../assets/img/logo-light.png" className="img-fluid logo-desktop" alt="logo"/>
<img src="../assets/img/logo-icon.png" className="img-fluid logo-mobile" alt="logo"/>
</a>
</div>
<button className="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<i className="ti ti-align-left"></i>
</button>
<div className="collapse navbar-collapse" id="navbarSupportedContent">
<div className="navigation d-flex">
{/*<ul className="navbar-nav nav-left">*/}
{/* <li className="nav-item">*/}
{/* <a href="javascript:void(0)" className="nav-link sidebar-toggle">*/}
{/* <i className="ti ti-align-right"></i>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li className="nav-item full-screen d-none d-lg-block" id="btnFullscreen">*/}
{/* <a href="javascript:void(0)" className="nav-link expand">*/}
{/* <i className="icon-size-fullscreen"></i>*/}
{/* </a>*/}
{/* </li>*/}
{/*</ul>*/}
<ul className="navbar-nav nav-right ml-auto">
{/*<li className="nav-item dropdown">*/}
{/* <a className="nav-link dropdown-toggle" href="javascript:void(0)" id="navbarDropdown2"*/}
{/* role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">*/}
{/* <i className="ti ti-email"></i>*/}
{/* </a>*/}
{/* <div className="dropdown-menu extended animated fadeIn" aria-labelledby="navbarDropdown">*/}
{/* <ul>*/}
{/* <li className="dropdown-header bg-gradient p-4 text-white text-left">Messages*/}
{/* <label className="label label-info label-round">6</label>*/}
{/* <a href="#" className="float-right btn btn-square btn-inverse-light btn-xs m-0">*/}
{/* <span className="font-13"> Mark all as read</span></a>*/}
{/* </li>*/}
{/* <li className="dropdown-body">*/}
{/* <ul className="scrollbar scroll_dark max-h-240">*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <img className="img-fluid" src="assets/img/avtar/03.jpg" alt="user3" />*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Brianing Leyon</p>*/}
{/* <small>You will sail along until you...</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <img className="img-fluid" src="assets/img/avtar/01.jpg" alt="user" />*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Jimmyimg Leyon</p>*/}
{/* <small>Okay</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <img className="img-fluid" src="assets/img/avtar/02.jpg" alt="user2" />*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Brainjon Leyon</p>*/}
{/* <small>So, make the decision...</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <img className="img-fluid" src="assets/img/avtar/04.jpg" alt="user4" />*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Smithmin Leyon</p>*/}
{/* <small>Thanks</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <img className="img-fluid" src="assets/img/avtar/05.jpg" alt="user5" />*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Jennyns Leyon</p>*/}
{/* <small>How are you</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <img className="img-fluid" src="assets/img/avtar/06.jpg" alt="user6" />*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Demian Leyon</p>*/}
{/* <small>I like your themes</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* </ul>*/}
{/* </li>*/}
{/* <li className="dropdown-footer">*/}
{/* <a className="font-13" href="javascript:void(0)"> View All messages </a>*/}
{/* </li>*/}
{/* </ul>*/}
{/* </div>*/}
{/*</li>*/}
{/*<li className="nav-item dropdown">*/}
{/* <a className="nav-link dropdown-toggle" href="javascript:void(0)" id="navbarDropdown3"*/}
{/* role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">*/}
{/* <i className="fe fe-bell"></i>*/}
{/* <span className="notify">*/}
{/* <span className="blink"></span>*/}
{/* <span className="dot"></span>*/}
{/* </span>*/}
{/* </a>*/}
{/* <div className="dropdown-menu extended animated fadeIn" aria-labelledby="navbarDropdown">*/}
{/* <ul>*/}
{/* <li className="dropdown-header bg-gradient p-4 text-white text-left">Notifications*/}
{/* <a href="#" className="float-right btn btn-square btn-inverse-light btn-xs m-0">*/}
{/* <span className="font-13"> Clear all</span></a>*/}
{/* </li>*/}
{/* <li className="dropdown-body min-h-240 nicescroll">*/}
{/* <ul className="scrollbar scroll_dark max-h-240">*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <div className="bg-type bg-type-md">*/}
{/* <span>HY</span>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">New registered user</p>*/}
{/* <small>Just now</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <div className="bg-type bg-type-md bg-success">*/}
{/* <span>GM</span>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">New invoice received</p>*/}
{/* <small>22 min</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <div className="bg-type bg-type-md bg-danger">*/}
{/* <span>FR</span>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Server error report</p>*/}
{/* <small>7 min</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <div className="bg-type bg-type-md bg-info">*/}
{/* <span>HT</span>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Database report</p>*/}
{/* <small>1 day</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* <li>*/}
{/* <a href="javascript:void(0)">*/}
{/* <div className="notification d-flex flex-row align-items-center">*/}
{/* <div className="notify-icon bg-img align-self-center">*/}
{/* <div className="bg-type bg-type-md">*/}
{/* <span>DE</span>*/}
{/* </div>*/}
{/* </div>*/}
{/* <div className="notify-message">*/}
{/* <p className="font-weight-bold">Order confirmation</p>*/}
{/* <small>2 day</small>*/}
{/* </div>*/}
{/* </div>*/}
{/* </a>*/}
{/* </li>*/}
{/* </ul>*/}
{/* </li>*/}
{/* <li className="dropdown-footer">*/}
{/* <a className="font-13" href="javascript:void(0)"> View All Notifications*/}
{/* </a>*/}
{/* </li>*/}
{/* </ul>*/}
{/* </div>*/}
{/*</li>*/}
{/*<li className="nav-item">*/}
{/* <a className="nav-link search" href="javascript:void(0)">*/}
{/* <i className="ti ti-search"></i>*/}
{/* </a>*/}
{/* <div className="search-wrapper">*/}
{/* <div className="close-btn">*/}
{/* <i className="ti ti-close"></i>*/}
{/* </div>*/}
{/* <div className="search-content">*/}
{/* <form>*/}
{/* <div className="form-group">*/}
{/* <i className="ti ti-search magnifier"></i>*/}
{/* <input type="text" className="form-control autocomplete" placeholder="Search Here"*/}
{/* id="autocomplete-ajax" autoFocus="autofocus" />*/}
{/* </div>*/}
{/* </form>*/}
{/* </div>*/}
{/* </div>*/}
{/*</li>*/}
<li className="nav-item dropdown user-profile">
<a href="#" className="nav-link dropdown-toggle " id="navbarDropdown4"
role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="assets/img/avtar/02.jpg" alt="avtar-img" />
<span className="bg-success user-status"></span>
</a>
<div className="dropdown-menu animated fadeIn" aria-labelledby="navbarDropdown">
<div className="bg-gradient px-4 py-3">
<div className="d-flex align-items-center justify-content-between">
<div className="mr-1">
<h4 className="text-white mb-0">Alice Williams</h4>
<small className="text-white">Henry@example.com</small>
</div>
<a href="#" className="text-white font-20 tooltip-wrapper" data-toggle="tooltip"
data-placement="top" title="" data-original-title="Logout"> <i
className="zmdi zmdi-power"></i></a>
</div>
</div>
<div className="p-4">
<a className="dropdown-item d-flex nav-link" href="#">
<i className="fa fa-user pr-2 text-success"></i> Profile</a>
<a className="dropdown-item d-flex nav-link" href="#">
<i className="fa fa-envelope pr-2 text-primary"></i> Inbox
<span className="badge badge-primary ml-auto">6</span>
</a>
<a className="dropdown-item d-flex nav-link" href="#">
<i className=" ti ti-settings pr-2 text-info"></i> Settings
</a>
<a className="dropdown-item d-flex nav-link" href="#">
<i className="fa fa-compass pr-2 text-warning"></i> Need help?</a>
<div className="row mt-2">
<div className="col">
<a className="bg-light p-3 text-center d-block" href="#">
<i className="fe fe-mail font-20 text-primary"></i>
<span className="d-block font-13 mt-2">My messages</span>
</a>
</div>
<div className="col">
<a className="bg-light p-3 text-center d-block" href="#">
<i className="fe fe-plus font-20 text-primary"></i>
<span className="d-block font-13 mt-2">Compose new</span>
</a>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</nav>
</header>
)
}
@@ -0,0 +1,45 @@
import React from 'react'
import { Link, useLocation } from 'react-router-dom'
import siteLinks from '../../../links/siteLinks'
export default function UserMenu() {
const {pathname} = useLocation()
return (
<>
<div className="sidebar-nav scrollbar scroll_dark">
<ul className="metismenu " id="sidebarNav">
<li className="nav-static-title">Panel</li>
<li className={`${pathname == siteLinks.dash ? 'active' : ''}`}>
<Link className="has-arrow" to='#' aria-expanded="false">
<i className="nav-icon ti ti-rocket"></i>
<span className="nav-title">Dashboard</span>
{/* <span className="nav-label label label-danger">9</span> */}
</Link>
<ul aria-expanded="false">
<li className={`${pathname == siteLinks.dash ? 'active' : ''}`}><Link to={siteLinks.dash}>Home</Link></li>
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link to='#'>Calendar</Link></li>
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link to='#'>Contacts</Link></li>
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link to='#'>Comments</Link></li>
</ul>
</li>
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link href="/dash" aria-expanded="false"><i className="nav-icon ti ti-comment"></i><span
className="nav-title">Reports</span></Link></li>
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link className="has-arrow" to='#' aria-expanded="false"><i
className="nav-icon ti ti-calendar"></i><span className="nav-title">Account</span></Link>
<ul aria-expanded="false">
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link to={siteLinks.dash}>Users</Link></li>
<li className={`${pathname == siteLinks.error ? 'active' : ''}`}><Link to={siteLinks.dash}>Settings</Link></li>
</ul>
</li>
<li className="sidebar-banner p-4 bg-gradient text-center m-3 d-block rounded">
<h5 className="text-white mb-1">MERMS Panel</h5>
<Link className="btn btn-square btn-inverse-light btn-xs d-inline-block mt-2 mb-0" to={siteLinks.login}> Log Out</Link>
</li>
</ul>
</div>
</>
)
}
@@ -1,7 +1,7 @@
import React from 'react'
import Loader from '../../assets/loader/loader.svg'
export default function BSMainLoader() {
export default function MainLoaderBS() {
return (
<div className="loader">
<div className="vh-100 d-flex justify-content-center">