feat: initial commit - Band Management application

This commit is contained in:
2026-01-06 03:11:46 +01:00
commit 34e12e00b3
24543 changed files with 3991790 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
# Register your models here.

View File

@@ -0,0 +1,6 @@
from django.apps import AppConfig
class DashboardsConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "apps.dashboards"

View File

@@ -0,0 +1,2 @@
# Create your models here.

View File

@@ -0,0 +1,772 @@
{% extends layout_path %}
{% load static %}
{% load i18n %}
{% block title %}Dashboard - Analytics{% endblock %}
{% block vendor_css %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'vendor/libs/apex-charts/apex-charts.css' %}" />
<link rel="stylesheet" href="{% static 'vendor/libs/swiper/swiper.css' %}" />
<link rel="stylesheet" href="{% static 'vendor/libs/datatables-bs5/datatables.bootstrap5.css' %}" />
<link rel="stylesheet" href="{% static 'vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.css' %}" />
<link rel="stylesheet" href="{% static 'vendor/fonts/flag-icons.css' %}" />
{% endblock vendor_css %}
{% block vendor_js %}
{{ block.super }}
<script src="{% static 'vendor/libs/apex-charts/apexcharts.js' %}"></script>
<script src="{% static 'vendor/libs/swiper/swiper.js' %}"></script>
<script src="{% static 'vendor/libs/datatables-bs5/datatables-bootstrap5.js' %}"></script>
{% endblock vendor_js %}
{% block page_css %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'vendor/css/pages/cards-advance.css' %}" />
{% endblock page_css %}
{% block page_js %}
{{ block.super }}
<script src="{% static 'js/dashboards-analytics.js' %}"></script>
{% endblock page_js %}
{% block content %}
<div class="row g-6">
<!-- Website Analytics -->
<div class="col-xl-6 col">
<div class="swiper-container swiper-container-horizontal swiper swiper-card-advance-bg" id="swiper-with-pagination-cards">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="row">
<div class="col-12">
<h5 class="text-white mb-0">Website Analytics</h5>
<small>Total 28.5% Conversion Rate</small>
</div>
<div class="row">
<div class="col-lg-7 col-md-9 col-12 order-2 order-md-1 pt-md-9">
<h6 class="text-white mt-0 mt-md-3 mb-4">Traffic</h6>
<div class="row">
<div class="col-6">
<ul class="list-unstyled mb-0">
<li class="d-flex mb-4 align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">28%</p>
<p class="mb-0">Sessions</p>
</li>
<li class="d-flex align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">1.2k</p>
<p class="mb-0">Leads</p>
</li>
</ul>
</div>
<div class="col-6">
<ul class="list-unstyled mb-0">
<li class="d-flex mb-4 align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">3.1k</p>
<p class="mb-0">Page Views</p>
</li>
<li class="d-flex align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">12%</p>
<p class="mb-0">Conversions</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-lg-5 col-md-3 col-12 order-1 order-md-2 my-4 my-md-0 text-center">
<img src="{% static 'img/illustrations/card-website-analytics-1.png' %}" alt="Website Analytics" height="150" class="card-website-analytics-img" />
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="row">
<div class="col-12">
<h5 class="text-white mb-0">Website Analytics</h5>
<small>Total 28.5% Conversion Rate</small>
</div>
<div class="col-lg-7 col-md-9 col-12 order-2 order-md-1 pt-md-9">
<h6 class="text-white mt-0 mt-md-3 mb-4">Spending</h6>
<div class="row">
<div class="col-6">
<ul class="list-unstyled mb-0">
<li class="d-flex mb-4 align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">12h</p>
<p class="mb-0">Spend</p>
</li>
<li class="d-flex align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">127</p>
<p class="mb-0">Order</p>
</li>
</ul>
</div>
<div class="col-6">
<ul class="list-unstyled mb-0">
<li class="d-flex mb-4 align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">18</p>
<p class="mb-0">Order Size</p>
</li>
<li class="d-flex align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">2.3k</p>
<p class="mb-0">Items</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-lg-5 col-md-3 col-12 order-1 order-md-2 my-4 my-md-0 text-center">
<img src="{% static 'img/illustrations/card-website-analytics-2.png' %}" alt="Website Analytics" height="150" class="card-website-analytics-img" />
</div>
</div>
</div>
<div class="swiper-slide">
<div class="row">
<div class="col-12">
<h5 class="text-white mb-0">Website Analytics</h5>
<small>Total 28.5% Conversion Rate</small>
</div>
<div class="col-lg-7 col-md-9 col-12 order-2 order-md-1 pt-md-9">
<h6 class="text-white mt-0 mt-md-3 mb-4">Revenue Sources</h6>
<div class="row">
<div class="col-6">
<ul class="list-unstyled mb-0">
<li class="d-flex mb-4 align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">268</p>
<p class="mb-0">Direct</p>
</li>
<li class="d-flex align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">62</p>
<p class="mb-0">Referral</p>
</li>
</ul>
</div>
<div class="col-6">
<ul class="list-unstyled mb-0">
<li class="d-flex mb-4 align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">890</p>
<p class="mb-0">Organic</p>
</li>
<li class="d-flex align-items-center">
<p class="mb-0 fw-medium me-2 website-analytics-text-bg">1.2k</p>
<p class="mb-0">Campaign</p>
</li>
</ul>
</div>
</div>
</div>
<div class="col-lg-5 col-md-3 col-12 order-1 order-md-2 my-4 my-md-0 text-center">
<img src="{% static 'img/illustrations/card-website-analytics-3.png' %}" alt="Website Analytics" height="150" class="card-website-analytics-img" />
</div>
</div>
</div>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
<!--/ Website Analytics -->
<!-- Average Daily Sales -->
<div class="col-xl-3 col-sm-6">
<div class="card h-100">
<div class="card-header pb-0">
<h5 class="mb-3 card-title">Average Daily Sales</h5>
<p class="mb-0 text-body">Total Sales This Month</p>
<h4 class="mb-0">$28,450</h4>
</div>
<div class="card-body px-0">
<div id="averageDailySales"></div>
</div>
</div>
</div>
<!--/ Average Daily Sales -->
<!-- Sales Overview -->
<div class="col-xl-3 col-sm-6">
<div class="card h-100">
<div class="card-header">
<div class="d-flex justify-content-between">
<p class="mb-0 text-body">Sales Overview</p>
<p class="card-text fw-medium text-success">+18.2%</p>
</div>
<h4 class="card-title mb-1">$42.5k</h4>
</div>
<div class="card-body">
<div class="row">
<div class="col-4">
<div class="d-flex gap-2 align-items-center mb-2">
<span class="badge bg-label-info p-1 rounded"><i class="icon-base ti tabler-shopping-cart icon-sm"></i></span>
<p class="mb-0">Order</p>
</div>
<h5 class="mb-0 pt-1">62.2%</h5>
<small class="text-body-secondary">6,440</small>
</div>
<div class="col-4">
<div class="divider divider-vertical">
<div class="divider-text">
<span class="badge-divider-bg bg-label-secondary">VS</span>
</div>
</div>
</div>
<div class="col-4 text-end">
<div class="d-flex gap-2 justify-content-end align-items-center mb-2">
<p class="mb-0">Visits</p>
<span class="badge bg-label-primary p-1 rounded"><i class="icon-base ti tabler-link icon-sm"></i></span>
</div>
<h5 class="mb-0 pt-1">25.5%</h5>
<small class="text-body-secondary">12,749</small>
</div>
</div>
<div class="d-flex align-items-center mt-6">
<div class="progress w-100" style="height: 10px;">
<div class="progress-bar bg-info" style="width: 70%" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div>
<div class="progress-bar bg-primary" role="progressbar" style="width: 30%" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
</div>
<!--/ Sales Overview -->
<!-- Earning Reports -->
<div class="col-md-6">
<div class="card h-100">
<div class="card-header pb-0 d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Earning Reports</h5>
<p class="card-subtitle">Weekly Earnings Overview</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="earningReportsId" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="earningReportsId">
<a class="dropdown-item" href="javascript:void(0);">View More</a>
<a class="dropdown-item" href="javascript:void(0);">Delete</a>
</div>
</div>
</div>
<div class="card-body">
<div class="row align-items-center g-md-8">
<div class="col-12 col-md-5 d-flex flex-column">
<div class="d-flex gap-2 align-items-center mb-3 flex-wrap">
<h2 class="mb-0">$468</h2>
<div class="badge rounded bg-label-success">+4.2%</div>
</div>
<small class="text-body">You informed of this week compared to last week</small>
</div>
<div class="col-12 col-md-7 ps-xl-8">
<div id="weeklyEarningReports"></div>
</div>
</div>
<div class="border rounded p-5 mt-5">
<div class="row gap-4 gap-sm-0">
<div class="col-12 col-sm-4">
<div class="d-flex gap-2 align-items-center">
<div class="badge rounded bg-label-primary p-1"><i class="icon-base ti tabler-currency-dollar icon-18px"></i></div>
<h6 class="mb-0 fw-normal">Earnings</h6>
</div>
<h4 class="my-2">$545.69</h4>
<div class="progress w-75" style="height:4px">
<div class="progress-bar" role="progressbar" style="width: 65%" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
<div class="col-12 col-sm-4">
<div class="d-flex gap-2 align-items-center">
<div class="badge rounded bg-label-info p-1"><i class="icon-base ti tabler-chart-pie-2 icon-18px"></i></div>
<h6 class="mb-0 fw-normal">Profit</h6>
</div>
<h4 class="my-2">$256.34</h4>
<div class="progress w-75" style="height:4px">
<div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
<div class="col-12 col-sm-4">
<div class="d-flex gap-2 align-items-center">
<div class="badge rounded bg-label-danger p-1"><i class="icon-base ti tabler-brand-paypal icon-18px"></i></div>
<h6 class="mb-0 fw-normal">Expense</h6>
</div>
<h4 class="my-2">$74.19</h4>
<div class="progress w-75" style="height:4px">
<div class="progress-bar bg-danger" role="progressbar" style="width: 65%" aria-valuenow="65" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--/ Earning Reports -->
<!-- Support Tracker -->
<div class="col-12 col-md-6">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Support Tracker</h5>
<p class="card-subtitle">Last 7 Days</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="supportTrackerMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="supportTrackerMenu">
<a class="dropdown-item" href="javascript:void(0);">View More</a>
<a class="dropdown-item" href="javascript:void(0);">Delete</a>
</div>
</div>
</div>
<div class="card-body row">
<div class="col-12 col-sm-4">
<div class="mt-lg-4 mt-lg-2 mb-lg-6 mb-2">
<h2 class="mb-0">164</h2>
<p class="mb-0">Total Tickets</p>
</div>
<ul class="p-0 m-0">
<li class="d-flex gap-4 align-items-center mb-lg-3 pb-1">
<div class="badge rounded bg-label-primary p-1_5"><i class="icon-base ti tabler-ticket icon-md"></i></div>
<div>
<h6 class="mb-0 text-nowrap">New Tickets</h6>
<small class="text-body-secondary">142</small>
</div>
</li>
<li class="d-flex gap-4 align-items-center mb-lg-3 pb-1">
<div class="badge rounded bg-label-info p-1_5"><i class="icon-base ti tabler-circle-check icon-md"></i></div>
<div>
<h6 class="mb-0 text-nowrap">Open Tickets</h6>
<small class="text-body-secondary">28</small>
</div>
</li>
<li class="d-flex gap-4 align-items-center pb-1">
<div class="badge rounded bg-label-warning p-1_5"><i class="icon-base ti tabler-clock icon-md"></i></div>
<div>
<h6 class="mb-0 text-nowrap">Response Time</h6>
<small class="text-body-secondary">1 Day</small>
</div>
</li>
</ul>
</div>
<div class="col-12 col-md-8">
<div id="supportTracker"></div>
</div>
</div>
</div>
</div>
<!--/ Support Tracker -->
<!-- Sales By Country -->
<div class="col-xxl-4 col-md-6 order-1 order-xl-0">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Sales by Countries</h5>
<p class="card-subtitle">Monthly Sales Overview</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary btn-icon rounded-pill text-body-secondary border-0 me-n1" type="button" id="salesByCountry" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-22px text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="salesByCountry">
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Share</a>
</div>
</div>
</div>
<div class="card-body">
<ul class="p-0 m-0">
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-us rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$8,567k</h6>
</div>
<small class="text-body">United states</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
25.8%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-br rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$2,415k</h6>
</div>
<small class="text-body">Brazil</small>
</div>
<div class="user-progress">
<p class="text-danger fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-down"></i>
6.2%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-in rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$865k</h6>
</div>
<small class="text-body">India</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
12.4%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-au rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$745k</h6>
</div>
<small class="text-body">Australia</small>
</div>
<div class="user-progress">
<p class="text-danger fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-down"></i>
11.9%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-fr rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$45</h6>
</div>
<small class="text-body">France</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
16.2%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-cn rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$12k</h6>
</div>
<small class="text-body">China</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
14.8%
</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--/ Sales By Country -->
<!-- Total Earning -->
<div class="col-12 col-md-6 col-xxl-4 order-2 order-xl-0">
<div class="card h-100">
<div class="card-header">
<div class="d-flex justify-content-between align-items-center">
<h5 class="mb-0 card-title">Total Earning</h5>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="totalEarning" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="totalEarning">
<a class="dropdown-item" href="javascript:void(0);">View More</a>
<a class="dropdown-item" href="javascript:void(0);">Delete</a>
</div>
</div>
</div>
<div class="d-flex align-items-center">
<h2 class="mb-0 me-2">87%</h2>
<i class="icon-base ti tabler-chevron-up text-success me-1"></i>
<h6 class="text-success mb-0">25.8%</h6>
</div>
</div>
<div class="card-body">
<div id="totalEarningChart"></div>
<div class="d-flex align-items-start my-4">
<div class="badge rounded bg-label-primary p-2 me-4 rounded"><i class="icon-base ti tabler-brand-paypal icon-md"></i></div>
<div class="d-flex justify-content-between w-100 gap-2 align-items-center">
<div class="me-2">
<h6 class="mb-0">Total Revenue</h6>
<small class="text-body">Client Payment</small>
</div>
<h6 class="mb-0 text-success">+$126</h6>
</div>
</div>
<div class="d-flex align-items-start">
<div class="badge rounded bg-label-secondary p-2 me-4 rounded"><i class="icon-base ti tabler-currency-dollar icon-md"></i></div>
<div class="d-flex justify-content-between w-100 gap-2 align-items-center">
<div class="me-2">
<h6 class="mb-0">Total Sales</h6>
<small class="text-body">Refund</small>
</div>
<h6 class="mb-0 text-success">+$98</h6>
</div>
</div>
</div>
</div>
</div>
<!--/ Total Earning -->
<!-- Monthly Campaign State -->
<div class="col-xxl-4 col-md-6">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Monthly Campaign State</h5>
<p class="card-subtitle">8.52k Social Visiters</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="MonthlyCampaign" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="MonthlyCampaign">
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">View All</a>
</div>
</div>
</div>
<div class="card-body">
<ul class="p-0 m-0">
<li class="mb-6 d-flex justify-content-between align-items-center">
<div class="badge bg-label-success rounded p-1_5"><i class="icon-base ti tabler-mail icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap">
<h6 class="mb-0 ms-4">Emails</h6>
<div class="d-flex">
<p class="mb-0">12,346</p>
<p class="ms-4 text-success mb-0">0.3%</p>
</div>
</div>
</li>
<li class="mb-6 d-flex justify-content-between align-items-center">
<div class="badge bg-label-info rounded p-1_5"><i class="icon-base ti tabler-link icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap">
<h6 class="mb-0 ms-4">Opened</h6>
<div class="d-flex">
<p class="mb-0">8,734</p>
<p class="ms-4 text-success mb-0">2.1%</p>
</div>
</div>
</li>
<li class="mb-6 d-flex justify-content-between align-items-center">
<div class="badge bg-label-warning rounded p-1_5"><i class="icon-base ti tabler-mouse icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap">
<h6 class="mb-0 ms-4">Clicked</h6>
<div class="d-flex">
<p class="mb-0">967</p>
<p class="ms-4 text-danger mb-0">1.4%</p>
</div>
</div>
</li>
<li class="mb-6 d-flex justify-content-between align-items-center">
<div class="badge bg-label-primary rounded p-1_5"><i class="icon-base ti tabler-users icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap">
<h6 class="mb-0 ms-4">Subscribe</h6>
<div class="d-flex">
<p class="mb-0">345</p>
<p class="ms-4 text-success mb-0">8.5%</p>
</div>
</div>
</li>
<li class="mb-6 d-flex justify-content-between align-items-center">
<div class="badge bg-label-secondary rounded p-1_5"><i class="icon-base ti tabler-alert-triangle icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap">
<h6 class="mb-0 ms-4">Complaints</h6>
<div class="d-flex">
<p class="mb-0">10</p>
<p class="ms-4 text-danger mb-0">1.5%</p>
</div>
</div>
</li>
<li class="mb-3 d-flex justify-content-between align-items-center">
<div class="badge bg-label-danger rounded p-1_5"><i class="icon-base ti tabler-ban icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap">
<h6 class="mb-0 ms-4">Unsubscribe</h6>
<div class="d-flex">
<p class="mb-0">86</p>
<p class="ms-4 text-success mb-0">0.8%</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--/ Monthly Campaign State -->
<!-- Source Visit -->
<div class="col-xxl-4 col-md-6 col-12">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Source Visits</h5>
<p class="card-subtitle">38.4k Visitors</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="sourceVisits" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="sourceVisits">
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">View All</a>
</div>
</div>
</div>
<div class="card-body">
<ul class="list-unstyled mb-0">
<li class="mb-6">
<div class="d-flex align-items-center">
<div class="badge bg-label-secondary text-body p-2 me-4 rounded"><i class="icon-base ti tabler-shadow icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap gap-2">
<div class="me-2">
<h6 class="mb-0">Direct Source</h6>
<small class="text-body">Direct link click</small>
</div>
<div class="d-flex align-items-center">
<p class="mb-0">1.2k</p>
<div class="ms-4 badge bg-label-success">+4.2%</div>
</div>
</div>
</div>
</li>
<li class="mb-6">
<div class="d-flex align-items-center">
<div class="badge bg-label-secondary text-body p-2 me-4 rounded"><i class="icon-base ti tabler-globe icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap gap-2">
<div class="me-2">
<h6 class="mb-0">Social Network</h6>
<small class="text-body">Social Channels</small>
</div>
<div class="d-flex align-items-center">
<p class="mb-0">31.5k</p>
<div class="ms-4 badge bg-label-success">+8.2%</div>
</div>
</div>
</div>
</li>
<li class="mb-6">
<div class="d-flex align-items-center">
<div class="badge bg-label-secondary text-body p-2 me-4 rounded"><i class="icon-base ti tabler-mail icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap gap-2">
<div class="me-2">
<h6 class="mb-0">Email Newsletter</h6>
<small class="text-body">Mail Campaigns</small>
</div>
<div class="d-flex align-items-center">
<p class="mb-0">893</p>
<div class="ms-4 badge bg-label-success">+2.4%</div>
</div>
</div>
</div>
</li>
<li class="mb-6">
<div class="d-flex align-items-center">
<div class="badge bg-label-secondary text-body p-2 me-4 rounded"><i class="icon-base ti tabler-external-link icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap gap-2">
<div class="me-2">
<h6 class="mb-0">Referrals</h6>
<small class="text-body">Impact Radius Visits</small>
</div>
<div class="d-flex align-items-center">
<p class="mb-0">342</p>
<div class="ms-4 badge bg-label-danger">-0.4%</div>
</div>
</div>
</div>
</li>
<li class="mb-6">
<div class="d-flex align-items-center">
<div class="badge bg-label-secondary text-body p-2 me-4 rounded"><i class="icon-base ti tabler-ad icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap gap-2">
<div class="me-2">
<h6 class="mb-0">ADVT</h6>
<small class="text-body">Google ADVT</small>
</div>
<div class="d-flex align-items-center">
<p class="mb-0">2.15k</p>
<div class="ms-4 badge bg-label-success">+9.1%</div>
</div>
</div>
</div>
</li>
<li>
<div class="d-flex align-items-center">
<div class="badge bg-label-secondary text-body p-2 me-4 rounded"><i class="icon-base ti tabler-star icon-md"></i></div>
<div class="d-flex justify-content-between w-100 flex-wrap gap-2">
<div class="me-2">
<h6 class="mb-0">Other</h6>
<small class="text-body">Many Sources</small>
</div>
<div class="d-flex align-items-center">
<p class="mb-0">12.5k</p>
<div class="ms-4 badge bg-label-success">+6.2%</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--/ Source Visit -->
<!-- Projects table -->
<div class="col-xxl-8">
<div class="card">
<div class="table-responsive mb-4">
<table class="table datatable-project table-sm">
<thead class="border-top">
<tr>
<th></th>
<th></th>
<th>Project</th>
<th>Leader</th>
<th>Team</th>
<th class="w-px-200">Progress</th>
<th>Action</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<!--/ Projects table -->
</div>
{% endblock %}

