first commit

This commit is contained in:
aminhashemi92 2025-08-10 07:44:23 +03:30
commit b71ea45681
898 changed files with 138202 additions and 0 deletions

184
templates/_base.html Normal file
View file

@ -0,0 +1,184 @@
{% load static %}
<!DOCTYPE html>
<html lang="en" class="light-style
{% block layout %}
layout-navbar-fixed layout-menu-fixed layout-compact
{% endblock layout %}
" dir="rtl" data-theme="theme-default" data-assets-path="{% static 'assets/' %}" data-template="vertical-menu-template">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"/>
<title>
{% block title %}
{% endblock title %}
</title>
<meta name="description" content="Most Powerful &amp; Comprehensive Bootstrap 5 HTML Admin Dashboard Template built for developers!"/>
<meta name="keywords" content="dashboard, bootstrap 5 dashboard, bootstrap 5 design, bootstrap 5">
<!-- Canonical SEO -->
<link rel="canonical" href="https://themeselection.com/item/sneat-bootstrap-html-admin-template/">
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="{% static 'assets/img/favicon/favicon.ico' %}"/>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
rel="stylesheet">
<!-- Icons -->
<link rel="stylesheet" href="{% static 'assets/vendor/fonts/boxicons.css' %}"/>
<link rel="stylesheet" href="{% static 'assets/vendor/fonts/fontawesome.css' %}"/>
<link rel="stylesheet" href="{% static 'assets/vendor/fonts/flag-icons.css' %}"/>
<!-- Core CSS -->
<link rel="stylesheet" href="{% static 'assets/vendor/css/rtl/core.css' %}" class="template-customizer-core-css"/>
<link rel="stylesheet" href="{% static 'assets/vendor/css/rtl/theme-default.css' %}" class="template-customizer-theme-css"/>
<link rel="stylesheet" href="{% static 'assets/css/demo.css' %}"/>
<!-- Persian Fonts -->
<link rel="stylesheet" href="{% static 'assets/css/persian-fonts.css' %}"/>
<!-- Vendors CSS -->
<link rel="stylesheet" href="{% static 'assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css' %}"/>
<link rel="stylesheet" href="{% static 'assets/vendor/libs/typeahead-js/typeahead.css' %}"/>
<link rel="stylesheet" href="{% static 'assets/vendor/libs/apex-charts/apex-charts.css' %}"/>
<!-- Page CSS -->
{% block style %}
{% endblock style %}
<!-- Helpers -->
<script src="{% static 'assets/vendor/js/helpers.js' %}"></script>
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
<!--? Template customizer: To hide customizer set displayCustomizer value false in config.js. -->
<script src="{% static 'assets/vendor/js/template-customizer.js' %}"></script>
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
<script src="{% static 'assets/js/config.js' %}"></script>
</head>
<body>
<!-- Layout wrapper -->
<div class="layout-wrapper layout-content-navbar ">
<div class="layout-container">
{% block sidebar %}
{% endblock sidebar %}
<!-- Layout container -->
<div class="layout-page">
{% block navbar %}
{% endblock navbar %}
<!-- Content wrapper -->
<div class="content-wrapper">
{% block content %}
{% endblock content %}
<!-- Footer -->
<footer class="content-footer footer bg-footer-theme">
<div class="container-xxl d-flex flex-wrap justify-content-between py-3 flex-md-row flex-column">
<div class="mb-2 mb-md-0">
<div class="d-flex flex-column">
<span class="fw-medium">© {{ current_year|default:"2024" }} تمامی حقوق متعلق به شرکت زیست آب است.</span>
<small class="text-muted mt-1">طراحی و توسعه با ❤️ در ایران</small>
</div>
</div>
<div class="d-none d-lg-inline-block">
<div class="d-flex align-items-center gap-3">
<span class="text-muted">
<i class="bx bx-code-alt me-1"></i>
نسخه 1.0.0
</span>
<span class="text-muted">|</span>
<span class="text-muted">
<i class="bx bx-envelope me-1"></i>
پشتیبانی: info@zistab.com
</span>
<span class="text-muted">|</span>
<span class="text-muted">
<i class="bx bx-phone me-1"></i>
تلفن: 021-12345678
</span>
<span class="text-muted">|</span>
<span class="text-muted">
<i class="bx bx-map me-1"></i>
تهران، خیابان ولیعصر
</span>
</div>
</div>
</div>
</footer>
<!-- / Footer -->
<div class="content-backdrop fade"></div>
</div>
<!-- Content wrapper -->
</div>
<!-- / Layout page -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-menu-toggle"></div>
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
<div class="drag-target"></div>
</div>
<!-- / Layout wrapper -->
<!-- Core JS -->
<!-- build:js assets/vendor/js/core.js -->
<script src="{% static 'assets/vendor/libs/jquery/jquery.js' %}"></script>
<script src="{% static 'assets/vendor/libs/popper/popper.js' %}"></script>
<script src="{% static 'assets/vendor/js/bootstrap.js' %}"></script>
<script src="{% static 'assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js' %}"></script>
<script src="{% static 'assets/vendor/libs/hammer/hammer.js' %}"></script>
<script src="{% static 'assets/vendor/libs/typeahead-js/typeahead.js' %}"></script>
<script src="{% static 'assets/vendor/js/menu.js' %}"></script>
<!-- endbuild -->
<!-- Vendors JS -->
<script src="{% static 'assets/vendor/libs/apex-charts/apexcharts.js' %}"></script>
<!-- Main JS -->
<script src="{% static 'assets/js/main.js' %}"></script>
<!-- Page JS -->
<script src="{% static 'assets/js/dashboards-analytics.js' %}"></script>
{% block script %}
{% endblock script %}
</body>
</html>
<!-- beautify ignore:end -->

