first comit
This commit is contained in:
686
templates/billing.html
Executable file
686
templates/billing.html
Executable file
@@ -0,0 +1,686 @@
|
||||
<!--
|
||||
=========================================================
|
||||
* Argon Dashboard 2 - v2.0.4
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
||||
* Copyright 2022 Creative Tim (https://www.creative-tim.com)
|
||||
* Licensed under MIT (https://www.creative-tim.com/license)
|
||||
* Coded by Creative Tim
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="icon" type="image/png" href="../assets/img/favicon.png">
|
||||
<title>
|
||||
Argon Dashboard 2 by Creative Tim
|
||||
</title>
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="../assets/css/nucleo-icons.css" rel="stylesheet" />
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- Font Awesome Icons -->enabledLinks
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="../assets/css/argon-dashboard.css?v=2.0.4" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body class="g-sidenav-show bg-gray-100">
|
||||
<div class="min-height-300 bg-primary position-absolute w-100"></div>
|
||||
<aside class="sidenav bg-white navbar navbar-vertical navbar-expand-xs border-0 border-radius-xl my-3 fixed-start ms-4 " id="sidenav-main">
|
||||
<div class="sidenav-header">
|
||||
<i class="fas fa-times p-3 cursor-pointer text-secondary opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
||||
<a class="navbar-brand m-0" href=" https://demos.creative-tim.com/argon-dashboard/pages/dashboard.html " target="_blank">
|
||||
<img src="../assets/img/logo-ct-dark.png" class="navbar-brand-img h-100" alt="main_logo">
|
||||
<span class="ms-1 font-weight-bold">Argon Dashboard 2</span>
|
||||
</a>
|
||||
</div>
|
||||
<hr class="horizontal dark mt-0">
|
||||
<div class="collapse navbar-collapse w-auto " id="sidenav-collapse-main">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/dashboard.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-tv-2 text-primary text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/tables.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-calendar-grid-58 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Tables</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="../pages/billing.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-credit-card text-success text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Billing</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/virtual-reality.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-app text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Virtual Reality</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/rtl.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-world-2 text-danger text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">RTL</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item mt-3">
|
||||
<h6 class="ps-4 ms-2 text-uppercase text-xs font-weight-bolder opacity-6">Account pages</h6>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/profile.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-02 text-dark text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Profile</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-in.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-copy-04 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-up.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-collection text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign Up</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidenav-footer mx-3 ">
|
||||
<div class="card card-plain shadow-none" id="sidenavCard">
|
||||
<img class="w-50 mx-auto" src="../assets/img/illustrations/icon-documentation.svg" alt="sidebar_illustration">
|
||||
<div class="card-body text-center p-3 w-100 pt-0">
|
||||
<div class="docs-info">
|
||||
<h6 class="mb-0">Need help?</h6>
|
||||
<p class="text-xs font-weight-bold mb-0">Please check our docs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard" target="_blank" class="btn btn-dark btn-sm w-100 mb-3">Documentation</a>
|
||||
<a class="btn btn-primary btn-sm mb-0 w-100" href="https://www.creative-tim.com/product/argon-dashboard-pro?ref=sidebarfree" type="button">Upgrade to pro</a>
|
||||
</div>
|
||||
</aside>
|
||||
<main class="main-content position-relative border-radius-lg ">
|
||||
<!-- Navbar -->
|
||||
<nav class="navbar navbar-main navbar-expand-lg px-0 mx-4 shadow-none border-radius-xl " id="navbarBlur" data-scroll="false">
|
||||
<div class="container-fluid py-1 px-3">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5">
|
||||
<li class="breadcrumb-item text-sm"><a class="opacity-5 text-white" href="javascript:;">Pages</a></li>
|
||||
<li class="breadcrumb-item text-sm text-white active" aria-current="page">Billing</li>
|
||||
</ol>
|
||||
<h6 class="font-weight-bolder text-white mb-0">Billing</h6>
|
||||
</nav>
|
||||
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
||||
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text text-body"><i class="fas fa-search" aria-hidden="true"></i></span>
|
||||
<input type="text" class="form-control" placeholder="Type here...">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="navbar-nav justify-content-end">
|
||||
<li class="nav-item d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white font-weight-bold px-0">
|
||||
<i class="fa fa-user me-sm-1"></i>
|
||||
<span class="d-sm-inline d-none">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item d-xl-none ps-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="iconNavbarSidenav">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item px-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0">
|
||||
<i class="fa fa-cog fixed-plugin-button-nav cursor-pointer"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown pe-2 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="fa fa-bell cursor-pointer"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end px-2 py-3 me-sm-n4" aria-labelledby="dropdownMenuButton">
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/team-2.jpg" class="avatar avatar-sm me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New message</span> from Laur
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
13 minutes ago
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/small-logos/logo-spotify.svg" class="avatar avatar-sm bg-gradient-dark me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New album</span> by Travis Scott
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
1 day
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="avatar avatar-sm bg-gradient-secondary me-3 my-auto">
|
||||
<svg width="12px" height="12px" viewBox="0 0 43 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>credit-card</title>
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(-2169.000000, -745.000000)" fill="#FFFFFF" fill-rule="nonzero">
|
||||
<g transform="translate(1716.000000, 291.000000)">
|
||||
<g transform="translate(453.000000, 454.000000)">
|
||||
<path class="color-background" d="M43,10.7482083 L43,3.58333333 C43,1.60354167 41.3964583,0 39.4166667,0 L3.58333333,0 C1.60354167,0 0,1.60354167 0,3.58333333 L0,10.7482083 L43,10.7482083 Z" opacity="0.593633743"></path>
|
||||
<path class="color-background" d="M0,16.125 L0,32.25 C0,34.2297917 1.60354167,35.8333333 3.58333333,35.8333333 L39.4166667,35.8333333 C41.3964583,35.8333333 43,34.2297917 43,32.25 L43,16.125 L0,16.125 Z M19.7083333,26.875 L7.16666667,26.875 L7.16666667,23.2916667 L19.7083333,23.2916667 L19.7083333,26.875 Z M35.8333333,26.875 L28.6666667,26.875 L28.6666667,23.2916667 L35.8333333,23.2916667 L35.8333333,26.875 Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
Payment successfully completed
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
2 days
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- End Navbar -->
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<div class="row">
|
||||
<div class="col-xl-6 mb-xl-0 mb-4">
|
||||
<div class="card bg-transparent shadow-xl">
|
||||
<div class="overflow-hidden position-relative border-radius-xl" style="background-image: url('https://raw.githubusercontent.com/creativetimofficial/public-assets/master/argon-dashboard-pro/assets/img/card-visa.jpg');">
|
||||
<span class="mask bg-gradient-dark"></span>
|
||||
<div class="card-body position-relative z-index-1 p-3">
|
||||
<i class="fas fa-wifi text-white p-2"></i>
|
||||
<h5 class="text-white mt-4 mb-5 pb-2">4562 1122 4594 7852</h5>
|
||||
<div class="d-flex">
|
||||
<div class="d-flex">
|
||||
<div class="me-4">
|
||||
<p class="text-white text-sm opacity-8 mb-0">Card Holder</p>
|
||||
<h6 class="text-white mb-0">Jack Peterson</h6>
|
||||
</div>
|
||||
<div>
|
||||
<p class="text-white text-sm opacity-8 mb-0">Expires</p>
|
||||
<h6 class="text-white mb-0">11/22</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ms-auto w-20 d-flex align-items-end justify-content-end">
|
||||
<img class="w-60 mt-2" src="../assets/img/logos/mastercard.png" alt="logo">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-6">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header mx-4 p-3 text-center">
|
||||
<div class="icon icon-shape icon-lg bg-gradient-primary shadow text-center border-radius-lg">
|
||||
<i class="fas fa-landmark opacity-10"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-0 p-3 text-center">
|
||||
<h6 class="text-center mb-0">Salary</h6>
|
||||
<span class="text-xs">Belong Interactive</span>
|
||||
<hr class="horizontal dark my-3">
|
||||
<h5 class="mb-0">+$2000</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 mt-md-0 mt-4">
|
||||
<div class="card">
|
||||
<div class="card-header mx-4 p-3 text-center">
|
||||
<div class="icon icon-shape icon-lg bg-gradient-primary shadow text-center border-radius-lg">
|
||||
<i class="fab fa-paypal opacity-10"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-0 p-3 text-center">
|
||||
<h6 class="text-center mb-0">Paypal</h6>
|
||||
<span class="text-xs">Freelance Payment</span>
|
||||
<hr class="horizontal dark my-3">
|
||||
<h5 class="mb-0">$455.00</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mb-lg-0 mb-4">
|
||||
<div class="card mt-4">
|
||||
<div class="card-header pb-0 p-3">
|
||||
<div class="row">
|
||||
<div class="col-6 d-flex align-items-center">
|
||||
<h6 class="mb-0">Payment Method</h6>
|
||||
</div>
|
||||
<div class="col-6 text-end">
|
||||
<a class="btn bg-gradient-dark mb-0" href="javascript:;"><i class="fas fa-plus"></i> Add New Card</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body p-3">
|
||||
<div class="row">
|
||||
<div class="col-md-6 mb-md-0 mb-4">
|
||||
<div class="card card-body border card-plain border-radius-lg d-flex align-items-center flex-row">
|
||||
<img class="w-10 me-3 mb-0" src="../assets/img/logos/mastercard.png" alt="logo">
|
||||
<h6 class="mb-0">**** **** **** 7852</h6>
|
||||
<i class="fas fa-pencil-alt ms-auto text-dark cursor-pointer" data-bs-toggle="tooltip" data-bs-placement="top" title="Edit Card"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card card-body border card-plain border-radius-lg d-flex align-items-center flex-row">
|
||||
<img class="w-10 me-3 mb-0" src="../assets/img/logos/visa.png" alt="logo">
|
||||
<h6 class="mb-0">**** **** **** 5248</h6>
|
||||
<i class="fas fa-pencil-alt ms-auto text-dark cursor-pointer" data-bs-toggle="tooltip" data-bs-placement="top" title="Edit Card"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-header pb-0 p-3">
|
||||
<div class="row">
|
||||
<div class="col-6 d-flex align-items-center">
|
||||
<h6 class="mb-0">Invoices</h6>
|
||||
</div>
|
||||
<div class="col-6 text-end">
|
||||
<button class="btn btn-outline-primary btn-sm mb-0">View All</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body p-3 pb-0">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark font-weight-bold text-sm">March, 01, 2020</h6>
|
||||
<span class="text-xs">#MS-415646</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-sm">
|
||||
$180
|
||||
<button class="btn btn-link text-dark text-sm mb-0 px-0 ms-4"><i class="fas fa-file-pdf text-lg me-1"></i> PDF</button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="text-dark mb-1 font-weight-bold text-sm">February, 10, 2021</h6>
|
||||
<span class="text-xs">#RV-126749</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-sm">
|
||||
$250
|
||||
<button class="btn btn-link text-dark text-sm mb-0 px-0 ms-4"><i class="fas fa-file-pdf text-lg me-1"></i> PDF</button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="text-dark mb-1 font-weight-bold text-sm">April, 05, 2020</h6>
|
||||
<span class="text-xs">#FB-212562</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-sm">
|
||||
$560
|
||||
<button class="btn btn-link text-dark text-sm mb-0 px-0 ms-4"><i class="fas fa-file-pdf text-lg me-1"></i> PDF</button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="text-dark mb-1 font-weight-bold text-sm">June, 25, 2019</h6>
|
||||
<span class="text-xs">#QW-103578</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-sm">
|
||||
$120
|
||||
<button class="btn btn-link text-dark text-sm mb-0 px-0 ms-4"><i class="fas fa-file-pdf text-lg me-1"></i> PDF</button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="text-dark mb-1 font-weight-bold text-sm">March, 01, 2019</h6>
|
||||
<span class="text-xs">#AR-803481</span>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-sm">
|
||||
$300
|
||||
<button class="btn btn-link text-dark text-sm mb-0 px-0 ms-4"><i class="fas fa-file-pdf text-lg me-1"></i> PDF</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-7 mt-4">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0 px-3">
|
||||
<h6 class="mb-0">Billing Information</h6>
|
||||
</div>
|
||||
<div class="card-body pt-4 p-3">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item border-0 d-flex p-4 mb-2 bg-gray-100 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-3 text-sm">Oliver Liam</h6>
|
||||
<span class="mb-2 text-xs">Company Name: <span class="text-dark font-weight-bold ms-sm-2">Viking Burrito</span></span>
|
||||
<span class="mb-2 text-xs">Email Address: <span class="text-dark ms-sm-2 font-weight-bold">oliver@burrito.com</span></span>
|
||||
<span class="text-xs">VAT Number: <span class="text-dark ms-sm-2 font-weight-bold">FRB1235476</span></span>
|
||||
</div>
|
||||
<div class="ms-auto text-end">
|
||||
<a class="btn btn-link text-danger text-gradient px-3 mb-0" href="javascript:;"><i class="far fa-trash-alt me-2"></i>Delete</a>
|
||||
<a class="btn btn-link text-dark px-3 mb-0" href="javascript:;"><i class="fas fa-pencil-alt text-dark me-2" aria-hidden="true"></i>Edit</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex p-4 mb-2 mt-3 bg-gray-100 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-3 text-sm">Lucas Harper</h6>
|
||||
<span class="mb-2 text-xs">Company Name: <span class="text-dark font-weight-bold ms-sm-2">Stone Tech Zone</span></span>
|
||||
<span class="mb-2 text-xs">Email Address: <span class="text-dark ms-sm-2 font-weight-bold">lucas@stone-tech.com</span></span>
|
||||
<span class="text-xs">VAT Number: <span class="text-dark ms-sm-2 font-weight-bold">FRB1235476</span></span>
|
||||
</div>
|
||||
<div class="ms-auto text-end">
|
||||
<a class="btn btn-link text-danger text-gradient px-3 mb-0" href="javascript:;"><i class="far fa-trash-alt me-2"></i>Delete</a>
|
||||
<a class="btn btn-link text-dark px-3 mb-0" href="javascript:;"><i class="fas fa-pencil-alt text-dark me-2" aria-hidden="true"></i>Edit</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex p-4 mb-2 mt-3 bg-gray-100 border-radius-lg">
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-3 text-sm">Ethan James</h6>
|
||||
<span class="mb-2 text-xs">Company Name: <span class="text-dark font-weight-bold ms-sm-2">Fiber Notion</span></span>
|
||||
<span class="mb-2 text-xs">Email Address: <span class="text-dark ms-sm-2 font-weight-bold">ethan@fiber.com</span></span>
|
||||
<span class="text-xs">VAT Number: <span class="text-dark ms-sm-2 font-weight-bold">FRB1235476</span></span>
|
||||
</div>
|
||||
<div class="ms-auto text-end">
|
||||
<a class="btn btn-link text-danger text-gradient px-3 mb-0" href="javascript:;"><i class="far fa-trash-alt me-2"></i>Delete</a>
|
||||
<a class="btn btn-link text-dark px-3 mb-0" href="javascript:;"><i class="fas fa-pencil-alt text-dark me-2" aria-hidden="true"></i>Edit</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5 mt-4">
|
||||
<div class="card h-100 mb-4">
|
||||
<div class="card-header pb-0 px-3">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h6 class="mb-0">Your Transaction's</h6>
|
||||
</div>
|
||||
<div class="col-md-6 d-flex justify-content-end align-items-center">
|
||||
<i class="far fa-calendar-alt me-2"></i>
|
||||
<small>23 - 30 March 2020</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-4 p-3">
|
||||
<h6 class="text-uppercase text-body text-xs font-weight-bolder mb-3">Newest</h6>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="btn btn-icon-only btn-rounded btn-outline-danger mb-0 me-3 btn-sm d-flex align-items-center justify-content-center"><i class="fas fa-arrow-down"></i></button>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Netflix</h6>
|
||||
<span class="text-xs">27 March 2020, at 12:30 PM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-danger text-gradient text-sm font-weight-bold">
|
||||
- $ 2,500
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="btn btn-icon-only btn-rounded btn-outline-success mb-0 me-3 btn-sm d-flex align-items-center justify-content-center"><i class="fas fa-arrow-up"></i></button>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Apple</h6>
|
||||
<span class="text-xs">27 March 2020, at 04:30 AM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-success text-gradient text-sm font-weight-bold">
|
||||
+ $ 2,000
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<h6 class="text-uppercase text-body text-xs font-weight-bolder my-3">Yesterday</h6>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="btn btn-icon-only btn-rounded btn-outline-success mb-0 me-3 btn-sm d-flex align-items-center justify-content-center"><i class="fas fa-arrow-up"></i></button>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Stripe</h6>
|
||||
<span class="text-xs">26 March 2020, at 13:45 PM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-success text-gradient text-sm font-weight-bold">
|
||||
+ $ 750
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="btn btn-icon-only btn-rounded btn-outline-success mb-0 me-3 btn-sm d-flex align-items-center justify-content-center"><i class="fas fa-arrow-up"></i></button>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">HubSpot</h6>
|
||||
<span class="text-xs">26 March 2020, at 12:30 PM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-success text-gradient text-sm font-weight-bold">
|
||||
+ $ 1,000
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="btn btn-icon-only btn-rounded btn-outline-success mb-0 me-3 btn-sm d-flex align-items-center justify-content-center"><i class="fas fa-arrow-up"></i></button>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Creative Tim</h6>
|
||||
<span class="text-xs">26 March 2020, at 08:30 AM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-success text-gradient text-sm font-weight-bold">
|
||||
+ $ 2,500
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<button class="btn btn-icon-only btn-rounded btn-outline-dark mb-0 me-3 btn-sm d-flex align-items-center justify-content-center"><i class="fas fa-exclamation"></i></button>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Webflow</h6>
|
||||
<span class="text-xs">26 March 2020, at 05:00 AM</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center text-dark text-sm font-weight-bold">
|
||||
Pending
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer pt-3 ">
|
||||
<div class="container-fluid">
|
||||
<div class="row align-items-center justify-content-lg-between">
|
||||
<div class="col-lg-6 mb-lg-0 mb-4">
|
||||
<div class="copyright text-center text-sm text-muted text-lg-start">
|
||||
© <script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script>,
|
||||
made with <i class="fa fa-heart"></i> by
|
||||
<a href="https://www.creative-tim.com" class="font-weight-bold" target="_blank">Creative Tim</a>
|
||||
for a better web.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<ul class="nav nav-footer justify-content-center justify-content-lg-end">
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com" class="nav-link text-muted" target="_blank">Creative Tim</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/presentation" class="nav-link text-muted" target="_blank">About Us</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/blog" class="nav-link text-muted" target="_blank">Blog</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/license" class="nav-link pe-0 text-muted" target="_blank">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</main>
|
||||
<div class="fixed-plugin">
|
||||
<a class="fixed-plugin-button text-dark position-fixed px-3 py-2">
|
||||
<i class="fa fa-cog py-2"> </i>
|
||||
</a>
|
||||
<div class="card shadow-lg">
|
||||
<div class="card-header pb-0 pt-3 ">
|
||||
<div class="float-start">
|
||||
<h5 class="mt-3 mb-0">Argon Configurator</h5>
|
||||
<p>See our dashboard options.</p>
|
||||
</div>
|
||||
<div class="float-end mt-4">
|
||||
<button class="btn btn-link text-dark p-0 fixed-plugin-close-button">
|
||||
<i class="fa fa-close"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- End Toggle Button -->
|
||||
</div>
|
||||
<hr class="horizontal dark my-1">
|
||||
<div class="card-body pt-sm-3 pt-0 overflow-auto">
|
||||
<!-- Sidebar Backgrounds -->
|
||||
<div>
|
||||
<h6 class="mb-0">Sidebar Colors</h6>
|
||||
</div>
|
||||
<a href="javascript:void(0)" class="switch-trigger background-color">
|
||||
<div class="badge-colors my-2 text-start">
|
||||
<span class="badge filter bg-gradient-primary active" data-color="primary" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-dark" data-color="dark" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-info" data-color="info" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-success" data-color="success" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-warning" data-color="warning" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-danger" data-color="danger" onclick="sidebarColor(this)"></span>
|
||||
</div>
|
||||
</a>
|
||||
<!-- Sidenav Type -->
|
||||
<div class="mt-3">
|
||||
<h6 class="mb-0">Sidenav Type</h6>
|
||||
<p class="text-sm">Choose between 2 different sidenav types.</p>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2 active me-2" data-class="bg-white" onclick="sidebarType(this)">White</button>
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2" data-class="bg-default" onclick="sidebarType(this)">Dark</button>
|
||||
</div>
|
||||
<p class="text-sm d-xl-none d-block mt-2">You can change the sidenav type just on desktop view.</p>
|
||||
<!-- Navbar Fixed -->
|
||||
<div class="d-flex my-3">
|
||||
<h6 class="mb-0">Navbar Fixed</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="navbarFixed" onclick="navbarFixed(this)">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark my-sm-4">
|
||||
<div class="mt-2 mb-5 d-flex">
|
||||
<h6 class="mb-0">Light / Dark</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="dark-version" onclick="darkMode(this)">
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn bg-gradient-dark w-100" href="https://www.creative-tim.com/product/argon-dashboard">Free Download</a>
|
||||
<a class="btn btn-outline-dark w-100" href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard">View documentation</a>
|
||||
<div class="w-100 text-center">
|
||||
<a class="github-button" href="https://github.com/creativetimofficial/argon-dashboard" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star creativetimofficial/argon-dashboard on GitHub">Star</a>
|
||||
<h6 class="mt-3">Thank you for sharing!</h6>
|
||||
<a href="https://twitter.com/intent/tweet?text=Check%20Argon%20Dashboard%20made%20by%20%40CreativeTim%20%23webdesign%20%23dashboard%20%23bootstrap5&url=https%3A%2F%2Fwww.creative-tim.com%2Fproduct%2Fargon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-twitter me-1" aria-hidden="true"></i> Tweet
|
||||
</a>
|
||||
<a href="https://www.facebook.com/sharer/sharer.php?u=https://www.creative-tim.com/product/argon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-facebook-square me-1" aria-hidden="true"></i> Share
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Core JS Files -->
|
||||
<script src="../assets/js/core/popper.min.js"></script>
|
||||
<script src="../assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="../assets/js/plugins/perfect-scrollbar.min.js"></script>
|
||||
<script src="../assets/js/plugins/smooth-scrollbar.min.js"></script>
|
||||
<script>
|
||||
var win = navigator.platform.indexOf('Win') > -1;
|
||||
if (win && document.querySelector('#sidenav-scrollbar')) {
|
||||
var options = {
|
||||
damping: '0.5'
|
||||
}
|
||||
Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options);
|
||||
}
|
||||
</script>
|
||||
<!-- Github buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<!-- Control Center for Soft Dashboard: parallax effects, scripts for the example pages etc -->
|
||||
<script src="../assets/js/argon-dashboard.min.js?v=2.0.4"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
835
templates/dashboard.html
Executable file
835
templates/dashboard.html
Executable file
@@ -0,0 +1,835 @@
|
||||
<!--
|
||||
=========================================================
|
||||
* Argon Dashboard 2 - v2.0.4
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
||||
* Copyright 2022 Creative Tim (https://www.creative-tim.com)
|
||||
* Licensed under MIT (https://www.creative-tim.com/license)
|
||||
* Coded by Creative Tim
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="../assets/img/apple-icon.png">
|
||||
<link rel="icon" type="image/png" href="../assets/img/favicon.png">
|
||||
<title>
|
||||
Argon Dashboard 2 by Creative Tim
|
||||
</title>
|
||||
<!-- Fonts and icons -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="../assets/css/nucleo-icons.css" rel="stylesheet" />
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- Font Awesome Icons -->
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="../assets/css/argon-dashboard.css?v=2.0.4" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body class="g-sidenav-show bg-gray-100">
|
||||
<div class="min-height-300 bg-primary position-absolute w-100"></div>
|
||||
<aside class="sidenav bg-white navbar navbar-vertical navbar-expand-xs border-0 border-radius-xl my-3 fixed-start ms-4 " id="sidenav-main">
|
||||
<div class="sidenav-header">
|
||||
<i class="fas fa-times p-3 cursor-pointer text-secondary opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
||||
<a class="navbar-brand m-0" href=" https://demos.creative-tim.com/argon-dashboard/pages/dashboard.html " target="_blank">
|
||||
<img src="../assets/img/logo-ct-dark.png" class="navbar-brand-img h-100" alt="main_logo">
|
||||
<span class="ms-1 font-weight-bold">Argon Dashboard 2</span>
|
||||
</a>
|
||||
</div>
|
||||
<hr class="horizontal dark mt-0">
|
||||
<div class="collapse navbar-collapse w-auto " id="sidenav-collapse-main">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="../pages/dashboard.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-tv-2 text-primary text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/tables.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-calendar-grid-58 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Tables</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/billing.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-credit-card text-success text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Billing</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/virtual-reality.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-app text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Virtual Reality</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/rtl.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-world-2 text-danger text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">RTL</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item mt-3">
|
||||
<h6 class="ps-4 ms-2 text-uppercase text-xs font-weight-bolder opacity-6">Account pages</h6>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/profile.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-02 text-dark text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Profile</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-in.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-copy-04 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-up.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-collection text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign Up</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidenav-footer mx-3 ">
|
||||
<div class="card card-plain shadow-none" id="sidenavCard">
|
||||
<img class="w-50 mx-auto" src="../assets/img/illustrations/icon-documentation.svg" alt="sidebar_illustration">
|
||||
<div class="card-body text-center p-3 w-100 pt-0">
|
||||
<div class="docs-info">
|
||||
<h6 class="mb-0">Need help?</h6>
|
||||
<p class="text-xs font-weight-bold mb-0">Please check our docs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard" target="_blank" class="btn btn-dark btn-sm w-100 mb-3">Documentation</a>
|
||||
<a class="btn btn-primary btn-sm mb-0 w-100" href="https://www.creative-tim.com/product/argon-dashboard-pro?ref=sidebarfree" type="button">Upgrade to pro</a>
|
||||
</div>
|
||||
</aside>
|
||||
<main class="main-content position-relative border-radius-lg ">
|
||||
<!-- Navbar -->
|
||||
<nav class="navbar navbar-main navbar-expand-lg px-0 mx-4 shadow-none border-radius-xl " id="navbarBlur" data-scroll="false">
|
||||
<div class="container-fluid py-1 px-3">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5">
|
||||
<li class="breadcrumb-item text-sm"><a class="opacity-5 text-white" href="javascript:;">Pages</a></li>
|
||||
<li class="breadcrumb-item text-sm text-white active" aria-current="page">Dashboard</li>
|
||||
</ol>
|
||||
<h6 class="font-weight-bolder text-white mb-0">Dashboard</h6>
|
||||
</nav>
|
||||
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
||||
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text text-body"><i class="fas fa-search" aria-hidden="true"></i></span>
|
||||
<input type="text" class="form-control" placeholder="Type here...">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="navbar-nav justify-content-end">
|
||||
<li class="nav-item d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white font-weight-bold px-0">
|
||||
<i class="fa fa-user me-sm-1"></i>
|
||||
<span class="d-sm-inline d-none">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item d-xl-none ps-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="iconNavbarSidenav">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item px-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0">
|
||||
<i class="fa fa-cog fixed-plugin-button-nav cursor-pointer"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown pe-2 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="fa fa-bell cursor-pointer"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end px-2 py-3 me-sm-n4" aria-labelledby="dropdownMenuButton">
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/team-2.jpg" class="avatar avatar-sm me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New message</span> from Laur
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
13 minutes ago
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/small-logos/logo-spotify.svg" class="avatar avatar-sm bg-gradient-dark me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New album</span> by Travis Scott
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
1 day
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="avatar avatar-sm bg-gradient-secondary me-3 my-auto">
|
||||
<svg width="12px" height="12px" viewBox="0 0 43 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>credit-card</title>
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(-2169.000000, -745.000000)" fill="#FFFFFF" fill-rule="nonzero">
|
||||
<g transform="translate(1716.000000, 291.000000)">
|
||||
<g transform="translate(453.000000, 454.000000)">
|
||||
<path class="color-background" d="M43,10.7482083 L43,3.58333333 C43,1.60354167 41.3964583,0 39.4166667,0 L3.58333333,0 C1.60354167,0 0,1.60354167 0,3.58333333 L0,10.7482083 L43,10.7482083 Z" opacity="0.593633743"></path>
|
||||
<path class="color-background" d="M0,16.125 L0,32.25 C0,34.2297917 1.60354167,35.8333333 3.58333333,35.8333333 L39.4166667,35.8333333 C41.3964583,35.8333333 43,34.2297917 43,32.25 L43,16.125 L0,16.125 Z M19.7083333,26.875 L7.16666667,26.875 L7.16666667,23.2916667 L19.7083333,23.2916667 L19.7083333,26.875 Z M35.8333333,26.875 L28.6666667,26.875 L28.6666667,23.2916667 L35.8333333,23.2916667 L35.8333333,26.875 Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
Payment successfully completed
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
2 days
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- End Navbar -->
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body p-3">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="numbers">
|
||||
<p class="text-sm mb-0 text-uppercase font-weight-bold">Today's Money</p>
|
||||
<h5 class="font-weight-bolder">
|
||||
$53,000
|
||||
</h5>
|
||||
<p class="mb-0">
|
||||
<span class="text-success text-sm font-weight-bolder">+55%</span>
|
||||
since yesterday
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<div class="icon icon-shape bg-gradient-primary shadow-primary text-center rounded-circle">
|
||||
<i class="ni ni-money-coins text-lg opacity-10" aria-hidden="true"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body p-3">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="numbers">
|
||||
<p class="text-sm mb-0 text-uppercase font-weight-bold">Today's Users</p>
|
||||
<h5 class="font-weight-bolder">
|
||||
2,300
|
||||
</h5>
|
||||
<p class="mb-0">
|
||||
<span class="text-success text-sm font-weight-bolder">+3%</span>
|
||||
since last week
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<div class="icon icon-shape bg-gradient-danger shadow-danger text-center rounded-circle">
|
||||
<i class="ni ni-world text-lg opacity-10" aria-hidden="true"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-sm-6 mb-xl-0 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body p-3">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="numbers">
|
||||
<p class="text-sm mb-0 text-uppercase font-weight-bold">New Clients</p>
|
||||
<h5 class="font-weight-bolder">
|
||||
+3,462
|
||||
</h5>
|
||||
<p class="mb-0">
|
||||
<span class="text-danger text-sm font-weight-bolder">-2%</span>
|
||||
since last quarter
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<div class="icon icon-shape bg-gradient-success shadow-success text-center rounded-circle">
|
||||
<i class="ni ni-paper-diploma text-lg opacity-10" aria-hidden="true"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-sm-6">
|
||||
<div class="card">
|
||||
<div class="card-body p-3">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<div class="numbers">
|
||||
<p class="text-sm mb-0 text-uppercase font-weight-bold">Sales</p>
|
||||
<h5 class="font-weight-bolder">
|
||||
$103,430
|
||||
</h5>
|
||||
<p class="mb-0">
|
||||
<span class="text-success text-sm font-weight-bolder">+5%</span> than last month
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4 text-end">
|
||||
<div class="icon icon-shape bg-gradient-warning shadow-warning text-center rounded-circle">
|
||||
<i class="ni ni-cart text-lg opacity-10" aria-hidden="true"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-7 mb-lg-0 mb-4">
|
||||
<div class="card z-index-2 h-100">
|
||||
<div class="card-header pb-0 pt-3 bg-transparent">
|
||||
<h6 class="text-capitalize">Sales overview</h6>
|
||||
<p class="text-sm mb-0">
|
||||
<i class="fa fa-arrow-up text-success"></i>
|
||||
<span class="font-weight-bold">4% more</span> in 2021
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-body p-3">
|
||||
<div class="chart">
|
||||
<canvas id="chart-line" class="chart-canvas" height="300"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="card card-carousel overflow-hidden h-100 p-0">
|
||||
<div id="carouselExampleCaptions" class="carousel slide h-100" data-bs-ride="carousel">
|
||||
<div class="carousel-inner border-radius-lg h-100">
|
||||
<div class="carousel-item h-100 active" style="background-image: url('../assets/img/carousel-1.jpg');
|
||||
background-size: cover;">
|
||||
<div class="carousel-caption d-none d-md-block bottom-0 text-start start-0 ms-5">
|
||||
<div class="icon icon-shape icon-sm bg-white text-center border-radius-md mb-3">
|
||||
<i class="ni ni-camera-compact text-dark opacity-10"></i>
|
||||
</div>
|
||||
<h5 class="text-white mb-1">Get started with Argon</h5>
|
||||
<p>There’s nothing I really wanted to do in life that I wasn’t able to get good at.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item h-100" style="background-image: url('../assets/img/carousel-2.jpg');
|
||||
background-size: cover;">
|
||||
<div class="carousel-caption d-none d-md-block bottom-0 text-start start-0 ms-5">
|
||||
<div class="icon icon-shape icon-sm bg-white text-center border-radius-md mb-3">
|
||||
<i class="ni ni-bulb-61 text-dark opacity-10"></i>
|
||||
</div>
|
||||
<h5 class="text-white mb-1">Faster way to create web pages</h5>
|
||||
<p>That’s my skill. I’m not really specifically talented at anything except for the ability to learn.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="carousel-item h-100" style="background-image: url('../assets/img/carousel-3.jpg');
|
||||
background-size: cover;">
|
||||
<div class="carousel-caption d-none d-md-block bottom-0 text-start start-0 ms-5">
|
||||
<div class="icon icon-shape icon-sm bg-white text-center border-radius-md mb-3">
|
||||
<i class="ni ni-trophy text-dark opacity-10"></i>
|
||||
</div>
|
||||
<h5 class="text-white mb-1">Share with us your design tips!</h5>
|
||||
<p>Don’t be afraid to be wrong because you can’t learn anything from a compliment.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="carousel-control-prev w-5 me-3" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</button>
|
||||
<button class="carousel-control-next w-5 me-3" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-7 mb-lg-0 mb-4">
|
||||
<div class="card ">
|
||||
<div class="card-header pb-0 p-3">
|
||||
<div class="d-flex justify-content-between">
|
||||
<h6 class="mb-2">Sales by Country</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table align-items-center ">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="w-30">
|
||||
<div class="d-flex px-2 py-1 align-items-center">
|
||||
<div>
|
||||
<img src="../assets/img/icons/flags/US.png" alt="Country flag">
|
||||
</div>
|
||||
<div class="ms-4">
|
||||
<p class="text-xs font-weight-bold mb-0">Country:</p>
|
||||
<h6 class="text-sm mb-0">United States</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Sales:</p>
|
||||
<h6 class="text-sm mb-0">2500</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Value:</p>
|
||||
<h6 class="text-sm mb-0">$230,900</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle text-sm">
|
||||
<div class="col text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Bounce:</p>
|
||||
<h6 class="text-sm mb-0">29.9%</h6>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-30">
|
||||
<div class="d-flex px-2 py-1 align-items-center">
|
||||
<div>
|
||||
<img src="../assets/img/icons/flags/DE.png" alt="Country flag">
|
||||
</div>
|
||||
<div class="ms-4">
|
||||
<p class="text-xs font-weight-bold mb-0">Country:</p>
|
||||
<h6 class="text-sm mb-0">Germany</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Sales:</p>
|
||||
<h6 class="text-sm mb-0">3.900</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Value:</p>
|
||||
<h6 class="text-sm mb-0">$440,000</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle text-sm">
|
||||
<div class="col text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Bounce:</p>
|
||||
<h6 class="text-sm mb-0">40.22%</h6>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-30">
|
||||
<div class="d-flex px-2 py-1 align-items-center">
|
||||
<div>
|
||||
<img src="../assets/img/icons/flags/GB.png" alt="Country flag">
|
||||
</div>
|
||||
<div class="ms-4">
|
||||
<p class="text-xs font-weight-bold mb-0">Country:</p>
|
||||
<h6 class="text-sm mb-0">Great Britain</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Sales:</p>
|
||||
<h6 class="text-sm mb-0">1.400</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Value:</p>
|
||||
<h6 class="text-sm mb-0">$190,700</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle text-sm">
|
||||
<div class="col text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Bounce:</p>
|
||||
<h6 class="text-sm mb-0">23.44%</h6>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-30">
|
||||
<div class="d-flex px-2 py-1 align-items-center">
|
||||
<div>
|
||||
<img src="../assets/img/icons/flags/BR.png" alt="Country flag">
|
||||
</div>
|
||||
<div class="ms-4">
|
||||
<p class="text-xs font-weight-bold mb-0">Country:</p>
|
||||
<h6 class="text-sm mb-0">Brasil</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Sales:</p>
|
||||
<h6 class="text-sm mb-0">562</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Value:</p>
|
||||
<h6 class="text-sm mb-0">$143,960</h6>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle text-sm">
|
||||
<div class="col text-center">
|
||||
<p class="text-xs font-weight-bold mb-0">Bounce:</p>
|
||||
<h6 class="text-sm mb-0">32.14%</h6>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0 p-3">
|
||||
<h6 class="mb-0">Categories</h6>
|
||||
</div>
|
||||
<div class="card-body p-3">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon icon-shape icon-sm me-3 bg-gradient-dark shadow text-center">
|
||||
<i class="ni ni-mobile-button text-white opacity-10"></i>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Devices</h6>
|
||||
<span class="text-xs">250 in stock, <span class="font-weight-bold">346+ sold</span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn btn-link btn-icon-only btn-rounded btn-sm text-dark icon-move-right my-auto"><i class="ni ni-bold-right" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon icon-shape icon-sm me-3 bg-gradient-dark shadow text-center">
|
||||
<i class="ni ni-tag text-white opacity-10"></i>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Tickets</h6>
|
||||
<span class="text-xs">123 closed, <span class="font-weight-bold">15 open</span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn btn-link btn-icon-only btn-rounded btn-sm text-dark icon-move-right my-auto"><i class="ni ni-bold-right" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 mb-2 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon icon-shape icon-sm me-3 bg-gradient-dark shadow text-center">
|
||||
<i class="ni ni-box-2 text-white opacity-10"></i>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Error logs</h6>
|
||||
<span class="text-xs">1 is active, <span class="font-weight-bold">40 closed</span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn btn-link btn-icon-only btn-rounded btn-sm text-dark icon-move-right my-auto"><i class="ni ni-bold-right" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item border-0 d-flex justify-content-between ps-0 border-radius-lg">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="icon icon-shape icon-sm me-3 bg-gradient-dark shadow text-center">
|
||||
<i class="ni ni-satisfied text-white opacity-10"></i>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<h6 class="mb-1 text-dark text-sm">Happy users</h6>
|
||||
<span class="text-xs font-weight-bold">+ 430</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn btn-link btn-icon-only btn-rounded btn-sm text-dark icon-move-right my-auto"><i class="ni ni-bold-right" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer pt-3 ">
|
||||
<div class="container-fluid">
|
||||
<div class="row align-items-center justify-content-lg-between">
|
||||
<div class="col-lg-6 mb-lg-0 mb-4">
|
||||
<div class="copyright text-center text-sm text-muted text-lg-start">
|
||||
© <script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script>,
|
||||
made with <i class="fa fa-heart"></i> by
|
||||
<a href="https://www.creative-tim.com" class="font-weight-bold" target="_blank">Creative Tim</a>
|
||||
for a better web.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<ul class="nav nav-footer justify-content-center justify-content-lg-end">
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com" class="nav-link text-muted" target="_blank">Creative Tim</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/presentation" class="nav-link text-muted" target="_blank">About Us</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/blog" class="nav-link text-muted" target="_blank">Blog</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/license" class="nav-link pe-0 text-muted" target="_blank">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</main>
|
||||
<div class="fixed-plugin">
|
||||
<a class="fixed-plugin-button text-dark position-fixed px-3 py-2">
|
||||
<i class="fa fa-cog py-2"> </i>
|
||||
</a>
|
||||
<div class="card shadow-lg">
|
||||
<div class="card-header pb-0 pt-3 ">
|
||||
<div class="float-start">
|
||||
<h5 class="mt-3 mb-0">Argon Configurator</h5>
|
||||
<p>See our dashboard options.</p>
|
||||
</div>
|
||||
<div class="float-end mt-4">
|
||||
<button class="btn btn-link text-dark p-0 fixed-plugin-close-button">
|
||||
<i class="fa fa-close"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- End Toggle Button -->
|
||||
</div>
|
||||
<hr class="horizontal dark my-1">
|
||||
<div class="card-body pt-sm-3 pt-0 overflow-auto">
|
||||
<!-- Sidebar Backgrounds -->
|
||||
<div>
|
||||
<h6 class="mb-0">Sidebar Colors</h6>
|
||||
</div>
|
||||
<a href="javascript:void(0)" class="switch-trigger background-color">
|
||||
<div class="badge-colors my-2 text-start">
|
||||
<span class="badge filter bg-gradient-primary active" data-color="primary" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-dark" data-color="dark" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-info" data-color="info" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-success" data-color="success" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-warning" data-color="warning" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-danger" data-color="danger" onclick="sidebarColor(this)"></span>
|
||||
</div>
|
||||
</a>
|
||||
<!-- Sidenav Type -->
|
||||
<div class="mt-3">
|
||||
<h6 class="mb-0">Sidenav Type</h6>
|
||||
<p class="text-sm">Choose between 2 different sidenav types.</p>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2 active me-2" data-class="bg-white" onclick="sidebarType(this)">White</button>
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2" data-class="bg-default" onclick="sidebarType(this)">Dark</button>
|
||||
</div>
|
||||
<p class="text-sm d-xl-none d-block mt-2">You can change the sidenav type just on desktop view.</p>
|
||||
<!-- Navbar Fixed -->
|
||||
<div class="d-flex my-3">
|
||||
<h6 class="mb-0">Navbar Fixed</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="navbarFixed" onclick="navbarFixed(this)">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark my-sm-4">
|
||||
<div class="mt-2 mb-5 d-flex">
|
||||
<h6 class="mb-0">Light / Dark</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="dark-version" onclick="darkMode(this)">
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn bg-gradient-dark w-100" href="https://www.creative-tim.com/product/argon-dashboard">Free Download</a>
|
||||
<a class="btn btn-outline-dark w-100" href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard">View documentation</a>
|
||||
<div class="w-100 text-center">
|
||||
<a class="github-button" href="https://github.com/creativetimofficial/argon-dashboard" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star creativetimofficial/argon-dashboard on GitHub">Star</a>
|
||||
<h6 class="mt-3">Thank you for sharing!</h6>
|
||||
<a href="https://twitter.com/intent/tweet?text=Check%20Argon%20Dashboard%20made%20by%20%40CreativeTim%20%23webdesign%20%23dashboard%20%23bootstrap5&url=https%3A%2F%2Fwww.creative-tim.com%2Fproduct%2Fargon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-twitter me-1" aria-hidden="true"></i> Tweet
|
||||
</a>
|
||||
<a href="https://www.facebook.com/sharer/sharer.php?u=https://www.creative-tim.com/product/argon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-facebook-square me-1" aria-hidden="true"></i> Share
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Core JS Files -->
|
||||
<script src="../assets/js/core/popper.min.js"></script>
|
||||
<script src="../assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="../assets/js/plugins/perfect-scrollbar.min.js"></script>
|
||||
<script src="../assets/js/plugins/smooth-scrollbar.min.js"></script>
|
||||
<script src="../assets/js/plugins/chartjs.min.js"></script>
|
||||
<script>
|
||||
var ctx1 = document.getElementById("chart-line").getContext("2d");
|
||||
|
||||
var gradientStroke1 = ctx1.createLinearGradient(0, 230, 0, 50);
|
||||
|
||||
gradientStroke1.addColorStop(1, 'rgba(94, 114, 228, 0.2)');
|
||||
gradientStroke1.addColorStop(0.2, 'rgba(94, 114, 228, 0.0)');
|
||||
gradientStroke1.addColorStop(0, 'rgba(94, 114, 228, 0)');
|
||||
new Chart(ctx1, {
|
||||
type: "line",
|
||||
data: {
|
||||
labels: ["Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
||||
datasets: [{
|
||||
label: "Mobile apps",
|
||||
tension: 0.4,
|
||||
borderWidth: 0,
|
||||
pointRadius: 0,
|
||||
borderColor: "#5e72e4",
|
||||
backgroundColor: gradientStroke1,
|
||||
borderWidth: 3,
|
||||
fill: true,
|
||||
data: [50, 40, 300, 220, 500, 250, 400, 230, 500],
|
||||
maxBarThickness: 6
|
||||
|
||||
}],
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
plugins: {
|
||||
legend: {
|
||||
display: false,
|
||||
}
|
||||
},
|
||||
interaction: {
|
||||
intersect: false,
|
||||
mode: 'index',
|
||||
},
|
||||
scales: {
|
||||
y: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: true,
|
||||
drawOnChartArea: true,
|
||||
drawTicks: false,
|
||||
borderDash: [5, 5]
|
||||
},
|
||||
ticks: {
|
||||
display: true,
|
||||
padding: 10,
|
||||
color: '#fbfbfb',
|
||||
font: {
|
||||
size: 11,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
}
|
||||
},
|
||||
x: {
|
||||
grid: {
|
||||
drawBorder: false,
|
||||
display: false,
|
||||
drawOnChartArea: false,
|
||||
drawTicks: false,
|
||||
borderDash: [5, 5]
|
||||
},
|
||||
ticks: {
|
||||
display: true,
|
||||
color: '#ccc',
|
||||
padding: 20,
|
||||
font: {
|
||||
size: 11,
|
||||
family: "Open Sans",
|
||||
style: 'normal',
|
||||
lineHeight: 2
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
var win = navigator.platform.indexOf('Win') > -1;
|
||||
if (win && document.querySelector('#sidenav-scrollbar')) {
|
||||
var options = {
|
||||
damping: '0.5'
|
||||
}
|
||||
Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options);
|
||||
}
|
||||
</script>
|
||||
<!-- Github buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<!-- Control Center for Soft Dashboard: parallax effects, scripts for the example pages etc -->
|
||||
<script src="../assets/js/argon-dashboard.min.js?v=2.0.4"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
22
templates/error_pages/403.html
Normal file
22
templates/error_pages/403.html
Normal file
@@ -0,0 +1,22 @@
|
||||
{% extends "includes/base.html" %}
|
||||
|
||||
{% block title %} 404 Page {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
||||
<div class="card shadow-lg mx-4 card-profile-bottom text-center">
|
||||
<div class="card-body p-3 text-center">
|
||||
<div class="row gx-4">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-4 text-center">Error 403</h3>
|
||||
<br />
|
||||
<span class="mb-0 text-muted text-center">
|
||||
You shouldn't be here! - <a href="/">Home</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
22
templates/error_pages/404.html
Normal file
22
templates/error_pages/404.html
Normal file
@@ -0,0 +1,22 @@
|
||||
{% extends "includes/base.html" %}
|
||||
|
||||
{% block title %} 404 Page {% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
||||
<div class="card shadow-lg mx-4 card-profile-bottom text-center">
|
||||
<div class="card-body p-3 text-center">
|
||||
<div class="row gx-4">
|
||||
<div class="col-12">
|
||||
<h3 class="mb-4 text-center">Error 404</h3>
|
||||
<br />
|
||||
<span class="mb-0 text-muted text-center">
|
||||
Page not found - <a href="/">Home</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock content %}
|
||||
117
templates/hrm/holiday_request.html
Normal file
117
templates/hrm/holiday_request.html
Normal file
@@ -0,0 +1,117 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block styles %}
|
||||
|
||||
{% endblock styles %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
<div class="card shadow-lg mx-4 card-profile-bottom">
|
||||
<div class="card-body p-3">
|
||||
<div class="row gx-4">
|
||||
<div class="col-auto">
|
||||
<div class="avatar avatar-xl position-relative">
|
||||
{% if employee.employee.email %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% gravatar_url employee.employee.email 50 %}" alt="" />
|
||||
{% else %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% static 'img/profile.png' %}" alt="" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto my-auto">
|
||||
<div class="h-100">
|
||||
<h5 class="mb-1">
|
||||
{{ employee.employee.first_name }} {{ employee.employee.last_name }}
|
||||
</h5>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.job_title }}
|
||||
</p>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.company.name }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0">Holdiay Request</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="holiday_request z-index-5">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Start Date</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" placeholder="Please select date" id="input_from" name="holiday_start_date" type="text" value="{{absence.start_date}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">End Date</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" placeholder="Please select date" type="text" id="input_to" name="holiday_end_date" value="{{absence.end_date}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<button class="btn btn-success mt-2 mb-2" type="button" onclick="requestHoliday()">
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="submitText">Request</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="mt-4 z-index-2" >
|
||||
<p>Existing bookings for your department are shown below</p>
|
||||
<div id='calendar-container'>
|
||||
<div id='calendar'></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
{% block scripts %}
|
||||
<script src="{% static 'js/plugins/calendar/rome.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/calendar/main.js' %}"></script>
|
||||
<script src="{% static 'fullcalendar/dist/index.global.js' %}"></script>
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var calendarEl = document.getElementById('calendar');
|
||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
themeSystem: 'bootstrap5',
|
||||
headerToolbar: {
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
right: 'dayGridYear,dayGridMonth'
|
||||
},
|
||||
initialView: 'dayGridYear',
|
||||
initialDate: "{{today}}",
|
||||
navLinks: false,
|
||||
editable: false,
|
||||
eventLimit: true,
|
||||
events: "{% url 'api:get_existing_holidays' %}?employee_id={{employee.id}}",
|
||||
});
|
||||
calendar.render();
|
||||
});
|
||||
|
||||
|
||||
|
||||
function requestHoliday(){
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden')
|
||||
document.getElementById('submitText').setAttribute('hidden', true)
|
||||
var from = document.getElementById('input_from').value;
|
||||
var to = document.getElementById('input_to').value;
|
||||
postData = {'data': JSON.stringify({'employee_id': {{employee.id}}, 'from': from, 'to': to})};
|
||||
console.log(postData);
|
||||
}
|
||||
</script>
|
||||
|
||||
{% endblock scripts %}
|
||||
260
templates/hrm/index.html
Normal file
260
templates/hrm/index.html
Normal file
@@ -0,0 +1,260 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
<div class="card shadow-lg mx-4 card-profile-bottom">
|
||||
<div class="card-body p-3">
|
||||
<div class="row gx-4">
|
||||
<div class="col-auto">
|
||||
<div class="avatar avatar-xl position-relative">
|
||||
{% if employee.employee.email %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% gravatar_url user.email 50 %}" alt="" />
|
||||
{% else %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% static 'img/profile.png' %}" alt="" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto my-auto">
|
||||
<div class="h-100">
|
||||
<h5 class="mb-1">
|
||||
{{ employee.employee.first_name }} {{ employee.employee.last_name }}
|
||||
</h5>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.job_title }}
|
||||
</p>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.company.name }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0 d-flex">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0">Quick Links</p>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-secondary position-absolute top-10 end-2" type="button" data-bs-toggle="modal" data-bs-target="#addLinkModal">Manage Links</button>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="px-2 py-3 me-sm-n4 list-unstyled" id="enabledLinks">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="addLinkModal" tabindex="-1" role="dialog" aria-labelledby="addLinkModal" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<div class="card card-plain">
|
||||
<div class="card-header pb-0 text-left">
|
||||
<h3 class="font-weight-bolder text-primary text-gradient">Links</h3>
|
||||
</div>
|
||||
<div class="card-body pb-3">
|
||||
<form role="form" id="enablelinkForm">
|
||||
<div class="col-auto" id='availableLinks'>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" class="btn bg-gradient-primary btn-lg btn-rounded w-100 mt-4 mb-0" onclick="addLink()">
|
||||
<span class="spinner-border spinner-border-sm" id="createSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="createText">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<form role="form text-left" id="addlinkForm" hidden>
|
||||
<label>Link Name</label>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" id="linkName" placeholder="Name" aria-label="Name" aria-describedby="name-addon">
|
||||
</div>
|
||||
<label>Link URL</label>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" id="linkURL" placeholder="/your_page_here" aria-label="Name" aria-describedby="name-addon">
|
||||
</div>
|
||||
<label>Link Enabled</label>
|
||||
<div class="input-group mb-3">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="linkEnabled" checked="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" class="btn bg-gradient-primary btn-lg btn-rounded w-100 mt-4 mb-0" onclick="addNewLink()">
|
||||
<span class="spinner-border spinner-border-sm" id="createSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="createText">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
{% block scripts %}
|
||||
<script>
|
||||
|
||||
|
||||
function get_links() {
|
||||
try {
|
||||
document.getElementById('availableLinks').innerHTML = "";
|
||||
document.getElementById('enabledLinks').innerHTML = "";
|
||||
} catch {};
|
||||
$.ajax({
|
||||
url: "{% url 'api:get_links' %}",
|
||||
dataType: "JSON",
|
||||
type: 'GET',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success: function(data) {
|
||||
for (var i = 0; i < data['links'].length; i++) {
|
||||
var toggle_box = document.getElementById(data['links'][i]['id']);
|
||||
var link_box = document.getElementById('link_'+data['links'][i]['id']);
|
||||
if (data['links'][i]['enabled'] === true) {
|
||||
if (toggle_box === null ){
|
||||
$('#availableLinks').append(
|
||||
'<div class="row" id="linkToggle_'+data['links'][i]['id']+'">'+
|
||||
'<div class="form-check form-switch ">'+
|
||||
'<input class="form-check-input" type="checkbox" id="'+data['links'][i]['id']+'" checked="" onclick="toggleLink(this.id)">'+
|
||||
'<label class="form-check-label" for="'+data['links'][i]['id']+'">'+data['links'][i]['name']+'</label>'+
|
||||
'<a class="position-absolute end-10" onclick="deleteLink('+data['links'][i]['id']+')"><i class="fa fa-trash"></i></a>'+
|
||||
'</div>'+
|
||||
|
||||
'</div>'
|
||||
);
|
||||
};
|
||||
if (link_box === null ){
|
||||
$('#enabledLinks').append(
|
||||
'<li class="mb-2" id="link_'+data['links'][i]['id']+'">'+
|
||||
'<a href="'+data['links'][i]['link']+'">'+
|
||||
data['links'][i]['name']+
|
||||
'</a>'+
|
||||
'</li>'
|
||||
)
|
||||
};
|
||||
} else {
|
||||
if (toggle_box === null ){
|
||||
$('#availableLinks').append(
|
||||
'<div class="row" id="linkToggle_'+data['links'][i]['id']+'">'+
|
||||
'<div class="form-check form-switch">'+
|
||||
'<input class="form-check-input" type="checkbox" id="'+data['links'][i]['id']+'" onclick="toggleLink(this.id)">'+
|
||||
'<label class="form-check-label" for="'+data['links'][i]['id']+'">'+data['links'][i]['name']+'</label>'+
|
||||
'<a class="position-absolute end-10" onclick="deleteLink('+data['links'][i]['id']+')"><i class="fa fa-trash"></i></a>'+
|
||||
'</div>'+
|
||||
'</div>'
|
||||
);
|
||||
};
|
||||
try {
|
||||
document.getElementById('link_'+data['links'][i]['id']).remove();
|
||||
} catch {};
|
||||
}
|
||||
};
|
||||
},
|
||||
});
|
||||
};
|
||||
$(document).ready(function() {
|
||||
get_links();
|
||||
});
|
||||
|
||||
function addLink() {
|
||||
document.getElementById('enablelinkForm').setAttribute('hidden', true);
|
||||
document.getElementById('addlinkForm').removeAttribute('hidden');
|
||||
}
|
||||
function addNewLink(){
|
||||
var name = document.getElementById('linkName').value;
|
||||
var link = document.getElementById('linkURL').value;
|
||||
var enabled = document.getElementById('linkEnabled').checked;
|
||||
|
||||
postData = {'data': JSON.stringify({'name': name, 'link': link, 'enabled': enabled})}
|
||||
//console.log(postData)
|
||||
$.ajax({
|
||||
url: "{% url 'api:add_homepage_link' %}",
|
||||
dataType: "JSON",
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success: function(results) {
|
||||
get_links();
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
document.getElementById('addlinkForm').setAttribute('hidden', true);
|
||||
document.getElementById('enablelinkForm').removeAttribute('hidden');
|
||||
},
|
||||
error: function(results){
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function toggleLink(link_id) {
|
||||
var toggle = document.getElementById(link_id);
|
||||
if (toggle.checked) {
|
||||
var checked = true
|
||||
} else {
|
||||
var checked = false
|
||||
}
|
||||
$.ajax({
|
||||
url: "{% url 'api:toggle_link' %}",
|
||||
dataType: "JSON",
|
||||
data: {'data': JSON.stringify({'link_id': link_id, "checked": checked})},
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success: function(results){
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
get_links();
|
||||
},
|
||||
error: function(results) {
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
get_links();
|
||||
}
|
||||
})
|
||||
}
|
||||
function deleteLink(link_id) {
|
||||
$.ajax({
|
||||
url: "{% url 'api:delete_link' %}",
|
||||
dataType: "JSON",
|
||||
data: {'data': JSON.stringify({'link_id': link_id})},
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success: function(results){
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
get_links();
|
||||
},
|
||||
error: function(results) {
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
get_links();
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts %}
|
||||
214
templates/hrm/profile.html
Executable file
214
templates/hrm/profile.html
Executable file
@@ -0,0 +1,214 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
<div class="card shadow-lg mx-4 card-profile-bottom">
|
||||
<div class="card-body p-3">
|
||||
<div class="row gx-4">
|
||||
<div class="col-auto">
|
||||
<div class="avatar avatar-xl position-relative">
|
||||
{% if user.email %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% gravatar_url user.email 50 %}" alt="" />
|
||||
{% else %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% static 'img/profile.png' %}" alt="" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto my-auto">
|
||||
<div class="h-100">
|
||||
<h5 class="mb-1">
|
||||
{{ user.first_name }} {{ user.last_name }}
|
||||
</h5>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.job_title }}
|
||||
</p>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.company.name }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6 my-sm-auto ms-sm-auto me-sm-0 mx-auto mt-3">
|
||||
<div class="nav-wrapper position-relative end-0">
|
||||
<ul class="nav nav-pills nav-fill p-1" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-0 px-0 py-1 active d-flex align-items-center justify-content-center " data-bs-toggle="tab" href="javascript:;" role="tab" aria-selected="true">
|
||||
<i class="ni ni-app"></i>
|
||||
<span class="ms-2">App</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-0 px-0 py-1 d-flex align-items-center justify-content-center " data-bs-toggle="tab" href="javascript:;" role="tab" aria-selected="false">
|
||||
<i class="ni ni-email-83"></i>
|
||||
<span class="ms-2">Messages</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link mb-0 px-0 py-1 d-flex align-items-center justify-content-center " data-bs-toggle="tab" href="javascript:;" role="tab" aria-selected="false">
|
||||
<i class="ni ni-settings-gear-65"></i>
|
||||
<span class="ms-2">Settings</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0">Edit Profile</p>
|
||||
<button class="btn btn-primary btn-sm ms-auto">Edit</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="text-uppercase text-sm">Employee Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Email address</label>
|
||||
<input class="form-control" type="email" value="{{ user.email }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">First name</label>
|
||||
<input class="form-control" type="text" value="{{user.first_name}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Last name</label>
|
||||
<input class="form-control" type="text" value="{{user.last_name}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Preferred Name</label>
|
||||
<input class="form-control" type="text" value="{{employee.preferred_name}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Contact Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Address</label>
|
||||
<input class="form-control" type="text" value="{{employee.address_street}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">City</label>
|
||||
<input class="form-control" type="text" value="{{employee.address_city}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Country</label>
|
||||
<input class="form-control" type="text" value="{{employee.address_country}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Postal code</label>
|
||||
<input class="form-control" type="text" value="{{employee.address_postcode}}">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Emergency Contact Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Address</label>
|
||||
<input class="form-control" type="text" value="{{employee.emergency_contact_address_street}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">City</label>
|
||||
<input class="form-control" type="text" value="{{employee.emergency_contact_address_city}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Country</label>
|
||||
<input class="form-control" type="text" value="{{employee.emergency_contact_address_country}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Postal code</label>
|
||||
<input class="form-control" type="text" value="{{employee.emergency_contact_address_postcode}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Contact Number</label>
|
||||
<input class="form-control" type="text" value="{{employee.emergency_contact_phone_number}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label for="example-text-input" class="form-control-label">Alternative Number</label>
|
||||
<input class="form-control" type="text" value="{{employee.emergency_contact_alternative_number}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card card-profile">
|
||||
<div class="card-header text-center border-0 pt-0 pt-lg-2 pb-4 pb-lg-3">
|
||||
<div class="d-flex justify-content-between">
|
||||
<a href="{% url 'request_holiday' %}" class="btn btn-sm btn-info mb-0 d-none d-lg-block">Book Holiday</a>
|
||||
<a href="javascript:;" class="btn btn-sm btn-info mb-0 d-block d-lg-none"><i class="ni ni-collection"></i></a>
|
||||
<a href="javascript:;" class="btn btn-sm btn-dark float-right mb-0 d-none d-lg-block">Log Sick Day</a>
|
||||
<a href="javascript:;" class="btn btn-sm btn-dark float-right mb-0 d-block d-lg-none"><i class="ni ni-email-83"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body pt-0">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="d-grid text-center m-2">
|
||||
<span class="text-lg font-weight-bolder">{{ employee.holiday_days_allocated }}</span>
|
||||
<span class="text-sm opacity-8">Allocation</span>
|
||||
</div>
|
||||
<div class="d-grid text-center m-2">
|
||||
<span class="text-lg font-weight-bolder">{{ employee.holiday_days_remaining }}</span>
|
||||
<span class="text-sm opacity-8">Remaining</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-left">
|
||||
<div class="text-left">
|
||||
<h6>Employee Links</h6>
|
||||
<ul>
|
||||
<li>
|
||||
<a href=# >Employee Handbook</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href=# >Code of Conduct</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href=# >Employee Progression</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
96
templates/includes/base.html
Normal file
96
templates/includes/base.html
Normal file
@@ -0,0 +1,96 @@
|
||||
<!--
|
||||
=========================================================
|
||||
* Argon Dashboard 2 - v2.0.4
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
||||
* Copyright 2022 Creative Tim (https://www.creative-tim.com)
|
||||
* Licensed under MIT (https://www.creative-tim.com/license)
|
||||
* Coded by Creative Tim
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
-->
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="{% static 'img/apple-icon.png' %}">
|
||||
<link rel="icon" type="image/png" href="{% static 'img/favicon.png' %}">
|
||||
<title>
|
||||
TMHR
|
||||
</title>
|
||||
<!-- Fonts and icons -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="{% static 'css/nucleo-icons.css' %}" rel="stylesheet" />
|
||||
<link href="{% static 'css/nucleo-svg.css' %}" rel="stylesheet" />
|
||||
|
||||
<link rel="stylesheet" href="{% static 'fonts/icomoon/style.css' %}" />
|
||||
<link rel="stylesheet" href="{% static 'css/rome.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'css/style.css' %}">
|
||||
|
||||
|
||||
<!-- Font Awesome Icons -->
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<link href="{% static 'css/nucleo-svg.css' %}" rel="stylesheet" />
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="{% static 'css/argon-dashboard.css' %}" rel="stylesheet" />
|
||||
|
||||
{% block styles %}
|
||||
{% endblock styles %}
|
||||
</head>
|
||||
|
||||
<body class="g-sidenav-show bg-gray-100">
|
||||
|
||||
<div class="position-absolute w-100 min-height-300 top-0" style="background-image: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=2340&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'); background-position-y: 50%;">
|
||||
<span class="mask bg-primary opacity-6"></span>
|
||||
</div>
|
||||
{% include 'includes/sidebar.html' %}
|
||||
<div class="main-content position-relative max-height-vh-100 h-100">
|
||||
{% include 'includes/navbar.html' %}
|
||||
{% block content %}
|
||||
{% endblock content %}
|
||||
<div class="toast-container position-fixed bottom-0 end-0 p-3">
|
||||
<div id="toast-alert" class="toast" role="alert" aria-live="assertive" aria-atomic="true">
|
||||
<div class="toast-header text-dark">
|
||||
<strong class="me-auto " id='toast-title'></strong>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="toast-body" id='toast-message'>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer pt-3 pb-2 ">
|
||||
<div class="container-fluid">
|
||||
<div class="row align-items-center justify-content-lg-between">
|
||||
<div class="col-lg-6 mb-lg-0 mb-4">
|
||||
<div class="copyright text-center text-sm text-muted text-lg-start">
|
||||
© <script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script>,
|
||||
made with <i class="fa fa-heart"></i> by
|
||||
<a href="https://www.themainframe.co.uk" class="font-weight-bold" target="_blank">Joshua Kirkcaldy</a>
|
||||
for a better web.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<ul class="nav nav-footer justify-content-center justify-content-lg-end">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{% include 'includes/scripts.html' %}
|
||||
{% block scripts %}
|
||||
{% endblock scripts %}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
63
templates/includes/base_auth.html
Normal file
63
templates/includes/base_auth.html
Normal file
@@ -0,0 +1,63 @@
|
||||
{% load static %}
|
||||
<!--
|
||||
=========================================================
|
||||
* Argon Dashboard 2 - v2.0.4
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
||||
* Copyright 2022 Creative Tim (https://www.creative-tim.com)
|
||||
* Licensed under MIT (https://www.creative-tim.com/license)
|
||||
* Coded by Creative Tim
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="{% static 'img/apple-icon.png' %}">
|
||||
<link rel="icon" type="image/png" href="{% static 'img/favicon.png' %}">
|
||||
<title>
|
||||
TMHR
|
||||
</title>
|
||||
<!-- Fonts and icons -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="{% static 'css/nucleo-icons.css' %}" rel="stylesheet" />
|
||||
<link href="{% static 'css/nucleo-svg.css' %}" rel="stylesheet" />
|
||||
<!-- Font Awesome Icons -->
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<link href="{% static 'css/nucleo-svg.css' %}" rel="stylesheet" />
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="{% static 'css/argon-dashboard.css' %}" rel="stylesheet" />
|
||||
{% block styles %}{% endblock styles%}
|
||||
</head>
|
||||
<body class="">
|
||||
|
||||
{% block content %}{% endblock content %}
|
||||
<footer class="footer py-5">
|
||||
<div class="container">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-8 mx-auto text-center mt-1">
|
||||
<p class="mb-0 text-secondary">
|
||||
Copyright © <script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script> Joshua Kirkcaldy.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{% include 'includes/scripts.html' %}
|
||||
{% block scripts %}
|
||||
{% endblock scripts %}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
30
templates/includes/nav_auth.html
Normal file
30
templates/includes/nav_auth.html
Normal file
@@ -0,0 +1,30 @@
|
||||
{% load static %}
|
||||
|
||||
<nav class="navbar navbar-expand-lg position-absolute top-0 z-index-3 w-100 shadow-none my-3 navbar-transparent mt-4">
|
||||
<div class="container">
|
||||
|
||||
<button class="navbar-toggler shadow-none ms-2" type="button" data-bs-toggle="collapse" data-bs-target="#navigation" aria-controls="navigation" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon mt-2">
|
||||
<span class="navbar-toggler-bar bar1"></span>
|
||||
<span class="navbar-toggler-bar bar2"></span>
|
||||
<span class="navbar-toggler-bar bar3"></span>
|
||||
</span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navigation">
|
||||
<ul class="navbar-nav mx-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link me-2" href="../pages/sign-up.html">
|
||||
<i class="fas fa-user-circle opacity-6 me-1"></i>
|
||||
Sign Up
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link me-2" href="../pages/sign-in.html">
|
||||
<i class="fas fa-key opacity-6 me-1"></i>
|
||||
Sign In
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
45
templates/includes/navbar.html
Normal file
45
templates/includes/navbar.html
Normal file
@@ -0,0 +1,45 @@
|
||||
{% load static %}
|
||||
<nav class="navbar navbar-main navbar-expand-lg bg-transparent shadow-none position-absolute px-4 w-100 " id="navbarBlur" data-scroll="false">
|
||||
<div class="container-fluid py-1 px-3">
|
||||
|
||||
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
||||
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text text-body"><i class="fas fa-search" aria-hidden="true"></i></span>
|
||||
<input type="text" class="form-control" placeholder="Type here...">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="navbar-nav justify-content-end">
|
||||
|
||||
<li class="nav-item d-xl-none ps-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="iconNavbarSidenav">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item px-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="fa fa-cog fixed-plugin-button-nav cursor-pointer"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end px-2 py-3 me-sm-n4" aria-labelledby="dropdownMenuButton">
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href='{% url "admin:index" %}' target="_blank">
|
||||
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||
Settings
|
||||
</a>
|
||||
</li>
|
||||
{% if user.is_authenticated %}
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href='{% url "accounts:logout" %}'>
|
||||
<i class="fa fa-sign-out fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||
Log out
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
38
templates/includes/scripts.html
Normal file
38
templates/includes/scripts.html
Normal file
@@ -0,0 +1,38 @@
|
||||
{% load static %}
|
||||
<!-- Core JS Files -->
|
||||
<script src="{% static 'js/core/popper.min.js' %}"></script>
|
||||
<script src="{% static 'js/core/bootstrap.min.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/perfect-scrollbar.min.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/smooth-scrollbar.min.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/chartjs.min.js' %}"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.5/dist/js.cookie.min.js"></script>
|
||||
<script>
|
||||
const csrftoken = Cookies.get('csrftoken');
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var win = navigator.platform.indexOf('Win') > -1;
|
||||
if (win && document.querySelector('#sidenav-scrollbar')) {
|
||||
var options = {
|
||||
damping: '0.5'
|
||||
}
|
||||
Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options);
|
||||
}
|
||||
</script>
|
||||
<!-- Github buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<!-- Control Center for Soft Dashboard: parallax effects, scripts for the example pages etc -->
|
||||
<script src="{% static 'js/argon-dashboard.min.js' %}"></script>
|
||||
<script>
|
||||
const toast = document.getElementById('toast-alert')
|
||||
const toastBootstrap = bootstrap.Toast.getOrCreateInstance(toast)
|
||||
$(document).ready(function() {
|
||||
try {
|
||||
toast.classList.remove('text-bg-success');
|
||||
toast.classList.remove('text-bg-warning');
|
||||
toast.classList.remove('text-bg-danger');
|
||||
} catch {};
|
||||
});
|
||||
|
||||
</script>
|
||||
70
templates/includes/sidebar.html
Normal file
70
templates/includes/sidebar.html
Normal file
@@ -0,0 +1,70 @@
|
||||
{% load static %}
|
||||
<aside class="sidenav bg-white navbar navbar-vertical navbar-expand-xs border-0 border-radius-xl my-3 fixed-start ms-4 " id="sidenav-main">
|
||||
<div class="sidenav-header ">
|
||||
<i class="fas fa-times p-3 cursor-pointer text-secondary opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
||||
<a class="navbar-brand" href="{% url 'index' %}">
|
||||
<img src="{% static 'img/logos/logo-black-no-border.png' %}" class="navbar-brand-img text-center me-2 d-flex align-items-center justify-content-center ms-3" alt="main_logo">
|
||||
</a>
|
||||
</div>
|
||||
<hr class="horizontal dark mt-5">
|
||||
<div class="collapse navbar-collapse w-auto " id="sidenav-collapse-main">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if 'index' in segment %} active {% endif %}" href="{% url 'index' %}">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<span class="material-icons opacity-10">home</span>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if 'profile' in segment %} active {% endif %}" href="{% url 'profile' %}">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<span class="material-icons opacity-10">manage_accounts</span>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Profile</span>
|
||||
</a>
|
||||
</li>
|
||||
{% if user.is_staff %}
|
||||
<li class="nav-item mt-3">
|
||||
<h6 class="ps-4 ms-2 text-uppercase text-xs font-weight-bolder opacity-6">Management</h6>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if 'add_employee' in segment %} active {% endif %}" href="{% url 'manager:add_employee' %}">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<span class="material-icons opacity-10">person_add</span>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Add Employee</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if 'edit_employee' in segment %} active {% endif %}" href="{% url 'manager:select_employee' %}">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<span class="material-icons opacity-10">supervised_user_circle</span>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Edit Employee</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if 'company' in segment %} active {% endif %}" href="{% url 'manager:company' %}">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<span class="material-icons opacity-10">domain</span>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Company Editor</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if 'department' in segment %} active {% endif %}" href="{% url 'manager:select_department' %}">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<span class="material-icons opacity-10">work</span>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Department Editor</span>
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidenav-footer mx-3">
|
||||
<a href="{% url 'accounts:logout' %}" class="btn btn-dark btn-sm w-100 mb-0">Sign Out</a>
|
||||
</div>
|
||||
</aside>
|
||||
7
templates/index.html
Executable file
7
templates/index.html
Executable file
@@ -0,0 +1,7 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
<div class="container-fluid py-4">
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
231
templates/manager/add_company.html
Normal file
231
templates/manager/add_company.html
Normal file
@@ -0,0 +1,231 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block styles %}
|
||||
<link media="screen" rel="stylesheet" type="text/css" href="{% static 'multi-select/multi-select.css' %}">
|
||||
{% endblock styles %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card shadow-lg mx-4 ">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0 text-lg">Add Company</p>
|
||||
<button class="btn btn-success btn-sm ms-auto" id='saveBtn' onclick="saveFields()">
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="submitText">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
<p class="mb-0 text-sm"></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="companyForm">
|
||||
|
||||
<p class="text-uppercase text-sm">Company Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 class="form-control-label">Name</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="name" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label">Contact Number</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="contact_number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label">VAT Number</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="vat_number">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Address Street</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_street" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">City</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_city" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Country</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_country" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Post Code</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_postcode" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Departments</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="input-group mb-2">
|
||||
<select class="form-control form-control-user" multiple="multiple" id="department_choice">
|
||||
{% for department in departments %}
|
||||
<option value="{{ department.id }}">{{department.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="department_addon" data-bs-toggle="modal" data-bs-target="#addDepartmentModal"><i class="fas fa-plus"></i> Add new Department</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="addDepartmentModal" tabindex="-1" role="dialog" aria-labelledby="addDepartmentModal" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<div class="card card-plain">
|
||||
<div class="card-header pb-0 text-left">
|
||||
<h3 class="font-weight-bolder text-primary text-gradient">Add a new department</h3>
|
||||
</div>
|
||||
<div class="card-body pb-3">
|
||||
<form role="form text-left">
|
||||
<label>Department Name</label>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" id="departmentName" placeholder="Name" aria-label="Name" aria-describedby="name-addon">
|
||||
</div>
|
||||
<label>Select Line Manager</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" id="departmentManager">
|
||||
{% for p in managers %}
|
||||
<option value="{{ p.id }}">{{p.employee.first_name}} {{ p.employee.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" class="btn bg-gradient-primary btn-lg btn-rounded w-100 mt-4 mb-0" onclick="createDepartment()">
|
||||
<span class="spinner-border spinner-border-sm" id="createSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="createText">Create</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static 'multi-select/jquery.multi-select.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/calendar/rome.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/calendar/main.js' %}"></script>
|
||||
<script>
|
||||
$('#department_choice').multiSelect();
|
||||
|
||||
function saveFields(){
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden')
|
||||
document.getElementById('submitText').setAttribute('hidden', true)
|
||||
var formData = {}
|
||||
document.querySelectorAll(['input']).forEach( input => {
|
||||
let name = input.name;
|
||||
let value = input.value;
|
||||
if (name !== "" && value !== "") {
|
||||
formData[name] = value;
|
||||
}
|
||||
});
|
||||
var departments = $('#department_choice').val();
|
||||
formData['departments'] = departments;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({formData})};
|
||||
console.log(postData);
|
||||
for (const el of document.getElementById('companyForm').querySelectorAll("[required]")) {
|
||||
if (!el.reportValidity()) {
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
return;
|
||||
}
|
||||
};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:add_company' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#companyForm').reset();
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
}
|
||||
});
|
||||
};
|
||||
function createDepartment() {
|
||||
document.getElementById('createSpinner').removeAttribute('hidden');
|
||||
document.getElementById('createText').setAttribute('hidden', true);
|
||||
var dept_name = document.getElementById('departmentName').value;
|
||||
var manager = document.getElementById('departmentManager').value;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({"departmentName": dept_name, "lineManager": manager})};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:add_department' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
var x = document.getElementById("department_choice");
|
||||
var option = document.createElement("option");
|
||||
option.text = "dept_name";
|
||||
option.value = results['department_id'];
|
||||
x.add(option);
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts %}
|
||||
240
templates/manager/add_employee.html
Normal file
240
templates/manager/add_employee.html
Normal file
@@ -0,0 +1,240 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card shadow-lg mx-4 ">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0 text-lg">Add Employee</p>
|
||||
<button class="btn btn-success btn-sm ms-auto" id='saveBtn' onclick="saveFields()">
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="submitText">Add</span>
|
||||
</button>
|
||||
</div>
|
||||
<p class="mb-0 text-sm">Fill in the form below to send an employee intake form. </p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="employeeForm">
|
||||
<input hidden class="form-control" type="text" name="employee_id" value="{{ employee.id }}">
|
||||
<p class="text-uppercase text-sm">Employee Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 class="form-control-label">Personal Email address</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="email" name="email" value="{{ employee.email }}" placeholder="(required)" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">First name</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="User__first_name" value="{{ employee.employee.first_name }}" placeholder="(required)" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Last name</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="User__last_name" value="{{ employee.employee.last_name }}" placeholder="(required)" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Employment Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Company</h6>
|
||||
<div class="input-group">
|
||||
<select class="form-control" name="company_choice" placeholder="Company">
|
||||
<option value="" selected>-----</option>
|
||||
{% for company in companies %}
|
||||
<option value="{{ company.id }}" >{{company.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="company_addon"><a href=#><i class="fas fa-plus"></i></a></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Department</h6>
|
||||
<div class="input-group">
|
||||
<select class="form-control" name="department_choice" placeholder="Department">
|
||||
<option value="" selected>-----</option>
|
||||
{% for department in department %}
|
||||
<option value="{{ department.id }}">{{department.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="department_addon" data-bs-toggle="modal" data-bs-target="#addDepartmentModal"><i class="fas fa-plus"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Start Date</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" placeholder="Please select date" id="input_from" name="contract_start_date" type="text" value="{{employee.contract_start_date}}" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">End Date</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" placeholder="(optional)" id="input_to" name="contract_end_date" value="{{employee.contract_end_date}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Salary Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Pay Structure</h6>
|
||||
<div class="input-group">
|
||||
<select class="form-control" name="pay_choice" placeholder="Pay_choice">
|
||||
<option value="" selected>-----</option>
|
||||
{% for pay in pay_structure %}
|
||||
<option value="{{ pay }}" >{{pay}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Pay Amount</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="salary" value="{{employee.pay_rate}}" placeholder="(optional)" >
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="addDepartmentModal" tabindex="-1" role="dialog" aria-labelledby="addDepartmentModal" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<div class="card card-plain">
|
||||
<div class="card-header pb-0 text-left">
|
||||
<h3 class="font-weight-bolder text-primary text-gradient">Add a new department</h3>
|
||||
</div>
|
||||
<div class="card-body pb-3">
|
||||
<form role="form text-left">
|
||||
<label>Department Name</label>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" id="departmentName" placeholder="Name" aria-label="Name" aria-describedby="name-addon">
|
||||
</div>
|
||||
<label>Select Line Manager</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" id="departmentManager">
|
||||
{% for p in managers %}
|
||||
<option value="{{ p.id }}">{{p.employee.first_name}} {{ p.employee.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" class="btn bg-gradient-primary btn-lg btn-rounded w-100 mt-4 mb-0" onclick="createDepartment()">
|
||||
<span class="spinner-border spinner-border-sm" id="createSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="createText">Create</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static 'js/plugins/calendar/rome.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/calendar/main.js' %}"></script>
|
||||
<script>
|
||||
|
||||
|
||||
function saveFields(){
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden')
|
||||
document.getElementById('submitText').setAttribute('hidden', true)
|
||||
var formData = {}
|
||||
document.querySelectorAll(['input', 'select']).forEach( input => {
|
||||
let name = input.name;
|
||||
let value = input.value;
|
||||
if (name !== "" && value !== "") {
|
||||
formData[name] = value;
|
||||
}
|
||||
});
|
||||
console.log(formData)
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({formData})};
|
||||
for (const el of document.getElementById('employeeForm').querySelectorAll("[required]")) {
|
||||
if (!el.reportValidity()) {
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
return;
|
||||
}
|
||||
};
|
||||
//$.ajax({
|
||||
// url: "{% url 'manager:add_employee' %}",
|
||||
// dataType: 'json',
|
||||
// data: postData,
|
||||
// type: 'POST',
|
||||
// headers: {'X-CSRFToken': csrftoken},
|
||||
// success:function(results){
|
||||
// document.getElementById('submitText').removeAttribute('hidden');
|
||||
// document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
// toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
// toast.classList.add(results['messageStatus']);
|
||||
// document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
// document.getElementById("toast-message").innerHTML = results['message'];
|
||||
// toastBootstrap.show();
|
||||
// },
|
||||
// error:function(results){
|
||||
// document.getElementById('submitText').removeAttribute('hidden');
|
||||
// document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
// toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
// toast.classList.add(results['messageStatus']);
|
||||
// document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
// document.getElementById("toast-message").innerHTML = results['message'];
|
||||
// toastBootstrap.show();
|
||||
// }
|
||||
// });
|
||||
};
|
||||
function createDepartment() {
|
||||
document.getElementById('createSpinner').removeAttribute('hidden');
|
||||
document.getElementById('createText').setAttribute('hidden', true);
|
||||
var dept_name = document.getElementById('departmentName').value;
|
||||
var manager = document.getElementById('departmentManager').value;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({"departmentName": dept_name, "lineManager": manager})};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:add_department' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts %}
|
||||
36
templates/manager/company.html
Normal file
36
templates/manager/company.html
Normal file
@@ -0,0 +1,36 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form id="company_select">
|
||||
<h4>Select Company</h4>
|
||||
<div class="input-group">
|
||||
<select class="form-control" id="companySelect">
|
||||
{% for company in companies %}
|
||||
<option value="{{company.id}}">{{company.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="add_company" ><i class="fas fa-plus"></i></button>
|
||||
</div>
|
||||
<button class="btn btn-primary mt-2 mb-2" type="button" value="Select" text="Select" id="companySelect" onclick="selectCompany()">Select</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
{% block scripts %}
|
||||
<script>
|
||||
function selectCompany() {
|
||||
var e = document.getElementById("companySelect");
|
||||
var value = e.value;
|
||||
window.location.href = "{% url 'manager:edit_company'%}"+"?company_id="+value
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts%}
|
||||
231
templates/manager/edit_company.html
Normal file
231
templates/manager/edit_company.html
Normal file
@@ -0,0 +1,231 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block styles %}
|
||||
<link media="screen" rel="stylesheet" type="text/css" href="{% static 'multi-select/multi-select.css' %}">
|
||||
{% endblock styles %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card shadow-lg mx-4 ">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0 text-lg">Edit Company</p>
|
||||
<button class="btn btn-success btn-sm ms-auto" id='saveBtn' onclick="saveFields()">
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="submitText">Save</span>
|
||||
</button>
|
||||
</div>
|
||||
<p class="mb-0 text-sm"></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="companyForm">
|
||||
|
||||
<p class="text-uppercase text-sm">Company Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 class="form-control-label">Name</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="name" value="{{company.name}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label">Contact Number</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="contact_number" value="{{company.contact_number}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label">VAT Number</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="vat_number" value="{{company.vat_number}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Address Street</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_street" required value="{{company.address_street}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">City</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_city" requiredvalue="{{company.address_city}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Country</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_country" required value="{{company.address_country}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 class="form-control-label mt-1">Post Code</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" name="address_postcode" required value="{{company.address_postcode}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Departments</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="input-group mb-2">
|
||||
<select class="form-control form-control-user" multiple="multiple" id="department_choice">
|
||||
{% for department in departments %}
|
||||
<option value="{{ department.id }}">{{department.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="department_addon" data-bs-toggle="modal" data-bs-target="#addDepartmentModal"><i class="fas fa-plus"></i> Add new Department</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="addDepartmentModal" tabindex="-1" role="dialog" aria-labelledby="addDepartmentModal" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<div class="card card-plain">
|
||||
<div class="card-header pb-0 text-left">
|
||||
<h3 class="font-weight-bolder text-primary text-gradient">Add a new department</h3>
|
||||
</div>
|
||||
<div class="card-body pb-3">
|
||||
<form role="form text-left">
|
||||
<label>Department Name</label>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" id="departmentName" placeholder="Name" aria-label="Name" aria-describedby="name-addon">
|
||||
</div>
|
||||
<label>Select Line Manager</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" id="departmentManager">
|
||||
{% for p in managers %}
|
||||
<option value="{{ p.id }}">{{p.employee.first_name}} {{ p.employee.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" class="btn bg-gradient-primary btn-lg btn-rounded w-100 mt-4 mb-0" onclick="createDepartment()">
|
||||
<span class="spinner-border spinner-border-sm" id="createSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="createText">Create</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static 'multi-select/jquery.multi-select.js' %}"></script>
|
||||
<script>
|
||||
$('#department_choice').multiSelect();
|
||||
$('#department_choice').multiSelect('select', {{ depts |safe }});
|
||||
|
||||
|
||||
function saveFields(){
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden')
|
||||
document.getElementById('submitText').setAttribute('hidden', true)
|
||||
var formData = {}
|
||||
document.querySelectorAll(['input']).forEach( input => {
|
||||
let name = input.name;
|
||||
let value = input.value;
|
||||
if (name !== "" && value !== "") {
|
||||
formData[name] = value;
|
||||
}
|
||||
});
|
||||
var departments = $('#department_choice').val();
|
||||
formData['departments'] = departments;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({formData})};
|
||||
console.log(postData);
|
||||
for (const el of document.getElementById('companyForm').querySelectorAll("[required]")) {
|
||||
if (!el.reportValidity()) {
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
return;
|
||||
}
|
||||
};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:add_company' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#companyForm').reset();
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
}
|
||||
});
|
||||
};
|
||||
function createDepartment() {
|
||||
document.getElementById('createSpinner').removeAttribute('hidden');
|
||||
document.getElementById('createText').setAttribute('hidden', true);
|
||||
var dept_name = document.getElementById('departmentName').value;
|
||||
var manager = document.getElementById('departmentManager').value;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({"departmentName": dept_name, "lineManager": manager})};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:add_department' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
var x = document.getElementById("department_choice");
|
||||
var option = document.createElement("option");
|
||||
option.text = "dept_name";
|
||||
option.value = results['department_id'];
|
||||
x.add(option);
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts %}
|
||||
139
templates/manager/edit_department.html
Normal file
139
templates/manager/edit_department.html
Normal file
@@ -0,0 +1,139 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block styles %}
|
||||
<link media="screen" rel="stylesheet" type="text/css" href="{% static 'multi-select/multi-select.css' %}">
|
||||
{% endblock styles %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card shadow-lg mx-4 ">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0 text-lg">Edit Department</p>
|
||||
<button class="btn btn-success btn-sm ms-auto" id='saveBtn' onclick="saveFields()">
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="submitText">Save</span>
|
||||
</button>
|
||||
</div>
|
||||
<p class="mb-0 text-sm"></p>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="departmentForm">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 class="form-control-label">Name</h6>
|
||||
<div class="input-group">
|
||||
<input class="form-control" type="text" id="departmentName" name="name" value="{{department.name}}" required>
|
||||
</div>
|
||||
</div>
|
||||
<label>Select Line Manager</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" id="departmentManager">
|
||||
{% for p in managers %}
|
||||
<option value="{{ p.id }}">{{p.employee.first_name}} {{ p.employee.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Departments</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="input-group mb-2">
|
||||
<select class="form-control form-control-user" multiple="multiple" id="employee_choice">
|
||||
{% for employee in employees %}
|
||||
<option value="{{ employee.id }}">{{employee.employee.first_name}} {{employee.employee.last_name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static 'multi-select/jquery.multi-select.js' %}"></script>
|
||||
<script src="{% static 'js/jquery.quicksearch.js' %}"></script>
|
||||
<script>
|
||||
//$('#employee_choice').multiSelect();
|
||||
//$('#employee_choice').multiSelect('select', {{ emp |safe }});
|
||||
|
||||
$('#employee_choice').multiSelect({
|
||||
selectableHeader: "<input type='text' class='form-control mb-1' autocomplete='off' placeholder='search...'>",
|
||||
selectionHeader: "<input type='text' class='form-control mb-1' autocomplete='off' placeholder='search...'>",
|
||||
afterInit: function(ms){
|
||||
var that = this,
|
||||
$selectableSearch = that.$selectableUl.prev(),
|
||||
$selectionSearch = that.$selectionUl.prev(),
|
||||
selectableSearchString = '#'+that.$container.attr('id')+' .ms-elem-selectable:not(.ms-selected)',
|
||||
selectionSearchString = '#'+that.$container.attr('id')+' .ms-elem-selection.ms-selected';
|
||||
that.qs1 = $selectableSearch.quicksearch(selectableSearchString)
|
||||
.on('keydown', function(e){
|
||||
if (e.which === 40){
|
||||
that.$selectableUl.focus();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
that.qs2 = $selectionSearch.quicksearch(selectionSearchString)
|
||||
.on('keydown', function(e){
|
||||
if (e.which == 40){
|
||||
that.$selectionUl.focus();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
afterSelect: function(){
|
||||
this.qs1.cache();
|
||||
this.qs2.cache();
|
||||
},
|
||||
afterDeselect: function(){
|
||||
this.qs1.cache();
|
||||
this.qs2.cache();
|
||||
}
|
||||
});
|
||||
$('#employee_choice').multiSelect('select', {{ emp |safe }});
|
||||
function saveFields(){
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden')
|
||||
document.getElementById('submitText').setAttribute('hidden', true)
|
||||
var dept_name = document.getElementById('departmentName').value;
|
||||
var manager = document.getElementById('departmentManager').value;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({"department_id":{{department.id}}, "departmentName": dept_name, "lineManager": manager})};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:edit_department' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts %}
|
||||
415
templates/manager/edit_employee.html
Executable file
415
templates/manager/edit_employee.html
Executable file
@@ -0,0 +1,415 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<!-- End Navbar -->
|
||||
<div class="card shadow-lg mx-4 card-profile-bottom">
|
||||
<div class="card-body p-3">
|
||||
<div class="row gx-4">
|
||||
<div class="col-auto">
|
||||
<div class="avatar avatar-xl position-relative">
|
||||
{% if employee.user.email %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% gravatar_url user.email 50 %}" alt="" />
|
||||
{% else %}
|
||||
<img class="img-profile rounded-circle m-1" src="{% static 'img/profile.png' %}" alt="" />
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto my-auto">
|
||||
<div class="h-100">
|
||||
<h5 class="mb-1">
|
||||
{{ employee.employee.first_name }} {{ employee.employee.last_name }}
|
||||
</h5>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.job_title }}
|
||||
</p>
|
||||
<p class="mb-0 font-weight-bold text-sm">
|
||||
{{ employee.company.name }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-fluid py-4">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header pb-0">
|
||||
<div class="d-flex align-items-center">
|
||||
<p class="mb-0 text-lg">Edit Profile</p>
|
||||
<button class="btn btn-primary btn-sm ms-auto" id='editBtn' onclick="editFields()">Edit</button>
|
||||
<button class="btn btn-success btn-sm ms-auto" id='saveBtn' onclick="saveFields()" hidden>
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="submitText">Save</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form id="employeeForm">
|
||||
<input disabled hidden class="form-control" type="text" name="employee_id" value="{{ employee.id }}">
|
||||
<p class="text-uppercase text-sm">Employee Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 for="example-text-input" class="form-control-label">Email address</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="email" name="email" value="{{ employee.email }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">First name</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="User__first_name" value="{{ employee.employee.first_name }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Last name</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="User__last_name" value="{{ employee.employee.last_name }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<h6 for="example-text-input" class="form-control-label">Preferred Name</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="preferred_name" value="{{employee.preferred_name}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Employment Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Company</h6>
|
||||
<div class="input-group">
|
||||
<select disabled class="form-control" name="company_choice" placeholder="Company">
|
||||
{% for company in companies %}
|
||||
<option value="{{ company.id }}" selected>{{company.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="company_addon" disabled><i class="fas fa-plus"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Department</h6>
|
||||
<div class="input-group">
|
||||
<select disabled class="form-control" name="department_choice" placeholder="Department">
|
||||
{% for department in department %}
|
||||
<option value="{{ department.id }}" selected>{{department.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-outline-primary mb-0" type="button" id="department_addon" data-bs-toggle="modal" data-bs-target="#addDepartmentModal" disabled><i class="fas fa-plus"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Start Date</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" placeholder="Please select date" id="input_from" name="contract_start_date" type="text" value="{{employee.contract_start_date}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">End Date</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" id="input_to" name="contract_end_date" value="{{employee.contract_end_date}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Salary Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Pay Structure</h6>
|
||||
<div class="input-group">
|
||||
<select disabled class="form-control" name="pay_choice" placeholder="Pay_choice">
|
||||
<option value="" selected>-----</option>
|
||||
{% for pay in pay_structure %}
|
||||
<option value="{{ pay }}" >{{pay}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Salary</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="salary" value="{{employee.salary}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Employee Ltd Company</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="employee_company" value="{{employee.employee_company}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Employee VAT number</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="employee_vat_number" value="{{employee.employee_vat_number}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Contact Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 for="example-text-input" class="form-control-label">Personal Email address</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="email" name="User__email" value="{{ employee.employee.email }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<h6 for="example-text-input" class="form-control-label">Address</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="address_street" value="{{employee.address_street}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h6 for="example-text-input" class="form-control-label">City</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="address_city" value="{{employee.address_city}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h6 for="example-text-input" class="form-control-label">Country</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="address_country" value="{{employee.address_country}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h6 for="example-text-input" class="form-control-label">Postal code</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="address_postcode" value="{{employee.address_postcode}}">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<p class="text-uppercase text-sm">Emergency Contact Information</p>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h6 for="example-text-input" class="form-control-label">Emergency Contact Name</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_name" value="{{employee.emergency_contact_name}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<h6 for="example-text-input" class="form-control-label">Address</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_address_street" value="{{employee.emergency_contact_address_street}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h6 for="example-text-input" class="form-control-label">City</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_address_city" value="{{employee.emergency_contact_address_city}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h6 for="example-text-input" class="form-control-label">Country</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_address_country" value="{{employee.emergency_contact_address_country}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h6 for="example-text-input" class="form-control-label">Postal code</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_address_postcode" value="{{employee.emergency_contact_address_postcode}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Contact Number</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_phone_number" value="{{employee.emergency_contact_phone_number}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6 for="example-text-input" class="form-control-label">Alternative Number</h6>
|
||||
<div class="input-group">
|
||||
<input disabled class="form-control" type="text" name="emergency_contact_alternative_number" value="{{employee.emergency_contact_alternative_number}}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card card-profile">
|
||||
<div class="card-body pt-0">
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="d-grid text-center m-2">
|
||||
<span class="text-lg font-weight-bolder">{{ employee.holiday_days_allocated }}</span>
|
||||
<span class="text-sm opacity-8">Holiday Allocation</span>
|
||||
</div>
|
||||
<div class="d-grid text-center m-2">
|
||||
<span class="text-lg font-weight-bolder">{{ employee.holiday_days_remaining }}</span>
|
||||
<span class="text-sm opacity-8">Holiday Remaining</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="d-grid text-center m-2">
|
||||
<span class="text-lg font-weight-bolder">{{ employee.days_absent_authorised }}</span>
|
||||
<span class="text-sm opacity-8">Authorised Leave <br> in last 12m</span>
|
||||
</div>
|
||||
<div class="d-grid text-center m-2">
|
||||
<span class="text-lg font-weight-bolder">{{ employee.days_absent_unauthorised }}</span>
|
||||
<span class="text-sm opacity-8">Unuthorised Leave <br> in last 12m</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-between">
|
||||
<a href="javascript:;" class="d-grid m-1 btn btn-sm btn-info mb-0 d-none d-lg-block">View Contract</a>
|
||||
<a href="javascript:;" class="d-grid m-1 btn btn-sm btn-info mb-0 d-none d-lg-block">Manage Holiday</a>
|
||||
<a href="javascript:;" class="d-grid m-1 btn btn-sm btn-info mb-0 d-none d-lg-block">Manage Absence</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="addDepartmentModal" tabindex="-1" role="dialog" aria-labelledby="addDepartmentModal" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body p-0">
|
||||
<div class="card card-plain">
|
||||
<div class="card-header pb-0 text-left">
|
||||
<h3 class="font-weight-bolder text-primary text-gradient">Add a new department</h3>
|
||||
</div>
|
||||
<div class="card-body pb-3">
|
||||
<form role="form text-left">
|
||||
<label>Department Name</label>
|
||||
<div class="input-group mb-3">
|
||||
<input type="text" class="form-control" id="departmentName" placeholder="Name" aria-label="Name" aria-describedby="name-addon">
|
||||
</div>
|
||||
<label>Select Line Manager</label>
|
||||
<div class="input-group">
|
||||
<select class="form-control" id="departmentManager">
|
||||
{% for p in managers %}
|
||||
<option value="{{ p.id }}">{{p.employee.first_name}} {{ p.employee.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" class="btn bg-gradient-primary btn-lg btn-rounded w-100 mt-4 mb-0" onclick="createDepartment()">
|
||||
<span class="spinner-border spinner-border-sm" id="createSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
<span id="createText">Create</span>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
<script src="{% static 'js/plugins/calendar/rome.js' %}"></script>
|
||||
<script src="{% static 'js/plugins/calendar/main.js' %}"></script>
|
||||
<script>
|
||||
|
||||
function editFields(){
|
||||
document.querySelectorAll(['input', 'select', 'button']).forEach( input => {
|
||||
try {
|
||||
input.removeAttribute('disabled');
|
||||
} catch {};
|
||||
});
|
||||
|
||||
document.getElementById('editBtn').setAttribute('hidden', true)
|
||||
document.getElementById('saveBtn').removeAttribute('hidden')
|
||||
}
|
||||
|
||||
function saveFields(){
|
||||
document.querySelectorAll(['input', 'select']).forEach( input => {
|
||||
try {
|
||||
input.setAttribute('disabled', true);
|
||||
} catch {};
|
||||
});
|
||||
document.getElementById('company_addon').setAttribute('disabled', true);
|
||||
document.getElementById('department_addon').setAttribute('disabled', true);
|
||||
|
||||
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden')
|
||||
document.getElementById('submitText').setAttribute('hidden', true)
|
||||
var formData = {}
|
||||
document.querySelectorAll(['input', 'select']).forEach( input => {
|
||||
let name = input.name;
|
||||
let value = input.value;
|
||||
if (name !== "" && value !== "") {
|
||||
formData[name] = value;
|
||||
}
|
||||
});
|
||||
console.log(formData)
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({formData})};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:edit_employee' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
document.getElementById('saveBtn').setAttribute('hidden', 'true');
|
||||
document.getElementById('editBtn').removeAttribute('hidden');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('submitText').removeAttribute('hidden');
|
||||
document.getElementById('submitSpinner').setAttribute('hidden', 'true');
|
||||
document.getElementById('saveBtn').setAttribute('hidden', 'true');
|
||||
document.getElementById('editBtn').removeAttribute('hidden');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
}
|
||||
});
|
||||
};
|
||||
function createDepartment() {
|
||||
document.getElementById('createSpinner').removeAttribute('hidden');
|
||||
document.getElementById('createText').setAttribute('hidden', true);
|
||||
var dept_name = document.getElementById('departmentName').value;
|
||||
var manager = document.getElementById('departmentManager').value;
|
||||
event.preventDefault();
|
||||
var postData = {data: JSON.stringify({"departmentName": dept_name, "lineManager": manager})};
|
||||
$.ajax({
|
||||
url: "{% url 'manager:add_department' %}",
|
||||
dataType: 'json',
|
||||
data: postData,
|
||||
type: 'POST',
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
},
|
||||
error:function(results){
|
||||
document.getElementById('createText').removeAttribute('hidden');
|
||||
document.getElementById('createSpinner').setAttribute('hidden', 'true');
|
||||
toast.classList.remove('text-bg-danger', 'text-bg-success', 'text-bg-warning')
|
||||
toast.classList.add(results['messageStatus']);
|
||||
document.getElementById("toast-title").innerHTML = results['messageTitle'];
|
||||
document.getElementById("toast-message").innerHTML = results['message'];
|
||||
toastBootstrap.show();
|
||||
$('#addDepartmentModal').modal('hide');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts %}
|
||||
33
templates/manager/select_departments.html
Normal file
33
templates/manager/select_departments.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form id="department_select">
|
||||
<h4>Please select Department</h4>
|
||||
<select class="form-control" name="choices-button" id="departmentSelector" >
|
||||
{% for department in departments %}
|
||||
<option value="{{department.id}}">{{department.name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-primary mt-2 mb-2" type="button" value="Select" text="Select" id="departmentSelect" onclick="selectDepartment()">Select</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
{% block scripts %}
|
||||
<script>
|
||||
function selectDepartment() {
|
||||
var e = document.getElementById("departmentSelector");
|
||||
var value = e.value;
|
||||
window.location.href = "{% url 'manager:edit_department'%}"+"?department_id="+value
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts%}
|
||||
33
templates/manager/select_employee.html
Normal file
33
templates/manager/select_employee.html
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends 'includes/base.html' %}
|
||||
{% load static %}
|
||||
{% load gravatar %}
|
||||
{% block content %}
|
||||
<div class="container-fluid py-4 mt-6">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form id="employee_select">
|
||||
<h4>Please select Employee</h4>
|
||||
<select class="form-control" name="choices-button" id="employeeSelector" >
|
||||
{% for employee in employees %}
|
||||
<option value="{{employee.id}}">{{employee.employee.first_name}} {{employee.employee.last_name}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-primary mt-2 mb-2" type="button" value="Select" text="Select" id="employeeSelect" onclick="selectEmployee()">Select</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
{% block scripts %}
|
||||
<script>
|
||||
function selectEmployee() {
|
||||
var e = document.getElementById("employeeSelector");
|
||||
var value = e.value;
|
||||
window.location.href = "{% url 'manager:edit_employee'%}"+"?employee_id="+value
|
||||
}
|
||||
</script>
|
||||
{% endblock scripts%}
|
||||
1076
templates/rtl.html
Executable file
1076
templates/rtl.html
Executable file
File diff suppressed because it is too large
Load Diff
49
templates/sign-in.html
Executable file
49
templates/sign-in.html
Executable file
@@ -0,0 +1,49 @@
|
||||
{% extends 'includes/base_auth.html' %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
<main class="main-content mt-0">
|
||||
<div class="page-header align-items-start min-vh-50 pt-5 pb-11 m-3 border-radius-lg" style="background-image: url('https://images.unsplash.com/photo-1612911853182-96e6be2792c7?q=80&w=2340&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'); background-position: center;">
|
||||
<span class="mask bg-gradient-dark opacity-6"></span>
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-5 text-center mx-auto">
|
||||
<h1 class="text-white mb-2 mt-5">Welcome!</h1>
|
||||
<p class="text-lead text-white">Please log in to continue</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row mt-lg-n10 mt-md-n11 mt-n10 justify-content-center">
|
||||
<div class="col-xl-4 col-lg-5 col-md-7 mx-auto">
|
||||
<div class="card z-index-0">
|
||||
<div class="card-header text-center pt-4">
|
||||
<h5>Sign In</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{% if invalid == True %}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
Username or Password is incorrect
|
||||
</div>
|
||||
{% endif %}
|
||||
<form role="form" action="{% url 'accounts:sign_in' %}" method='post'>
|
||||
{% csrf_token %}
|
||||
<div class="mb-3">
|
||||
{{ form.username }}
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
{{ form.password }}
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn bg-gradient-dark w-100 my-4 mb-2">Sign in</button>
|
||||
</div>
|
||||
<p class="text-sm mt-3 mb-0">Don't have an account? <a href="{% url 'accounts:sign_up' %}" class="text-dark font-weight-bolder">Sign up</a></p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
{% endblock content %}
|
||||
105
templates/sign-up.html
Executable file
105
templates/sign-up.html
Executable file
@@ -0,0 +1,105 @@
|
||||
{% extends 'includes/base_auth.html' %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
<main class="main-content mt-0">
|
||||
<div class="page-header align-items-start min-vh-50 pt-5 pb-11 m-3 border-radius-lg" style="background-image: url('https://images.unsplash.com/photo-1612911853182-96e6be2792c7?q=80&w=2340&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D'); background-position: center;">
|
||||
<span class="mask bg-gradient-dark opacity-6"></span>
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-5 text-center mx-auto">
|
||||
<h1 class="text-white mb-2 mt-5">Welcome!</h1>
|
||||
<p class="text-lead text-white">Please log in to continue</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row mt-lg-n10 mt-md-n11 mt-n10 justify-content-center">
|
||||
<div class="col-xl-4 col-lg-5 col-md-7 mx-auto">
|
||||
<div class="card z-index-0">
|
||||
<div class="card-header text-center pt-4">
|
||||
<h5>Register</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form role="form" id="signup">
|
||||
<div class="alert alert-danger text-white" role="alert" id="emailValidationMessage" hidden>
|
||||
This is not a valid email address
|
||||
</div>
|
||||
<div class="mb-3 form-group" id="form_email">
|
||||
<input type="text" id="id_email" class="form-control" placeholder="Email" aria-label="Email" autocomplete="email">
|
||||
</div>
|
||||
<div class="alert alert-danger text-white" role="alert" id="passwordMatchAlert" hidden>
|
||||
Passwords do not match!
|
||||
</div>
|
||||
<div class="mb-3 form-group" id="form_password1">
|
||||
<input type="password" id="id_password1" class="form-control" placeholder="Password" aria-label="Password1" autocomplete="new-password">
|
||||
</div>
|
||||
<div class="mb-3 form-group" id="form_password2">
|
||||
<input type="password" id="id_password2" class="form-control" placeholder="Confirm Password" aria-label="Password2" autocomplete="new-password">
|
||||
</div>
|
||||
<div class="form-check form-group form-check-info text-start">
|
||||
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault" checked>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
I agree the <a href="javascript:;" class="text-dark font-weight-bolder">Terms and Conditions</a>
|
||||
</label>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button type="button" onclick="submit_form()" class="btn bg-gradient-dark w-100 my-4 mb-2" id="signUpSubmit">
|
||||
<span class="spinner-border spinner-border-sm" id="submitSpinner" role="status" aria-hidden="true" hidden></span>
|
||||
Sign up
|
||||
</button>
|
||||
</div>
|
||||
<p class="text-sm mt-3 mb-0">Already have an account? <a href="{% url 'accounts:sign_in' %}" class="text-dark font-weight-bolder">Sign in</a></p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<!-- -------- START FOOTER 3 w/ COMPANY DESCRIPTION WITH LINKS & SOCIAL ICONS & COPYRIGHT ------- -->
|
||||
|
||||
{% endblock content %}
|
||||
{% block scripts %}
|
||||
<script>
|
||||
|
||||
function validateEmail(email) {
|
||||
const res = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
|
||||
return res.test(String(email).toLowerCase());
|
||||
}
|
||||
function submit_form(){
|
||||
const csrftoken = Cookies.get('csrftoken');
|
||||
document.getElementById('emailValidationMessage').setAttribute('hidden', 'true');
|
||||
document.getElementById('passwordMatchAlert').setAttribute('hidden', 'true');
|
||||
var email = document.getElementById('id_email').value;
|
||||
var password1 = document.getElementById('id_password1').value;
|
||||
var password2 = document.getElementById('id_password2').value;
|
||||
if (validateEmail(email)){
|
||||
var postdata = {'data': JSON.stringify({'email': email, 'password': password1})};
|
||||
} else {
|
||||
document.getElementById('emailValidationMessage').removeAttribute('hidden');
|
||||
throw new Error('manual script stop');
|
||||
};
|
||||
if (password1 === password2 && password1 !== '' && password2 !== '') {
|
||||
event.preventDefault();
|
||||
console.log("trying to create user");
|
||||
document.getElementById('submitSpinner').removeAttribute('hidden');
|
||||
$.ajax({
|
||||
url: "{% url 'accounts:user_sign_up' %}",
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: postdata,
|
||||
headers: {'X-CSRFToken': csrftoken},
|
||||
success: function(result){
|
||||
console.log(result);
|
||||
if(result['no_errors'] === true ) location.href = "{% url 'index' %}"
|
||||
}
|
||||
});
|
||||
} else {
|
||||
document.getElementById('passwordMatchAlert').removeAttribute('hidden');
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
{% endblock scripts %}
|
||||
796
templates/tables.html
Executable file
796
templates/tables.html
Executable file
@@ -0,0 +1,796 @@
|
||||
<!--
|
||||
=========================================================
|
||||
* Argon Dashboard 2 - v2.0.4
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
||||
* Copyright 2022 Creative Tim (https://www.creative-tim.com)
|
||||
* Licensed under MIT (https://www.creative-tim.com/license)
|
||||
* Coded by Creative Tim
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="../assets/img/apple-icon.png">
|
||||
<link rel="icon" type="image/png" href="../assets/img/favicon.png">
|
||||
<title>
|
||||
Argon Dashboard 2 by Creative Tim
|
||||
</title>
|
||||
<!-- Fonts and icons -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="../assets/css/nucleo-icons.css" rel="stylesheet" />
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- Font Awesome Icons -->
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="../assets/css/argon-dashboard.css?v=2.0.4" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body class="g-sidenav-show bg-gray-100">
|
||||
<div class="min-height-300 bg-primary position-absolute w-100"></div>
|
||||
<aside class="sidenav bg-white navbar navbar-vertical navbar-expand-xs border-0 border-radius-xl my-3 fixed-start ms-4 " id="sidenav-main">
|
||||
<div class="sidenav-header">
|
||||
<i class="fas fa-times p-3 cursor-pointer text-secondary opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
||||
<a class="navbar-brand m-0" href=" https://demos.creative-tim.com/argon-dashboard/pages/dashboard.html " target="_blank">
|
||||
<img src="../assets/img/logo-ct-dark.png" class="navbar-brand-img h-100" alt="main_logo">
|
||||
<span class="ms-1 font-weight-bold">Argon Dashboard 2</span>
|
||||
</a>
|
||||
</div>
|
||||
<hr class="horizontal dark mt-0">
|
||||
<div class="collapse navbar-collapse w-auto " id="sidenav-collapse-main">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/dashboard.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-tv-2 text-primary text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="../pages/tables.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-calendar-grid-58 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Tables</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/billing.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-credit-card text-success text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Billing</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/virtual-reality.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-app text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Virtual Reality</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/rtl.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-world-2 text-danger text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">RTL</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item mt-3">
|
||||
<h6 class="ps-4 ms-2 text-uppercase text-xs font-weight-bolder opacity-6">Account pages</h6>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/profile.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-02 text-dark text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Profile</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-in.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-copy-04 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-up.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-collection text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign Up</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidenav-footer mx-3 ">
|
||||
<div class="card card-plain shadow-none" id="sidenavCard">
|
||||
<img class="w-50 mx-auto" src="../assets/img/illustrations/icon-documentation.svg" alt="sidebar_illustration">
|
||||
<div class="card-body text-center p-3 w-100 pt-0">
|
||||
<div class="docs-info">
|
||||
<h6 class="mb-0">Need help?</h6>
|
||||
<p class="text-xs font-weight-bold mb-0">Please check our docs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard" target="_blank" class="btn btn-dark btn-sm w-100 mb-3">Documentation</a>
|
||||
<a class="btn btn-primary btn-sm mb-0 w-100" href="https://www.creative-tim.com/product/argon-dashboard-pro?ref=sidebarfree" type="button">Upgrade to pro</a>
|
||||
</div>
|
||||
</aside>
|
||||
<main class="main-content position-relative border-radius-lg ">
|
||||
<!-- Navbar -->
|
||||
<nav class="navbar navbar-main navbar-expand-lg px-0 mx-4 shadow-none border-radius-xl " id="navbarBlur" data-scroll="false">
|
||||
<div class="container-fluid py-1 px-3">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5">
|
||||
<li class="breadcrumb-item text-sm"><a class="opacity-5 text-white" href="javascript:;">Pages</a></li>
|
||||
<li class="breadcrumb-item text-sm text-white active" aria-current="page">Tables</li>
|
||||
</ol>
|
||||
<h6 class="font-weight-bolder text-white mb-0">Tables</h6>
|
||||
</nav>
|
||||
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
||||
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text text-body"><i class="fas fa-search" aria-hidden="true"></i></span>
|
||||
<input type="text" class="form-control" placeholder="Type here...">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="navbar-nav justify-content-end">
|
||||
<li class="nav-item d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white font-weight-bold px-0">
|
||||
<i class="fa fa-user me-sm-1"></i>
|
||||
<span class="d-sm-inline d-none">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item d-xl-none ps-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="iconNavbarSidenav">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item px-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0">
|
||||
<i class="fa fa-cog fixed-plugin-button-nav cursor-pointer"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown pe-2 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="fa fa-bell cursor-pointer"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end px-2 py-3 me-sm-n4" aria-labelledby="dropdownMenuButton">
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/team-2.jpg" class="avatar avatar-sm me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New message</span> from Laur
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
13 minutes ago
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/small-logos/logo-spotify.svg" class="avatar avatar-sm bg-gradient-dark me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New album</span> by Travis Scott
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
1 day
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="avatar avatar-sm bg-gradient-secondary me-3 my-auto">
|
||||
<svg width="12px" height="12px" viewBox="0 0 43 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>credit-card</title>
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(-2169.000000, -745.000000)" fill="#FFFFFF" fill-rule="nonzero">
|
||||
<g transform="translate(1716.000000, 291.000000)">
|
||||
<g transform="translate(453.000000, 454.000000)">
|
||||
<path class="color-background" d="M43,10.7482083 L43,3.58333333 C43,1.60354167 41.3964583,0 39.4166667,0 L3.58333333,0 C1.60354167,0 0,1.60354167 0,3.58333333 L0,10.7482083 L43,10.7482083 Z" opacity="0.593633743"></path>
|
||||
<path class="color-background" d="M0,16.125 L0,32.25 C0,34.2297917 1.60354167,35.8333333 3.58333333,35.8333333 L39.4166667,35.8333333 C41.3964583,35.8333333 43,34.2297917 43,32.25 L43,16.125 L0,16.125 Z M19.7083333,26.875 L7.16666667,26.875 L7.16666667,23.2916667 L19.7083333,23.2916667 L19.7083333,26.875 Z M35.8333333,26.875 L28.6666667,26.875 L28.6666667,23.2916667 L35.8333333,23.2916667 L35.8333333,26.875 Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
Payment successfully completed
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
2 days
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- End Navbar -->
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header pb-0">
|
||||
<h6>Authors table</h6>
|
||||
</div>
|
||||
<div class="card-body px-0 pt-0 pb-2">
|
||||
<div class="table-responsive p-0">
|
||||
<table class="table align-items-center mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder opacity-7">Author</th>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder opacity-7 ps-2">Function</th>
|
||||
<th class="text-center text-uppercase text-secondary text-xxs font-weight-bolder opacity-7">Status</th>
|
||||
<th class="text-center text-uppercase text-secondary text-xxs font-weight-bolder opacity-7">Employed</th>
|
||||
<th class="text-secondary opacity-7"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2 py-1">
|
||||
<div>
|
||||
<img src="../assets/img/team-2.jpg" class="avatar avatar-sm me-3" alt="user1">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="mb-0 text-sm">John Michael</h6>
|
||||
<p class="text-xs text-secondary mb-0">john@creative-tim.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-xs font-weight-bold mb-0">Manager</p>
|
||||
<p class="text-xs text-secondary mb-0">Organization</p>
|
||||
</td>
|
||||
<td class="align-middle text-center text-sm">
|
||||
<span class="badge badge-sm bg-gradient-success">Online</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<span class="text-secondary text-xs font-weight-bold">23/04/18</span>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<a href="javascript:;" class="text-secondary font-weight-bold text-xs" data-toggle="tooltip" data-original-title="Edit user">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2 py-1">
|
||||
<div>
|
||||
<img src="../assets/img/team-3.jpg" class="avatar avatar-sm me-3" alt="user2">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="mb-0 text-sm">Alexa Liras</h6>
|
||||
<p class="text-xs text-secondary mb-0">alexa@creative-tim.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-xs font-weight-bold mb-0">Programator</p>
|
||||
<p class="text-xs text-secondary mb-0">Developer</p>
|
||||
</td>
|
||||
<td class="align-middle text-center text-sm">
|
||||
<span class="badge badge-sm bg-gradient-secondary">Offline</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<span class="text-secondary text-xs font-weight-bold">11/01/19</span>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<a href="javascript:;" class="text-secondary font-weight-bold text-xs" data-toggle="tooltip" data-original-title="Edit user">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2 py-1">
|
||||
<div>
|
||||
<img src="../assets/img/team-4.jpg" class="avatar avatar-sm me-3" alt="user3">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="mb-0 text-sm">Laurent Perrier</h6>
|
||||
<p class="text-xs text-secondary mb-0">laurent@creative-tim.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-xs font-weight-bold mb-0">Executive</p>
|
||||
<p class="text-xs text-secondary mb-0">Projects</p>
|
||||
</td>
|
||||
<td class="align-middle text-center text-sm">
|
||||
<span class="badge badge-sm bg-gradient-success">Online</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<span class="text-secondary text-xs font-weight-bold">19/09/17</span>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<a href="javascript:;" class="text-secondary font-weight-bold text-xs" data-toggle="tooltip" data-original-title="Edit user">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2 py-1">
|
||||
<div>
|
||||
<img src="../assets/img/team-3.jpg" class="avatar avatar-sm me-3" alt="user4">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="mb-0 text-sm">Michael Levi</h6>
|
||||
<p class="text-xs text-secondary mb-0">michael@creative-tim.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-xs font-weight-bold mb-0">Programator</p>
|
||||
<p class="text-xs text-secondary mb-0">Developer</p>
|
||||
</td>
|
||||
<td class="align-middle text-center text-sm">
|
||||
<span class="badge badge-sm bg-gradient-success">Online</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<span class="text-secondary text-xs font-weight-bold">24/12/08</span>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<a href="javascript:;" class="text-secondary font-weight-bold text-xs" data-toggle="tooltip" data-original-title="Edit user">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2 py-1">
|
||||
<div>
|
||||
<img src="../assets/img/team-2.jpg" class="avatar avatar-sm me-3" alt="user5">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="mb-0 text-sm">Richard Gran</h6>
|
||||
<p class="text-xs text-secondary mb-0">richard@creative-tim.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-xs font-weight-bold mb-0">Manager</p>
|
||||
<p class="text-xs text-secondary mb-0">Executive</p>
|
||||
</td>
|
||||
<td class="align-middle text-center text-sm">
|
||||
<span class="badge badge-sm bg-gradient-secondary">Offline</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<span class="text-secondary text-xs font-weight-bold">04/10/21</span>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<a href="javascript:;" class="text-secondary font-weight-bold text-xs" data-toggle="tooltip" data-original-title="Edit user">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2 py-1">
|
||||
<div>
|
||||
<img src="../assets/img/team-4.jpg" class="avatar avatar-sm me-3" alt="user6">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="mb-0 text-sm">Miriam Eric</h6>
|
||||
<p class="text-xs text-secondary mb-0">miriam@creative-tim.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-xs font-weight-bold mb-0">Programtor</p>
|
||||
<p class="text-xs text-secondary mb-0">Developer</p>
|
||||
</td>
|
||||
<td class="align-middle text-center text-sm">
|
||||
<span class="badge badge-sm bg-gradient-secondary">Offline</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<span class="text-secondary text-xs font-weight-bold">14/09/20</span>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<a href="javascript:;" class="text-secondary font-weight-bold text-xs" data-toggle="tooltip" data-original-title="Edit user">
|
||||
Edit
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header pb-0">
|
||||
<h6>Projects table</h6>
|
||||
</div>
|
||||
<div class="card-body px-0 pt-0 pb-2">
|
||||
<div class="table-responsive p-0">
|
||||
<table class="table align-items-center justify-content-center mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder opacity-7">Project</th>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder opacity-7 ps-2">Budget</th>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder opacity-7 ps-2">Status</th>
|
||||
<th class="text-uppercase text-secondary text-xxs font-weight-bolder text-center opacity-7 ps-2">Completion</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2">
|
||||
<div>
|
||||
<img src="../assets/img/small-logos/logo-spotify.svg" class="avatar avatar-sm rounded-circle me-2" alt="spotify">
|
||||
</div>
|
||||
<div class="my-auto">
|
||||
<h6 class="mb-0 text-sm">Spotify</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-sm font-weight-bold mb-0">$2,500</p>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-xs font-weight-bold">working</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<span class="me-2 text-xs font-weight-bold">60%</span>
|
||||
<div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-info" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<button class="btn btn-link text-secondary mb-0">
|
||||
<i class="fa fa-ellipsis-v text-xs"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2">
|
||||
<div>
|
||||
<img src="../assets/img/small-logos/logo-invision.svg" class="avatar avatar-sm rounded-circle me-2" alt="invision">
|
||||
</div>
|
||||
<div class="my-auto">
|
||||
<h6 class="mb-0 text-sm">Invision</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-sm font-weight-bold mb-0">$5,000</p>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-xs font-weight-bold">done</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<span class="me-2 text-xs font-weight-bold">100%</span>
|
||||
<div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<button class="btn btn-link text-secondary mb-0" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-xs"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2">
|
||||
<div>
|
||||
<img src="../assets/img/small-logos/logo-jira.svg" class="avatar avatar-sm rounded-circle me-2" alt="jira">
|
||||
</div>
|
||||
<div class="my-auto">
|
||||
<h6 class="mb-0 text-sm">Jira</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-sm font-weight-bold mb-0">$3,400</p>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-xs font-weight-bold">canceled</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<span class="me-2 text-xs font-weight-bold">30%</span>
|
||||
<div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-danger" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="30" style="width: 30%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<button class="btn btn-link text-secondary mb-0" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-xs"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2">
|
||||
<div>
|
||||
<img src="../assets/img/small-logos/logo-slack.svg" class="avatar avatar-sm rounded-circle me-2" alt="slack">
|
||||
</div>
|
||||
<div class="my-auto">
|
||||
<h6 class="mb-0 text-sm">Slack</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-sm font-weight-bold mb-0">$1,000</p>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-xs font-weight-bold">canceled</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<span class="me-2 text-xs font-weight-bold">0%</span>
|
||||
<div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-success" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="0" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<button class="btn btn-link text-secondary mb-0" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-xs"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2">
|
||||
<div>
|
||||
<img src="../assets/img/small-logos/logo-webdev.svg" class="avatar avatar-sm rounded-circle me-2" alt="webdev">
|
||||
</div>
|
||||
<div class="my-auto">
|
||||
<h6 class="mb-0 text-sm">Webdev</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-sm font-weight-bold mb-0">$14,000</p>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-xs font-weight-bold">working</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<span class="me-2 text-xs font-weight-bold">80%</span>
|
||||
<div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-info" role="progressbar" aria-valuenow="80" aria-valuemin="0" aria-valuemax="80" style="width: 80%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<button class="btn btn-link text-secondary mb-0" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-xs"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="d-flex px-2">
|
||||
<div>
|
||||
<img src="../assets/img/small-logos/logo-xd.svg" class="avatar avatar-sm rounded-circle me-2" alt="xd">
|
||||
</div>
|
||||
<div class="my-auto">
|
||||
<h6 class="mb-0 text-sm">Adobe XD</h6>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<p class="text-sm font-weight-bold mb-0">$2,300</p>
|
||||
</td>
|
||||
<td>
|
||||
<span class="text-xs font-weight-bold">done</span>
|
||||
</td>
|
||||
<td class="align-middle text-center">
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<span class="me-2 text-xs font-weight-bold">100%</span>
|
||||
<div>
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<button class="btn btn-link text-secondary mb-0" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-ellipsis-v text-xs"></i>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer pt-3 ">
|
||||
<div class="container-fluid">
|
||||
<div class="row align-items-center justify-content-lg-between">
|
||||
<div class="col-lg-6 mb-lg-0 mb-4">
|
||||
<div class="copyright text-center text-sm text-muted text-lg-start">
|
||||
© <script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script>,
|
||||
made with <i class="fa fa-heart"></i> by
|
||||
<a href="https://www.creative-tim.com" class="font-weight-bold" target="_blank">Creative Tim</a>
|
||||
for a better web.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<ul class="nav nav-footer justify-content-center justify-content-lg-end">
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com" class="nav-link text-muted" target="_blank">Creative Tim</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/presentation" class="nav-link text-muted" target="_blank">About Us</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/blog" class="nav-link text-muted" target="_blank">Blog</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/license" class="nav-link pe-0 text-muted" target="_blank">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</main>
|
||||
<div class="fixed-plugin">
|
||||
<a class="fixed-plugin-button text-dark position-fixed px-3 py-2">
|
||||
<i class="fa fa-cog py-2"> </i>
|
||||
</a>
|
||||
<div class="card shadow-lg">
|
||||
<div class="card-header pb-0 pt-3 ">
|
||||
<div class="float-start">
|
||||
<h5 class="mt-3 mb-0">Argon Configurator</h5>
|
||||
<p>See our dashboard options.</p>
|
||||
</div>
|
||||
<div class="float-end mt-4">
|
||||
<button class="btn btn-link text-dark p-0 fixed-plugin-close-button">
|
||||
<i class="fa fa-close"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- End Toggle Button -->
|
||||
</div>
|
||||
<hr class="horizontal dark my-1">
|
||||
<div class="card-body pt-sm-3 pt-0 overflow-auto">
|
||||
<!-- Sidebar Backgrounds -->
|
||||
<div>
|
||||
<h6 class="mb-0">Sidebar Colors</h6>
|
||||
</div>
|
||||
<a href="javascript:void(0)" class="switch-trigger background-color">
|
||||
<div class="badge-colors my-2 text-start">
|
||||
<span class="badge filter bg-gradient-primary active" data-color="primary" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-dark" data-color="dark" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-info" data-color="info" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-success" data-color="success" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-warning" data-color="warning" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-danger" data-color="danger" onclick="sidebarColor(this)"></span>
|
||||
</div>
|
||||
</a>
|
||||
<!-- Sidenav Type -->
|
||||
<div class="mt-3">
|
||||
<h6 class="mb-0">Sidenav Type</h6>
|
||||
<p class="text-sm">Choose between 2 different sidenav types.</p>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2 active me-2" data-class="bg-white" onclick="sidebarType(this)">White</button>
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2" data-class="bg-default" onclick="sidebarType(this)">Dark</button>
|
||||
</div>
|
||||
<p class="text-sm d-xl-none d-block mt-2">You can change the sidenav type just on desktop view.</p>
|
||||
<!-- Navbar Fixed -->
|
||||
<div class="d-flex my-3">
|
||||
<h6 class="mb-0">Navbar Fixed</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="navbarFixed" onclick="navbarFixed(this)">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark my-sm-4">
|
||||
<div class="mt-2 mb-5 d-flex">
|
||||
<h6 class="mb-0">Light / Dark</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="dark-version" onclick="darkMode(this)">
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn bg-gradient-dark w-100" href="https://www.creative-tim.com/product/argon-dashboard">Free Download</a>
|
||||
<a class="btn btn-outline-dark w-100" href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard">View documentation</a>
|
||||
<div class="w-100 text-center">
|
||||
<a class="github-button" href="https://github.com/creativetimofficial/argon-dashboard" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star creativetimofficial/argon-dashboard on GitHub">Star</a>
|
||||
<h6 class="mt-3">Thank you for sharing!</h6>
|
||||
<a href="https://twitter.com/intent/tweet?text=Check%20Argon%20Dashboard%20made%20by%20%40CreativeTim%20%23webdesign%20%23dashboard%20%23bootstrap5&url=https%3A%2F%2Fwww.creative-tim.com%2Fproduct%2Fargon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-twitter me-1" aria-hidden="true"></i> Tweet
|
||||
</a>
|
||||
<a href="https://www.facebook.com/sharer/sharer.php?u=https://www.creative-tim.com/product/argon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-facebook-square me-1" aria-hidden="true"></i> Share
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Core JS Files -->
|
||||
<script src="../assets/js/core/popper.min.js"></script>
|
||||
<script src="../assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="../assets/js/plugins/perfect-scrollbar.min.js"></script>
|
||||
<script src="../assets/js/plugins/smooth-scrollbar.min.js"></script>
|
||||
<script>
|
||||
var win = navigator.platform.indexOf('Win') > -1;
|
||||
if (win && document.querySelector('#sidenav-scrollbar')) {
|
||||
var options = {
|
||||
damping: '0.5'
|
||||
}
|
||||
Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options);
|
||||
}
|
||||
</script>
|
||||
<!-- Github buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<!-- Control Center for Soft Dashboard: parallax effects, scripts for the example pages etc -->
|
||||
<script src="../assets/js/argon-dashboard.min.js?v=2.0.4"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
514
templates/virtual-reality.html
Executable file
514
templates/virtual-reality.html
Executable file
@@ -0,0 +1,514 @@
|
||||
<!--
|
||||
=========================================================
|
||||
* Argon Dashboard 2 - v2.0.4
|
||||
=========================================================
|
||||
|
||||
* Product Page: https://www.creative-tim.com/product/argon-dashboard
|
||||
* Copyright 2022 Creative Tim (https://www.creative-tim.com)
|
||||
* Licensed under MIT (https://www.creative-tim.com/license)
|
||||
* Coded by Creative Tim
|
||||
|
||||
=========================================================
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="../assets/img/apple-icon.png">
|
||||
<link rel="icon" type="image/png" href="../assets/img/favicon.png">
|
||||
<title>
|
||||
Argon Dashboard 2 by Creative Tim
|
||||
</title>
|
||||
<!-- Fonts and icons -->
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet" />
|
||||
<!-- Nucleo Icons -->
|
||||
<link href="../assets/css/nucleo-icons.css" rel="stylesheet" />
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- Font Awesome Icons -->
|
||||
<script src="https://kit.fontawesome.com/42d5adcbca.js" crossorigin="anonymous"></script>
|
||||
<link href="../assets/css/nucleo-svg.css" rel="stylesheet" />
|
||||
<!-- CSS Files -->
|
||||
<link id="pagestyle" href="../assets/css/argon-dashboard.css?v=2.0.4" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body class="g-sidenav-show bg-gray-100 virtual-reality">
|
||||
<div>
|
||||
<!-- Navbar -->
|
||||
<nav class="navbar navbar-main navbar-expand-lg px-0 mx-4 shadow-none border-radius-xl mt-3 mx-3 bg-primary" id="navbarBlur" data-scroll="false">
|
||||
<div class="container-fluid py-1 px-3">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb bg-transparent mb-0 pb-0 pt-1 px-0 me-sm-6 me-5">
|
||||
<li class="breadcrumb-item text-sm"><a class="opacity-5 text-white" href="javascript:;">Pages</a></li>
|
||||
<li class="breadcrumb-item text-sm text-white active" aria-current="page">Virtual Reality</li>
|
||||
</ol>
|
||||
<h6 class="font-weight-bolder text-white mb-0">Virtual Reality</h6>
|
||||
</nav>
|
||||
<div class="collapse navbar-collapse mt-sm-0 mt-2 me-md-0 me-sm-4" id="navbar">
|
||||
<div class="ms-md-auto pe-md-3 d-flex align-items-center">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text text-body"><i class="fas fa-search" aria-hidden="true"></i></span>
|
||||
<input type="text" class="form-control" placeholder="Type here...">
|
||||
</div>
|
||||
</div>
|
||||
<ul class="navbar-nav justify-content-end">
|
||||
<li class="nav-item d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white font-weight-bold px-0">
|
||||
<i class="fa fa-user me-sm-1"></i>
|
||||
<span class="d-sm-inline d-none">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item d-xl-none ps-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="iconNavbarSidenav">
|
||||
<div class="sidenav-toggler-inner">
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
<i class="sidenav-toggler-line bg-white"></i>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item px-3 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0">
|
||||
<i class="fa fa-cog fixed-plugin-button-nav cursor-pointer"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown pe-2 d-flex align-items-center">
|
||||
<a href="javascript:;" class="nav-link text-white p-0" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="fa fa-bell cursor-pointer"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end px-2 py-3 me-sm-n4" aria-labelledby="dropdownMenuButton">
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/team-2.jpg" class="avatar avatar-sm me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New message</span> from Laur
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
13 minutes ago
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="mb-2">
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="my-auto">
|
||||
<img src="../assets/img/small-logos/logo-spotify.svg" class="avatar avatar-sm bg-gradient-dark me-3 ">
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
<span class="font-weight-bold">New album</span> by Travis Scott
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
1 day
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item border-radius-md" href="javascript:;">
|
||||
<div class="d-flex py-1">
|
||||
<div class="avatar avatar-sm bg-gradient-secondary me-3 my-auto">
|
||||
<svg width="12px" height="12px" viewBox="0 0 43 36" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>credit-card</title>
|
||||
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g transform="translate(-2169.000000, -745.000000)" fill="#FFFFFF" fill-rule="nonzero">
|
||||
<g transform="translate(1716.000000, 291.000000)">
|
||||
<g transform="translate(453.000000, 454.000000)">
|
||||
<path class="color-background" d="M43,10.7482083 L43,3.58333333 C43,1.60354167 41.3964583,0 39.4166667,0 L3.58333333,0 C1.60354167,0 0,1.60354167 0,3.58333333 L0,10.7482083 L43,10.7482083 Z" opacity="0.593633743"></path>
|
||||
<path class="color-background" d="M0,16.125 L0,32.25 C0,34.2297917 1.60354167,35.8333333 3.58333333,35.8333333 L39.4166667,35.8333333 C41.3964583,35.8333333 43,34.2297917 43,32.25 L43,16.125 L0,16.125 Z M19.7083333,26.875 L7.16666667,26.875 L7.16666667,23.2916667 L19.7083333,23.2916667 L19.7083333,26.875 Z M35.8333333,26.875 L28.6666667,26.875 L28.6666667,23.2916667 L35.8333333,23.2916667 L35.8333333,26.875 Z"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="d-flex flex-column justify-content-center">
|
||||
<h6 class="text-sm font-weight-normal mb-1">
|
||||
Payment successfully completed
|
||||
</h6>
|
||||
<p class="text-xs text-secondary mb-0">
|
||||
<i class="fa fa-clock me-1"></i>
|
||||
2 days
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- End Navbar -->
|
||||
</div>
|
||||
<div class="border-radius-xl mt-4 mx-4 position-relative" style="background-image: url('../assets/img/vr-bg.jpg') ; background-size: cover;">
|
||||
<aside class="sidenav bg-white navbar navbar-vertical navbar-expand-xs border-0 border-radius-xl my-3 fixed-start ms-4 " id="sidenav-main">
|
||||
<div class="sidenav-header">
|
||||
<i class="fas fa-times p-3 cursor-pointer text-secondary opacity-5 position-absolute end-0 top-0 d-none d-xl-none" aria-hidden="true" id="iconSidenav"></i>
|
||||
<a class="navbar-brand m-0" href=" https://demos.creative-tim.com/argon-dashboard/pages/dashboard.html " target="_blank">
|
||||
<img src="../assets/img/logo-ct-dark.png" class="navbar-brand-img h-100" alt="main_logo">
|
||||
<span class="ms-1 font-weight-bold">Argon Dashboard 2</span>
|
||||
</a>
|
||||
</div>
|
||||
<hr class="horizontal dark mt-0">
|
||||
<div class="collapse navbar-collapse w-auto " id="sidenav-collapse-main">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/dashboard.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-tv-2 text-primary text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Dashboard</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/tables.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-calendar-grid-58 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Tables</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/billing.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-credit-card text-success text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Billing</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="../pages/virtual-reality.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-app text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Virtual Reality</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/rtl.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-world-2 text-danger text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">RTL</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item mt-3">
|
||||
<h6 class="ps-4 ms-2 text-uppercase text-xs font-weight-bolder opacity-6">Account pages</h6>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/profile.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-02 text-dark text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Profile</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-in.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-single-copy-04 text-warning text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign In</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="../pages/sign-up.html">
|
||||
<div class="icon icon-shape icon-sm border-radius-md text-center me-2 d-flex align-items-center justify-content-center">
|
||||
<i class="ni ni-collection text-info text-sm opacity-10"></i>
|
||||
</div>
|
||||
<span class="nav-link-text ms-1">Sign Up</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sidenav-footer mx-3 ">
|
||||
<div class="card card-plain shadow-none" id="sidenavCard">
|
||||
<img class="w-50 mx-auto" src="../assets/img/illustrations/icon-documentation.svg" alt="sidebar_illustration">
|
||||
<div class="card-body text-center p-3 w-100 pt-0">
|
||||
<div class="docs-info">
|
||||
<h6 class="mb-0">Need help?</h6>
|
||||
<p class="text-xs font-weight-bold mb-0">Please check our docs</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard" target="_blank" class="btn btn-dark btn-sm w-100 mb-3">Documentation</a>
|
||||
<a class="btn btn-primary btn-sm mb-0 w-100" href="https://www.creative-tim.com/product/argon-dashboard-pro?ref=sidebarfree" type="button">Upgrade to pro</a>
|
||||
</div>
|
||||
</aside>
|
||||
<main class="main-content mt-1 border-radius-lg">
|
||||
<div class="section min-vh-85 position-relative transform-scale-0 transform-scale-md-7">
|
||||
<div class="container">
|
||||
<div class="row pt-10">
|
||||
<div class="col-lg-1 col-md-1 pt-5 pt-lg-0 ms-lg-5 text-center">
|
||||
<a href="javascript:;" class="avatar avatar-md border-0 d-block mb-2" data-bs-toggle="tooltip" data-bs-placement="left" title="My Profile">
|
||||
<img class="border-radius-lg" alt="Image placeholder" src="../assets/img/team-1.jpg">
|
||||
</a>
|
||||
<button class="btn btn-white border-radius-lg p-2 mt-0 mt-md-2 d-block mx-2 mx-md-0" type="button" data-bs-toggle="tooltip" data-bs-placement="left" title="Home">
|
||||
<i class="fas fa-home p-2"></i>
|
||||
</button>
|
||||
<button class="btn btn-white border-radius-lg p-2 d-block" type="button" data-bs-toggle="tooltip" data-bs-placement="left" title="Search">
|
||||
<i class="fas fa-search p-2"></i>
|
||||
</button>
|
||||
<button class="btn btn-white border-radius-lg p-2 d-block ms-2 ms-md-0" type="button" data-bs-toggle="tooltip" data-bs-placement="left" title="Minimize">
|
||||
<i class="fas fa-ellipsis-h p-2"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-lg-8 col-md-11">
|
||||
<div class="d-flex">
|
||||
<div class="me-auto">
|
||||
<h1 class="display-1 font-weight-bold mb-0">12°C</h1>
|
||||
<h6 class="text-uppercase mb-0 ms-1">Cloudy</h6>
|
||||
</div>
|
||||
<div class="ms-auto">
|
||||
<img class="w-50 float-end mt-md-n5" src="../assets/img/small-logos/icon-sun-cloud.png" alt="image sun">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-4 col-md-4">
|
||||
<div class="card move-on-hover overflow-hidden">
|
||||
<div class="card-body">
|
||||
<div class="d-flex">
|
||||
<h6 class="mb-0 me-3">08:00</h6>
|
||||
<h6 class="mb-0">Synk up with Mark
|
||||
<small class="text-secondary font-weight-normal">Hangouts</small>
|
||||
</h6>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<div class="d-flex">
|
||||
<h6 class="mb-0 me-3">09:30</h6>
|
||||
<h6 class="mb-0">Gym <br />
|
||||
<small class="text-secondary font-weight-normal">World Class</small>
|
||||
</h6>
|
||||
</div>
|
||||
<hr class="horizontal dark">
|
||||
<div class="d-flex">
|
||||
<h6 class="mb-0 me-3">11:00</h6>
|
||||
<h6 class="mb-0">Design Review<br />
|
||||
<small class="text-secondary font-weight-normal">Zoom</small>
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
<a href="javascript:;" class="bg-gray-100 w-100 text-center py-1" data-bs-toggle="tooltip" data-bs-placement="top" title="Show More">
|
||||
<i class="fas fa-chevron-down text-primary"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-4 mt-4 mt-sm-0">
|
||||
<div class="card bg-gradient-dark move-on-hover">
|
||||
<div class="card-body">
|
||||
<div class="d-flex">
|
||||
<h5 class="mb-0 text-white">To Do</h5>
|
||||
<div class="ms-auto">
|
||||
<h1 class="text-white text-end mb-0 mt-n2">7</h1>
|
||||
<p class="text-sm mb-0 text-white">items</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text-white mb-0">Shopping</p>
|
||||
<p class="mb-0 text-white">Meeting</p>
|
||||
</div>
|
||||
<a href="javascript:;" class="w-100 text-center py-1" data-bs-toggle="tooltip" data-bs-placement="top" title="Show More">
|
||||
<i class="fas fa-chevron-down text-white"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card move-on-hover mt-4">
|
||||
<div class="card-body">
|
||||
<div class="d-flex">
|
||||
<p class="mb-0">Emails (21)</p>
|
||||
<a href="javascript:;" class="ms-auto" data-bs-toggle="tooltip" data-bs-placement="top" title="Check your emails">
|
||||
Check
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-4 mt-4 mt-sm-0">
|
||||
<div class="card card-background card-background-mask-primary move-on-hover align-items-start">
|
||||
<div class="cursor-pointer">
|
||||
<div class="full-background" style="background-image: url('https://images.unsplash.com/photo-1518609878373-06d740f60d8b?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=2370&q=80')"></div>
|
||||
<div class="card-body">
|
||||
<h5 class="text-white mb-0">Some Kind Of Blues</h5>
|
||||
<p class="text-white text-sm">Deftones</p>
|
||||
<div class="d-flex mt-5">
|
||||
<button class="btn btn-outline-white rounded-circle p-2 mb-0" type="button" data-bs-toggle="tooltip" data-bs-placement="top" title="Prev">
|
||||
<i class="fas fa-backward p-2"></i>
|
||||
</button>
|
||||
<button class="btn btn-outline-white rounded-circle p-2 mx-2 mb-0" type="button" data-bs-toggle="tooltip" data-bs-placement="top" title="Pause">
|
||||
<i class="fas fa-play p-2"></i>
|
||||
</button>
|
||||
<button class="btn btn-outline-white rounded-circle p-2 mb-0" type="button" data-bs-toggle="tooltip" data-bs-placement="top" title="Next">
|
||||
<i class="fas fa-forward p-2"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card move-on-hover mt-4 mb-4 mb-md-0 mt-md-4">
|
||||
<div class="card-body">
|
||||
<div class="d-flex">
|
||||
<p class="my-auto">Messages</p>
|
||||
<div class="ms-auto">
|
||||
<div class="avatar-group">
|
||||
<a href="javascript:;" class="avatar avatar-sm border-0 rounded-circle" data-bs-toggle="tooltip" data-bs-placement="top" title="2 New Messages">
|
||||
<img alt="Image placeholder" src="../assets/img/team-1.jpg">
|
||||
</a>
|
||||
<a href="javascript:;" class="avatar avatar-sm border-0 rounded-circle" data-bs-toggle="tooltip" data-bs-placement="top" title="1 New Message">
|
||||
<img alt="Image placeholder" src="../assets/img/team-2.jpg">
|
||||
</a>
|
||||
<a href="javascript:;" class="avatar avatar-sm border-0 rounded-circle" data-bs-toggle="tooltip" data-bs-placement="top" title="13 New Messages">
|
||||
<img alt="Image placeholder" src="../assets/img/team-3.jpg">
|
||||
</a>
|
||||
<a href="javascript:;" class="avatar avatar-sm border-0 rounded-circle" data-bs-toggle="tooltip" data-bs-placement="top" title="7 New Messages">
|
||||
<img alt="Image placeholder" src="../assets/img/team-4.jpg">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
<footer class="footer pt-3 ">
|
||||
<div class="container-fluid">
|
||||
<div class="row align-items-center justify-content-lg-between">
|
||||
<div class="col-lg-6 mb-lg-0 mb-4">
|
||||
<div class="copyright text-center text-sm text-muted text-lg-start">
|
||||
© <script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script>,
|
||||
made with <i class="fa fa-heart"></i> by
|
||||
<a href="https://www.creative-tim.com" class="font-weight-bold" target="_blank">Creative Tim</a>
|
||||
for a better web.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<ul class="nav nav-footer justify-content-center justify-content-lg-end">
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com" class="nav-link text-muted" target="_blank">Creative Tim</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/presentation" class="nav-link text-muted" target="_blank">About Us</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/blog" class="nav-link text-muted" target="_blank">Blog</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="https://www.creative-tim.com/license" class="nav-link pe-0 text-muted" target="_blank">License</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<div class="fixed-plugin">
|
||||
<a class="fixed-plugin-button text-dark position-fixed px-3 py-2">
|
||||
<i class="fa fa-cog py-2"> </i>
|
||||
</a>
|
||||
<div class="card shadow-lg">
|
||||
<div class="card-header pb-0 pt-3 ">
|
||||
<div class="float-start">
|
||||
<h5 class="mt-3 mb-0">Argon Configurator</h5>
|
||||
<p>See our dashboard options.</p>
|
||||
</div>
|
||||
<div class="float-end mt-4">
|
||||
<button class="btn btn-link text-dark p-0 fixed-plugin-close-button">
|
||||
<i class="fa fa-close"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- End Toggle Button -->
|
||||
</div>
|
||||
<hr class="horizontal dark my-1">
|
||||
<div class="card-body pt-sm-3 pt-0 overflow-auto">
|
||||
<!-- Sidebar Backgrounds -->
|
||||
<div>
|
||||
<h6 class="mb-0">Sidebar Colors</h6>
|
||||
</div>
|
||||
<a href="javascript:void(0)" class="switch-trigger background-color">
|
||||
<div class="badge-colors my-2 text-start">
|
||||
<span class="badge filter bg-gradient-primary active" data-color="primary" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-dark" data-color="dark" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-info" data-color="info" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-success" data-color="success" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-warning" data-color="warning" onclick="sidebarColor(this)"></span>
|
||||
<span class="badge filter bg-gradient-danger" data-color="danger" onclick="sidebarColor(this)"></span>
|
||||
</div>
|
||||
</a>
|
||||
<!-- Sidenav Type -->
|
||||
<div class="mt-3">
|
||||
<h6 class="mb-0">Sidenav Type</h6>
|
||||
<p class="text-sm">Choose between 2 different sidenav types.</p>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2 active me-2" data-class="bg-white" onclick="sidebarType(this)">White</button>
|
||||
<button class="btn bg-gradient-primary w-100 px-3 mb-2" data-class="bg-default" onclick="sidebarType(this)">Dark</button>
|
||||
</div>
|
||||
<p class="text-sm d-xl-none d-block mt-2">You can change the sidenav type just on desktop view.</p>
|
||||
<!-- Navbar Fixed -->
|
||||
<div class="d-flex my-3">
|
||||
<h6 class="mb-0">Navbar Fixed</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="navbarFixed" onclick="navbarFixed(this)">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="horizontal dark my-sm-4">
|
||||
<div class="mt-2 mb-5 d-flex">
|
||||
<h6 class="mb-0">Light / Dark</h6>
|
||||
<div class="form-check form-switch ps-0 ms-auto my-auto">
|
||||
<input class="form-check-input mt-1 ms-auto" type="checkbox" id="dark-version" onclick="darkMode(this)">
|
||||
</div>
|
||||
</div>
|
||||
<a class="btn bg-gradient-dark w-100" href="https://www.creative-tim.com/product/argon-dashboard">Free Download</a>
|
||||
<a class="btn btn-outline-dark w-100" href="https://www.creative-tim.com/learning-lab/bootstrap/license/argon-dashboard">View documentation</a>
|
||||
<div class="w-100 text-center">
|
||||
<a class="github-button" href="https://github.com/creativetimofficial/argon-dashboard" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star creativetimofficial/argon-dashboard on GitHub">Star</a>
|
||||
<h6 class="mt-3">Thank you for sharing!</h6>
|
||||
<a href="https://twitter.com/intent/tweet?text=Check%20Argon%20Dashboard%20made%20by%20%40CreativeTim%20%23webdesign%20%23dashboard%20%23bootstrap5&url=https%3A%2F%2Fwww.creative-tim.com%2Fproduct%2Fargon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-twitter me-1" aria-hidden="true"></i> Tweet
|
||||
</a>
|
||||
<a href="https://www.facebook.com/sharer/sharer.php?u=https://www.creative-tim.com/product/argon-dashboard" class="btn btn-dark mb-0 me-2" target="_blank">
|
||||
<i class="fab fa-facebook-square me-1" aria-hidden="true"></i> Share
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Core JS Files -->
|
||||
<script src="../assets/js/core/popper.min.js"></script>
|
||||
<script src="../assets/js/core/bootstrap.min.js"></script>
|
||||
<script src="../assets/js/plugins/perfect-scrollbar.min.js"></script>
|
||||
<script src="../assets/js/plugins/smooth-scrollbar.min.js"></script>
|
||||
<script>
|
||||
var win = navigator.platform.indexOf('Win') > -1;
|
||||
if (win && document.querySelector('#sidenav-scrollbar')) {
|
||||
var options = {
|
||||
damping: '0.5'
|
||||
}
|
||||
Scrollbar.init(document.querySelector('#sidenav-scrollbar'), options);
|
||||
}
|
||||
</script>
|
||||
<!-- Github buttons -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
<!-- Control Center for Soft Dashboard: parallax effects, scripts for the example pages etc -->
|
||||
<script src="../assets/js/argon-dashboard.min.js?v=2.0.4"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user