View File

@@ -0,0 +1,745 @@
{% extends layout_path %}
{% load static %}
{% load i18n %}
{% block title %}Dashboard - CRM{% endblock title %}
{% block vendor_css %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'vendor/libs/apex-charts/apex-charts.css' %}" />
<link rel="stylesheet" href="{% static 'vendor/fonts/flag-icons.css' %}" />
{% endblock vendor_css %}
{% block vendor_js %}
{{ block.super }}
<script src="{% static 'vendor/libs/apex-charts/apexcharts.js' %}"></script>
{% endblock vendor_js %}
{% block page_js %}
{{ block.super }}
<script src="{% static 'js/dashboards-crm.js' %}"></script>
{% endblock page_js %}
{% block content %}
<div class="row g-6">
<!-- Sales last year -->
<div class="col-xxl-2 col-md-3 col-6">
<div class="card h-100">
<div class="card-header pb-3">
<h5 class="card-title mb-1">Order</h5>
<p class="card-subtitle">Last week</p>
</div>
<div class="card-body">
<div id="ordersLastWeek"></div>
<div class="d-flex justify-content-between align-items-center gap-3">
<h4 class="mb-0">124k</h4>
<small class="text-success">+12.6%</small>
</div>
</div>
</div>
</div>
<!-- Sessions Last month -->
<div class="col-xxl-2 col-md-3 col-6">
<div class="card h-100">
<div class="card-header pb-0">
<h5 class="card-title mb-1">Sales</h5>
<p class="card-subtitle">Last Year</p>
</div>
<div id="salesLastYear"></div>
<div class="card-body pt-0">
<div class="d-flex justify-content-between align-items-center mt-3 gap-3">
<h4 class="mb-0">175k</h4>
<small class="text-danger">-16.2%</small>
</div>
</div>
</div>
</div>
<!-- Total Profit -->
<div class="col-xxl-2 col-md-3 col-6">
<div class="card h-100">
<div class="card-body">
<div class="badge p-2 bg-label-danger mb-3 rounded"><i class="icon-base ti tabler-credit-card icon-28px"></i></div>
<h5 class="card-title mb-1">Total Profit</h5>
<p class="card-subtitle ">Last week</p>
<p class="text-heading mb-3 mt-1">1.28k</p>
<div>
<span class="badge bg-label-danger">-12.2%</span>
</div>
</div>
</div>
</div>
<!-- Total Sales -->
<div class="col-xxl-2 col-md-3 col-6">
<div class="card h-100">
<div class="card-body">
<div class="badge p-2 bg-label-success mb-3 rounded"><i class="icon-base ti tabler-credit-card icon-28px"></i></div>
<h5 class="card-title mb-1">Total Sales</h5>
<p class="card-subtitle ">Last week</p>
<p class="text-heading mb-3 mt-1">24.67k</p>
<div>
<span class="badge bg-label-success">+24.5%</span>
</div>
</div>
</div>
</div>
<!-- Revenue Growth -->
<div class="col-xxl-4 col-xl-5 col-md-6 col-sm-8 col-12 mb-md-0 order-xxl-0 order-2">
<div class="card pb-xxl-3">
<div class="card-body row">
<div class="d-flex flex-column col-4">
<div class="card-title mb-auto">
<h5 class="mb-2 text-nowrap">Revenue Growth</h5>
<p class="mb-0">Weekly Report</p>
</div>
<div class="chart-statistics">
<h3 class="card-title mb-1">$4,673</h3>
<span class="badge bg-label-success">+15.2%</span>
</div>
</div>
<div id="revenueGrowth" class="col-8"></div>
</div>
</div>
</div>
<!-- Earning Reports Tabs-->
<div class="col-xxl-8 col-12">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title m-0">
<h5 class="mb-1">Earning Reports</h5>
<p class="card-subtitle">Yearly Earnings Overview</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="earningReportsTabsId" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="earningReportsTabsId">
<a class="dropdown-item" href="javascript:void(0);">View More</a>
<a class="dropdown-item" href="javascript:void(0);">Delete</a>
</div>
</div>
</div>
<div class="card-body">
<ul class="nav nav-tabs widget-nav-tabs pb-8 gap-4 mx-1 d-flex flex-nowrap" role="tablist">
<li class="nav-item">
<a href="javascript:void(0);" class="nav-link btn active d-flex flex-column align-items-center justify-content-center" role="tab" data-bs-toggle="tab" data-bs-target="#navs-orders-id" aria-controls="navs-orders-id" aria-selected="true">
<div class="badge bg-label-secondary rounded p-2"><i class="icon-base ti tabler-shopping-cart icon-md"></i></div>
<h6 class="tab-widget-title mb-0 mt-2">Orders</h6>
</a>
</li>
<li class="nav-item">
<a href="javascript:void(0);" class="nav-link btn d-flex flex-column align-items-center justify-content-center" role="tab" data-bs-toggle="tab" data-bs-target="#navs-sales-id" aria-controls="navs-sales-id" aria-selected="false">
<div class="badge bg-label-secondary rounded p-2"><i class="icon-base ti tabler-chart-bar-popular icon-md"></i></div>
<h6 class="tab-widget-title mb-0 mt-2">Sales</h6>
</a>
</li>
<li class="nav-item">
<a href="javascript:void(0);" class="nav-link btn d-flex flex-column align-items-center justify-content-center" role="tab" data-bs-toggle="tab" data-bs-target="#navs-profit-id" aria-controls="navs-profit-id" aria-selected="false">
<div class="badge bg-label-secondary rounded p-2"><i class="icon-base ti tabler-currency-dollar icon-md"></i></div>
<h6 class="tab-widget-title mb-0 mt-2">Profit</h6>
</a>
</li>
<li class="nav-item">
<a href="javascript:void(0);" class="nav-link btn d-flex flex-column align-items-center justify-content-center" role="tab" data-bs-toggle="tab" data-bs-target="#navs-income-id" aria-controls="navs-income-id" aria-selected="false">
<div class="badge bg-label-secondary rounded p-2"><i class="icon-base ti tabler-chart-pie-2 icon-md"></i></div>
<h6 class="tab-widget-title mb-0 mt-2">Income</h6>
</a>
</li>
<li class="nav-item">
<a href="javascript:void(0);" class="nav-link btn d-flex align-items-center justify-content-center disabled" role="tab" data-bs-toggle="tab" aria-selected="false">
<div class="badge bg-label-secondary rounded p-2"><i class="icon-base ti tabler-plus icon-md"></i></div>
</a>
</li>
</ul>
<div class="tab-content p-0 ms-0 ms-sm-2">
<div class="tab-pane fade show active" id="navs-orders-id" role="tabpanel">
<div id="earningReportsTabsOrders"></div>
</div>
<div class="tab-pane fade" id="navs-sales-id" role="tabpanel">
<div id="earningReportsTabsSales"></div>
</div>
<div class="tab-pane fade" id="navs-profit-id" role="tabpanel">
<div id="earningReportsTabsProfit"></div>
</div>
<div class="tab-pane fade" id="navs-income-id" role="tabpanel">
<div id="earningReportsTabsIncome"></div>
</div>
</div>
</div>
</div>
</div>
<!-- Sales last 6 months -->
<div class="col-xl-4 col-md-6 order-xxl-0 order-1">
<div class="card h-100">
<div class="card-header d-flex justify-content-between pb-4">
<div class="card-title mb-0">
<h5 class="mb-1">Sales</h5>
<p class="card-subtitle">Last 6 Months</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="salesLastMonthMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="salesLastMonthMenu">
<a class="dropdown-item" href="javascript:void(0);">View More</a>
<a class="dropdown-item" href="javascript:void(0);">Delete</a>
</div>
</div>
</div>
<div class="card-body">
<div id="salesLastMonth"></div>
</div>
</div>
</div>
<!-- Sales By Country -->
<div class="col-xxl-4 col-md-6">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Sales by Countries</h5>
<p class="card-subtitle">Monthly Sales Overview</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary btn-icon rounded-pill text-body-secondary border-0 me-n1" type="button" id="salesByCountry" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-22px text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="salesByCountry">
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Share</a>
</div>
</div>
</div>
<div class="card-body">
<ul class="p-0 m-0">
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-us rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$8,567k</h6>
</div>
<small class="text-body">United states</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
25.8%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-br rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$2,415k</h6>
</div>
<small class="text-body">Brazil</small>
</div>
<div class="user-progress">
<p class="text-danger fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-down"></i>
6.2%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-in rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$865k</h6>
</div>
<small class="text-body">India</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
12.4%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-au rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$745k</h6>
</div>
<small class="text-body">Australia</small>
</div>
<div class="user-progress">
<p class="text-danger fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-down"></i>
11.9%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center mb-4">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-fr rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$45</h6>
</div>
<small class="text-body">France</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
16.2%
</p>
</div>
</div>
</li>
<li class="d-flex align-items-center">
<div class="avatar flex-shrink-0 me-4">
<i class="fis fi fi-cn rounded-circle fs-2"></i>
</div>
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
<div class="me-2">
<div class="d-flex align-items-center">
<h6 class="mb-0 me-1">$12k</h6>
</div>
<small class="text-body">China</small>
</div>
<div class="user-progress">
<p class="text-success fw-medium mb-0 d-flex align-items-center gap-1">
<i class="icon-base ti tabler-chevron-up"></i>
14.8%
</p>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--/ Sales By Country -->
<!-- Project Status -->
<div class="col-12 col-md-6 col-xxl-4">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<h5 class="mb-0 card-title">Project Status</h5>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="projectStatusId" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="projectStatusId">
<a class="dropdown-item" href="javascript:void(0);">View More</a>
<a class="dropdown-item" href="javascript:void(0);">Delete</a>
</div>
</div>
</div>
<div class="card-body">
<div class="d-flex align-items-start">
<div class="badge rounded bg-label-warning p-2 me-3 rounded"><i class="icon-base ti tabler-currency-dollar icon-lg"></i></div>
<div class="d-flex justify-content-between w-100 gap-2 align-items-center">
<div class="me-2">
<h6 class="mb-0">$4,3742</h6>
<small class="text-body">Your Earnings</small>
</div>
<h6 class="mb-0 text-success">+10.2%</h6>
</div>
</div>
<div id="projectStatusChart"></div>
<div class="d-flex justify-content-between mb-4">
<h6 class="mb-0">Donates</h6>
<div class="d-flex">
<p class="mb-0 me-4">$756.26</p>
<p class="mb-0 text-danger">-139.34</p>
</div>
</div>
<div class="d-flex justify-content-between">
<h6 class="mb-0">Podcasts</h6>
<div class="d-flex">
<p class="mb-0 me-4">$2,207.03</p>
<p class="mb-0 text-success">+576.24</p>
</div>
</div>
</div>
</div>
</div>
<!-- Active Projects -->
<div class="col-xxl-4 col-md-6">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<div class="card-title mb-0">
<h5 class="mb-1">Active Project</h5>
<p class="card-subtitle">Average 72% Completed</p>
</div>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="activeProjects" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="activeProjects">
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">View All</a>
</div>
</div>
</div>
<div class="card-body">
<ul class="p-0 m-0">
<li class="mb-4 d-flex">
<div class="d-flex w-50 align-items-center me-4">
<img src="{% static 'img/icons/brands/laravel-logo.png' %}" alt="laravel-logo" class="me-4" width="35" />
<div>
<h6 class="mb-0">Laravel</h6>
<small class="text-body">eCommerce</small>
</div>
</div>
<div class="d-flex flex-grow-1 align-items-center">
<div class="progress w-100 me-4" style="height:8px;">
<div class="progress-bar bg-danger" role="progressbar" style="width: 65%" aria-valuenow="54" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="text-body-secondary">65%</span>
</div>
</li>
<li class="mb-4 d-flex">
<div class="d-flex w-50 align-items-center me-4">
<img src="{% static 'img/icons/brands/figma-logo.png' %}" alt="figma-logo" class="me-4" width="35" />
<div>
<h6 class="mb-0">Figma</h6>
<small class="text-body">App UI Kit</small>
</div>
</div>
<div class="d-flex flex-grow-1 align-items-center">
<div class="progress w-100 me-4" style="height:8px;">
<div class="progress-bar bg-primary" role="progressbar" style="width: 86%" aria-valuenow="86" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="text-body-secondary">86%</span>
</div>
</li>
<li class="mb-4 d-flex">
<div class="d-flex w-50 align-items-center me-4">
<img src="{% static 'img/icons/brands/vue-logo.png' %}" alt="vue-logo" class="me-4" width="35" />
<div>
<h6 class="mb-0">VueJs</h6>
<small class="text-body">Calendar App</small>
</div>
</div>
<div class="d-flex flex-grow-1 align-items-center">
<div class="progress w-100 me-4" style="height:8px;">
<div class="progress-bar bg-success" role="progressbar" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="text-body-secondary">90%</span>
</div>
</li>
<li class="mb-4 d-flex">
<div class="d-flex w-50 align-items-center me-4">
<img src="{% static 'img/icons/brands/react-logo.png' %}" alt="react-logo" class="me-4" width="35" />
<div>
<h6 class="mb-0">React</h6>
<small class="text-body">Dashboard</small>
</div>
</div>
<div class="d-flex flex-grow-1 align-items-center">
<div class="progress w-100 me-4" style="height:8px;">
<div class="progress-bar bg-info" role="progressbar" style="width: 37%" aria-valuenow="37" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="text-body-secondary">37%</span>
</div>
</li>
<li class="mb-4 d-flex">
<div class="d-flex w-50 align-items-center me-4">
<img src="{% static 'img/icons/brands/bootstrap-logo.png' %}" alt="bootstrap-logo" class="me-4" width="35" />
<div>
<h6 class="mb-0">Bootstrap</h6>
<small class="text-body">Website</small>
</div>
</div>
<div class="d-flex flex-grow-1 align-items-center">
<div class="progress w-100 me-4" style="height:8px;">
<div class="progress-bar bg-primary" role="progressbar" style="width: 22%" aria-valuenow="22" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="text-body-secondary">22%</span>
</div>
</li>
<li class="d-flex">
<div class="d-flex w-50 align-items-center me-4">
<img src="{% static 'img/icons/brands/sketch-logo.png' %}" alt="sketch-logo" class="me-4" width="35" />
<div>
<h6 class="mb-0">Sketch</h6>
<small class="text-body">Website Design</small>
</div>
</div>
<div class="d-flex flex-grow-1 align-items-center">
<div class="progress w-100 me-4" style="height:8px;">
<div class="progress-bar bg-warning" role="progressbar" style="width: 29%" aria-valuenow="29" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<span class="text-body-secondary">29%</span>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--/ Active Projects -->
<!-- Last Transaction -->
<div class="col-md-6 col-12">
<div class="card h-100">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="card-title m-0 me-2">Last Transaction</h5>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="teamMemberList" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="teamMemberList">
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Share</a>
</div>
</div>
</div>
<div class="table-responsive">
<table class="table table-borderless border-top">
<thead class="border-bottom">
<tr>
<th>CARD</th>
<th>DATE</th>
<th>STATUS</th>
<th>TREND</th>
</tr>
</thead>
<tbody>
<tr>
<td class="pt-5">
<div class="d-flex justify-content-start align-items-center">
<div class="me-4">
<img src="{% static 'img/icons/payments/visa-img.png' %}" alt="Visa" height="30" />
</div>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">*4230</p>
<small class="text-body">Credit</small>
</div>
</div>
</td>
<td class="pt-5">
<div class="d-flex flex-column">
<p class="mb-0 text-heading">Sent</p>
<small class="text-body text-nowrap">17 Mar 2022</small>
</div>
</td>
<td class="pt-5"><span class="badge bg-label-success">Verified</span></td>
<td class="pt-5">
<p class="mb-0 text-heading">+$1,678</p>
</td>
</tr>
<tr>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="me-4">
<img src="{% static 'img/icons/payments/master-card-img.png' %}" alt="Visa" height="30" />
</div>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">*5578</p>
<small class="text-body">Credit</small>
</div>
</div>
</td>
<td>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">Sent</p>
<small class="text-body text-nowrap">12 Feb 2022</small>
</div>
</td>
<td><span class="badge bg-label-danger">Rejected</span></td>
<td>
<p class="mb-0 text-heading">-$839</p>
</td>
</tr>
<tr>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="me-4">
<img src="{% static 'img/icons/payments/american-express-img.png' %}" alt="Visa" height="30" />
</div>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">*4567</p>
<small class="text-body">ATM</small>
</div>
</div>
</td>
<td>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">Sent</p>
<small class="text-body text-nowrap">28 Feb 2022</small>
</div>
</td>
<td><span class="badge bg-label-success">Verified</span></td>
<td>
<p class="mb-0 text-heading">+$435</p>
</td>
</tr>
<tr>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="me-4">
<img src="{% static 'img/icons/payments/visa-img.png' %}" alt="Visa" height="30" />
</div>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">*5699</p>
<small class="text-body">Credit</small>
</div>
</div>
</td>
<td>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">Sent</p>
<small class="text-body text-nowrap">8 Jan 2022</small>
</div>
</td>
<td><span class="badge bg-label-secondary">Pending</span></td>
<td>
<p class="mb-0 text-heading">+$2,345</p>
</td>
</tr>
<tr>
<td>
<div class="d-flex justify-content-start align-items-center">
<div class="me-4">
<img src="{% static 'img/icons/payments/visa-img.png' %}" alt="Visa" height="30" />
</div>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">*5699</p>
<small class="text-body">Credit</small>
</div>
</div>
</td>
<td>
<div class="d-flex flex-column">
<p class="mb-0 text-heading">Sent</p>
<small class="text-body text-nowrap">8 Jan 2022</small>
</div>
</td>
<td><span class="badge bg-label-danger">Rejected</span></td>
<td>
<p class="mb-0 text-heading">-$234</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!--/ Last Transaction -->
<!-- Activity Timeline -->
<div class="col-xxl-6">
<div class="card h-100">
<div class="card-header d-flex justify-content-between">
<h5 class="card-title m-0 me-2 pt-1 mb-2 d-flex align-items-center"><i class="icon-base ti tabler-list-details me-3"></i> Activity Timeline</h5>
<div class="dropdown">
<button class="btn btn-text-secondary rounded-pill text-body-secondary border-0 p-2 me-n1" type="button" id="timelineWapper" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="icon-base ti tabler-dots-vertical icon-md text-body-secondary"></i>
</button>
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="timelineWapper">
<a class="dropdown-item" href="javascript:void(0);">Download</a>
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
<a class="dropdown-item" href="javascript:void(0);">Share</a>
</div>
</div>
</div>
<div class="card-body pb-xxl-0">
<ul class="timeline mb-0">
<li class="timeline-item timeline-item-transparent">
<span class="timeline-point timeline-point-primary"></span>
<div class="timeline-event">
<div class="timeline-header mb-3">
<h6 class="mb-0">12 Invoices have been paid</h6>
<small class="text-body-secondary">12 min ago</small>
</div>
<p class="mb-2">Invoices have been paid to the company</p>
<div class="d-flex align-items-center mb-1">
<div class="badge bg-lighter rounded-3">
<img src="{% static '/img/icons/misc/pdf.png' %}" alt="img" width="15" class="me-2" />
<span class="h6 mb-0 text-body">invoices.pdf</span>
</div>
</div>
</div>
</li>
<li class="timeline-item timeline-item-transparent">
<span class="timeline-point timeline-point-success"></span>
<div class="timeline-event">
<div class="timeline-header mb-3">
<h6 class="mb-0">Client Meeting</h6>
<small class="text-body-secondary">45 min ago</small>
</div>
<p class="mb-2">Project meeting with john @10:15am</p>
<div class="d-flex justify-content-between flex-wrap gap-2">
<div class="d-flex flex-wrap align-items-center">
<div class="avatar avatar-sm me-2">
<img src="{% static 'img/avatars/1.png' %}" alt="Avatar" class="rounded-circle" />
</div>
<div>
<p class="mb-0 small fw-medium">Lester McCarthy (Client)</p>
<small>CEO of {% get_theme_variables 'creator_name' %}</small>
</div>
</div>
</div>
</div>
</li>
<li class="timeline-item timeline-item-transparent">
<span class="timeline-point timeline-point-info"></span>
<div class="timeline-event">
<div class="timeline-header mb-3">
<h6 class="mb-0">Create a new project for client</h6>
<small class="text-body-secondary">2 Day Ago</small>
</div>
<p class="mb-2">6 team members in a project</p>
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap p-0">
<div class="d-flex flex-wrap align-items-center">
<ul class="list-unstyled users-list d-flex align-items-center avatar-group m-0 me-2">
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" title="Vinnie Mostowy" class="avatar pull-up">
<img class="rounded-circle" src="{% static 'img/avatars/5.png' %}" alt="Avatar" />
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" title="Allen Rieske" class="avatar pull-up">
<img class="rounded-circle" src="{% static 'img/avatars/12.png' %}" alt="Avatar" />
</li>
<li data-bs-toggle="tooltip" data-popup="tooltip-custom" data-bs-placement="top" title="Julee Rossignol" class="avatar pull-up">
<img class="rounded-circle" src="{% static 'img/avatars/6.png' %}" alt="Avatar" />
</li>
<li class="avatar">
<span class="avatar-initial rounded-circle pull-up text-heading" data-bs-toggle="tooltip" data-bs-placement="bottom" title="3 more">+3</span>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
<!--/ Activity Timeline -->
</div>
{% endblock %}

View File

@@ -0,0 +1,18 @@
from django.urls import path
from .views import DashboardsView
from django.contrib.auth.decorators import login_required
urlpatterns = [
path(
"",
login_required(DashboardsView.as_view(template_name="dashboard_analytics.html")),
name="index",
),
path(
"dashboard/crm/",
login_required(DashboardsView.as_view(template_name="dashboard_crm.html")),
name="dashboard-crm",
),
]

View File

@@ -0,0 +1,18 @@
from django.views.generic import TemplateView
from web_project import TemplateLayout
"""
This file is a view controller for multiple pages as a module.
Here you can override the page view layout.
Refer to dashboards/urls.py file for more pages.
"""
class DashboardsView(TemplateView):
# Predefined function
def get_context_data(self, **kwargs):
# A function to init the global layout. It is defined in web_project/__init__.py file
context = TemplateLayout.init(self, super().get_context_data(**kwargs))
return context