You've already forked gentelella
- Removed various console.log and console.warn statements from chart-initializer.js, main-core.js, main-form-advanced.js, main-form-basic.js, main-inbox.js, main-minimal-modern.js, main-minimal.js, main-upload.js, and main-tables.js to reduce noise in the console output. - Updated typography.html to remove inline code example text. - Updated examples.js to replace moment.js with dayjs for date manipulation. - Added landing.scss for landing page styles and integrated it into main.scss. - Created main-tables.js for dedicated DataTables initialization. - Adjusted vite.config.js for better chunking of vendor libraries. - Removed references to Morris.js in charts.js and custom.scss, transitioning fully to Chart.js. - Added checks for already initialized maps in maps.js to prevent redundant initializations.
1519 lines
75 KiB
HTML
Executable File
1519 lines
75 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<!-- Meta, title, CSS, favicons, etc. -->
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<!-- Security Headers -->
|
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.jsdelivr.net https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://cdnjs.cloudflare.com https://fonts.googleapis.com; img-src 'self' data: https: blob:; font-src 'self' data: https://fonts.gstatic.com https://cdn.jsdelivr.net https://cdnjs.cloudflare.com; connect-src 'self' ws: wss: http://localhost:* https://api.example.com https://*.googleapis.com; frame-src 'self' https://www.youtube.com https://player.vimeo.com; media-src 'self' https: blob:; object-src 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;">
|
|
<meta http-equiv="X-Content-Type-Options" content="nosniff">
|
|
<meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin">
|
|
<meta http-equiv="Permissions-Policy" content="camera=(), microphone=(), geolocation=()">
|
|
<link rel="icon" href="images/favicon.svg" type="image/svg+xml">
|
|
<link rel="icon" href="images/favicon-32x32.svg" type="image/svg+xml" sizes="32x32">
|
|
<link rel="icon" href="images/favicon-16x16.svg" type="image/svg+xml" sizes="16x16">
|
|
<link rel="icon" href="images/favicon.ico" type="image/x-icon">
|
|
|
|
<!-- Apple Touch Icon -->
|
|
<link rel="apple-touch-icon" href="images/apple-touch-icon.svg" sizes="180x180">
|
|
|
|
<!-- Android/Chrome -->
|
|
<link rel="manifest" href="site.webmanifest">
|
|
|
|
<!-- Theme colors -->
|
|
<meta name="theme-color" content="rgb(42, 63, 84)">
|
|
<meta name="msapplication-TileColor" content="rgb(42, 63, 84)">
|
|
|
|
<title>Dashboard 1 - Gentelella</title>
|
|
|
|
|
|
|
|
<!-- Vite Entry Point - will bundle all styles -->
|
|
<script type="module" src="/src/main-minimal-modern.js"></script>
|
|
</head>
|
|
|
|
<body class="nav-md page-index">
|
|
<div class="container body">
|
|
<div class="main_container">
|
|
<div class="col-md-3 left_col">
|
|
<div class="left_col scroll-view">
|
|
<div class="navbar nav_title" style="border: 0;">
|
|
<a href="index.html" class="site_title"><img src="images/logo.svg" alt="Gentelella Alela!" class="logo-full" style="height: 40px;"><img src="images/logo-icon.svg" alt="Gentelella" class="logo-icon" style="height: 30px; display: none;"></a>
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
<!-- menu profile quick info -->
|
|
<div class="profile clearfix">
|
|
<div class="profile_pic">
|
|
<img src="images/img.jpg" alt="..." class="img-circle profile_img">
|
|
</div>
|
|
<div class="profile_info">
|
|
<span>Welcome,</span>
|
|
<h4>John Doe</h4>
|
|
</div>
|
|
</div>
|
|
<!-- /menu profile quick info -->
|
|
|
|
<br />
|
|
|
|
<!-- sidebar menu -->
|
|
<div id="sidebar-menu" class="main_menu_side hidden-print main_menu">
|
|
<div class="menu_section">
|
|
<h3>General</h3>
|
|
<ul class="nav side-menu">
|
|
<li><a><i class="fas fa-home"></i> Home <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="index.html">Dashboard 1</a></li>
|
|
<li><a href="index2.html">Dashboard 2</a></li>
|
|
<li><a href="index3.html">Dashboard 3</a></li>
|
|
<li><a href="index4.html">Dashboard 4</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-edit"></i> Forms <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="form.html">General Form</a></li>
|
|
<li><a href="form_advanced.html">Advanced Components</a></li>
|
|
<li><a href="form_validation.html">Form Validation</a></li>
|
|
<li><a href="form_wizards.html">Form Wizard</a></li>
|
|
<li><a href="form_upload.html">Form Upload</a></li>
|
|
<li><a href="form_buttons.html">Form Buttons</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-desktop"></i> UI Elements <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="general_elements.html">General Elements</a></li>
|
|
<li><a href="media_gallery.html">Media Gallery</a></li>
|
|
<li><a href="typography.html">Typography</a></li>
|
|
<li><a href="icons.html">Icons</a></li>
|
|
<li><a href="widgets.html">Widgets</a></li>
|
|
<li><a href="invoice.html">Invoice</a></li>
|
|
<li><a href="inbox.html">Inbox</a></li>
|
|
<li><a href="calendar.html">Calendar</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-table"></i> Tables <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="tables.html">Tables</a></li>
|
|
<li><a href="tables_dynamic.html">Table Dynamic</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-chart-column"></i> Data Presentation <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="chartjs.html">Chart JS</a></li>
|
|
<li><a href="chartjs2.html">Chart JS2</a></li>
|
|
<li><a href="chart3.html">Chart JS3</a></li>
|
|
<li><a href="echarts.html">ECharts</a></li>
|
|
<li><a href="other_charts.html">Other Charts</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-clone"></i>Layouts <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="fixed_sidebar.html">Fixed Sidebar</a></li>
|
|
<li><a href="fixed_footer.html">Fixed Footer</a></li>
|
|
</ul>
|
|
</ul>
|
|
</div>
|
|
<div class="menu_section">
|
|
<h3>Live On</h3>
|
|
<ul class="nav side-menu">
|
|
<li><a><i class="fas fa-bug"></i> Additional Pages <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="e_commerce.html">E-commerce</a></li>
|
|
<li><a href="projects.html">Projects</a></li>
|
|
<li><a href="project_detail.html">Project Detail</a></li>
|
|
<li><a href="contacts.html">Contacts</a></li>
|
|
<li><a href="profile.html">Profile</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-window-restore"></i> Extras <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="page_403.html">403 Error</a></li>
|
|
<li><a href="page_404.html">404 Error</a></li>
|
|
<li><a href="page_500.html">500 Error</a></li>
|
|
<li><a href="plain_page.html">Plain Page</a></li>
|
|
<li><a href="login.html">Login Page</a></li>
|
|
<li><a href="pricing_tables.html">Pricing Tables</a></li>
|
|
</ul>
|
|
<li><a><i class="fas fa-sitemap"></i> Multilevel Menu <span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li><a href="#level1_1">Level One</a></li>
|
|
<li><a>Level One<span class="fas fa-chevron-down"></span></a>
|
|
<ul class="nav child_menu">
|
|
<li class="sub_menu"><a href="level2.html">Level Two</a>
|
|
<li><a href="#level2_1">Level Two</a>
|
|
<li><a href="#level2_2">Level Two</a>
|
|
</ul>
|
|
<li><a href="#level1_2">Level One</a></li>
|
|
</ul>
|
|
<li><a href="landing.html"><i class="fas fa-laptop"></i> Landing Page</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
<!-- /sidebar menu -->
|
|
|
|
<!-- /menu footer buttons -->
|
|
<div class="sidebar-footer hidden-small">
|
|
<a data-bs-toggle="tooltip" data-bs-placement="top" title="Settings">
|
|
<span class="fas fa-cog" aria-hidden="true"></span>
|
|
</a>
|
|
<a data-bs-toggle="tooltip" data-bs-placement="top" title="FullScreen">
|
|
<span class="fas fa-expand" aria-hidden="true"></span>
|
|
</a>
|
|
<a data-bs-toggle="tooltip" data-bs-placement="top" title="Lock">
|
|
<span class="fas fa-eye-slash" aria-hidden="true"></span>
|
|
</a>
|
|
<a data-bs-toggle="tooltip" data-bs-placement="top" title="Logout" href="login.html">
|
|
<span class="fas fa-power-off" aria-hidden="true"></span>
|
|
</a>
|
|
</div>
|
|
<!-- /menu footer buttons -->
|
|
</div>
|
|
</div>
|
|
|
|
<!-- top navigation -->
|
|
<div class="top_nav">
|
|
<div class="nav_menu">
|
|
<div class="nav toggle">
|
|
<a id="menu_toggle"><i class="fas fa-bars"></i></a>
|
|
</div>
|
|
<nav class="nav navbar-nav">
|
|
<ul class="navbar-right">
|
|
<li class="nav-item dropdown open" style="padding-left: 15px;">
|
|
<a href="javascript:;" class="user-profile dropdown-toggle" aria-haspopup="true" id="navbarDropdown" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<img src="images/img.jpg" alt="">John Doe
|
|
</a>
|
|
<div class="dropdown-menu dropdown-usermenu float-end" aria-labelledby="navbarDropdown">
|
|
<a class="dropdown-item" href="javascript:;"> Profile</a>
|
|
<a class="dropdown-item" href="javascript:;">
|
|
<span class="badge bg-red float-end">50%</span>
|
|
<span>Settings</span>
|
|
</a>
|
|
<a class="dropdown-item" href="javascript:;">Help</a>
|
|
<a class="dropdown-item" href="login.html"><i class="fas fa-sign-out-alt float-end"></i> Log Out</a>
|
|
</div>
|
|
|
|
<li role="presentation" class="nav-item dropdown open">
|
|
<a href="javascript:;" class="dropdown-toggle info-number" id="navbarDropdown1" data-bs-toggle="dropdown" aria-expanded="false">
|
|
<i class="fas fa-envelope"></i>
|
|
<span class="badge bg-green">6</span>
|
|
</a>
|
|
<ul class="dropdown-menu list-unstyled msg_list" role="menu" aria-labelledby="navbarDropdown1">
|
|
<li class="nav-item">
|
|
<a class="dropdown-item">
|
|
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
|
|
<span>
|
|
<span>John Smith</span>
|
|
<span class="time">3 mins ago</span>
|
|
</span>
|
|
<span class="message">
|
|
Film festivals used to be do-or-die moments for movie makers. They were where...
|
|
</span>
|
|
</a>
|
|
<li class="nav-item">
|
|
<a class="dropdown-item">
|
|
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
|
|
<span>
|
|
<span>John Smith</span>
|
|
<span class="time">3 mins ago</span>
|
|
</span>
|
|
<span class="message">
|
|
Film festivals used to be do-or-die moments for movie makers. They were where...
|
|
</span>
|
|
</a>
|
|
<li class="nav-item">
|
|
<a class="dropdown-item">
|
|
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
|
|
<span>
|
|
<span>John Smith</span>
|
|
<span class="time">3 mins ago</span>
|
|
</span>
|
|
<span class="message">
|
|
Film festivals used to be do-or-die moments for movie makers. They were where...
|
|
</span>
|
|
</a>
|
|
<li class="nav-item">
|
|
<a class="dropdown-item">
|
|
<span class="image"><img src="images/img.jpg" alt="Profile Image" /></span>
|
|
<span>
|
|
<span>John Smith</span>
|
|
<span class="time">3 mins ago</span>
|
|
</span>
|
|
<span class="message">
|
|
Film festivals used to be do-or-die moments for movie makers. They were where...
|
|
</span>
|
|
</a>
|
|
<li class="nav-item">
|
|
<div class="text-center">
|
|
<a class="dropdown-item">
|
|
<strong>See All Alerts</strong>
|
|
<i class="fas fa-angle-right"></i>
|
|
</a>
|
|
</div>
|
|
</ul>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
<!-- /top navigation -->
|
|
|
|
<!-- page content -->
|
|
<div class="right_col" role="main">
|
|
<!-- top tiles -->
|
|
<div class="row gy-4 mb-4">
|
|
<div class="col-xl-2 col-md-4 col-sm-6">
|
|
<div class="card shadow-sm h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0 me-3">
|
|
<div class="bg-primary text-white rounded-circle d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
|
|
<i class="fas fa-users fs-4"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h6 class="text-muted text-uppercase mb-1 small">Total Users</h6>
|
|
<h4 class="mb-0">2,500</h4>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 pt-2 border-top">
|
|
<small class="text-success me-1"><i class="fas fa-arrow-up"></i> 4%</small>
|
|
<small class="text-muted">From last Week</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-xl-2 col-md-4 col-sm-6">
|
|
<div class="card shadow-sm h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0 me-3">
|
|
<div class="bg-info text-white rounded-circle d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
|
|
<i class="fas fa-clock fs-4"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h6 class="text-muted text-uppercase mb-1 small">Average Time</h6>
|
|
<h4 class="mb-0">123.5<small>min</small></h4>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 pt-2 border-top">
|
|
<small class="text-info me-1"><i class="fas fa-arrow-up"></i> 2%</small>
|
|
<small class="text-muted">From last Week</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-xl-2 col-md-4 col-sm-6">
|
|
<div class="card shadow-sm h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0 me-3">
|
|
<div class="bg-warning text-white rounded-circle d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
|
|
<i class="fas fa-shopping-cart fs-4"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h6 class="text-muted text-uppercase mb-1 small">Total Orders</h6>
|
|
<h4 class="mb-0">1,240</h4>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 pt-2 border-top">
|
|
<small class="text-success me-1"><i class="fas fa-arrow-up"></i> 15%</small>
|
|
<small class="text-muted">From last Week</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-xl-2 col-md-4 col-sm-6">
|
|
<div class="card shadow-sm h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0 me-3">
|
|
<div class="bg-success text-white rounded-circle d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
|
|
<i class="fas fa-dollar-sign fs-4"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h6 class="text-muted text-uppercase mb-1 small">Total Revenue</h6>
|
|
<h4 class="mb-0">$24,567</h4>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 pt-2 border-top">
|
|
<small class="text-success me-1"><i class="fas fa-arrow-up"></i> 8%</small>
|
|
<small class="text-muted">From last Week</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-xl-2 col-md-4 col-sm-6">
|
|
<div class="card shadow-sm h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0 me-3">
|
|
<div class="bg-secondary text-white rounded-circle d-flex align-items-center justify-content-center" style="width: 50px; height: 50px;">
|
|
<i class="fas fa-chart-line fs-4"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h6 class="text-muted text-uppercase mb-1 small">Conversions</h6>
|
|
<h4 class="mb-0">2,315</h4>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 pt-2 border-top">
|
|
<small class="text-success me-1"><i class="fas fa-arrow-up"></i> 12%</small>
|
|
<small class="text-muted">From last Week</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-xl-2 col-md-4 col-sm-6">
|
|
<div class="card shadow-sm h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex align-items-center">
|
|
<div class="flex-shrink-0 me-3">
|
|
<div class="bg-teal text-white rounded-circle d-flex align-items-center justify-content-center" style="width: 50px; height: 50px; background-color: #1ABC9C !important;">
|
|
<i class="fas fa-eye fs-4"></i>
|
|
</div>
|
|
</div>
|
|
<div class="flex-grow-1">
|
|
<h6 class="text-muted text-uppercase mb-1 small">Page Views</h6>
|
|
<h4 class="mb-0">47,325</h4>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 pt-2 border-top">
|
|
<small class="text-success me-1"><i class="fas fa-arrow-up"></i> 18%</small>
|
|
<small class="text-muted">From last Week</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /top tiles -->
|
|
|
|
<div class="row">
|
|
<div class="col-md-12 col-sm-12">
|
|
<div class="dashboard_graph">
|
|
|
|
<div class="row x_title">
|
|
<div class="col-md-6">
|
|
<h3>Network Activities <small>Graph title sub-title</small></h3>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="filter d-flex align-items-center gap-2">
|
|
<div class="input-group" id="startDatePicker" data-td-target-input="nearest" data-td-target-toggle="nearest" style="max-width: 160px;">
|
|
<input type="text" class="form-control" id="startDateInput" data-td-target="#startDatePicker" placeholder="Start date" readonly />
|
|
<span class="input-group-text" data-td-target="#startDatePicker" data-td-toggle="datetimepicker">
|
|
<i class="fas fa-calendar"></i>
|
|
</span>
|
|
</div>
|
|
<span class="mx-1">to</span>
|
|
<div class="input-group" id="endDatePicker" data-td-target-input="nearest" data-td-target-toggle="nearest" style="max-width: 160px;">
|
|
<input type="text" class="form-control" id="endDateInput" data-td-target="#endDatePicker" placeholder="End date" readonly />
|
|
<span class="input-group-text" data-td-target="#endDatePicker" data-td-toggle="datetimepicker">
|
|
<i class="fas fa-calendar"></i>
|
|
</span>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-9 col-sm-9">
|
|
<div id="chart_plot_01" class="demo-placeholder"></div>
|
|
</div>
|
|
<div class="col-md-3 col-sm-3 bg-white">
|
|
<div class="x_title">
|
|
<h4>Top Campaign Performance</h4>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
|
|
<div class="col-md-12 col-sm-12">
|
|
<div>
|
|
<p>Facebook Campaign</p>
|
|
<div class="">
|
|
<div class="progress progress_sm">
|
|
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="80" style="width: 80%;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<p>Twitter Campaign</p>
|
|
<div class="">
|
|
<div class="progress progress_sm">
|
|
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="60" style="width: 60%;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12 col-sm-12">
|
|
<div>
|
|
<p>Conventional Media</p>
|
|
<div class="">
|
|
<div class="progress progress_sm">
|
|
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="40" style="width: 40%;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<p>Bill boards</p>
|
|
<div class="">
|
|
<div class="progress progress_sm">
|
|
<div class="progress-bar bg-green" role="progressbar" data-transitiongoal="50" style="width: 50%;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<br />
|
|
|
|
<div class="row">
|
|
|
|
|
|
<div class="col-md-4 col-sm-4">
|
|
<div class="x_panel tile fixed_height_320">
|
|
<div class="x_title">
|
|
<h4>App Versions</h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<h6>App Usage across versions</h6>
|
|
<div class="widget_summary">
|
|
<div class="w_left w_25">
|
|
<span>0.1.5.2</span>
|
|
</div>
|
|
<div class="w_center w_55">
|
|
<div class="progress">
|
|
<div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 66%;">
|
|
<span class="visually-hidden">60% Complete</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="w_right w_20">
|
|
<span>123k</span>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
|
|
<div class="widget_summary">
|
|
<div class="w_left w_25">
|
|
<span>0.1.5.3</span>
|
|
</div>
|
|
<div class="w_center w_55">
|
|
<div class="progress">
|
|
<div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 45%;">
|
|
<span class="visually-hidden">60% Complete</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="w_right w_20">
|
|
<span>53k</span>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="widget_summary">
|
|
<div class="w_left w_25">
|
|
<span>0.1.5.4</span>
|
|
</div>
|
|
<div class="w_center w_55">
|
|
<div class="progress">
|
|
<div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 25%;">
|
|
<span class="visually-hidden">60% Complete</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="w_right w_20">
|
|
<span>23k</span>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="widget_summary">
|
|
<div class="w_left w_25">
|
|
<span>0.1.5.5</span>
|
|
</div>
|
|
<div class="w_center w_55">
|
|
<div class="progress">
|
|
<div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 5%;">
|
|
<span class="visually-hidden">60% Complete</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="w_right w_20">
|
|
<span>3k</span>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="widget_summary">
|
|
<div class="w_left w_25">
|
|
<span>0.1.5.6</span>
|
|
</div>
|
|
<div class="w_center w_55">
|
|
<div class="progress">
|
|
<div class="progress-bar bg-green" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 2%;">
|
|
<span class="visually-hidden">60% Complete</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="w_right w_20">
|
|
<span>1k</span>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4 col-sm-4">
|
|
<div class="x_panel tile fixed_height_320 overflow_hidden">
|
|
<div class="x_title">
|
|
<h4>Device Usage</h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<table class="" style="width:100%">
|
|
<tr>
|
|
<th style="width:37%;">
|
|
<p>Top 5</p>
|
|
</th>
|
|
<th>
|
|
<div class="col-lg-7 col-md-7 col-sm-7">
|
|
<p class="">Device</p>
|
|
</div>
|
|
<div class="col-lg-5 col-md-5 col-sm-5">
|
|
<p class="">Progress</p>
|
|
</div>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<canvas class="canvasDoughnut" height="140" width="140" style="margin: 15px 10px 10px 0"></canvas>
|
|
</td>
|
|
<td>
|
|
<table class="tile_info">
|
|
<tr>
|
|
<td>
|
|
<p><i class="fas fa-square blue"></i>IOS </p>
|
|
</td>
|
|
<td>30%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p><i class="fas fa-square green"></i>Android </p>
|
|
</td>
|
|
<td>10%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p><i class="fas fa-square purple"></i>Blackberry </p>
|
|
</td>
|
|
<td>20%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p><i class="fas fa-square aero"></i>Symbian </p>
|
|
</td>
|
|
<td>15%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p><i class="fas fa-square red"></i>Others </p>
|
|
</td>
|
|
<td>30%</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-md-4 col-sm-4">
|
|
<div class="x_panel tile fixed_height_320">
|
|
<div class="x_title">
|
|
<h4>Quick Settings</h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<div class="dashboard-widget-content">
|
|
<ul class="quick-list">
|
|
<li><i class="fas fa-calendar"></i><a href="#">Settings</a>
|
|
<li><i class="fas fa-bars"></i><a href="#">Subscription</a>
|
|
<li><i class="fas fa-chart-column"></i><a href="#">Auto Renewal</a> </li>
|
|
<li><i class="fas fa-line-chart"></i><a href="#">Achievements</a>
|
|
<li><i class="fas fa-chart-column"></i><a href="#">Auto Renewal</a> </li>
|
|
<li><i class="fas fa-line-chart"></i><a href="#">Achievements</a>
|
|
<li><i class="fas fa-area-chart"></i><a href="#">Logout</a>
|
|
</ul>
|
|
|
|
<div class="sidebar-widget">
|
|
<h6>Profile Completion</h6>
|
|
<div id="profile_completion_gauge" style="width:160px;height:120px;margin:0 auto;"></div>
|
|
<div class="goal-wrapper">
|
|
<span class="goal-value float-start">67%</span>
|
|
<span id="goal-text" class="goal-value float-end">100%</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-md-4 col-sm-4">
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h4>Recent Activities <small>Sessions</small></h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<div class="dashboard-widget-content">
|
|
<div class="activities-scroll">
|
|
<ul class="list-unstyled timeline widget">
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-shopping-cart" style="color: #26B99A; margin-right: 8px;"></i>New Order Received</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>2 minutes ago</span> by <a>Customer #12455</a>
|
|
</div>
|
|
<p class="excerpt">Order #ORD-12455 for $2,350.00 has been placed. Customer ordered premium package with expedited shipping. <a>View Details</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-user-plus" style="color: #3498DB; margin-right: 8px;"></i>New User Registration</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>15 minutes ago</span> by <a>john.doe@example.com</a>
|
|
</div>
|
|
<p class="excerpt">New user registered with premium membership. Account verified and welcome email sent successfully. <a>View Profile</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-credit-card" style="color: #F39C12; margin-right: 8px;"></i>Payment Processed</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>32 minutes ago</span> by <a>Payment Gateway</a>
|
|
</div>
|
|
<p class="excerpt">Payment of $1,250.00 successfully processed for Order #ORD-12453. Funds have been deposited to merchant account. <a>View Transaction</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-star" style="color: #E74C3C; margin-right: 8px;"></i>Product Review Submitted</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>1 hour ago</span> by <a>Sarah Johnson</a>
|
|
</div>
|
|
<p class="excerpt">5-star review submitted for "Premium Wireless Headphones". Customer praised excellent sound quality and fast delivery. <a>Read Review</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-truck" style="color: #9B59B6; margin-right: 8px;"></i>Shipment Dispatched</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>2 hours ago</span> by <a>Logistics Team</a>
|
|
</div>
|
|
<p class="excerpt">Order #ORD-12448 has been shipped via Express Delivery. Tracking number: EX123456789. Expected delivery: Tomorrow. <a>Track Package</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-chart-line" style="color: #2ECC71; margin-right: 8px;"></i>Sales Milestone Achieved</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>3 hours ago</span> by <a>System</a>
|
|
</div>
|
|
<p class="excerpt">Congratulations! Monthly sales target of $50,000 achieved with 5 days remaining. Current total: $52,450. <a>View Report</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<li>
|
|
<div class="block">
|
|
<div class="block_content">
|
|
<h5 class="title">
|
|
<a><i class="fas fa-exclamation-triangle" style="color: #E67E22; margin-right: 8px;"></i>Inventory Alert</a>
|
|
</h5>
|
|
<div class="byline">
|
|
<span>4 hours ago</span> by <a>Inventory System</a>
|
|
</div>
|
|
<p class="excerpt">Low stock alert: "Wireless Mouse Model X" has only 5 units remaining. Consider reordering to avoid stockouts. <a>Reorder Now</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sales Statistics Widget -->
|
|
<div class="x_panel" style="min-height: 450px;">
|
|
<div class="x_title">
|
|
<h4>Sales Statistics <small>Monthly overview</small></h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
|
|
<!-- Chart Area -->
|
|
<div style="position: relative; height: 120px; margin-bottom: 20px;">
|
|
<svg viewBox="0 0 280 80" style="width: 100%; height: 100%;">
|
|
<defs>
|
|
<linearGradient id="salesGradient" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
<stop offset="0%" style="stop-color:#26B99A;stop-opacity:0.3" />
|
|
<stop offset="100%" style="stop-color:#26B99A;stop-opacity:0.05" />
|
|
</linearGradient>
|
|
</defs>
|
|
<!-- Area under curve -->
|
|
<path d="M 20 60 Q 70 40 120 30 T 260 20 L 260 70 L 20 70 Z" fill="url(#salesGradient)"/>
|
|
<!-- Main line -->
|
|
<path d="M 20 60 Q 70 40 120 30 T 260 20" stroke="#26B99A" stroke-width="2.5" fill="none"/>
|
|
<!-- Data points -->
|
|
<circle cx="20" cy="60" r="3" fill="#26B99A"/>
|
|
<circle cx="70" cy="40" r="3" fill="#26B99A"/>
|
|
<circle cx="120" cy="30" r="4" fill="#26B99A"/>
|
|
<circle cx="180" cy="25" r="3" fill="#26B99A"/>
|
|
<circle cx="260" cy="20" r="3" fill="#26B99A"/>
|
|
</svg>
|
|
|
|
<!-- Floating info card -->
|
|
<div style="position: absolute; top: 5px; right: 10px; background: white; border: 1px solid #E6E9ED; border-radius: 5px; padding: 6px 10px; box-shadow: 0 1px 3px rgba(0,0,0,0.1);">
|
|
<div style="color: #73879C; font-size: 9px; margin-bottom: 2px;">March</div>
|
|
<div style="color: #2A3F54; font-size: 11px; font-weight: 600;">$45k profit</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Metrics Grid -->
|
|
<div class="row">
|
|
|
|
<!-- Weekly Sales -->
|
|
<div class="col-md-6 col-sm-6" style="margin-bottom: 10px;">
|
|
<div style="background: #f7f7f7; border: 1px solid #E6E9ED; border-radius: 3px; padding: 12px;">
|
|
<div style="display: flex; align-items: center; margin-bottom: 6px;">
|
|
<div style="display: flex; gap: 3px;">
|
|
<div style="width: 5px; height: 5px; background: #26B99A; border-radius: 1px;"></div>
|
|
<div style="width: 5px; height: 5px; background: #3498DB; border-radius: 1px;"></div>
|
|
<div style="width: 5px; height: 5px; background: #E74C3C; border-radius: 1px;"></div>
|
|
</div>
|
|
</div>
|
|
<h5 style="color: #2A3F54; font-size: 12px; font-weight: 600; margin: 0;">Weekly Sales</h5>
|
|
<p style="color: #73879C; font-size: 10px; margin: 3px 0 0;">$12.4k this week</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- New Users -->
|
|
<div class="col-md-6 col-sm-6" style="margin-bottom: 10px;">
|
|
<div style="background: #f7f7f7; border: 1px solid #E6E9ED; border-radius: 3px; padding: 12px;">
|
|
<div style="display: flex; align-items: center; margin-bottom: 6px;">
|
|
<div style="width: 18px; height: 18px; background: rgba(52, 152, 219, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center;">
|
|
<i class="fas fa-user-plus" style="color: #3498DB; font-size: 8px;"></i>
|
|
</div>
|
|
</div>
|
|
<h5 style="color: #2A3F54; font-size: 12px; font-weight: 600; margin: 0;">New Users</h5>
|
|
<p style="color: #73879C; font-size: 10px; margin: 3px 0 0;">+245 this month</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Item Orders -->
|
|
<div class="col-md-6 col-sm-6" style="margin-bottom: 10px;">
|
|
<div style="background: #f7f7f7; border: 1px solid #E6E9ED; border-radius: 3px; padding: 12px;">
|
|
<div style="display: flex; align-items: center; margin-bottom: 6px;">
|
|
<div style="width: 18px; height: 18px; background: rgba(243, 156, 18, 0.1); border-radius: 3px; display: flex; align-items: center; justify-content: center;">
|
|
<i class="fas fa-shopping-bag" style="color: #F39C12; font-size: 8px;"></i>
|
|
</div>
|
|
</div>
|
|
<h5 style="color: #2A3F54; font-size: 12px; font-weight: 600; margin: 0;">Item Orders</h5>
|
|
<p style="color: #73879C; font-size: 10px; margin: 3px 0 0;">1,240 orders</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Growth Rate -->
|
|
<div class="col-md-6 col-sm-6" style="margin-bottom: 10px;">
|
|
<div style="background: #f7f7f7; border: 1px solid #E6E9ED; border-radius: 3px; padding: 12px;">
|
|
<div style="display: flex; align-items: center; margin-bottom: 6px;">
|
|
<div style="width: 18px; height: 18px; background: rgba(38, 185, 154, 0.1); border-radius: 3px; display: flex; align-items: center; justify-content: center;">
|
|
<i class="fas fa-chart-line" style="color: #26B99A; font-size: 8px;"></i>
|
|
</div>
|
|
</div>
|
|
<h5 style="color: #2A3F54; font-size: 12px; font-weight: 600; margin: 0;">Growth Rate</h5>
|
|
<p style="color: #73879C; font-size: 10px; margin: 3px 0 0;">+18.2% growth</p>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<!-- End Sales Statistics Widget -->
|
|
</div>
|
|
|
|
|
|
<div class="col-md-8 col-sm-8">
|
|
|
|
<!-- Recent Orders Section -->
|
|
<div class="row">
|
|
<div class="col-md-12 col-sm-12">
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h4>Recent Orders <small>Latest transactions</small></h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<div class="recent-orders-scroll">
|
|
<div class="table-responsive">
|
|
<table class="table table-striped jambo_table bulk_action">
|
|
<thead>
|
|
<tr class="headings">
|
|
<th class="column-title">Order ID</th>
|
|
<th class="column-title">Customer</th>
|
|
<th class="column-title">Product</th>
|
|
<th class="column-title">Amount</th>
|
|
<th class="column-title">Status</th>
|
|
<th class="column-title">Date</th>
|
|
<th class="column-title no-link last"><span class="nobr">Action</span></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="even pointer">
|
|
<td class=" "><strong>#ORD-12455</strong></td>
|
|
<td class=" ">John Smith</td>
|
|
<td class=" ">Premium Wireless Headphones</td>
|
|
<td class=" "><strong>$299.99</strong></td>
|
|
<td class=" "><span class="badge bg-success">Completed</span></td>
|
|
<td class=" ">Jan 15, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="odd pointer">
|
|
<td class=" "><strong>#ORD-12454</strong></td>
|
|
<td class=" ">Emily Johnson</td>
|
|
<td class=" ">Smart Watch Pro</td>
|
|
<td class=" "><strong>$899.99</strong></td>
|
|
<td class=" "><span class="badge bg-warning text-dark">Processing</span></td>
|
|
<td class=" ">Jan 15, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="even pointer">
|
|
<td class=" "><strong>#ORD-12453</strong></td>
|
|
<td class=" ">Michael Chen</td>
|
|
<td class=" ">Gaming Laptop Elite</td>
|
|
<td class=" "><strong>$1,899.99</strong></td>
|
|
<td class=" "><span class="badge bg-info">Shipped</span></td>
|
|
<td class=" ">Jan 14, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="odd pointer">
|
|
<td class=" "><strong>#ORD-12452</strong></td>
|
|
<td class=" ">Sarah Davis</td>
|
|
<td class=" ">Wireless Mouse Deluxe</td>
|
|
<td class=" "><strong>$79.99</strong></td>
|
|
<td class=" "><span class="badge bg-success">Completed</span></td>
|
|
<td class=" ">Jan 14, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="even pointer">
|
|
<td class=" "><strong>#ORD-12451</strong></td>
|
|
<td class=" ">Robert Wilson</td>
|
|
<td class=" ">4K Monitor Pro</td>
|
|
<td class=" "><strong>$649.99</strong></td>
|
|
<td class=" "><span class="badge bg-danger">Cancelled</span></td>
|
|
<td class=" ">Jan 13, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="odd pointer">
|
|
<td class=" "><strong>#ORD-12450</strong></td>
|
|
<td class=" ">Lisa Brown</td>
|
|
<td class=" ">Bluetooth Speaker Premium</td>
|
|
<td class=" "><strong>$199.99</strong></td>
|
|
<td class=" "><span class="badge bg-success">Completed</span></td>
|
|
<td class=" ">Jan 13, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="even pointer">
|
|
<td class=" "><strong>#ORD-12449</strong></td>
|
|
<td class=" ">David Garcia</td>
|
|
<td class=" ">Mechanical Keyboard RGB</td>
|
|
<td class=" "><strong>$159.99</strong></td>
|
|
<td class=" "><span class="badge bg-warning text-dark">Processing</span></td>
|
|
<td class=" ">Jan 12, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
<tr class="odd pointer">
|
|
<td class=" "><strong>#ORD-12448</strong></td>
|
|
<td class=" ">Anna Martinez</td>
|
|
<td class=" ">Tablet Pro 12-inch</td>
|
|
<td class=" "><strong>$799.99</strong></td>
|
|
<td class=" "><span class="badge bg-info">Shipped</span></td>
|
|
<td class=" ">Jan 12, 2029</td>
|
|
<td class=" last"><a href="#" class="btn btn-sm btn-primary">View</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /Recent Orders Section -->
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-12 col-sm-12">
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h4>Visitors location <small>geo-presentation</small></h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<div class="dashboard-widget-content">
|
|
<div class="col-md-4 hidden-small">
|
|
<h5 class="line_30">125.7k Views from 60 countries</h5>
|
|
|
|
<table class="countries_list">
|
|
<tbody>
|
|
<tr>
|
|
<td>United States</td>
|
|
<td class="fs15 fw700 text-end">33%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>France</td>
|
|
<td class="fs15 fw700 text-end">27%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Germany</td>
|
|
<td class="fs15 fw700 text-end">16%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Spain</td>
|
|
<td class="fs15 fw700 text-end">11%</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Britain</td>
|
|
<td class="fs15 fw700 text-end">10%</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div id="world-map-gdp" class="col-md-8 col-sm-12" style="height:230px;"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
|
|
|
|
<!-- Start to do list -->
|
|
<div class="col-md-6 col-sm-6">
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h4>To Do List <small>Sample tasks</small></h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
|
|
<div class="">
|
|
<ul class="to_do">
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-1" class="form-check-input flat">
|
|
<label for="todo-item-1" class="form-check-label">Schedule meeting with new client</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-2" class="form-check-input flat">
|
|
<label for="todo-item-2" class="form-check-label">Create email address for new intern</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-3" class="form-check-input flat">
|
|
<label for="todo-item-3" class="form-check-label">Have IT fix the network printer</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-4" class="form-check-input flat">
|
|
<label for="todo-item-4" class="form-check-label">Copy backups to offsite location</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-5" class="form-check-input flat">
|
|
<label for="todo-item-5" class="form-check-label">Food truck fixie locavors mcsweeney</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-6" class="form-check-input flat">
|
|
<label for="todo-item-6" class="form-check-label">Create email address for new intern</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-7" class="form-check-input flat">
|
|
<label for="todo-item-7" class="form-check-label">Have IT fix the network printer</label>
|
|
</div>
|
|
<li>
|
|
<div class="form-check">
|
|
<input type="checkbox" id="todo-item-8" class="form-check-input flat">
|
|
<label for="todo-item-8" class="form-check-label">Copy backups to offsite location</label>
|
|
</div>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End to do list -->
|
|
|
|
<!-- start of weather widget -->
|
|
<div class="col-md-6 col-sm-6">
|
|
<div class="x_panel">
|
|
<div class="x_title">
|
|
<h4>Daily active users <small>Sessions</small></h4>
|
|
<ul class="nav navbar-right panel_toolbox">
|
|
<li><a class="collapse-link"><i class="fas fa-chevron-up"></i></a>
|
|
<li class="dropdown">
|
|
<a href="#" class="dropdown-toggle" data-bs-toggle="dropdown" role="button" aria-expanded="false"><i class="fas fa-wrench"></i></a>
|
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
<a class="dropdown-item" href="#">Settings 1</a>
|
|
<a class="dropdown-item" href="#">Settings 2</a>
|
|
</div>
|
|
<li><a class="btn-btn-close-link"><i class="fas fa-times"></i></a>
|
|
</ul>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="x_content">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<div class="temperature"><b>Monday</b>, 07:30 AM
|
|
<span>F</span>
|
|
<span><b>C</b></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-4">
|
|
<div class="weather-icon">
|
|
<canvas height="84" width="84" id="partly-cloudy-day"></canvas>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-8">
|
|
<div class="weather-text">
|
|
<h5>Texas <br><i>Partly Cloudy Day</i></h5>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-12">
|
|
<div class="weather-text float-end">
|
|
<h4 class="degrees">23</h4>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
|
|
<div class="row weather-days">
|
|
<div class="col-sm-2">
|
|
<div class="daily-weather">
|
|
<h6 class="day">Mon</h6>
|
|
<h6 class="degrees">25</h6>
|
|
<canvas id="clear-day" width="32" height="32"></canvas>
|
|
<h5>15 <i>km/h</i></h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="daily-weather">
|
|
<h6 class="day">Tue</h6>
|
|
<h6 class="degrees">25</h6>
|
|
<canvas height="32" width="32" id="rain"></canvas>
|
|
<h5>12 <i>km/h</i></h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="daily-weather">
|
|
<h6 class="day">Wed</h6>
|
|
<h6 class="degrees">27</h6>
|
|
<canvas height="32" width="32" id="snow"></canvas>
|
|
<h5>14 <i>km/h</i></h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="daily-weather">
|
|
<h6 class="day">Thu</h6>
|
|
<h6 class="degrees">28</h6>
|
|
<canvas height="32" width="32" id="sleet"></canvas>
|
|
<h5>15 <i>km/h</i></h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="daily-weather">
|
|
<h6 class="day">Fri</h6>
|
|
<h6 class="degrees">28</h6>
|
|
<canvas height="32" width="32" id="wind"></canvas>
|
|
<h5>11 <i>km/h</i></h5>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="daily-weather">
|
|
<h6 class="day">Sat</h6>
|
|
<h6 class="degrees">26</h6>
|
|
<canvas height="32" width="32" id="cloudy"></canvas>
|
|
<h5>10 <i>km/h</i></h5>
|
|
</div>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<!-- end of weather widget -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /page content -->
|
|
|
|
<!-- footer content -->
|
|
<footer>
|
|
<div class="float-end">
|
|
Gentelella - Bootstrap Admin Template by <a href="https://colorlib.com">Colorlib</a>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</footer>
|
|
<!-- /footer content -->
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Date Range Picker Logic -->
|
|
<script type="text/javascript">
|
|
// Note: The "Uncaught (in promise) Error: A listener indicated an asynchronous response"
|
|
// error is caused by browser extensions (like ad blockers) and can be safely ignored.
|
|
// It doesn't affect the functionality of our application.
|
|
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// Check if we have date picker elements
|
|
const startDatePicker = document.getElementById('startDatePicker');
|
|
const endDatePicker = document.getElementById('endDatePicker');
|
|
|
|
if (startDatePicker && endDatePicker) {
|
|
try {
|
|
// TempusDominus is directly available in main-minimal-modern.js
|
|
|
|
const TempusDominus = window.TempusDominus || globalThis.TempusDominus;
|
|
const DateTime = window.DateTime || globalThis.DateTime;
|
|
|
|
if (TempusDominus && DateTime) {
|
|
// Initialize the date pickers
|
|
const startPicker = new TempusDominus(startDatePicker, {
|
|
display: {
|
|
components: {
|
|
clock: false,
|
|
seconds: false
|
|
}
|
|
},
|
|
localization: {
|
|
format: 'MM/dd/yyyy',
|
|
hourCycle: 'h12'
|
|
}
|
|
});
|
|
|
|
const endPicker = new TempusDominus(endDatePicker, {
|
|
display: {
|
|
components: {
|
|
clock: false,
|
|
seconds: false
|
|
}
|
|
},
|
|
localization: {
|
|
format: 'MM/dd/yyyy',
|
|
hourCycle: 'h12'
|
|
}
|
|
});
|
|
|
|
// Set default dates (last 30 days)
|
|
try {
|
|
const today = new DateTime();
|
|
const thirtyDaysAgo = new DateTime().manipulate(-30, 'date');
|
|
|
|
startPicker.dates.setValue(thirtyDaysAgo);
|
|
endPicker.dates.setValue(today);
|
|
|
|
} catch (error) {
|
|
}
|
|
|
|
// Link pickers
|
|
startDatePicker.addEventListener('change.td', function(e) {
|
|
endPicker.updateOptions({ restrictions: { maxDate: e.detail.date } });
|
|
});
|
|
|
|
endDatePicker.addEventListener('change.td', function(e) {
|
|
startPicker.updateOptions({ restrictions: { minDate: e.detail.date } });
|
|
});
|
|
|
|
} else {
|
|
}
|
|
} catch (error) {
|
|
}
|
|
}
|
|
});
|
|
|
|
// Dashboard chart initialization - define functions first
|
|
function initializeDashboardChart() {
|
|
const container = document.getElementById('chart_plot_01');
|
|
if (!container) return;
|
|
|
|
// Create canvas element
|
|
const canvas = document.createElement('canvas');
|
|
canvas.width = container.offsetWidth || 800;
|
|
canvas.height = 400;
|
|
container.innerHTML = ''; // Clear any existing content
|
|
container.appendChild(canvas);
|
|
|
|
const ctx = canvas.getContext('2d');
|
|
if (!ctx) return;
|
|
|
|
// Sample data for the main dashboard chart
|
|
const chartData = {
|
|
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
|
|
datasets: [{
|
|
label: 'Revenue',
|
|
data: [12, 19, 8, 15, 22, 18, 25, 32, 28, 35, 30, 40],
|
|
borderColor: '#1ABB9C',
|
|
backgroundColor: 'rgba(26, 187, 156, 0.1)',
|
|
borderWidth: 2,
|
|
fill: true,
|
|
tension: 0.4
|
|
}, {
|
|
label: 'Expenses',
|
|
data: [8, 12, 6, 10, 15, 12, 18, 22, 20, 25, 22, 28],
|
|
borderColor: '#E74C3C',
|
|
backgroundColor: 'rgba(231, 76, 60, 0.1)',
|
|
borderWidth: 2,
|
|
fill: true,
|
|
tension: 0.4
|
|
}]
|
|
};
|
|
|
|
const config = {
|
|
type: 'line',
|
|
data: chartData,
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
plugins: {
|
|
legend: {
|
|
position: 'top',
|
|
},
|
|
title: {
|
|
display: true,
|
|
text: 'Monthly Financial Overview'
|
|
}
|
|
},
|
|
scales: {
|
|
y: {
|
|
beginAtZero: true,
|
|
grid: {
|
|
color: 'rgba(0,0,0,0.1)'
|
|
}
|
|
},
|
|
x: {
|
|
grid: {
|
|
color: 'rgba(0,0,0,0.1)'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
new Chart(ctx, config);
|
|
}
|
|
|
|
// Profile completion gauge
|
|
function initializeProfileGauge() {
|
|
const gaugeElement = document.getElementById('profile_completion_gauge');
|
|
if (!gaugeElement) return;
|
|
|
|
// Create a simple donut chart for profile completion
|
|
const canvas = document.createElement('canvas');
|
|
canvas.width = 160;
|
|
canvas.height = 120;
|
|
gaugeElement.appendChild(canvas);
|
|
const ctx = canvas.getContext('2d');
|
|
|
|
const data = {
|
|
datasets: [{
|
|
data: [67, 33],
|
|
backgroundColor: ['#1ABB9C', '#ECF0F1'],
|
|
borderWidth: 0
|
|
}]
|
|
};
|
|
|
|
const config = {
|
|
type: 'doughnut',
|
|
data: data,
|
|
options: {
|
|
responsive: true,
|
|
maintainAspectRatio: false,
|
|
cutout: '75%',
|
|
plugins: {
|
|
legend: {
|
|
display: false
|
|
},
|
|
tooltip: {
|
|
enabled: false
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
new Chart(ctx, config);
|
|
}
|
|
|
|
// Initialize charts - Chart.js is directly available in main-minimal-modern.js
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
|
|
// Check if basic elements exist
|
|
const chartContainer = document.getElementById('chart_plot_01');
|
|
const collapseLinks = document.querySelectorAll('.collapse-link');
|
|
|
|
if (chartContainer) {
|
|
// Wait for Chart.js to be available (from module)
|
|
function waitForChart() {
|
|
if (typeof window.Chart !== 'undefined') {
|
|
try {
|
|
|
|
// Initialize main dashboard chart
|
|
initializeDashboardChart();
|
|
|
|
// Initialize profile completion gauge
|
|
if (document.getElementById('profile_completion_gauge')) {
|
|
initializeProfileGauge();
|
|
}
|
|
|
|
} catch (error) {
|
|
}
|
|
} else {
|
|
// Try again in 50ms
|
|
setTimeout(waitForChart, 50);
|
|
}
|
|
}
|
|
|
|
// Start waiting
|
|
waitForChart();
|
|
} else {
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|