Files
taxbaik/legacy/smartadmin/ui-panels.html
T
kjh2064 40cffb3beb
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m26s
fix: implement Blazor-native login form to properly update authentication state
Problem: JavaScript login form saved tokens to localStorage but didn't notify
CustomAuthenticationStateProvider, causing [Authorize] pages to remain in
'loading' state indefinitely. The provider only reads tokens when:
1. GetAuthenticationStateAsync() is called (page load)
2. NotifyAuthenticationStateChanged() is triggered (UI updates)

But JavaScript login didn't trigger either, leaving the authentication state
stale.

Solution: Convert AdminLoginForm from HTML+JavaScript to pure Blazor component.
Now the login flow is:
1. User enters credentials in Blazor form
2. HttpClient POST to /api/auth/login
3. Save tokens to localStorage
4. Call CustomAuthenticationStateProvider.LoginAsync() directly
5. Blazor detects auth state change and re-evaluates [Authorize] pages
6. Dashboard [Authorize] page renders successfully

Result: Immediate authentication state update, no loading timeout on protected pages.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-03 13:03:53 +09:00

2501 lines
165 KiB
HTML

<!DOCTYPE html>
<html lang="en" data-bs-theme="light" class="set-nav-dark">
<!-- Mirrored from getwebora.com/smartadmin/demo/ui-panels.html by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 30 Jun 2026 04:28:21 GMT -->
<head>
<meta charset="utf-8">
<title> Panels | SmartAdmin - Enterprise Admin Dashboard by Webora</title>
<meta name="description" content="Page Description">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=5">
<!-- Standard favicon for browsers -->
<link rel="icon" href="img/favicon-32x32.png" type="image/png" sizes="32x32">
<link rel="icon" href="img/favicon-16x16.png" type="image/png" sizes="16x16">
<!-- Apple Touch Icon (iOS) -->
<link rel="apple-touch-icon" href="img/apple-touch-icon.png" sizes="180x180">
<!-- Android/Chrome (Progressive Web App) -->
<link rel="icon" href="img/favicon-192x192.png" type="image/png" sizes="192x192">
<!-- Call App Mode on ios devices -->
<meta name="mobile-web-app-capable" content="yes">
<!-- Remove Tap Highlight on Windows Phone IE -->
<meta name="msapplication-tap-highlight" content="no">
<!-- Vendor css -->
<link rel="stylesheet" media="screen, print" href="plugins/waves/waves.min.css">
<!-- Base css -->
<link rel="stylesheet" media="screen, print" href="css/smartapp.min.css">
<!-- Icons css-->
<link rel="stylesheet" media="screen, print" href="webfonts/smartadmin/sa-icons.css">
<link rel="stylesheet" media="screen, print" href="webfonts/fontawesome/fontawesome.css">
<!-- Save/Load functionality JavaScript -->
<script src="scripts/core/saveloadscript.js"></script>
</head>
<body>
<div class="app-wrap">
<header class="app-header">
<!-- Collapse icon -->
<div class="d-flex flex-grow-1 w-100 me-auto align-items-center">
<!-- App logo -->
<a href="dashboard-control-center.html" class="app-logo flex-shrink-0" data-prefix="v5.5.0" data-action="playsound" data-soundpath="media/sound/" data-soundfile="sawhisp.mp3">
<!-- <img src="img/logo.svg" alt="logo"> -->
<svg class="custom-logo">
<use href="img/app-logo.svg#custom-logo"></use>
</svg>
<!-- Logo Backdrop Animation -->
<div class="logo-backdrop">
<div class="blobs">
<svg viewbox="0 0 1200 1200">
<g class="blob blob-1">
<path d="M 100 600 q 0 -700, 500 -500 t 500 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-2">
<path d="M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-3">
<path d="M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-4">
<path d="M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z" />
</g>
<g class="blob blob-1 alt">
<path d="M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z" />
</g>
<g class="blob blob-2 alt">
<path d="M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-3 alt">
<path d="M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-4 alt">
<path d="M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z" />
</g>
</svg>
</div>
</div>
</a>
<button class="mobile-menu-icon me-2 d-flex d-sm-flex d-md-flex d-lg-none flex-shrink-0" data-action="toggle-swap" data-toggleclass="app-mobile-menu-open" aria-label="Toggle Mobile Menu">
<svg class="sa-icon">
<use href="icons/sprite.svg#menu"></use>
</svg>
</button>
<!-- Collapse icon -->
<button type="button" class="collapse-icon me-3 d-none d-lg-inline-flex d-xl-inline-flex d-xxl-inline-flex" data-action="toggle" data-class="set-nav-minified" aria-label="Toggle Navigation Size">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 5 8">
<polygon fill="#878787" points="4.5,1 3.8,0.2 0,4 3.8,7.8 4.5,7 1.5,4" />
</svg>
</button>
<form class="app-search" role="search" action="https://getwebora.com/smartadmin/demo/search.html" autocomplete="off">
<input type="text" class="form-control" placeholder="Search for anything">
</form>
</div>
<!-- Settings -->
<button type="button" class="btn btn-system hidden-mobile" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-drawer-settings" aria-label="Open Settings">
<svg class="sa-icon sa-icon-2x">
<use href="icons/sprite.svg#settings"></use>
</svg>
</button>
<!-- Theme modes -->
<button type="button" class="btn btn-system" data-action="toggle-theme" aria-label="Toggle Dark Mode" aria-pressed="false">
<svg class="sa-icon sa-icon-2x sa-mode-light">
<use href="icons/sprite.svg#sun"></use>
</svg>
<svg class="sa-icon sa-icon-2x sa-mode-dark">
<use href="icons/sprite.svg#moon"></use>
</svg>
</button>
<!-- Sidebar -->
<button type="button" class="btn btn-system d-none d-sm-block d-sm-none d-md-none d-lg-block" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-app-drawer" aria-label="Open Sidebar">
<svg class="sa-icon sa-icon-2x">
<use href="icons/sprite.svg#aperture"></use>
</svg>
</button>
<!-- Full Screen Mode -->
<button type="button" class="btn btn-system d-none d-sm-block d-sm-none d-md-none d-lg-block" data-action="app-fullscreen" aria-label="Toggle Dark Mode" aria-pressed="false">
<svg class="sa-icon sa-icon-2x sa-fullscreen-on">
<use href="icons/sprite.svg#minimize"></use>
</svg>
<svg class="sa-icon sa-icon-2x sa-fullscreen-off">
<use href="icons/sprite.svg#maximize"></use>
</svg>
</button>
<!-- Notifications -->
<button type="button" class="btn btn-system dropdown-toggle no-arrow" data-bs-toggle="dropdown" aria-expanded="false" aria-label="Open Notifications">
<span class="badge badge-icon pos-top pos-end">5</span>
<svg class="sa-icon sa-icon-2x">
<use href="icons/sprite.svg#bell"></use>
</svg>
</button>
<!-- Notifications dropdown -->
<div class="dropdown-menu dropdown-menu-animated dropdown-xl dropdown-menu-end p-0">
<div class="notification-header rounded-top mb-2">
<h4 class="m-0">
5 New
<small class="mb-0 opacity-80">User Notifications</small>
</h4>
</div>
<ul class="nav nav-tabs nav-tabs-clean" role="tablist">
<li class="nav-item d-none">
<a class="nav-link active" data-bs-toggle="tab" href="#tab-default" role="tab" aria-selected="true">Hidden</a>
</li>
<li class="nav-item">
<a class="nav-link px-4 fs-md fw-500" data-bs-toggle="tab" href="#tab-messages" role="tab" aria-selected="false">Messages</a>
</li>
<li class="nav-item">
<a class="nav-link px-4 fs-md fw-500" data-bs-toggle="tab" href="#tab-feeds" role="tab" aria-selected="false">Feeds</a>
</li>
<li class="nav-item">
<a class="nav-link px-4 fs-md fw-500" data-bs-toggle="tab" href="#tab-events" role="tab" aria-selected="false">Events</a>
</li>
</ul>
<div class="tab-content tab-notification">
<!--Security message-->
<div class="tab-pane fade show active" id="tab-default" role="tabpanel">
<div class="d-flex h-100">
<div class="px-4 d-flex flex-column align-items-center justify-content-center">
<svg class="sa-icon sa-icon-5x sa-icon-primary">
<use href="icons/sprite.svg#arrow-up-circle"></use>
</svg>
<span class="text-center fw-300" style="font-size: 1.25rem;">
Select a tab above
</span>
<div class="mb-0 py-3 text-center fs-md fw-300 text-muted">
This blank page helps protect your privacy.
To change this default message, <a href="#">update your settings</a>.
</div>
</div>
</div>
</div>
<!-- Messages -->
<div class="tab-pane fade" id="tab-messages" role="tabpanel">
<div class="custom-scroll h-100">
<ul class="notification">
<li class="unread alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-c.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<!-- <span class="name">Melissa Ayre <span class="badge bg-primary fw-n position-absolute top-0 end-0 mt-1">INBOX</span></span> -->
<span class="name">Melissa Ayre</span>
<span class="msg-a fs-sm">Re: New security codes</span>
<span class="msg-b fs-xs">Hello again and thanks for being part...</span>
<span class="fs-nano text-muted mt-1">56 seconds ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="unread alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-a.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<span class="name">Adison Lee</span>
<span class="msg-a fs-sm">Msed quia non numquam eius</span>
<span class="fs-nano text-muted mt-1">2 minutes ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status status-success me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-b.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<span class="name">Oliver Kopyuv</span>
<span class="msg-a fs-sm">Msed quia non numquam eius</span>
<span class="fs-nano text-muted mt-1">3 days ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status status-warning me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-e.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<span class="name">Dr. John Cook PhD</span>
<span class="msg-a fs-sm">Msed quia non numquam eius</span>
<span class="fs-nano text-muted mt-1">2 weeks ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status status-success me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-h.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<span class="name">Sarah McBrook</span>
<span class="msg-a fs-sm">Msed quia non numquam eius</span>
<span class="fs-nano text-muted mt-1">3 weeks ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status status-success me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-m.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<span class="name">Anothony Bezyeth</span>
<span class="msg-a fs-sm">Msed quia non numquam eius</span>
<span class="fs-nano text-muted mt-1">one month ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center">
<span class="status status-danger me-2">
<span class="profile-image rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-j.png')"></span>
</span>
<span class="d-flex flex-column flex-1 ms-1">
<span class="name">Lisa Hatchensen</span>
<span class="msg-a fs-sm">Msed quia non numquam eius</span>
<span class="fs-nano text-muted mt-1">one year ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
</ul>
<div class="notification-empty-msg">
<svg class="sa-icon sa-icon-5x sa-icon-primary">
<use href="icons/sprite.svg#coffee"></use>
</svg>
<span>
No new messages
</span>
</div>
</div>
</div>
<!-- Feeds -->
<div class="tab-pane fade" id="tab-feeds" role="tabpanel">
<div class="custom-scroll h-100">
<ul class="notification">
<li class="unread alert alert-dismissable">
<div class="d-flex align-items-center show-child-on-hover">
<span class="d-flex flex-column flex-1">
<span class="name d-flex align-items-center">Administrator <span class="badge bg-success fw-n ms-1">UPDATE</span></span>
<span class="msg-a fs-sm">
System updated to version <strong>5.0</strong> <a href="buildnotes.html">(build notes)</a>
</span>
<span class="fs-nano text-muted mt-1">5 mins ago</span>
</span>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center show-child-on-hover">
<div class="d-flex flex-column flex-1">
<span class="name">
Adison Lee <span class="fw-300 d-inline">replied to your video <a href="#" class="fw-400"> Cancer Drug</a> </span>
</span>
<span class="msg-a fs-sm mt-2">Bring to the table win-win survival strategies to ensure proactive domination. At the end of the day...</span>
<span class="fs-nano text-muted mt-1">10 minutes ago</span>
</div>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center show-child-on-hover">
<div class="d-flex flex-column flex-1">
<span class="name">
Troy Norman'<span class="fw-300">s new connections</span>
</span>
<div class="fs-sm d-flex align-items-center mt-2">
<span class="profile-image-md ms-1 rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-a.png'); background-size: cover;"></span>
<span class="profile-image-md ms-1 rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-b.png'); background-size: cover;"></span>
<span class="profile-image-md ms-1 rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-c.png'); background-size: cover;"></span>
<span class="profile-image-md ms-1 rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-e.png'); background-size: cover;"></span>
<div data-hasmore="+3" class="rounded-circle profile-image-md ms-1">
<span class="profile-image-md ms-1 rounded-circle d-inline-block" style="background-image:url('img/demo/avatars/avatar-h.png'); background-size: cover;"></span>
</div>
</div>
<span class="fs-nano text-muted mt-1">55 minutes ago</span>
</div>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center show-child-on-hover">
<div class="d-flex flex-column flex-1">
<span class="name">Dr John Cook <span class="fw-300">sent a <span class="text-danger">new signal</span></span></span>
<span class="msg-a fs-sm mt-2">Nanotechnology immersion along the information highway will close the loop on focusing solely on the bottom line.</span>
<span class="fs-nano text-muted mt-1">10 minutes ago</span>
</div>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center show-child-on-hover">
<div class="d-flex flex-column flex-1">
<span class="name">Lab Images <span class="fw-300">were updated!</span></span>
<div class="fs-sm d-flex align-items-center mt-1">
<a href="#" class="ms-1 mt-1" title="Cell A-0012">
<span class="d-block img-share" style="background-image:url('img/thumbs/pic-7.png'); background-size: cover;"></span>
</a>
<a href="#" class="ms-1 mt-1" title="Patient A-473 saliva">
<span class="d-block img-share" style="background-image:url('img/thumbs/pic-8.png'); background-size: cover;"></span>
</a>
<a href="#" class="ms-1 mt-1" title="Patient A-473 blood cells">
<span class="d-block img-share" style="background-image:url('img/thumbs/pic-11.png'); background-size: cover;"></span>
</a>
<a href="#" class="ms-1 mt-1" title="Patient A-473 Membrane O.C">
<span class="d-block img-share" style="background-image:url('img/thumbs/pic-12.png'); background-size: cover;"></span>
</a>
</div>
<span class="fs-nano text-muted mt-1">55 minutes ago</span>
</div>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
<li class="alert alert-dismissable">
<div class="d-flex align-items-center show-child-on-hover">
<div class="d-flex flex-column flex-1 w-100">
<div class="name mb-2"> Lisa Lamar<span class="fw-300"> updated project</span>
</div>
<div class="row fs-b fw-300">
<div class="col text-start"> Progress </div>
<div class="col text-end fw-500"> 45% </div>
</div>
<div class="progress progress-sm d-flex mt-1">
<span class="progress-bar bg-primary progress-bar-striped" role="progressbar" style="width: 45%" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100"></span>
</div>
<span class="fs-nano text-muted mt-1">2 hrs ago</span>
</div>
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</li>
</ul>
<div class="notification-empty-msg">
<svg class="sa-icon sa-icon-5x sa-icon-primary">
<use href="icons/sprite.svg#smile"></use>
</svg>
<span>
You are all set!
</span>
</div>
</div>
</div>
<!-- Events -->
<div class="tab-pane fade" id="tab-events" role="tabpanel">
<div class="d-flex flex-column h-100">
<div class="h-auto">
<table class="table-calendar m-0 w-100 h-100 border-0">
<tr>
<th colspan="7" class="pt-3 pb-2 px-3 text-center">
<div class="js-get-date h6 fw-600 mb-2">Fake Day, October 15th, 2090</div>
</th>
</tr>
<tr class="text-center">
<th>Sun</th>
<th>Mon</th>
<th>Tue</th>
<th>Wed</th>
<th>Thu</th>
<th>Fri</th>
<th>Sat</th>
</tr>
<tr>
<td class="text-muted bg-faded">30</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>
<svg class="sa-icon sa-icon-warning m-1 position-absolute pos-left pos-top" style="--sa-icon-size: 0.85rem; --sa-fill-opacity: 0.5;">
<use href="icons/sprite.svg#star"></use>
</svg>
6
</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
<td class="bg-primary-600 text-white pattern-0">10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>14</td>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
<td>19</td>
<td>20</td>
</tr>
<tr>
<td>21</td>
<td>
<svg class="sa-icon sa-icon-info m-1 position-absolute pos-left pos-top" style="--sa-icon-size: 0.85rem; --sa-fill-opacity: 0.5;">
<use href="icons/sprite.svg#shield"></use>
</svg>
22
</td>
<td>23</td>
<td>24</td>
<td>25</td>
<td>26</td>
<td>27</td>
</tr>
<tr>
<td>28</td>
<td>29</td>
<td>30</td>
<td>31</td>
<td class="text-muted bg-faded">1</td>
<td class="text-muted bg-faded">2</td>
<td class="text-muted bg-faded">3</td>
</tr>
</table>
</div>
<div class="flex-1 custom-scroll shadow-inset-3">
<div class="p-2">
<div class="d-flex align-items-center text-left mb-3">
<div class="width-5 text-primary align-self-start table-calendar-appointment-date fw-300 text-center">
15
</div>
<div class="flex-1">
<div class="d-flex flex-column">
<span class="l-h-n fs-md fw-500">
October 2020
</span>
<span class="l-h-n fs-nano fw-400 text-secondary">
Monday
</span>
</div>
<div class="d-flex flex-column gap-2 mt-2">
<div>
<strong>2:30PM</strong> - Doctor's appointment
</div>
<div>
<strong>3:30PM</strong> - Report overview
</div>
<div>
<strong>4:30PM</strong> - Meeting with Donnah V.
</div>
<div>
<strong>5:30PM</strong> - Late Lunch
</div>
<div>
<strong>6:30PM</strong> - Report Compression
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="py-2 px-3 d-block rounded-bottom text-end border-light border-bottom-0 border-end-0 border-start-0">
<a href="#" class="fs-xs fw-500 ms-auto">view all notifications</a>
</div>
</div>
<!-- Profile -->
<button type="button" data-bs-toggle="dropdown" title="drlantern@getwebora.com" class="btn-system bg-transparent d-flex flex-shrink-0 align-items-center justify-content-center" aria-label="Open Profile Dropdown">
<img src="img/demo/avatars/avatar-admin.png" class="profile-image profile-image-md rounded-circle" alt="Sunny A.">
</button>
<!-- Profile dropdown -->
<div class="dropdown-menu dropdown-menu-animated">
<div class="notification-header rounded-top mb-2">
<div class="d-flex flex-row align-items-center mt-1 mb-1 color-white">
<span class="status status-success d-inline-block me-2">
<img src="img/demo/avatars/avatar-admin.png" class="profile-image rounded-circle" alt="Sunny A.">
</span>
<div class="info-card-text">
<div class="fs-lg text-truncate text-truncate-lg">Sunny A.</div>
<span class="text-truncate text-truncate-md opacity-80 fs-sm">sunnya@sadim.com</span>
</div>
</div>
</div>
<div class="dropdown-divider m-0"></div>
<a href="#" class="dropdown-item" data-action="app-reset" role="button">
<span data-i18n="drpdwn.reset_layout">Reset Layout</span>
</a>
<a href="#" class="dropdown-item" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-drawer-settings" role="button">
<span data-i18n="drpdwn.settings">Settings</span>
</a>
<a href="#" class="dropdown-item d-block d-sm-block d-md-block d-lg-none" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-app-drawer" role="button">
<span data-i18n="drpdwn.settings">Virtual Assistant</span>
</a>
<div class="dropdown-divider m-0"></div>
<a href="#" class="dropdown-item d-flex justify-content-between align-items-center" data-action="app-fullscreen" aria-pressed="false" role="button">
<span data-i18n="drpdwn.fullscreen">Fullscreen</span>
<b class="text-muted fs-nano px-2 rounded font-monospace align-self-center border">F11</b>
</a>
<a href="#" class="dropdown-item d-flex justify-content-between align-items-center" data-action="app-print" role="button">
<span data-i18n="drpdwn.print">Print</span>
<span class="text-muted fs-nano px-2 rounded font-monospace align-self-center border">
<svg width="15" height="15">
<path d="M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953" stroke-width="1.2" stroke="currentColor" fill="none" stroke-linecap="square"></path>
</svg>
+ P
</span>
</a>
<div class="dropdown-multilevel dropdown-multilevel-left">
<div class="dropdown-item d-flex justify-content-between align-items-center">
<span data-i18n="drpdwn.language">Language</span>
<i class="sa sa-chevron-right"></i>
</div>
<div class="dropdown-menu">
<a href="#?lang=fr" class="dropdown-item" data-action="lang" data-lang="fr">Français</a>
<a href="#?lang=en" class="dropdown-item selected" data-action="lang" data-lang="en">English (US)</a>
<a href="#?lang=es" class="dropdown-item" data-action="lang" data-lang="es">Español</a>
<a href="#?lang=ru" class="dropdown-item" data-action="lang" data-lang="ru">Русский язык</a>
<a href="#?lang=jp" class="dropdown-item" data-action="lang" data-lang="jp">日本語</a>
<a href="#?lang=ch" class="dropdown-item" data-action="lang" data-lang="ch">中文</a>
</div>
</div>
<div class="dropdown-divider m-0"></div>
<a class="dropdown-item py-3 fw-500 d-flex justify-content-between" href="auth-login.html">
<span class="text-danger" data-i18n="drpdwn.page-logout">Logout</span>
<span class="d-block text-truncate text-truncate-sm">@sunnyahmed</span>
</a>
</div>
</header>
<aside class="app-sidebar d-flex flex-column">
<a href="dashboard-control-center.html" class="app-logo flex-shrink-0" data-prefix="v5.5.0" data-action="playsound" data-soundpath="media/sound/" data-soundfile="sawhisp.html">
<!-- <img src="img/logo.svg" alt="logo"> -->
<svg class="custom-logo">
<use href="img/app-logo.svg#custom-logo"></use>
</svg>
<!-- Logo Backdrop Animation -->
<div class="logo-backdrop">
<div class="blobs">
<svg viewbox="0 0 1200 1200">
<g class="blob blob-1">
<path d="M 100 600 q 0 -700, 500 -500 t 500 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-2">
<path d="M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-3">
<path d="M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-4">
<path d="M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z" />
</g>
<g class="blob blob-1 alt">
<path d="M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z" />
</g>
<g class="blob blob-2 alt">
<path d="M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-3 alt">
<path d="M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z" />
</g>
<g class="blob blob-4 alt">
<path d="M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z" />
</g>
</svg>
</div>
</div>
</a>
<form class="app-menu-filter-container px-4">
<input type="text" class="form-control" id="searchInput" placeholder="Filter" autocomplete="off">
<div class="js-filter-message nav-filter-msg badge bg-secondary btn" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-original-title="Clear filter"></div>
</form>
<nav id="js-primary-nav" class="primary-nav flex-grow-1 custom-scroll">
<ul id="js-nav-menu" class="nav-menu">
<li class="nav-title"><span>Insights</span></li>
<li class="nav-item">
<a href="#" title="Dashboards" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#trello"></use>
</svg>
<span class="nav-link-text" data-i18n>Dashboards</span>
<span class="badge bg-danger-700 badge-end">New</span>
</a>
<ul>
<li>
<a href="dashboard-control-center.html">
<span class="nav-link-text" data-i18n>Control Center</span>
</a>
</li>
<li>
<a href="dashboard-subscription.html">
<span class="nav-link-text" data-i18n>Subscription & Billing</span>
</a>
</li>
<li>
<a href="dashboard-marketing.html">
<span class="nav-link-text" data-i18n>Marketing & Sales</span>
</a>
</li>
<li>
<a href="dashboard-project-management.html">
<span class="nav-link-text" data-i18n>Project Management</span>
</a>
</li>
</ul>
</li>
<li class="nav-title"><span>Config</span></li>
<li>
<a href="appintel.html">
<svg class="sa-icon">
<use href="icons/sprite.svg#cpu"></use>
</svg>
<span class="nav-link-text">Application Intel</span>
</a>
</li>
<li class="nav-item">
<a href="#" title="Documentation" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#book-open"></use>
</svg>
<span class="nav-link-text" data-i18n>Documentation</span>
</a>
<ul>
<li>
<a href="docs-build-notes.html">
<span class="nav-link-text" data-i18n>Build Notes</span>
</a>
</li>
<li>
<a href="docs-getting-started.html">
<span class="nav-link-text" data-i18n>Getting Started</span>
</a>
</li>
<li>
<a href="docs-smartappjs.html">
<span class="nav-link-text" data-i18n>App DOM</span>
<span class="badge bg-danger badge-end">P</span>
</a>
</li>
<li>
<a href="docs-smartnavigationjs.html">
<span class="nav-link-text" data-i18n>Smart Navigation</span>
<span class="badge bg-danger badge-end">P</span>
</a>
</li>
<li>
<a href="docs-smartfilterjs.html">
<span class="nav-link-text" data-i18n>Smart Filter</span>
<span class="badge bg-warning text-dark badge-end">D</span>
</a>
</li>
<li>
<a href="docs-sortablejs.html">
<span class="nav-link-text" data-i18n>Sortable</span>
<span class="badge bg-warning text-dark badge-end">D</span>
</a>
</li>
<li>
<a href="docs-bootstrapbundlejs.html">
<span class="nav-link-text" data-i18n>Bootstrap Bundle</span>
<span class="badge bg-warning text-dark badge-end">D</span>
</a>
</li>
<li>
<a href="docs-smartslimscrolljs.html">
<span class="nav-link-text" data-i18n>Smart Slim Scroll</span>
<span class="badge bg-success badge-end">O</span>
</a>
</li>
<li>
<a href="docs-wavesjs.html">
<span class="nav-link-text" data-i18n>Waves</span>
<span class="badge bg-success badge-end">O</span>
</a>
</li>
<li>
<a href="docs-apexbarchartjs.html">
<span class="nav-link-text" data-i18n>Apex Chart Js</span>
</a>
</li>
<li>
<a href="docs-easypiechartjs.html">
<span class="nav-link-text" data-i18n>Easy Pie Chart Js</span>
</a>
</li>
<li>
<a href="docs-fullcalendarjs.html">
<span class="nav-link-text" data-i18n>Full Calendar Js</span>
</a>
</li>
<li>
<a href="docs-peitychartsjs.html">
<span class="nav-link-text" data-i18n>Peity Chart Js</span>
</a>
</li>
<li>
<a href="docs-smarttablesjs.html">
<span class="nav-link-text" data-i18n>Smart Table Js</span>
</a>
</li>
<li>
<a href="docs-streamlinejs.html">
<span class="nav-link-text" data-i18n>Stream Line Js</span>
</a>
</li>
</ul>
</li>
<li class="nav-title"><span>Layouts</span></li>
<li class="nav-item">
<a href="#" title="Access Control" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#slash"></use>
</svg>
<span class="nav-link-text" data-i18n>Access Control</span>
</a>
<ul>
<li class="nav-item">
<a href="#" title="Authentication" data-filter-tags>
<span class="nav-link-text" data-i18n>Authentication Pages</span>
</a>
<ul>
<li>
<a href="auth-login.html">
<span class="nav-link-text" data-i18n>Login</span>
</a>
</li>
<li>
<a href="auth-register.html">
<span class="nav-link-text" data-i18n>Register</span>
</a>
</li>
<li>
<a href="auth-forgetpassword.html">
<span class="nav-link-text" data-i18n>Forget Password</span>
</a>
</li>
<li>
<a href="auth-twofactor.html">
<span class="nav-link-text" data-i18n>2FA</span>
</a>
</li>
<li>
<a href="auth-lockscreen.html">
<span class="nav-link-text" data-i18n>Lock Screen</span>
</a>
</li>
</ul>
</li>
<li>
<a href="emaildesign.html">
<span class="nav-link-text" data-i18n>Email Templates</span>
</a>
</li>
<li class="nav-item">
<a href="#" title="Error Pages" data-filter-tags>
<span class="nav-link-text" data-i18n>Error Pages</span>
</a>
<ul>
<li>
<a href="error-404.html">
<span class="nav-link-text" data-i18n>404 Not Found</span>
</a>
</li>
<li>
<a href="error-404-2.html">
<span class="nav-link-text" data-i18n>404 Not Found 2</span>
</a>
</li>
<li>
<a href="error-500.html">
<span class="nav-link-text" data-i18n>500 Internal Server</span>
</a>
</li>
</ul>
</li>
<li>
<a href="profile.html">
<span class="nav-link-text" data-i18n>User Profile</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Communication" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#message-square"></use>
</svg>
<span class="nav-link-text" data-i18n>Communication</span>
</a>
<ul>
<li>
<a href="messenger.html">
<span class="nav-link-text" data-i18n>Messenger & Chat</span>
</a>
</li>
<li class="nav-item">
<a href="#" title="Email" data-filter-tags>
<span class="nav-link-text" data-i18n>Email</span>
</a>
<ul>
<li>
<a href="systemmail.html">
<span class="nav-link-text" data-i18n>System Mail</span>
</a>
</li>
<li>
<a href="systemmail-read.html">
<span class="nav-link-text" data-i18n>Mail Read</span>
</a>
</li>
</ul>
</li>
<li>
<a href="usercontact.html">
<span class="nav-link-text" data-i18n>User Contact</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Miscellaneous" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#archive"></use>
</svg>
<span class="nav-link-text" data-i18n>Miscellaneous</span>
</a>
<ul>
<li>
<a href="forum.html">
<span class="nav-link-text" data-i18n>Forum General</span>
</a>
</li>
<li>
<a href="forum-threads.html">
<span class="nav-link-text" data-i18n>Forum Threads</span>
</a>
</li>
<li>
<a href="forum-discussion.html">
<span class="nav-link-text" data-i18n>Forum Discussions</span>
</a>
</li>
<li>
<a href="search.html">
<span class="nav-link-text" data-i18n>Search</span>
</a>
</li>
</ul>
</li>
<li>
<a href="landing.html" target="_blank">
<svg class="sa-icon">
<use href="icons/sprite.svg#zap"></use>
</svg>
<span class="nav-link-text">Landing</span>
</a>
</li>
<li class="nav-title"><span>Design</span></li>
<li class="nav-item">
<a href="#" title="UI Components" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#layers"></use>
</svg>
<span class="nav-link-text" data-i18n>UI Components</span>
</a>
<ul>
<li>
<a href="ui-alerts.html">
<span class="nav-link-text" data-i18n>Alerts</span>
</a>
</li>
<li>
<a href="ui-accordions.html">
<span class="nav-link-text" data-i18n>Accordions</span>
</a>
</li>
<li>
<a href="ui-badges.html">
<span class="nav-link-text" data-i18n>Badges</span>
</a>
</li>
<li>
<a href="ui-buttons.html">
<span class="nav-link-text" data-i18n>Buttons</span>
</a>
</li>
<li>
<a href="ui-buttongroup.html">
<span class="nav-link-text" data-i18n>Button Group</span>
</a>
</li>
<li>
<a href="ui-cards.html">
<span class="nav-link-text" data-i18n>Cards</span>
</a>
</li>
<li>
<a href="ui-breadcrumbs.html">
<span class="nav-link-text" data-i18n>Breadcrumbs</span>
</a>
</li>
<li>
<a href="ui-dropdowns.html">
<span class="nav-link-text" data-i18n>Dropdowns</span>
</a>
</li>
<li>
<a href="ui-navbars.html">
<span class="nav-link-text" data-i18n>Navbars</span>
</a>
</li>
<li>
<a href="ui-pagination.html">
<span class="nav-link-text" data-i18n>Pagination</span>
</a>
</li>
<li>
<a href="ui-scrollspy.html">
<span class="nav-link-text" data-i18n>ScrollSpy</span>
</a>
</li>
<li>
<a href="ui-collapse.html">
<span class="nav-link-text" data-i18n>Collapse</span>
</a>
</li>
<li>
<a href="ui-modal.html">
<span class="nav-link-text" data-i18n>Modal</span>
</a>
</li>
<li>
<a href="ui-tabs-pills.html">
<span class="nav-link-text" data-i18n>Tabs & Pills</span>
</a>
</li>
<li>
<a href="ui-tooltips.html">
<span class="nav-link-text" data-i18n>Tooltips</span>
</a>
</li>
<li>
<a href="ui-popovers.html">
<span class="nav-link-text" data-i18n>Popovers</span>
</a>
</li>
<li>
<a href="ui-toasts.html">
<span class="nav-link-text" data-i18n>Toasts</span>
</a>
</li>
<li>
<a href="ui-progressbars.html">
<span class="nav-link-text" data-i18n>Progress Bars</span>
</a>
</li>
<li>
<a href="ui-spinners.html">
<span class="nav-link-text" data-i18n>Spinners</span>
</a>
</li>
<li>
<a href="ui-carousels.html">
<span class="nav-link-text" data-i18n>Carousels</span>
</a>
</li>
<li>
<a href="ui-panels.html">
<span class="nav-link-text" data-i18n>Panels</span>
</a>
</li>
<li>
<a href="ui-list-filter.html">
<span class="nav-link-text" data-i18n>List Filter</span>
</a>
</li>
<li>
<a href="ui-sidepanels.html">
<span class="nav-link-text" data-i18n>Side Panels</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="System Utilities" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#package"></use>
</svg>
<span class="nav-link-text" data-i18n>System Utilities</span>
</a>
<ul>
<li>
<a href="utilities-borders.html">
<span class="nav-link-text" data-i18n>Borders</span>
</a>
</li>
<li>
<a href="utilities-display-property.html">
<span class="nav-link-text" data-i18n>Display Property</span>
</a>
</li>
<li>
<a href="utilities-responsivegrid.html">
<span class="nav-link-text" data-i18n>Responsive Grid</span>
</a>
</li>
<li>
<a href="utilities-position.html">
<span class="nav-link-text" data-i18n>Position</span>
</a>
</li>
<li>
<a href="utilities-colorpalette.html">
<span class="nav-link-text" data-i18n>Color Palette</span>
</a>
</li>
<li>
<a href="utilities-typography.html">
<span class="nav-link-text" data-i18n>Typography</span>
</a>
</li>
<li>
<a href="utilities-sizing.html">
<span class="nav-link-text" data-i18n>Sizing</span>
</a>
</li>
<li>
<a href="utilities-spacing.html">
<span class="nav-link-text" data-i18n>Spacing</span>
</a>
</li>
<li>
<a href="utilities-flexbox.html">
<span class="nav-link-text" data-i18n>Flexbox</span>
</a>
</li>
<li>
<a href="utilities-helpers.html">
<span class="nav-link-text" data-i18n>Helpers</span>
</a>
</li>
<li>
<a href="utilities-visibility-generator.html">
<span class="nav-link-text" data-i18n>Visibility Generator</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Iconography" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#heart"></use>
</svg>
<span class="nav-link-text" data-i18n>Iconography</span>
</a>
<ul>
<li>
<a href="icons-system.html">
<span class="nav-link-text" data-i18n>System Icons</span>
</a>
</li>
<li>
<a href="icons-fontawesome.html">
<span class="nav-link-text" data-i18n>FontAwesome 5.3</span>
</a>
</li>
<li>
<a href="icons-smartadmin.html">
<span class="nav-link-text" data-i18n>SmartAdmin Icons 1.0</span>
</a>
</li>
<li>
<a href="icons-stackgenerator.html">
<span class="nav-link-text" data-i18n>Stack Generator</span>
</a>
</li>
<li>
<a href="icons-stacklibrary.html">
<span class="nav-link-text" data-i18n>Stack Library</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Tables" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#table"></use>
</svg>
<span class="nav-link-text" data-i18n>Tables</span>
</a>
<ul>
<li>
<a href="tables-basic.html">
<span class="nav-link-text" data-i18n>Basic Tables</span>
</a>
</li>
<li>
<a href="tables-style-generator.html">
<span class="nav-link-text" data-i18n>Tables Style Generator</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Forms" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#edit"></use>
</svg>
<span class="nav-link-text" data-i18n>Forms</span>
</a>
<ul>
<li>
<a href="forms-inputs.html">
<span class="nav-link-text" data-i18n>Inputs</span>
</a>
</li>
<li>
<a href="forms-checkbox-radio.html">
<span class="nav-link-text" data-i18n>Checkbox & Radio</span>
</a>
</li>
<li>
<a href="forms-groups.html">
<span class="nav-link-text" data-i18n>Groups</span>
</a>
</li>
<li>
<a href="forms-validation.html">
<span class="nav-link-text" data-i18n>Validation</span>
</a>
</li>
</ul>
</li>
<li class="nav-title"><span>Data Visualization</span></li>
<li class="nav-item">
<a href="#" title="Smart Tables" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#database"></use>
</svg>
<span class="nav-link-text" data-i18n>Smart Tables</span>
<span class="badge bg-primary-500 badge-end">1.2.7</span>
</a>
<ul>
<li>
<a href="smarttables-minimal.html">
<span class="nav-link-text" data-i18n>Minimal Settings</span>
</a>
</li>
<li>
<a href="smarttables-responsive.html">
<span class="nav-link-text" data-i18n>Responsive Settings</span>
</a>
</li>
<li>
<a href="smarttables-importexport-data.html">
<span class="nav-link-text" data-i18n>Import & Export Data</span>
</a>
</li>
<li>
<a href="smarttables-json-source.html">
<span class="nav-link-text" data-i18n>JSON Data Source</span>
</a>
</li>
<li>
<a href="smarttables-manage-records.html">
<span class="nav-link-text" data-i18n>Manage Records</span>
<span class="badge bg-warning text-dark badge-end">New</span>
</a>
</li>
<li>
<a href="smarttables-fuzzy-matching.html">
<span class="nav-link-text" data-i18n>Fuzzy Matching</span>
</a>
</li>
<li>
<a href="smarttables-server-side.html">
<span class="nav-link-text" data-i18n>Server-Side Mode</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Apex Charts" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#pie-chart"></use>
</svg>
<span class="nav-link-text" data-i18n>Apex Charts</span>
</a>
<ul>
<li>
<a href="apex-area.html">
<span class="nav-link-text" data-i18n>Area Charts</span>
</a>
</li>
<li>
<a href="apex-bar.html">
<span class="nav-link-text" data-i18n>Bar Charts</span>
</a>
</li>
<li>
<a href="apex-box-whisker.html">
<span class="nav-link-text" data-i18n>Box & Whisker Charts</span>
</a>
</li>
<li>
<a href="apex-bubble.html">
<span class="nav-link-text" data-i18n>Bubble Charts</span>
</a>
</li>
<li>
<a href="apex-candlestick.html">
<span class="nav-link-text" data-i18n>Candlestick Charts</span>
</a>
</li>
<li>
<a href="apex-column.html">
<span class="nav-link-text" data-i18n>Column Charts</span>
</a>
</li>
<li>
<a href="apex-funnel.html">
<span class="nav-link-text" data-i18n>Funnel Charts</span>
</a>
</li>
<li>
<a href="apex-heatmap.html">
<span class="nav-link-text" data-i18n>Heatmap Charts</span>
</a>
</li>
<li>
<a href="apex-line.html">
<span class="nav-link-text" data-i18n>Line Charts</span>
</a>
</li>
<li>
<a href="apex-mixed-combo.html">
<span class="nav-link-text" data-i18n>Mixed/Combo Charts</span>
</a>
</li>
<li>
<a href="apex-pie-donut.html">
<span class="nav-link-text" data-i18n>Pie/Donuts</span>
</a>
</li>
<li>
<a href="apex-polar-area.html">
<span class="nav-link-text" data-i18n>Polar Area Charts</span>
</a>
</li>
<li>
<a href="apex-radar.html">
<span class="nav-link-text" data-i18n>Radar Charts</span>
</a>
</li>
<li>
<a href="apex-radialbars-circle.html">
<span class="nav-link-text" data-i18n>RadialBars/Circle Charts</span>
</a>
</li>
<li>
<a href="apex-range-area.html">
<span class="nav-link-text" data-i18n>Range Area Charts</span>
</a>
</li>
<li>
<a href="apex-scatter.html">
<span class="nav-link-text" data-i18n>Scatter Charts</span>
</a>
</li>
<li>
<a href="apex-slope.html">
<span class="nav-link-text" data-i18n>Slope Charts</span>
</a>
</li>
<li>
<a href="apex-sparkline.html">
<span class="nav-link-text" data-i18n>Sparklines</span>
</a>
</li>
<li>
<a href="apex-timeline.html">
<span class="nav-link-text" data-i18n>Timeline Charts</span>
</a>
</li>
<li>
<a href="apex-treemap.html">
<span class="nav-link-text" data-i18n>Treemap Charts</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#" title="Data Bites" data-filter-tags>
<svg class="sa-icon">
<use href="icons/sprite.svg#grid"></use>
</svg>
<span class="nav-link-text" data-i18n>Data Bites</span>
</a>
<ul>
<li>
<a href="peity-charts.html">
<span class="nav-link-text" data-i18n>Peity Charts</span>
</a>
</li>
<li>
<a href="streamline.html">
<span class="nav-link-text" data-i18n>Streamline</span>
</a>
</li>
<li>
<a href="easy-pie-chart.html">
<span class="nav-link-text" data-i18n>Easy Pie Chart</span>
</a>
</li>
</ul>
</li>
<li>
<a href="fullcalendar.html">
<svg class="sa-icon">
<use href="icons/sprite.svg#calendar"></use>
</svg>
<span class="nav-link-text">Full Calendar</span>
</a>
</li>
</ul>
<div class="no-results-msg pt-3 info-container">
<h6 class="mb-1"> No menu items found.</h6>
<p class="fs-sm">Try searching with different keywords.</p>
<div class="d-flex align-items-center gap-1 fs-xs fw-500 font-style-italic">
<kbd class="kbd-key">
<svg width="15" height="15" aria-label="Escape key" role="img">
<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.2">
<path d="M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"></path>
</g>
</svg>
</kbd> to reset
</div>
</div>
</nav>
<div class="nav-footer">
<svg class="sa-icon sa-thin">
<use href="icons/sprite.svg#wifi"></use>
</svg>
</div>
</aside>
<div class="backdrop" data-action="toggle-swap" data-toggleclass="app-mobile-menu-open"></div>
<!-- Sidebar Link Active Script -->
<script>
const sideNavMenu = document.getElementById("js-nav-menu");
const currentUrl = window.location.href.split(/[?#]/)[0]; // Match current URL
const allLinks = sideNavMenu.querySelectorAll("a");
const allCollapses = sideNavMenu.querySelectorAll("li [aria-expanded='true']"); // Ensure only one collapse is open at a time
// Prevent default toggle behavior for toggle links
sideNavMenu.querySelectorAll("li .has-ul").forEach((toggle) => { toggle.addEventListener("click", (e) => e.preventDefault()); });
allCollapses.forEach((collapse) => {
console.log(collapse)
collapse.addEventListener("show.bs.collapse", (event) => {
const currentCollapse = event.target;
// Get all ancestor collapses of the current item
const ancestors = [];
let el = currentCollapse.parentElement;
while (el && el !== sideNavMenu) {
if (el.classList.contains("collapse")) {
ancestors.push(el);
}
el = el.parentElement;
}
allCollapses.forEach((other) => {
if (other !== currentCollapse && !ancestors.includes(other)) {
new bootstrap.Collapse(other, { toggle: false }).hide();
}
});
});
});
allLinks.forEach((link) => {
if (link.href === currentUrl) {
link.classList.add("active");
// Traverse up to activate all parents and show collapses
let currentElement = link.closest("li");
while (currentElement && currentElement !== sideNavMenu) {
currentElement.classList.add("active");
// Show parent collapses
const parentCollapse = currentElement.closest("[role='menu']");
if (parentCollapse) {
new bootstrap.Collapse(parentCollapse, { toggle: false }).show();
// Also mark the <li> that contains the collapse as active
const collapseParentLi = parentCollapse.closest("li");
if (collapseParentLi) {
collapseParentLi.classList.add("active");
}
currentElement = collapseParentLi;
} else {
currentElement = currentElement.parentElement;
}
}
}
});
</script>
<main class="app-body">
<div class="app-content">
<div class="content-wrapper">
<h1 class="subheader-title mb-2">Panels</h1>
<nav class="app-breadcrumb" aria-label="breadcrumb">
<ol class="breadcrumb ms-0 text-muted mb-0">
<li class="breadcrumb-item">Design</li>
<li class="breadcrumb-item">UI Components</li>
<li class="breadcrumb-item active" aria-current="page">Panels</li>
</ol>
</nav>
<h6 class="mt-3 mb-4 fst-italic">Panels can be used in almost any situation, helping wrap everything in a slick & lightweight container.</h6>
<div class="main-content">
<div class="info-container">
<p>
Display data, tables, forms, or images effortlessly with our <strong>lightweight, clean, and highly customizable panels</strong>.
Expand to fullscreen, collapse, or close as needed. Equiped with many <strong>interactive features</strong>, a versatile design, these panels adapt to your workflow seamlessly.
<strong>Auto-save keeps your layout intact</strong>, while <strong>SortableJS</strong> lets you drag and organize panels seamlessly.
Need to print? Just switch to fullscreen for a perfect view. All panels can be reset to their default state by clicking the button below.
</p>
<p class="m-0">
<button type="button" onclick="resetPanelState();" class="btn btn-outline-secondary">↻ Reset Panel States</button>
</p>
</div>
<div class="row" id="sortable-grid">
<div class="col-sm-12 col-md-6 col-xl-6">
<!--Default panel-->
<div id="panel-1" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Blank <span class="fw-light"><i>Panel</i></span>
</h2>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
All panels needs to have an unique ID in order to use the panel sorting funtions.
</div>
<p class="mb-0">Panel content goes here...</p>
</div>
</div>
</div>
<!--Collapsed panel-->
<div id="panel-2" class="panel panel-icon panel-collapsed">
<div class="panel-hdr">
<h2>
Collapsed <span class="fw-light"><i>Panel</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-collapse" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Toggle">
<svg class="sa-icon">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
</button>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
This panel is closed by default. To close a panel we add the class <code>.panel-collapsed</code> to <code>.panel</code>
</div>
<p class="mb-0">
Default panel text.
</p>
</div>
</div>
</div>
<!--Collapsable panel-->
<div id="panel-3" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Collapsable <span class="fw-light"><i>Panel</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-collapse" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Toggle">
<svg class="sa-icon">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
</button>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Panel is closed by using the attribute <code>data-action="panel-collapse"</code>, and can be placed anywhere inside <code>.panel</code>
</div>
<p>
You can also place the collapse action inside the <code>.panel-content</code> as button or link
</p>
<button type="button" data-action="panel-collapse" class="btn btn-success me-2">collapse button</button>
<a href="javascript:void(0);" data-action="panel-collapse" class="text-success">collapse link</a>
</div>
</div>
</div>
<!--Fullscreen panel-->
<div id="panel-4" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Fullscreen <span class="fw-light"><i>Panel</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-fullscreen" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Fullscreen">
<svg class="sa-icon">
<use href="icons/sprite.svg#stop-circle"></use>
</svg>
</button>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Panel is closed by using the attribute <code>data-action="panel-fullscreen"</code>, and can be placed anywhere inside <code>.panel</code>
</div>
<p>
You can also place the collapse action inside the <code>.panel-content</code> as button or link
</p>
<button type="button" data-action="panel-fullscreen" class="btn btn-warning me-2">fullscreen button</button>
<a href="javascript:void(0);" data-action="panel-fullscreen" class="text-warning">fullscreen link</a>
</div>
</div>
</div>
<!--Close panel-->
<div id="panel-5" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Close <span class="fw-light"><i>Panel</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-close" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Close">
<svg class="sa-icon">
<use href="icons/sprite.svg#x-circle"></use>
</svg>
</button>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Panel is closed by using the attribute <code>data-action="panel-close"</code>, and can be placed anywhere inside <code>.panel</code>
</div>
<p>
You can also place the collapse action inside the <code>.panel-content</code> as button or link
</p>
<button type="button" data-action="panel-close" class="btn btn-danger me-2">close button</button>
<a href="javascript:void(0);" data-action="panel-close" class="text-danger">close link</a>
</div>
</div>
</div>
<!--Panel colors-->
<div id="panel-6" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Panel <span class="fw-light"><i>Colors</i></span>
</h2>
<div class="panel-toolbar">
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
You can mix and match any color styles, below is what we were found to be an interesting match.
</div>
<div class="d-flex flex-wrap justify-content-evenly gap-2 mb-3">
<button type="button" class="btn d-inline-block bg-primary-700 bg-success-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-700 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-500 bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-500 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-600 bg-primary-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-600 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-600 bg-primray-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-600 bg-primray-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-600 bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-600 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-700 bg-success-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-700 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-900 bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-900 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-700 bg-primary-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-700 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-600 bg-success-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-600 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-danger-900 bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-danger-900 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-500 bg-danger-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-500 bg-danger-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-300 bg-warning-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-300 bg-warning-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-200 bg-fusion-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-200 bg-fusion-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-800 bg-danger-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-800 bg-danger-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-400 bg-warning-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-400 bg-warning-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-300 bg-fusion-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-300 bg-fusion-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-500 bg-danger-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-500 bg-danger-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-800 bg-warning-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-800 bg-warning-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-200 bg-success-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-200 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-danger-700 bg-primary-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-danger-700 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-danger-500 bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-danger-500 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-danger-300 bg-success-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-danger-300 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-warning-700 bg-primary-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-warning-700 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-warning-500 bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-warning-500 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-warning-300 bg-danger-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-warning-300 bg-danger-gradient"></button>
<button type="button" class="btn d-inline-block bg-faded bg-primary-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-faded bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-faded bg-info-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-faded bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-faded bg-danger-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-faded bg-danger-gradient"></button>
<button type="button" class="btn d-inline-block bg-fusion-400 bg-fusion-gradient width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-fusion-400 bg-fusion-gradient"></button>
<button type="button" class="btn d-inline-block bg-faded width-3 height-3 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-faded"></button>
</div>
<div class="d-flex pt-3">
<button type="button" class="btn btn-outline-secondary" data-action="panel-reset">
Reset Styles
</button>
</div>
</div>
</div>
</div>
<!--Master button-->
<div id="panel-7" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Master <span class="fw-light"><i>Button</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-collapse" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Toggle">
<svg class="sa-icon">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
</button>
</div>
<!-- master button needs to be the last child in .panel-hdr -->
<div class="panel-toolbar">
<button type="button" class="btn btn-toolbar-master px-0" data-bs-toggle="dropdown">
<i class="ellipsis-icon"></i>
</button>
<!-- included a wrapper here to make the dropdown menu animate and also respond to hitting edges -->
<div class="dropdown-menu-animated">
<div class="dropdown-menu dropdown-menu-end rounded-top rounded-bottom">
<button type="button" class="dropdown-item" data-action="panel-refresh" data-refresh-duration="2000" data-refresh-callback="updatePanelContent"><span data-i18n="drpdwn.refreshpanel">Refresh Content</span></button>
<button type="button" class="dropdown-item" data-action="panel-toggle" data-panel-toggle="panel-locked">
<span data-i18n="drpdwn.lockpanel" class="panel-locked-text">Unlock panel</span>
<span data-i18n="drpdwn.unlockpanel" class="panel-unlock-text">Lock panel</span>
</button>
<div class="dropdown-multilevel dropdown-multilevel-left">
<div class="dropdown-item d-flex justify-content-between align-items-center">
<span data-i18n="drpdwn.panelcolor">Panel Style</span>
<i class="sa sa-chevron-right"></i>
</div>
<div class="dropdown-menu">
<div class="d-flex flex-wrap align-items-center justify-content-center px-2 py-1 width-sm gap-1">
<button type="button" class="btn d-inline-block bg-primary-700 bg-success-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-700 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-500 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-500 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-600 bg-primary-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-600 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-600 bg-primray-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-600 bg-primray-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-600 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-600 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-700 bg-success-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-700 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-900 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-900 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-700 bg-primary-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-700 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-600 bg-success-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-600 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-danger-900 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-danger-900 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-fusion-400 bg-fusion-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-fusion-400 bg-fusion-gradient"></button>
<button type="button" class="btn d-inline-block bg-faded width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-faded"></button>
</div>
</div>
</div>
<div class="dropdown-multilevel dropdown-multilevel-left">
<div class="dropdown-item d-flex justify-content-between align-items-center">
<span data-i18n="drpdwn.actions">Actions</span>
<i class="sa sa-chevron-right"></i>
</div>
<div class="dropdown-menu">
<button type="button" class="dropdown-item px-3" data-action="panel-collapse">
<div class="d-flex align-items-center">
<svg class="sa-icon sa-icon-success me-2">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
Toggle
</div>
</button>
<button type="button" class="dropdown-item px-3" data-action="panel-fullscreen">
<div class="d-flex align-items-center">
<svg class="sa-icon sa-icon-warning me-2">
<use href="icons/sprite.svg#stop-circle"></use>
</svg>
Fullscreen
</div>
</button>
<button type="button" class="dropdown-item px-3 text-danger" data-action="panel-close">
<div class="d-flex align-items-center">
<svg class="sa-icon sa-icon-danger me-2">
<use href="icons/sprite.svg#x-circle"></use>
</svg>
Close
</div>
</button>
</div>
</div>
<button type="button" class="dropdown-item"><span data-i18n="drpdwn.custombutton">Custom Button</span></button>
<button type="button" class="dropdown-item" data-action="panel-toggle" data-panel-toggle="panel-icon">
<span data-i18n="drpdwn.iconstyle">Icon Style</span>
</button>
<div class="dropdown-divider m-0"></div>
<button type="button" class="dropdown-item fw-500 text-danger" data-action="panel-reset">
<span data-i18n="drpdwn.resetpanel">Reset Panel</span>
</button>
</div>
</div>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
The <code>.btn-toolbar-master</code> class enhances <code>.panel-toolbar</code> by integrating dropdown functionality and additional actions while optimizing space.
It supports icons, grouped actions, submenus, and input fields, making panels more interactive and organized.
</div>
<div class="d-flex">
<div class="dropdown-menu dropdown-menu-end rounded-top rounded-bottom show position-relative border" style="box-shadow:none; width: 10rem;">
<button type="button" class="dropdown-item" data-action="panel-refresh" data-refresh-duration="2000" data-refresh-callback="updatePanelContent"><span data-i18n="drpdwn.refreshpanel">Refresh Content</span></button>
<button type="button" class="dropdown-item" data-action="panel-toggle" data-panel-toggle="panel-locked">
<span data-i18n="drpdwn.lockpanel" class="panel-locked-text">Unlock panel</span>
<span data-i18n="drpdwn.unlockpanel" class="panel-unlock-text">Lock panel</span>
</button>
<div class="dropdown-multilevel dropdown-multilevel-right">
<div class="dropdown-item d-flex justify-content-between align-items-center">
<span data-i18n="drpdwn.panelcolor">Panel Style</span>
<i class="sa sa-chevron-right"></i>
</div>
<div class="dropdown-menu">
<div class="d-flex flex-wrap align-items-center justify-content-center px-2 py-1 width-sm gap-1">
<button type="button" class="btn d-inline-block bg-primary-700 bg-success-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-700 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-500 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-500 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-primary-600 bg-primary-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-primary-600 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-600 bg-primray-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-600 bg-primray-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-600 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-600 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-info-700 bg-success-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-info-700 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-900 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-900 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-700 bg-primary-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-700 bg-primary-gradient"></button>
<button type="button" class="btn d-inline-block bg-success-600 bg-success-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-success-600 bg-success-gradient"></button>
<button type="button" class="btn d-inline-block bg-danger-900 bg-info-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-danger-900 bg-info-gradient"></button>
<button type="button" class="btn d-inline-block bg-fusion-400 bg-fusion-gradient width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-fusion-400 bg-fusion-gradient"></button>
<button type="button" class="btn d-inline-block bg-faded width-2 height-2 p-0 rounded-0 hover-effect-dot" data-action="panel-style" data-panel-style="bg-faded"></button>
</div>
</div>
</div>
<div class="dropdown-multilevel dropdown-multilevel-right">
<div class="dropdown-item d-flex justify-content-between align-items-center">
<span data-i18n="drpdwn.actions">Actions</span>
<i class="sa sa-chevron-right"></i>
</div>
<div class="dropdown-menu">
<button type="button" class="dropdown-item px-3" data-action="panel-collapse">
<div class="d-flex align-items-center">
<svg class="sa-icon sa-icon-success me-2">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
Toggle
</div>
</button>
<button type="button" class="dropdown-item px-3" data-action="panel-fullscreen">
<div class="d-flex align-items-center">
<svg class="sa-icon sa-icon-warning me-2">
<use href="icons/sprite.svg#stop-circle"></use>
</svg>
Fullscreen
</div>
</button>
<button type="button" class="dropdown-item px-3 text-danger" data-action="panel-close">
<div class="d-flex align-items-center">
<svg class="sa-icon sa-icon-danger me-2">
<use href="icons/sprite.svg#x-circle"></use>
</svg>
Close
</div>
</button>
</div>
</div>
<button type="button" class="dropdown-item"><span data-i18n="drpdwn.custombutton">Custom Button</span></button>
<button type="button" class="dropdown-item" data-action="panel-toggle" data-panel-toggle="panel-icon">
<span data-i18n="drpdwn.iconstyle">Icon Style</span>
</button>
<div class="dropdown-divider m-0"></div>
<button type="button" class="dropdown-item fw-500 text-danger" data-action="panel-reset">
<span data-i18n="drpdwn.resetpanel">Reset Panel</span>
</button>
</div>
</div>
<div class="js-refreshed-content badge bg-primary"></div>
</div>
</div>
</div>
</div>
<div class="col-sm-12 col-md-6 col-xl-6">
<!--Panel label-->
<div id="panel-8" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Label <span class="fw-light"><i>Panel</i></span>
<sup>
<span class="badge text-bg-warning ms-2">
sup
</span>
</sup>
</h2>
<div class="panel-toolbar">
<div class="panel-toolbar">
<span class="badge text-bg-primary fw-400">
Panel Badge
</span>
</div>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
You may place badge inside <code>.panel-toolbar</code>, <code>.panel-content</code> and <code>.panel-hdr</code>.
Check out the <a href="badges.html" target="_blank">badges page</a> to learn more about badges
</div>
</div>
<!-- panel footer with utility classes -->
<div class="panel-content py-2 rounded-bottom border-faded border-left-0 border-right-0 border-bottom-0 text-muted d-flex" style="gap: 5px;">
<span class="badge text-bg-danger">
Footer badge
</span>
<span class="badge rounded-pill text-bg-success">
Pill badge
</span>
<span class="badge rounded-pill rounded-circle text-bg-secondary ms-auto">
1
</span>
<span class="badge text-bg-warning px-1">
22
</span>
</div>
</div>
</div>
<!--Form elements-->
<div id="panel-9" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Form <span class="fw-light"><i>elements</i></span>
</h2>
<div class="panel-toolbar">
<div class="form-check form-check-reverse form-switch mb-0">
<input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckDefault">
<label class="form-check-label" for="flexSwitchCheckDefault">Panel switch</label>
</div>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
You can add form elements to <code>.panel-hdr</code> and any other parts of the <code>.panel</code>
</div>
</div>
<div class="panel-content py-2 rounded-bottom border-faded border-end-0 border-start-0 border-bottom-0 text-muted d-flex">
<div class="form-check mb-0">
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
<label class="form-check-label" for="flexCheckDefault">
Panel checkbox
<label>
</div>
</div>
</div>
</div>
<!--Form inputs-->
<div id="panel-10" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Form <span class="fw-light"><i>Inputs</i></span>
</h2>
<div class="panel-toolbar gap-2">
<select class="form-select form-select-sm">
<option selected="">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<div class="d-flex position-relative ms-auto width-sm">
<svg class="sa-icon sa-icon-1x translate-middle position-absolute top-50 ms-3">
<use href="icons/sprite.svg#search"></use>
</svg>
<input type="text" class="form-control form-control-sm" placeholder="Search" style="padding-left:1.7rem">
</div>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
You can add form inputs to <code>.panel-hdr</code> with moderation. Adding too many elements may break the design on mobile viewport
</div>
</div>
</div>
</div>
<!--Panel buttons -->
<div id="panel-11" class="panel panel-icon">
<div class="panel-hdr">
<h2>
Panel <span class="fw-light"><i>Buttons</i></span>
</h2>
<div class="panel-toolbar">
<div class="btn-group">
<button type="button" class="btn btn-sm btn-outline-secondary">Small split button</button>
<button type="button" class="btn btn-sm btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
<li>
<div class="dropdown-divider"></div>
</li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</div>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Add panel buttons to <code>.panel-hdr</code> and footer area. Keep in mind of your panel title size as distortion can occur with too many buttons overflowing.
</div>
</div>
<div class="panel-content py-2 rounded-bottom bg-faded border-faded border-start-0 border-end-0 border-bottom-0 text-muted d-flex">
<ul class="pagination pagination-sm justify-content-start mb-0">
<li class="page-item disabled"><a class="page-link">Prev</a></li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">Next</a></li>
</ul>
</div>
</div>
</div>
<!--Panel tabs-->
<div id="panel-12" class="panel panel-icon">
<div class="panel-hdr border-bottom">
<h2>
Panel <span class="fw-light"><i>Tabs</i></span>
</h2>
<div class="panel-toolbar pr-3 align-self-end">
<ul id="demo_panel-tabs" class="nav nav-tabs border-bottom-0 js-demo-panel-tabs" role="tablist">
<li class="nav-item">
<a class="nav-link active" data-bs-toggle="tab" href="#tab_default-1" role="tab">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" data-bs-toggle="tab" href="#tab_default-2" role="tab">Set</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" data-bs-toggle="tab" href="#" role="tab">Disabled</a>
</li>
</ul>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
<p>You can easily add <code>.nav-tabs</code> to <code>.panel-hdr</code>, consider adding dropdown panel button if you have a lot of panel tabs. Check out the Tabs &amp; pills page for more details</p>
</div>
<div id="js_change_tab_direction" class="btn-group" role="group" aria-label="Basic radio toggle button group">
<input type="radio" class="btn-check" checked="" value="nav nav-tabs" name="btnradio" id="btnradio1" autocomplete="off" checked="checked" data-action="toggle-swap" data-toggleclass="nav-tabs-clean" data-target=".js-demo-panel-tabs">
<label class="btn btn-sm btn-outline-primary" for="btnradio1">Default</label>
<input type="radio" class="btn-check" value="nav nav-tabs justify-content-end" name="btnradio" id="btnradio2" autocomplete="off" data-action="toggle-swap" data-toggleclass="nav-tabs-clean" data-target=".js-demo-panel-tabs">
<label class="btn btn-sm btn-outline-primary" for="btnradio2">Clean</label>
</div>
</div>
</div>
</div>
<!--Panel pills-->
<div id="panel-13" class="panel panel-icon panel-locked js-example-panel-lock">
<div class="panel-hdr">
<h2>
Panel <span class="fw-light"><i>Locked</i></span>
</h2>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag"> This panel is locked from drag and drop. We use the class <code>.panel-locked</code> to lock the panel. Go ahead and try to drag it, it won't budge!</div>
<button type="button" class="btn btn-outline-secondary me-2" data-action="panel-toggle" data-panel-toggle="panel-locked">
<span class="panel-locked-text"><i class="sa sa-lock me-1"></i> Unlock panel</span>
<span class="panel-unlock-text"><i class="sa sa-lock-open me-1"></i> Lock panel</span>
</button>
<a href="javascript:void(0);" data-action="panel-reset">Reset panel</a> will also unlock the panel.
</div>
</div>
</div>
<!--Panel progress bars-->
<div id="panel-14" class="panel panel-icon">
<div class="panel-hdr">
<h2>
<svg class="sa-icon panel-icon">
<use href="icons/sprite.svg#package"></use>
</svg>
Insert <span class="fw-light"><i>Icon</i></span>
</h2>
<div class="panel-toolbar">
<div class="progress bg-warning-200 width-sm">
<div class="progress-bar bg-info-700 progress-bar-striped progress-bar-animated fw-700" role="progressbar" style="width: 75%;" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100">75%</div>
</div>
</div>
<!-- <div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-collapse" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Toggle">
<svg class="sa-icon">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
</button>
<button type="button" class="btn btn-panel" data-action="panel-fullscreen"data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Fullscreen">
<svg class="sa-icon">
<use href="icons/sprite.svg#stop-circle"></use>
</svg>
</button>
<button type="button" class="btn btn-panel" data-action="panel-close" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,10" data-bs-original-title="Close">
<svg class="sa-icon">
<use href="icons/sprite.svg#x-circle"></use>
</svg>
</button>
</div> -->
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Insert sleek icons—with over <a href="systemicons.html" target="_blank">2,500 options</a> to choose from—and dynamic progress bars to bring your panel to life, making data clearer, faster, and more engaging than ever!
You can also add stylish progress bars to enhance your design.
</div>
</div>
<div class="panel-content py-2 rounded-bottom border-faded border-start-0 border-end-0 border-bottom-0 text-muted">
<div class="progress progress-sm w-100 shadow-inset-2">
<div class="progress-bar bg-info-300 bg-info-gradient" role="progressbar" style="width: 75%;" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
</div>
</div>
</div>
</div>
<!--Icon panel-->
<div id="panel-15" class="panel">
<div class="panel-hdr">
<h2>
Classic <span class="fw-light"><i>Icons</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-panel" data-action="panel-collapse" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,16" data-bs-original-title="Toggle">
<svg class="sa-icon">
<use class="panel-collapsed-icon" href="img/sprite.svg#minus-circle"></use>
<use class="panel-expand-icon" href="img/sprite.svg#plus-circle"></use>
</svg>
</button>
<button type="button" class="btn btn-panel" data-action="panel-fullscreen" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,16" data-bs-original-title="Fullscreen">
<svg class="sa-icon">
<use href="icons/sprite.svg#stop-circle"></use>
</svg>
</button>
<button type="button" class="btn btn-panel" data-action="panel-close" data-bs-toggle="tooltip" data-bs-placement="top" data-bs-offset="0,16" data-bs-original-title="Close">
<svg class="sa-icon">
<use href="icons/sprite.svg#x-circle"></use>
</svg>
</button>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Looking for a less cluttered panel? Add <code>.panel-icon</code> class to your <code>.panel</code> to remove panel buttons and keep only the icons.
</div>
<button type="button" class="btn btn-outline-secondary" data-action="panel-toggle" data-panel-toggle="panel-icon">
Switch Panel Icon Style
</button>
</div>
</div>
</div>
<!--Refresh panel-->
<div id="panel-16" class="panel">
<div class="panel-hdr">
<h2>
Panel <span class="fw-light"><i>Refresh</i></span>
</h2>
<div class="panel-toolbar">
<button type="button" class="btn btn-xs btn-primary" data-action="panel-refresh" data-refresh-duration="2000" data-refresh-callback="loadRandomGraph">Refresh Panel</button>
</div>
</div>
<div class="panel-container">
<div class="panel-content">
<div class="panel-tag">
Refresh panels with a simple button. Use the <code>data-action="panel-refresh"</code> to activate the refresh feature. The <code>data-refresh-duration</code> attribute sets the refresh interval and the <code>data-refresh-callback="functionName"</code> attribute sets the callback function.
</div>
<div class="d-flex align-items-center justify-content-center">
<img id="randomGraph" src="#" alt="Random Colorful Bar Graph" style="width:350px; height: 200px;">
</div>
<div class="d-flex justify-content-between align-items-end">
<i class="js-last-refresh fs-xs text-muted"></i>
<button type="button" class="btn btn-outline-secondary" data-action="panel-refresh" data-refresh-duration="2000" data-refresh-callback="loadRandomGraph">Refresh Panel</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<footer class="app-footer">
<div class="app-footer-content flex-grow-1">
SmartAdmin &copy;
<script>document.write(new Date().getFullYear());</script>.
<span class="hidden-mobile"> All rights reserved, </span>
<span class="fw-bold">Webora.</span>
<a href="#top" class="ms-auto hidden-mobile" aria-label="Back to top">
<svg class="sa-icon sa-thick sa-icon-primary">
<use href="icons/sprite.svg#arrow-up"></use>
</svg>
</a>
</div>
</footer>
</main>
<aside class="app-drawer js-app-drawer">
<button type="button" class="btn btn-system position-absolute top-0 end-0 z-2 overflow-hidden p-3" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-app-drawer" aria-label="Close">
<svg class="sa-icon sa-icon-2x">
<use href="icons/sprite.svg#x"></use>
</svg>
</button>
<div class="custom-scrollbar h-100 p-0">
<div class="d-flex flex-grow-1 p-0 w-100 h-100">
<!-- left sidebar -->
<div class="d-flex flex-column flex-grow-1 flex-0 overflow-x-auto h-100">
<div class="flex-wrap align-items-center flex-grow-1 position-relative bg-gray-50">
<div class="position-absolute top-0 bottom-0 w-100 overflow-hidden d-flex flex-column">
<!-- chat container -->
<div class="w-100 p-4 pb-0 px-lg-3 bg-subtlelight-fade custom-scroll flex-grow-1 d-flex flex-column">
<div class="mb-g">
<h4 class="fw-600">Hi Sunny,</h4>
<span class="text-muted">how can I help you today?</span>
</div>
<div class="mt-auto ms-auto mb-2 btn btn-outline-default px-2 py-1 fw-500 fs-xs text-gradient">
Analyze my data
</div>
<p class="ms-auto mb-2 btn btn-outline-default px-2 py-1 fs-xs fw-500 text-gradient">
Create a new report
</p>
<p class="ms-auto mb-2 btn btn-outline-default px-2 py-1 fs-xs fw-500 text-gradient">
Summarize my Calendar
</p>
</div>
<!-- chat input -->
<div class="bg-faded m-3 rounded height-auto">
<textarea rows="2" class="form-control px-2 rounded-top" placeholder="Ask me anything"></textarea>
<div class="d-flex align-items-center py-2 px-2 border border-top-0 rounded-bottom">
<div class="d-flex gap-1 flex-row align-items-center flex-wrap flex-shrink-0">
<button class="btn btn-icon fs-xl flex-shrink-0" aria-label="Attach Files or Photos" type="button" data-bs-toggle="tooltip" data-bs-original-title="Attach Files or Photos" data-bs-placement="top">
<svg class="sa-icon sa-bold sa-icon-subtlelight">
<use href="icons/sprite.svg#file"></use>
</svg>
</button>
<button class="btn btn-icon fs-xl width-1 flex-shrink-0" aria-label="Voice" type="button" data-bs-toggle="tooltip" data-bs-original-title="Voice" data-bs-placement="top">
<svg class="sa-icon sa-bold sa-icon-subtlelight">
<use href="icons/sprite.svg#mic"></use>
</svg>
</button>
</div>
<button class="btn btn-icon fs-xl width-1 flex-shrink-0 ms-auto" aria-label="Send" type="button" data-bs-toggle="tooltip" data-bs-original-title="Send" data-bs-placement="top">
<svg class="sa-icon sa-bold sa-icon-subtlelight sa-icon-2x">
<use href="icons/sprite.svg#arrow-up-circle"></use>
</svg>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</aside>
<div class="backdrop" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-app-drawer"></div>
<aside class="app-drawer js-drawer-settings">
<div class="app-drawer-header">
<div class="h4 mb-0">
App Builder
</div>
<button type="button" class="btn btn-system ms-auto" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-drawer-settings" aria-label="Close">
<svg class="sa-icon sa-icon-2x">
<use href="icons/sprite.svg#x"></use>
</svg>
</button>
</div>
<div class="custom-scrollbar h-100">
<div class="info-container">
Unlock limitless design potential with 16+ layout combinations and extensive customization options—tailor your dashboard to fit your exact needs.
<button type="button" class="btn btn-sm btn-outline-secondary ms-1" data-action="playsound" data-soundpath="media/sound/" data-soundfile="settings-voice.mp3" aria-label="Play Settings Voice">
<svg class="sa-icon">
<use href="icons/sprite.svg#volume-2"></use>
</svg>
</button>
</div>
<div class="d-flex justify-content-spaced w-100 app-fob-showcase-text" data-prefix="Preview">
<div class="app-fob app-fob-lg app-fob-showcase">
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="mod-status primary-mod" data-prefix="Primary Settings">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="actionHeaderFixed" data-action="toggle" data-class="set-header-fixed">
<label class="form-check-label" for="actionHeaderFixed">
Header position fixed
</label>
</div>
<div class="form-check d-none d-lg-block d-xl-block d-xxl-block">
<input class="form-check-input" type="checkbox" id="actionNavFull" data-action="toggle" data-class="set-nav-full" data-codependence="set-nav-collapsed">
<label class="form-check-label" for="actionNavFull">
Navigation full height
</label>
</div>
</div>
<div class="mod-status d-none d-lg-block d-xl-block d-xxl-block" data-prefix="Addon Settings">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="actionNavFixed" data-action="toggle" data-class="set-nav-fixed">
<label class="form-check-label" for="actionNavFixed">
Navigation position fixed
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="actionNavCollapsed" data-action="toggle" data-class="set-nav-collapsed" data-dependency="set-nav-full">
<label class="form-check-label" for="actionNavCollapsed">
Navigation collapsed
</label>
</div>
</div>
<div class="mod-status" data-prefix="Misc Settings">
<div class="form-check d-none d-lg-block d-xl-block d-xxl-block">
<input class="form-check-input" type="checkbox" id="actionNavMinified" data-action="toggle" data-class="set-nav-minified">
<label class="form-check-label" for="actionNavMinified">
Navigation Minified
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="darkNavigation" data-action="toggle" data-class="set-nav-dark">
<label class="form-check-label" for="darkNavigation">
Dark Navigation
</label>
</div>
</div>
<div class="mod-status" data-prefix="Aria Settings">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="actionColorblindMode" data-action="toggle" data-class="set-colorblind-mode">
<label class="form-check-label" for="actionColorblindMode">
Colorblind Mode
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="actionHighContrastMode" data-action="toggle" data-class="set-high-contrast-mode">
<label class="form-check-label" for="actionHighContrastMode">
High Contrast Mode
</label>
</div>
</div>
<div class="mod-status app-themes" data-prefix="Themes">
<div class="clickable-boxes">
<!-- Default -->
<input type="radio" id="option0" name="options" data-action="theme-style" data-theme-style="" checked>
<label for="option0" data-prefix="Default" style="background: linear-gradient(135deg, #FF6A00, #F6A2D5, #4C91BF, #7A8B92, #AB7C9A);"></label>
<!-- Nebula -->
<input type="radio" id="option1" name="options" data-action="theme-style" data-theme-style="nebula">
<label for="option1" data-prefix="Nebula" style="background: linear-gradient(135deg, #2a7dbf, #2a9d8f, #766cbc, #f4a261, #e76f51);"></label>
<!-- Olive -->
<input type="radio" id="option2" name="options" data-action="theme-style" data-theme-style="olive">
<label for="option2" data-prefix="Olive" style="background: linear-gradient(135deg, #556B2F, #6B8E23, #8B9A3D, #A9B83E, #BDB76B);"></label>
<!-- Solar -->
<input type="radio" id="option3" name="options" data-action="theme-style" data-theme-style="solar">
<label for="option3" data-prefix="Solar" style="background: linear-gradient(135deg, #FF8C00, #FFD700, #FF4500, #F1C40F, #F39C12);"></label>
<!-- Lunar -->
<input type="radio" id="option4" name="options" data-action="theme-style" data-theme-style="lunar">
<label for="option4" data-prefix="Lunar" style="background: linear-gradient(135deg, #2C3E50, #34495E, #5F6368, #AAB7B8, #E6E6FA, #F1F3F4);"></label>
<!-- Night -->
<input type="radio" id="option5" name="options" data-action="theme-style" data-theme-style="night">
<label for="option5" data-prefix="Night" style="background: linear-gradient(135deg, #1e2a47, #2b3654, #363d6c, #4f5d79, #717b91, #b6c4d1);"></label>
<!-- Aurora -->
<input type="radio" id="option6" name="options" data-action="theme-style" data-theme-style="aurora">
<label for="option6" data-prefix="Aurora" style="background: linear-gradient(135deg, #337e7e, #527a4a, #63279b, #7FFF00, #87CEFA, #B0E0E6);"></label>
<!-- Earth -->
<input type="radio" id="option7" name="options" data-action="theme-style" data-theme-style="earth">
<label for="option7" data-prefix="Earth" style="background: linear-gradient(135deg, #2198f3, #3173a5, #3f6888, #618d48, #52bf11);"></label>
<!-- Flare -->
<input type="radio" id="option8" name="options" data-action="theme-style" data-theme-style="flare">
<label for="option8" data-prefix="Flare" style="background: linear-gradient(135deg, #FF4500, #FF6347, #F44336, #D32F2F, #B71C1C);"></label>
<!-- Storm -->
<input type="radio" id="option9" name="options" data-action="theme-style" data-theme-style="storm">
<label for="option9" data-prefix="Storm" style="background: linear-gradient(135deg, #2F4F4F, #3B5360, #4B6A6E, #5A7980, #A9A9A9, #FFD700);"></label>
</div>
</div>
<div class="d-flex" style="gap:10px">
<button type="button" onclick="appDOM.resetStyle();" class="btn reset-button btn-outline-danger flex-grow-1"> <i class="sa sa-reload align-base me-1"></i> Factory Reset</button>
<button type="button" onclick="resetPanelState();" class="btn btn-outline-secondary flex-grow-1"><i class="sa sa-reload align-base me-1"></i> Reset Panel</button>
</div>
</div>
</aside>
<div class="backdrop" data-action="toggle-swap" data-toggleclass="open" data-target="aside.js-drawer-settings"></div>
</div>
<!-- Core scripts -->
<script src="plugins/bootstrap/bootstrap.bundle.min.js"></script>
<script src="scripts/core/smartNavigation.js"></script>
<script src="scripts/core/smartFilter.js"></script>
<script src="scripts/core/smartSlimscroll.js"></script>
<!-- Dependable scripts -->
<script src="plugins/sortablejs/Sortable.min.js"></script>
<script src="plugins/waves/waves.min.js"></script>
<!-- App.js -->
<script src="scripts/core/smartApp.js"></script>
<script src="scripts/pages/refresh-panel.js"></script>
</body>
<!-- Mirrored from getwebora.com/smartadmin/demo/ui-panels.html by HTTrack Website Copier/3.x [XR&CO'2014], Tue, 30 Jun 2026 04:28:22 GMT -->
</html>