184
templates/_toasts.html Normal file
View file

@ -0,0 +1,184 @@
{% load static %}
<!-- Toast Container -->
<div class="toast-container position-fixed top-0 start-0 p-3" style="z-index: 2000;">
<!-- Django Messages Toast -->
{% if messages %}
{% for message in messages %}
<div class="bs-toast toast fade {% if message.tags == 'error' %}bg-danger{% elif message.tags == 'success' %}bg-success{% elif message.tags == 'warning' %}bg-warning{% else %}bg-blue{% endif %} text-white border-0" role="alert" aria-live="assertive" aria-atomic="true">
<div class="toast-header">
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body d-flex align-items-center">
{% if message.tags == 'error' %}
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-circle me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path>
<path d="M12 8v4"></path>
<path d="M12 16h.01"></path>
</svg>
{% elif message.tags == 'success' %}
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-check me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
<path d="M9 12l2 2l4 -4"></path>
</svg>
{% elif message.tags == 'warning' %}
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 9v4"></path>
<path d="M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z"></path>
<path d="M12 16h.01"></path>
</svg>
{% else %}
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-info-circle me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path>
<path d="M12 9h.01"></path>
<path d="M11 12h1v4h1"></path>
</svg>
{% endif %}
{{ message }}
</div>
</div>
{% endfor %}
{% endif %}
<!-- JavaScript/AJAX Toast Template -->
<div id="js-toast-template" class="bs-toast toast fade" role="alert" aria-live="assertive" aria-atomic="true" style="display: none;">
<div class="toast-header">
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
</div>
<div class="toast-body d-flex align-items-center">
<!-- Icon will be inserted here -->
<!-- Message will be inserted here -->
</div>
</div>
</div>
<script>
// Function to show toast from JavaScript/AJAX
window.showToast = function(message, type = 'success') {
// Clone the template
const toastTemplate = document.getElementById('js-toast-template').cloneNode(true);
// Set message and style
const toastBody = toastTemplate.querySelector('.toast-body');
toastBody.textContent = message;
// Add icon based on type
let iconHtml = '';
switch(type) {
case 'success':
iconHtml = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-check me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0"></path>
<path d="M9 12l2 2l4 -4"></path>
</svg>`;
break;
case 'danger':
iconHtml = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-circle me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path>
<path d="M12 8v4"></path>
<path d="M12 16h.01"></path>
</svg>`;
break;
case 'warning':
iconHtml = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M12 9v4"></path>
<path d="M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z"></path>
<path d="M12 16h.01"></path>
</svg>`;
break;
default:
iconHtml = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-info-circle me-2" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path>
<path d="M12 9h.01"></path>
<path d="M11 12h1v4h1"></path>
</svg>`;
}
toastBody.innerHTML = iconHtml + message;
// Set background color
toastTemplate.classList.remove('bg-success', 'bg-danger', 'bg-warning', 'bg-blue');
toastTemplate.classList.add(`bg-${type}`);
toastTemplate.style.display = 'block';
// Add to container
document.querySelector('.toast-container').appendChild(toastTemplate);
// Initialize and show toast
const toast = new bootstrap.Toast(toastTemplate, {
autohide: true,
delay: 6000
});
toast.show();
// Remove from DOM after hiding
toastTemplate.addEventListener('hidden.bs.toast', function () {
this.remove();
});
}
// Initialize Django message toasts
document.addEventListener('DOMContentLoaded', function() {
const djangoToasts = document.querySelectorAll('.toast:not(#js-toast-template)');
djangoToasts.forEach(toast => {
const bsToast = new bootstrap.Toast(toast, {
autohide: true,
delay: 6000
});
bsToast.show();
});
});
</script>
{#<!-- Usage Examples -->#}
{#<!--#}
{#1. Django Messages (in views.py):#}
{# from django.contrib import messages#}
{# #}
{# # Success message#}
{# messages.success(request, 'عملیات با موفقیت انجام شد')#}
{# #}
{# # Error message#}
{# messages.error(request, 'خطا در انجام عملیات')#}
{# #}
{# # Warning message#}
{# messages.warning(request, 'هشدار: این عملیات قابل بازگشت نیست')#}
{# #}
{# # Info message#}
{# messages.info(request, 'اطلاعات جدید در دسترس است')#}
{##}
{#2. JavaScript/AJAX Messages:#}
{# // Success toast#}
{# showToast('عملیات با موفقیت انجام شد', 'success');#}
{# #}
{# // Error toast#}
{# showToast('خطا در انجام عملیات', 'danger');#}
{# #}
{# // Warning toast#}
{# showToast('هشدار: این عملیات قابل بازگشت نیست', 'warning');#}
{# #}
{# // Info toast#}
{# showToast('اطلاعات جدید در دسترس است', 'blue');#}
{##}
{#3. AJAX Example:#}
{# $.ajax({#}
{# url: '/your-endpoint/',#}
{# method: 'POST',#}
{# success: function(response) {#}
{# if (response.success) {#}
{# showToast('عملیات با موفقیت انجام شد', 'success');#}
{# } else {#}
{# showToast(response.error || 'خطا در انجام عملیات', 'danger');#}
{# }#}
{# },#}
{# error: function() {#}
{# showToast('خطا در ارتباط با سرور', 'danger');#}
{# }#}
{# });#}
{#--> #}

View file

@ -0,0 +1,74 @@
{% extends 'admin/base.html' %}
{% load static %}
{% block extrastyle %}
<style>
/* Force RTL layout */
html {
direction: rtl !important;
text-align: right !important;
}
body {
text-align: right !important;
}
/* Sidebar to the right */
.main-sidebar {
right: 0 !important;
left: auto !important;
}
/* Shift the content area to the left */
.content-wrapper,
.main-footer,
.main-header {
margin-left: 0 !important;
margin-right: 250px !important; /* or whatever the sidebar width is */
}
/* Fix nav toggle button */
.sidebar-collapse .main-sidebar {
margin-right: -250px !important;
margin-left: 0 !important;
}
.nav {
padding-right: 0 !important;
}
.ml-auto, .mx-auto {
margin-right: auto !important;
margin-left: 0px !important;
}
.pl-3, .px-3 {
padding-right: 1rem !important;
padding-left: 0rem !important;
}
/* Menu items alignment */
.nav-sidebar .nav-link {
text-align: right !important;
}
/* Brand alignment */
.brand-link {
text-align: right !important;
}
/* Dropdowns and user menu */
.user-panel,
.navbar-nav {
direction: rtl !important;
text-align: right !important;
}
.dropdown-item {
direction: rtl !important;
text-align: right !important;
}
</style>
<link rel="stylesheet" href="{% static 'admin/css/custom_rtl.css' %}">
{% endblock %}

View file

@ -0,0 +1,423 @@
{% load static %}
<!-- Navbar -->
<nav class="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
id="layout-navbar">
<div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none ">
<a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
<i class="bx bx-menu bx-sm"></i>
</a>
</div>
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
<!-- Search -->
<div class="navbar-nav align-items-center d-none">
<div class="nav-item navbar-search-wrapper mb-0">
<a class="nav-item nav-link search-toggler px-0" href="#">
<i class="bx bx-search bx-sm"></i>
<span class="d-none d-md-inline-block text-muted">Search (Ctrl+/)</span>
</a>
</div>
</div>
<!-- /Search -->
<ul class="navbar-nav flex-row align-items-center ms-auto">
<!-- Language -->
<!-- /Language -->
<!-- Quick links -->
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="#" data-bs-toggle="dropdown"
data-bs-auto-close="outside" aria-expanded="false">
<i class='bx bx-grid-alt bx-sm'></i>
</a>
<div class="dropdown-menu dropdown-menu-end py-0">
<div class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Shortcuts</h5>
<a href="javascript:void(0)" class="dropdown-shortcuts-add text-body" data-bs-toggle="tooltip" data-bs-placement="top"
title="Add shortcuts"><i class="bx bx-sm bx-plus-circle"></i></a>
</div>
</div>
<div class="dropdown-shortcuts-list scrollable-container">
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-calendar fs-4"></i>
</span>
<a href="app-calendar.html" class="stretched-link">Calendar</a>
<small class="text-muted mb-0">Appointments</small>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-food-menu fs-4"></i>
</span>
<a href="app-invoice-list.html" class="stretched-link">Invoice App</a>
<small class="text-muted mb-0">Manage Accounts</small>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-user fs-4"></i>
</span>
<a href="app-user-list.html" class="stretched-link">User App</a>
<small class="text-muted mb-0">Manage Users</small>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-check-shield fs-4"></i>
</span>
<a href="app-access-roles.html" class="stretched-link">Role Management</a>
<small class="text-muted mb-0">Permission</small>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-pie-chart-alt-2 fs-4"></i>
</span>
<a href="index.html" class="stretched-link">Dashboard</a>
<small class="text-muted mb-0">User Profile</small>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-cog fs-4"></i>
</span>
<a href="pages-account-settings-account.html" class="stretched-link">Setting</a>
<small class="text-muted mb-0">Account Settings</small>
</div>
</div>
<div class="row row-bordered overflow-visible g-0">
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-help-circle fs-4"></i>
</span>
<a href="pages-faq.html" class="stretched-link">FAQs</a>
<small class="text-muted mb-0">FAQs & Articles</small>
</div>
<div class="dropdown-shortcuts-item col">
<span class="dropdown-shortcuts-icon bg-label-secondary rounded-circle mb-2">
<i class="bx bx-window-open fs-4"></i>
</span>
<a href="modal-examples.html" class="stretched-link">Modals</a>
<small class="text-muted mb-0">Useful Popups</small>
</div>
</div>
</div>
</div>
</li>
<!-- Quick links -->
<!-- Style Switcher -->
<li class="nav-item dropdown-style-switcher dropdown me-2 me-xl-0">
<a class="nav-link dropdown-toggle hide-arrow" href="#" data-bs-toggle="dropdown">
<i class='bx bx-sm'></i>
</a>
<ul class="dropdown-menu dropdown-menu-end dropdown-styles">
<li>
<a class="dropdown-item" href="#" data-theme="light">
<span class="align-middle"><i class='bx bx-sun me-2'></i>Light</span>
</a>
</li>
<li>
<a class="dropdown-item" href="#" data-theme="dark">
<span class="align-middle"><i class="bx bx-moon me-2"></i>Dark</span>
</a>
</li>
<li>
<a class="dropdown-item" href="#" data-theme="system">
<span class="align-middle"><i class="bx bx-desktop me-2"></i>System</span>
</a>
</li>
</ul>
</li>
<!-- / Style Switcher-->
<!-- Notification -->
<li class="nav-item dropdown-notifications navbar-dropdown dropdown me-3 me-xl-1">
<a class="nav-link dropdown-toggle hide-arrow" href="#" data-bs-toggle="dropdown"
data-bs-auto-close="outside" aria-expanded="false">
<i class="bx bx-bell bx-sm"></i>
<span class="badge bg-danger rounded-pill badge-notifications">5</span>
</a>
<ul class="dropdown-menu dropdown-menu-end py-0">
<li class="dropdown-menu-header border-bottom">
<div class="dropdown-header d-flex align-items-center py-3">
<h5 class="text-body mb-0 me-auto">Notification</h5>
<a href="javascript:void(0)" class="dropdown-notifications-all text-body" data-bs-toggle="tooltip"
data-bs-placement="top" title="Mark all as read"><i class="bx fs-4 bx-envelope-open"></i></a>
</div>
</li>
<li class="dropdown-notifications-list scrollable-container">
<ul class="list-group list-group-flush">
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="{% static 'assets/img/avatars/1.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Congratulation Lettie 🎉</h6>
<p class="mb-0">Won the monthly best seller gold badge</p>
<small class="text-muted">1h ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-danger">CF</span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Charles Franklin</h6>
<p class="mb-0">Accepted your connection</p>
<small class="text-muted">12hr ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="{% static 'assets/img/avatars/2.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">New Message ✉️</h6>
<p class="mb-0">You have new message from Natalie</p>
<small class="text-muted">1h ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-success"><i class="bx bx-cart"></i></span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Whoo! You have new order 🛒 </h6>
<p class="mb-0">ACME Inc. made new order $1,154</p>
<small class="text-muted">1 day ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="{% static 'assets/img/avatars/9.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Application has been approved 🚀 </h6>
<p class="mb-0">Your ABC project application has been approved.</p>
<small class="text-muted">2 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-success"><i class="bx bx-pie-chart-alt"></i></span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Monthly report is generated</h6>
<p class="mb-0">July monthly financial report is generated </p>
<small class="text-muted">3 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="{% static 'assets/img/avatars/5.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">Send connection request</h6>
<p class="mb-0">Peter sent you connection request</p>
<small class="text-muted">4 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<img src="{% static 'assets/img/avatars/6.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">New message from Jane</h6>
<p class="mb-0">Your have new message from Jane</p>
<small class="text-muted">5 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar">
<span class="avatar-initial rounded-circle bg-label-warning"><i class="bx bx-error"></i></span>
</div>
</div>
<div class="flex-grow-1">
<h6 class="mb-1">CPU is running high</h6>
<p class="mb-0">CPU Utilization Percent is currently at 88.63%,</p>
<small class="text-muted">5 days ago</small>
</div>
<div class="flex-shrink-0 dropdown-notifications-actions">
<a href="javascript:void(0)" class="dropdown-notifications-read"><span class="badge badge-dot"></span></a>
<a href="javascript:void(0)" class="dropdown-notifications-archive"><span class="bx bx-x"></span></a>
</div>
</div>
</li>
</ul>
</li>
<li class="dropdown-menu-footer border-top p-3">
<button class="btn btn-primary text-uppercase w-100">view all notifications</button>
</li>
</ul>
</li>
<!--/ Notification -->
<!-- User -->
<li class="nav-item navbar-dropdown dropdown-user dropdown">
<a class="nav-link dropdown-toggle hide-arrow" href="#" data-bs-toggle="dropdown">
<div class="avatar avatar-online">
<img src="{% static 'assets/img/avatars/1.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
<a class="dropdown-item" href="pages-account-settings-account.html">
<div class="d-flex">
<div class="flex-shrink-0 me-3">
<div class="avatar avatar-online">
<img src="{% static 'assets/img/avatars/1.png' %}" alt class="w-px-40 h-auto rounded-circle">
</div>
</div>
<div class="flex-grow-1">
<span class="fw-medium d-block">John Doe</span>
<small class="text-muted">Admin</small>
</div>
</div>
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="pages-profile-user.html">
<i class="bx bx-user me-2"></i>
<span class="align-middle">My Profile</span>
</a>
</li>
<li>
<a class="dropdown-item" href="pages-account-settings-account.html">
<i class="bx bx-cog me-2"></i>
<span class="align-middle">Settings</span>
</a>
</li>
<li>
<a class="dropdown-item" href="pages-account-settings-billing.html">
<span class="d-flex align-items-center align-middle">
<i class="flex-shrink-0 bx bx-credit-card me-2"></i>
<span class="flex-grow-1 align-middle">Billing</span>
<span class="flex-shrink-0 badge badge-center rounded-pill bg-danger w-px-20 h-px-20">4</span>
</span>
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="pages-faq.html">
<i class="bx bx-help-circle me-2"></i>
<span class="align-middle">FAQ</span>
</a>
</li>
<li>
<a class="dropdown-item" href="pages-pricing.html">
<i class="bx bx-dollar me-2"></i>
<span class="align-middle">Pricing</span>
</a>
</li>
<li>
<div class="dropdown-divider"></div>
</li>
<li>
<a class="dropdown-item" href="auth-login-cover.html" target="_blank">
<i class="bx bx-power-off me-2"></i>
<span class="align-middle">Log Out</span>
</a>
</li>
</ul>
</li>
<!--/ User -->
</ul>
</div>
<!-- Search Small Screens -->
<div class="navbar-search-wrapper search-input-wrapper d-none">
<input type="text" class="form-control search-input container-xxl border-0" placeholder="Search..." aria-label="Search...">
<i class="bx bx-x bx-sm search-toggler cursor-pointer"></i>
</div>
</nav>
<!-- / Navbar -->

View file

@ -0,0 +1,134 @@
{% load static %}
<!-- Menu -->
<aside id="layout-menu" class="layout-menu menu-vertical menu bg-menu-theme">
<div class="app-brand demo ">
<a href="index.html" class="app-brand-link">
<span class="app-brand-logo demo">
<svg width="25" viewBox="0 0 25 42" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<path
d="M13.7918663,0.358365126 L3.39788168,7.44174259 C0.566865006,9.69408886 -0.379795268,12.4788597 0.557900856,15.7960551 C0.68998853,16.2305145 1.09562888,17.7872135 3.12357076,19.2293357 C3.8146334,19.7207684 5.32369333,20.3834223 7.65075054,21.2172976 L7.59773219,21.2525164 L2.63468769,24.5493413 C0.445452254,26.3002124 0.0884951797,28.5083815 1.56381646,31.1738486 C2.83770406,32.8170431 5.20850219,33.2640127 7.09180128,32.5391577 C8.347334,32.0559211 11.4559176,30.0011079 16.4175519,26.3747182 C18.0338572,24.4997857 18.6973423,22.4544883 18.4080071,20.2388261 C17.963753,17.5346866 16.1776345,15.5799961 13.0496516,14.3747546 L10.9194936,13.4715819 L18.6192054,7.984237 L13.7918663,0.358365126 Z"
id="path-1"></path>
<path
d="M5.47320593,6.00457225 C4.05321814,8.216144 4.36334763,10.0722806 6.40359441,11.5729822 C8.61520715,12.571656 10.0999176,13.2171421 10.8577257,13.5094407 L15.5088241,14.433041 L18.6192054,7.984237 C15.5364148,3.11535317 13.9273018,0.573395879 13.7918663,0.358365126 C13.5790555,0.511491653 10.8061687,2.3935607 5.47320593,6.00457225 Z"
id="path-3"></path>
<path
d="M7.50063644,21.2294429 L12.3234468,23.3159332 C14.1688022,24.7579751 14.397098,26.4880487 13.008334,28.506154 C11.6195701,30.5242593 10.3099883,31.790241 9.07958868,32.3040991 C5.78142938,33.4346997 4.13234973,34 4.13234973,34 C4.13234973,34 2.75489982,33.0538207 2.37032616e-14,31.1614621 C-0.55822714,27.8186216 -0.55822714,26.0572515 -4.05231404e-15,25.8773518 C0.83734071,25.6075023 2.77988457,22.8248993 3.3049379,22.52991 C3.65497346,22.3332504 5.05353963,21.8997614 7.50063644,21.2294429 Z"
id="path-4"></path>
<path
d="M20.6,7.13333333 L25.6,13.8 C26.2627417,14.6836556 26.0836556,15.9372583 25.2,16.6 C24.8538077,16.8596443 24.4327404,17 24,17 L14,17 C12.8954305,17 12,16.1045695 12,15 C12,14.5672596 12.1403557,14.1461923 12.4,13.8 L17.4,7.13333333 C18.0627417,6.24967773 19.3163444,6.07059163 20.2,6.73333333 C20.3516113,6.84704183 20.4862915,6.981722 20.6,7.13333333 Z"
id="path-5"></path>
</defs>
<g id="g-app-brand" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Brand-Logo" transform="translate(-27.000000, -15.000000)">
<g id="Icon" transform="translate(27.000000, 15.000000)">
<g id="Mask" transform="translate(0.000000, 8.000000)">
<mask id="mask-2" fill="white">
<use xlink:href="#path-1"></use>
</mask>
<use fill="#696cff" xlink:href="#path-1"></use>
<g id="Path-3" mask="url(#mask-2)">
<use fill="#696cff" xlink:href="#path-3"></use>
<use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-3"></use>
</g>
<g id="Path-4" mask="url(#mask-2)">
<use fill="#696cff" xlink:href="#path-4"></use>
<use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-4"></use>
</g>
</g>
<g id="Triangle" transform="translate(19.000000, 11.000000) rotate(-300.000000) translate(-19.000000, -11.000000) ">
<use fill="#696cff" xlink:href="#path-5"></use>
<use fill-opacity="0.2" fill="#FFFFFF" xlink:href="#path-5"></use>
</g>
</g>
</g>
</g>
</svg>
</span>
<span class="app-brand-text demo menu-text fw-bold ms-2 fs-4">سامانه شفافیت</span>
</a>
<a href="#" class="layout-menu-toggle menu-link text-large ms-auto">
<i class="bx bx-chevron-left bx-sm align-middle"></i>
</a>
</div>
<div class="menu-inner-shadow"></div>
<ul class="menu-inner py-1">
<!-- Dashboards -->
<li class="menu-item">
<a href="#" class="menu-link menu-toggle">
<i class="menu-icon tf-icons bx bx-home-circle"></i>
<div class="text-truncate">داشبورد</div>
<span class="badge badge-center rounded-pill bg-danger ms-auto">5</span>
</a>
<ul class="menu-sub">
<li class="menu-item active">
<a href="dashboards-analytics.html" class="menu-link">
<div class="text-truncate">Analytics</div>
</a>
</li>
<li class="menu-item">
<a href="dashboards-crm.html" class="menu-link">
<div class="text-truncate">CRM</div>
</a>
</li>
<li class="menu-item">
<a href="app-ecommerce-dashboard.html" class="menu-link">
<div class="text-truncate">eCommerce</div>
</a>
</li>
<li class="menu-item">
<a href="app-logistics-dashboard.html" class="menu-link">
<div class="text-truncate">Logistics</div>
</a>
</li>
<li class="menu-item">
<a href="app-academy-dashboard.html" class="menu-link">
<div class="text-truncate">Academy</div>
</a>
</li>
</ul>
</li>
<!-- Customers -->
<li class="menu-header small text-uppercase">
<span class="menu-header-text">مشترک‌ها</span>
</li>
<!-- Users -->
<li class="menu-item {% if 'customers' in request.path %}active{% endif %}">
<a href="{% url 'accounts:customer_list' %}" class="menu-link">
<i class="menu-icon tf-icons bx bx-user"></i>
<div class="text-truncate">کاربرها</div>
</a>
</li>
<!-- Wells -->
<li class="menu-item {% if 'wells' in request.path %}active{% endif %}">
<a href="{% url 'wells:well_list' %}" class="menu-link">
<i class="menu-icon tf-icons bx bx-water"></i>
<div class="text-truncate">چاه‌ها</div>
</a>
</li>
<!-- Apps & Pages -->
<li class="menu-header small text-uppercase">
<span class="menu-header-text">گزارش‌ها</span>
</li>
</ul>
</aside>
<!-- / Menu -->