release version 2.2
This commit is contained in:
793
advanced-form.html
Normal file
793
advanced-form.html
Normal file
@@ -0,0 +1,793 @@
|
||||
<!--
|
||||
* © 2025-2026 Skoci Admin
|
||||
* Designed and Developed by Abimanyu
|
||||
* Contact : abimanyuag12@gmail.com
|
||||
* All Rights Reserved
|
||||
-->
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<meta name="view-transition" content="same-origin">
|
||||
<title>Skoci Admin | Advanced Form</title>
|
||||
<link rel="icon" type="image/x-icon" href="static/images/favicon.ico">
|
||||
<!-- Bootstrap 5 -->
|
||||
<link rel="stylesheet" href="static/vendor/bootstrap/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="static/css/style.css">
|
||||
<link rel="stylesheet" href="static/vendor/bootstrap-icons/bootstrap-icons.css">
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="static/vendor/tabler-icons/tabler-icons.css">
|
||||
<link rel="stylesheet" href="static/vendor/micons/micons.css">
|
||||
<link rel="stylesheet" href="static/vendor/mdi/materialdesignicons.min.css">
|
||||
<link rel="stylesheet" href="static/vendor/remixicon/remixicon.css">
|
||||
<link rel="stylesheet" href="static/vendor/coreui-icons/free.css">
|
||||
<link rel="stylesheet" href="static/vendor/coreui-icons/brand.css">
|
||||
<link rel="stylesheet" href="static/vendor/coreui-icons/flag.css">
|
||||
<!-- flatpickr -->
|
||||
<link rel="stylesheet" href="static/vendor/flatpickr/themes/airbnb.css">
|
||||
<!-- select2 -->
|
||||
<link rel="stylesheet" href="static/vendor/select2/select2.min.css">
|
||||
<link rel="stylesheet" href="static/vendor/select2/select2-bootstrap-5-theme.min.css">
|
||||
<script src="static/vendor/jquery/jquery.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="bz-preloader">
|
||||
<div class="bz-spinner"></div>
|
||||
</div>
|
||||
<!-- topbar-right -->
|
||||
<div class="topbar-right">
|
||||
<a href="index.html" class="text-decoration-none">
|
||||
<div class="d-flex align-items-center gap-2">
|
||||
<img src="static/images/logo.png" alt="logo-icon">
|
||||
<div class="d-flex flex-column">
|
||||
<h5 class="mb-0 fw-bold text-light text-uppercase">
|
||||
Skoci
|
||||
</h5>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<button id="toggleSidebarRight" class="btn btn-sm toggle-btn">
|
||||
<i class="ri-arrow-left-s-line chevron"></i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- sidebar-right -->
|
||||
<div class="sidebar-right">
|
||||
<ul class="nav flex-column">
|
||||
<li class="sidebar-title">
|
||||
<span>Overview</span>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="index.html" class="nav-link" data-tooltip="Dashboard">
|
||||
<i class="ri-apps-line"></i>
|
||||
<span class="text-wrapper">
|
||||
<span class="text-inner">Dashboard</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="sidebar-title">
|
||||
<span>Menu</span>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a href="basic-form.html" class="nav-link active" data-tooltip="Form">
|
||||
<i class="ri-layout-5-line"></i>
|
||||
<span class="text-wrapper">
|
||||
<span class="text-inner">Forms</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link d-flex align-items-center"
|
||||
data-bs-toggle="collapse"
|
||||
href="#menuTables"
|
||||
role="button"
|
||||
aria-expanded="false"
|
||||
aria-controls="menuTables">
|
||||
<i class="ri-table-line"></i>
|
||||
<span class="text-inner">Tables</span>
|
||||
<i class="bi bi-chevron-right ms-auto"></i>
|
||||
</a>
|
||||
|
||||
<div class="collapse" id="menuTables">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item">
|
||||
<a href="table1.html" class="nav-link">
|
||||
DataTables
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="table2.html" class="nav-link">
|
||||
Bootstrap-Table
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link d-flex align-items-center"
|
||||
data-bs-toggle="collapse"
|
||||
href="#menuPages"
|
||||
role="button"
|
||||
aria-expanded="false"
|
||||
aria-controls="menuPages">
|
||||
<i class="cil-notes"></i>
|
||||
<span class="text-inner">Pages</span>
|
||||
<i class="bi bi-chevron-right ms-auto"></i>
|
||||
</a>
|
||||
|
||||
<div class="collapse" id="menuPages">
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item">
|
||||
<a href="login.html" class="nav-link">
|
||||
Login
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="404.html" class="nav-link">
|
||||
404 Page
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="403.html" class="nav-link">
|
||||
403 Page
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="blank-page.html" class="nav-link">
|
||||
Blank Page
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
<li class="sidebar-title">
|
||||
<span>UI Elements</span>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="alert.html" class="nav-link" data-tooltip="Alert">
|
||||
<i class="cil-bell"></i>
|
||||
<span class="text-wrapper">
|
||||
<span class="text-inner">Alerts</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- topbar-main -->
|
||||
<div class="topbar-main">
|
||||
<div class="d-flex align-items-center gap-3" style="height: 79px;">
|
||||
<img class="d-lg-none" src="static/images/logo.png" alt="logo-icon">
|
||||
<button id="mobileToogle" class="btn btn-topbar d-lg-none d-flex align-items-center justify-content-center">
|
||||
<i class="ti ti-align-left"></i>
|
||||
</button>
|
||||
<div class="vr d-lg-none"></div>
|
||||
<h5 class="fw-bold mb-0 text-uppercase fs-6 d-flex align-items-center">
|
||||
Forms
|
||||
</h5>
|
||||
</div>
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<div class="position-relative search-form">
|
||||
<input type="text" class="form-control" placeholder="Search for results...">
|
||||
<i class="icon-search search-icon position-absolute top-50 end-0 translate-middle-y me-2"></i>
|
||||
</div>
|
||||
<div class="vr d-none d-lg-block"></div>
|
||||
<!-- Cart -->
|
||||
<button class="btn position-relative p-0 btn-topbar" type="button" data-bs-toggle="offcanvas" data-bs-target="#cartOffcanvas" aria-controls="messagesSidebar">
|
||||
<i class="cil-cart"></i>
|
||||
<span class="position-absolute translate-middle badge rounded-pill bg-danger d-flex align-items-center justify-content-center">
|
||||
4
|
||||
</span>
|
||||
</button>
|
||||
<!-- Notifikasi -->
|
||||
<button class="btn position-relative p-0 btn-topbar border-0" type="button" data-bs-toggle="offcanvas" data-bs-target="#notificationOffcanvas" aria-controls="notificationOffcanvas">
|
||||
<i class="cil-bell"></i>
|
||||
<span class="position-absolute translate-middle badge rounded-pill bg-danger d-flex align-items-center justify-content-center">
|
||||
2
|
||||
</span>
|
||||
</button>
|
||||
<div class="vr"></div>
|
||||
<!-- User Profile -->
|
||||
<button
|
||||
class="btn btn-link text-secondary text-decoration-none d-flex align-items-center gap-3 p-0"
|
||||
type="button"
|
||||
data-bs-toggle="offcanvas"
|
||||
data-bs-target="#profileOffcanvas"
|
||||
aria-controls="profileOffcanvas"
|
||||
>
|
||||
<img src="static/images/profile.png" alt="Profile Avatar" class="image-profile rounded-circle border border-2">
|
||||
<div class="d-lg-flex align-items-center gap-1 d-none">
|
||||
<div class="d-flex flex-column align-items-start lh-sm">
|
||||
<div class="fw-bold" style="font-size: 1rem;">Admin</div>
|
||||
<div class="text-muted small opacity-75">Superuser</div>
|
||||
</div>
|
||||
<!-- <i class="ti ti-chevron-down align-middle"></i> -->
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- topbar-secondary -->
|
||||
<div class="topbar-secondary d-flex align-items-center justify-content-between">
|
||||
<div class="d-flex align-items-center">
|
||||
<a href="javascript:history.back()" class="btn-back d-none d-lg-block">
|
||||
<i class="ri-arrow-left-double-line"></i>
|
||||
</a>
|
||||
<div class="vr mx-3 d-none d-lg-block"></div>
|
||||
<h5 class="fw-medium mb-0 text-light">Basic Form</h5>
|
||||
</div>
|
||||
<nav>
|
||||
<ul class="nav nav-pills d-none d-lg-flex overflow-auto flex-nowrap align-items-center">
|
||||
<li class="nav-item"><a href="basic-form.html" class="nav-link">Basic Form</a></li>
|
||||
<li class="nav-item"><a href="advanced-form.html" class="nav-link active">Advanced Form</a></li>
|
||||
<div class="vr me-4 align-self-center bg-light" style="height: 18px; opacity: 0.4;"></div>
|
||||
<li class="nav-item"><a href="#" class="nav-link" data-bs-toggle="modal" data-bs-target="#confirmModal"><i class="bi bi-info-circle"></i> Information</a></li>
|
||||
</ul>
|
||||
<div class="dropdown d-lg-none">
|
||||
<button class="btn text-light border-0 p-2" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<i class="ri-menu-line fs-5"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-end shadow-sm bz-dropdown-menu">
|
||||
<li>
|
||||
<a class="dropdown-item" href="basic-form.html">Basic Form</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item active" href="advanced-form.html">Advanced Form</a>
|
||||
</li>
|
||||
<li class="px-2"><hr class="dropdown-divider my-2 opacity-25 border-light"></li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#" data-bs-toggle="modal" data-bs-target="#confirmModal">
|
||||
<i class="bi bi-info-circle"></i> Information
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
<!-- main-content -->
|
||||
<div class="main-content">
|
||||
<div class="container-fluid py-4">
|
||||
<div class="row mt-2">
|
||||
<div class="col-12">
|
||||
<!-- FORM CARD -->
|
||||
<div class="card shadow-lg border-0">
|
||||
<div class="card-body p-5">
|
||||
<div class="d-flex justify-content-between align-items-center border-bottom pb-2 mb-4">
|
||||
<h6 class="mb-0">
|
||||
Advanced Elements
|
||||
</h6>
|
||||
</div>
|
||||
<form action="#" method="POST" enctype="multipart/form-data">
|
||||
<div class="row g-4">
|
||||
<div class="col-12 col-md-3">
|
||||
<label class="form-label" for="date">
|
||||
Select Date
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control date"
|
||||
placeholder="Select a date (dd-mm-yyyy)"
|
||||
>
|
||||
<div class="form-text">
|
||||
Input provided via <strong>Flatpickr</strong>. Please use the calendar pop-up.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-3">
|
||||
<label for="id_numerical_control" class="form-label">
|
||||
Input Value
|
||||
</label>
|
||||
<div class="quantity-control d-flex justify-content-center align-items-center">
|
||||
<button type="button" class="quantity-btn" onclick="adjustQuantity(this, -1)">
|
||||
<i class="ri-subtract-line"></i>
|
||||
</button>
|
||||
|
||||
<input type="number"
|
||||
name="generic_numeric_input"
|
||||
id="id_numerical_control"
|
||||
class="quantity-input form-control text-center mx-1 qty-input"
|
||||
value="0"
|
||||
min="0"
|
||||
max="1000"
|
||||
required
|
||||
aria-describedby="custom_control_help">
|
||||
|
||||
<button type="button" class="quantity-btn" onclick="adjustQuantity(this, 1)">
|
||||
<i class="ri-add-line"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="custom_control_help" class="form-text ms-1">
|
||||
This field uses a <strong>custom numeric control</strong>. Use the buttons or input manually.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-3">
|
||||
<div class="mb-3">
|
||||
<label for="id_search_data" class="form-label">
|
||||
Search Entry
|
||||
</label>
|
||||
<select id="id_search_data" name="search_data" class="form-select custom-select-js" style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="electronics">Electronics</option>
|
||||
<option value="accessories">Accessories</option>
|
||||
<option value="office-supplies">Office Supplies</option>
|
||||
<option value="other">Other</option>
|
||||
</select>
|
||||
<div id="search_help" class="form-text ms-1">
|
||||
This field is powered by <strong>Select2</strong>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-md-3">
|
||||
<label for="id_tag" class="form-label">
|
||||
Tags
|
||||
</label>
|
||||
<select class="tags" multiple="multiple">
|
||||
<option value="electronics">Electronics</option>
|
||||
<option value="accessories">Accessories</option>
|
||||
<option value="office-supplies">Office Supplies</option>
|
||||
<option value="other">Other</option>
|
||||
</select>
|
||||
<div id="search_help" class="form-text ms-1">
|
||||
This field is powered by <strong>Select2</strong>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
<label for="id_attachments" class="form-label">
|
||||
Attachments
|
||||
</label>
|
||||
<div class="file-input-wrapper">
|
||||
<input type="file"
|
||||
class="file-input"
|
||||
id="id_attachments"
|
||||
accept="*/*"
|
||||
multiple
|
||||
onchange="handleFileUpload(this, 'file_preview_container', 'id_attachments')">
|
||||
<label for="id_attachments" class="file-input-label">
|
||||
<i class="ri-upload-cloud-2-line"></i>
|
||||
<div class="file-input-text">
|
||||
<span>Click or drag to upload files</span>
|
||||
<div>
|
||||
Maximum file size: 10MB per file
|
||||
</div>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div id="file_preview_container" class="file-preview" style="display: none;"></div>
|
||||
<div class="form-text ms-1">
|
||||
This field supports <strong>multi-file upload</strong>. You can attach any relevant supporting documents here.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr class="my-5">
|
||||
<div class="d-flex justify-content-end">
|
||||
<button onclick="history.back()" class="btn bz-btn-outline-primary btn-bz-size me-2">Cancel</button>
|
||||
<button
|
||||
type="submit"
|
||||
class="btn bz-btn-primary btn-bz-size"
|
||||
>Add Item
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- offcanvas -->
|
||||
<div class="offcanvas offcanvas-end" tabindex="-1" id="cartOffcanvas" aria-labelledby="cartOffcanvas">
|
||||
<div class="offcanvas-header border-bottom">
|
||||
<div class="d-flex align-items-center w-100">
|
||||
<div class="flex-grow-1">
|
||||
<p class="offcanvas-title mb-0 fw-bold" id="cartOffcanvasLabel">
|
||||
Carts
|
||||
</p>
|
||||
<div class="fsmall mb-0">You have 4 item in your cart</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center">
|
||||
<button type="button" class="btn-close btn-close-white small" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="offcanvas-body p-0">
|
||||
<div id="cartContainer">
|
||||
<div class="list-group list-group-flush">
|
||||
<a href="#" class="list-group-item list-group-item-action border-bottom py-2 px-3">
|
||||
<div class="d-flex align-items-start">
|
||||
<div class="me-3">
|
||||
<div class="rounded-circle bg-primary bg-opacity-10 text-primary d-flex align-items-center justify-content-center"
|
||||
style="width: 36px; height: 36px;">
|
||||
<i class="bi bi-cart"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<div class="fw-bold text-dark mb-1">DELL-5430-KYBD</div>
|
||||
<div class="text-muted small mb-2">Internal Keyboard US-English</div>
|
||||
</div>
|
||||
<small class="text-muted text-nowrap ms-3 d-flex align-items-center">
|
||||
<i class="ri-time-line me-1"></i>2 minutes ago
|
||||
</small>
|
||||
</div>
|
||||
<div class="text-muted small">Qty: 2 unit(s)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action border-bottom py-2 px-3">
|
||||
<div class="d-flex align-items-start">
|
||||
<div class="me-3">
|
||||
<div class="rounded-circle bg-primary bg-opacity-10 text-primary d-flex align-items-center justify-content-center"
|
||||
style="width: 36px; height: 36px;">
|
||||
<i class="bi bi-cart"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<div class="fw-bold text-dark mb-1">BATT-54WH-RY</div>
|
||||
<div class="text-muted small mb-2">Battery 4-Cell 54Wh Long Life</div>
|
||||
</div>
|
||||
<small class="text-muted text-nowrap ms-3 d-flex align-items-center">
|
||||
<i class="ri-time-line me-1"></i>15 minutes ago
|
||||
</small>
|
||||
</div>
|
||||
<div class="text-muted small">Qty: 1 unit(s)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action border-bottom py-2 px-3">
|
||||
<div class="d-flex align-items-start">
|
||||
<div class="me-3">
|
||||
<div class="rounded-circle bg-primary bg-opacity-10 text-primary d-flex align-items-center justify-content-center"
|
||||
style="width: 36px; height: 36px;">
|
||||
<i class="bi bi-cart"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<div class="fw-bold text-dark mb-1">SSD-NVME-512</div>
|
||||
<div class="text-muted small mb-2">512GB NVMe M.2 2280 Gen4</div>
|
||||
</div>
|
||||
<small class="text-muted text-nowrap ms-3 d-flex align-items-center">
|
||||
<i class="ri-time-line me-1"></i>1 hours ago
|
||||
</small>
|
||||
</div>
|
||||
<div class="text-muted small">Qty: 5 unit(s)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="list-group-item list-group-item-action border-bottom py-2 px-3">
|
||||
<div class="d-flex align-items-start">
|
||||
<div class="me-3">
|
||||
<div class="rounded-circle bg-primary bg-opacity-10 text-primary d-flex align-items-center justify-content-center"
|
||||
style="width: 36px; height: 36px;">
|
||||
<i class="bi bi-cart"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<div class="d-flex justify-content-between align-items-start">
|
||||
<div>
|
||||
<div class="fw-bold text-dark mb-1">MEM-DDR4-16G</div>
|
||||
<div class="text-muted small mb-2">16GB DDR4 3200MHz SODIMM</div>
|
||||
</div>
|
||||
<small class="text-muted text-nowrap ms-3 d-flex align-items-center">
|
||||
<i class="ri-time-line me-1"></i>2 hours ago
|
||||
</small>
|
||||
</div>
|
||||
<div class="text-muted small">Qty: 3 unit(s)</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="offcanvas offcanvas-end" tabindex="-1" id="notificationOffcanvas" aria-labelledby="notificationOffcanvasLabel">
|
||||
<div class="offcanvas-header border-bottom">
|
||||
<div class="d-flex align-items-center w-100">
|
||||
<div class="flex-grow-1">
|
||||
<p class="offcanvas-title mb-0 fw-bold" id="notificationOffcanvasLabel">
|
||||
Notifications
|
||||
</p>
|
||||
<div class="fsmall mb-0">You have 2 new notifications</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center">
|
||||
<button type="button" class="btn-close btn-close-white small" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="offcanvas-body p-0">
|
||||
<div id="notificationContainer">
|
||||
<div class="sticky-top bg-light">
|
||||
<div class="d-flex justify-content-between align-items-center px-2 border">
|
||||
<div class="d-flex align-items-center ps-2">
|
||||
<div class="form-check d-flex align-items-center m-0 p-0">
|
||||
<input class="form-check-input m-0" type="checkbox" id="selectAll">
|
||||
<label class="form-check-label ms-3" for="selectAll">Select All</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="btn-group" role="group">
|
||||
<button type="button" onclick="handleBulkAction('mark_read')" id="btnBulkRead" class="btn btn-sm btn-link text-secondary text-decoration-none">
|
||||
<i class="ri-mail-open-line"></i><span> Mark Read</span>
|
||||
</button>
|
||||
<div class="vr mx-2 align-self-center" style="height: 16px; opacity: 0.2;"></div>
|
||||
<button type="button" onclick="handleBulkAction('delete')" id="btnBulkDelete" class="btn btn-sm btn-link text-danger text-decoration-none">
|
||||
<i class="ri-delete-bin-line"></i><span> Delete</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-group list-group-flush">
|
||||
<!-- Item 1 -->
|
||||
<div class="list-group-item p-0 border-bottom bg-offcanvas-body text-dark fw-semibold">
|
||||
<div class="d-flex align-items-start py-2 px-3">
|
||||
<div class="pe-3 pt-1">
|
||||
<input class="form-check-input notif-checkbox" type="checkbox">
|
||||
</div>
|
||||
<a href="#" class="text-decoration-none text-dark d-flex justify-content-between align-items-start flex-grow-1 gap-3">
|
||||
<div>
|
||||
<p class="mb-0 small">
|
||||
Your Order Has Been Shipped
|
||||
</p>
|
||||
<span class="text-muted small">
|
||||
Order #DO-123456 has shipped to your delivery address
|
||||
</span>
|
||||
</div>
|
||||
<div class="text-muted small text-nowrap d-flex align-items-center pt-1">
|
||||
<i class="ri-time-line me-1"></i>
|
||||
2 hours ago
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Item 2 -->
|
||||
<div class="list-group-item p-0 border-bottom bg-offcanvas-body text-dark fw-semibold">
|
||||
<div class="d-flex align-items-start py-2 px-3">
|
||||
<!-- Checkbox -->
|
||||
<div class="pe-3 pt-1">
|
||||
<input class="form-check-input notif-checkbox" type="checkbox">
|
||||
</div>
|
||||
<!-- Content -->
|
||||
<a href="#" class="text-decoration-none text-dark d-flex justify-content-between align-items-start flex-grow-1 gap-3">
|
||||
<!-- Left -->
|
||||
<div>
|
||||
<p class="mb-0 small">
|
||||
Payment Received
|
||||
</p>
|
||||
<span class="text-muted small">
|
||||
Invoice #INV-202401 has been paid successfully
|
||||
</span>
|
||||
</div>
|
||||
<!-- Time -->
|
||||
<div class="text-muted small text-nowrap d-flex align-items-center pt-1">
|
||||
<i class="ri-time-line me-1"></i>
|
||||
5 hours ago
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Item 3 -->
|
||||
<div class="list-group-item p-0 border-bottom text-dark fw-normal">
|
||||
<div class="d-flex align-items-start py-2 px-3">
|
||||
<!-- Checkbox -->
|
||||
<div class="pe-3 pt-1">
|
||||
<input class="form-check-input notif-checkbox" type="checkbox">
|
||||
</div>
|
||||
<!-- Content -->
|
||||
<a href="#" class="text-decoration-none text-dark d-flex justify-content-between align-items-start flex-grow-1 gap-3">
|
||||
<!-- Left -->
|
||||
<div>
|
||||
<p class="mb-0 small">
|
||||
New Login Detected
|
||||
</p>
|
||||
<span class="text-muted small">
|
||||
Jakarta, ID • Chrome on Ubuntu
|
||||
</span>
|
||||
</div>
|
||||
<!-- Time -->
|
||||
<div class="text-muted small text-nowrap d-flex align-items-center pt-1">
|
||||
<i class="ri-time-line me-1"></i>
|
||||
Yesterday
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Item 4 -->
|
||||
<div class="list-group-item p-0 border-bottom text-dark fw-normal">
|
||||
<div class="d-flex align-items-start py-2 px-3">
|
||||
<!-- Checkbox -->
|
||||
<div class="pe-3 pt-1">
|
||||
<input class="form-check-input notif-checkbox" type="checkbox">
|
||||
</div>
|
||||
<!-- Content -->
|
||||
<a href="#" class="text-decoration-none text-dark d-flex justify-content-between align-items-start flex-grow-1 gap-3">
|
||||
<!-- Left -->
|
||||
<div>
|
||||
<p class="mb-0 small">
|
||||
Stock Opname in Progress
|
||||
</p>
|
||||
<span class="text-muted small">
|
||||
Reference: #SO-12-2025 (Warehouse B)
|
||||
</span>
|
||||
</div>
|
||||
<!-- Time -->
|
||||
<div class="text-muted small text-nowrap d-flex align-items-center pt-1">
|
||||
<i class="ri-time-line me-1"></i>
|
||||
4 days ago
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Item 5 -->
|
||||
<div class="list-group-item p-0 border-bottom text-dark fw-normal">
|
||||
<div class="d-flex align-items-start py-2 px-3">
|
||||
<!-- Checkbox -->
|
||||
<div class="pe-3 pt-1">
|
||||
<input class="form-check-input notif-checkbox" type="checkbox">
|
||||
</div>
|
||||
<!-- Content -->
|
||||
<a href="#" class="text-decoration-none text-dark d-flex justify-content-between align-items-start flex-grow-1 gap-3">
|
||||
<!-- Left -->
|
||||
<div>
|
||||
<p class="mb-0 small">
|
||||
System Test Completed
|
||||
</p>
|
||||
<span class="text-muted small">
|
||||
Reference: #TEST-DEBUG-LOG
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- Time -->
|
||||
<div class="text-muted small text-nowrap d-flex align-items-center pt-1">
|
||||
<i class="ri-time-line me-1"></i>
|
||||
6 days ago
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="offcanvas offcanvas-end" tabindex="-1" id="profileOffcanvas" aria-labelledby="profileOffcanvasLabel">
|
||||
<div class="offcanvas-header border-bottom">
|
||||
<div class="d-flex align-items-center w-100">
|
||||
<div class="flex-grow-1">
|
||||
<p class="offcanvas-title mb-0 fw-bold" id="profileOffcanvasLabel">
|
||||
Your Account
|
||||
</p>
|
||||
<div class="fsmall mb-0">Last sign-in: 02/01/2025-2026 17:36</div>
|
||||
</div>
|
||||
<button type="button" class="btn-close btn-close-white small" data-bs-dismiss="offcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="offcanvas-body p-0">
|
||||
<div class="p-4 text-center text-account-dropdown">
|
||||
<div class="position-relative d-inline-block mx-auto">
|
||||
<div class="profile-img-container">
|
||||
<img src="static/images/profile.png" class="img img-thumbnail rounded-circle w-25" alt="Profile Avatar">
|
||||
</div>
|
||||
</div>
|
||||
<div class="fw-bold mt-3 mb-2 opacity-75" style="font-size: 1rem;">Admin</div>
|
||||
<div class="text-muted fsmall opacity-75">Superuser</div>
|
||||
<div class="text-muted fsmall opacity-75">admin@mail.com</div>
|
||||
<div class="mt-3 text-center">
|
||||
<button type="button" class="btn btn-danger btn-bz-size" onclick="location.href='login.html'">
|
||||
<i class="ri-logout-box-r-line"></i> Sign Out
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Copyright -->
|
||||
<div class="offcanvas-footer p-4 bg-light">
|
||||
<div class="text-center text-muted fsmall">
|
||||
<p class="fw-semibold text-dark mb-2">
|
||||
© 2025-2026 Skoci Admin<br>All rights reserved.
|
||||
</p>
|
||||
<p class="mb-2">
|
||||
<a href="https://github.com/abeemanew/skoci-admin" target="_blank" class="text-decoration-none text-muted">
|
||||
<i class="bi bi-github me-1"></i> GitHub Repository
|
||||
</a>
|
||||
</p>
|
||||
<p class="mb-0 d-inline-flex align-items-center">
|
||||
Built with
|
||||
<img src="static/images/favicon.ico" alt="Icon" width="18" height="18" class="mx-1">
|
||||
<span class="fw-semibold text-dark me-1"> Skoci Admin</span> • v2.2
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- modal -->
|
||||
<div class="modal fade" id="confirmModal" tabindex="-1" aria-labelledby="confirmModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="confirmModalLabel">
|
||||
<i class="bi bi-info-circle"></i> Information
|
||||
</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
<div class="mt-3">
|
||||
<p class="px-3">This is where you can provide detailed information, announcements, or a user guide for your application.</p>
|
||||
<hr class="my-4">
|
||||
<div class="d-flex justify-content-end mb-4">
|
||||
<button type="button" class="btn bz-btn-outline-primary btn-bz-size me-2" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="button" class="btn bz-btn-primary btn-bz-size" data-bs-dismiss="modal">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- flatpickr -->
|
||||
<script src="static/vendor/flatpickr/flatpickr.js"></script>
|
||||
<!-- Select2 JS -->
|
||||
<script src="static/vendor/select2/select2.min.js"></script>
|
||||
<!-- SweetAlert JS -->
|
||||
<script src="static/vendor/sweetalert2.js"></script>
|
||||
<script src="static/js/main.js"></script>
|
||||
<script src="static/vendor/bootstrap/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
// Select 2
|
||||
$('.custom-select-js').select2({
|
||||
theme: 'bootstrap-5',
|
||||
width: '100%',
|
||||
placeholder: "-- Search and select --",
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$('.tags').select2({
|
||||
theme: 'bootstrap-5',
|
||||
tags: true,
|
||||
// tokenSeparators: [',', ' '],
|
||||
allowClear: true,
|
||||
width: '100%',
|
||||
placeholder: "Select or type tags"
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
if (typeof flatpickr !== 'undefined' && $('.date').length) {
|
||||
flatpickr(".date", {
|
||||
dateFormat: "d-m-Y",
|
||||
// dateFormat: "d/m/Y",
|
||||
allowInput: true,
|
||||
locale: "id",
|
||||
|
||||
onDayCreate: function(_, __, ___, dayElem) {
|
||||
const d = dayElem.dateObj;
|
||||
|
||||
if (
|
||||
dayElem.classList.contains("prevMonthDay") ||
|
||||
dayElem.classList.contains("nextMonthDay")
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Sunday (0)
|
||||
if (d.getDay() === 0) {
|
||||
dayElem.classList.add("sunday");
|
||||
}
|
||||
|
||||
// Friday (5)
|
||||
if (d.getDay() === 5) {
|
||||
dayElem.classList.add("friday");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user