format with prettier-plugin-astro

This commit is contained in:
Daniel
2023-05-25 13:37:08 +05:30
parent 9929ea8738
commit 8fdb94c68a
32 changed files with 2527 additions and 1079 deletions

View File

@@ -1,28 +1,47 @@
---
const { title, path, isRtl } = Astro.props;
const cssPath = isRtl ? '.rtl' : '';
const cssPath = isRtl ? ".rtl" : "";
---
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{title}</title>
<!--begin::Primary Meta Tags-->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content={title}>
<meta name="author" content="ColorlibHQ">
<meta name="description" content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS.">
<meta name="keywords" content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="title" content={title} />
<meta name="author" content="ColorlibHQ" />
<meta
name="description"
content="AdminLTE is a Free Bootstrap 5 Admin Dashboard, 30 example pages using Vanilla JS."
/>
<meta
name="keywords"
content="bootstrap 5, bootstrap, bootstrap 5 admin dashboard, bootstrap 5 dashboard, bootstrap 5 charts, bootstrap 5 calendar, bootstrap 5 datepicker, bootstrap 5 tables, bootstrap 5 datatable, vanilla js datatable, colorlibhq, colorlibhq dashboard, colorlibhq admin dashboard"
/>
<!--end::Primary Meta Tags-->
<!--begin::Fonts-->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet">
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap"
rel="stylesheet"
/>
<!--end::Fonts-->
<!--begin::Third Party Plugin(OverlayScrollbars)-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.1.0/styles/overlayscrollbars.min.css" integrity="sha256-LWLZPJ7X1jJLI5OG5695qDemW1qQ7lNdbTfQ64ylbUY=" crossorigin="anonymous">
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.1.0/styles/overlayscrollbars.min.css"
integrity="sha256-LWLZPJ7X1jJLI5OG5695qDemW1qQ7lNdbTfQ64ylbUY="
crossorigin="anonymous"
/>
<!--end::Third Party Plugin(OverlayScrollbars)-->
<!--begin::Third Party Plugin(Font Awesome)-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.3.0/css/all.min.css" integrity="sha256-/4UQcSmErDzPCMAiuOiWPVVsNN2s3ZY/NsmXNcj0IFc=" crossorigin="anonymous">
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.3.0/css/all.min.css"
integrity="sha256-/4UQcSmErDzPCMAiuOiWPVVsNN2s3ZY/NsmXNcj0IFc="
crossorigin="anonymous"
/>
<!--end::Third Party Plugin(Font Awesome)-->
<!--begin::Required Plugin(AdminLTE)-->
<link rel="stylesheet" href={path + '/css/adminlte' + cssPath + '.css'} >
<link rel="stylesheet" href={path + "/css/adminlte" + cssPath + ".css"} />
<!--end::Required Plugin(AdminLTE)-->

View File

@@ -1,41 +1,51 @@
---
const { path } = Astro.props;
const adminlteJsUrl = path + '/js/adminlte.js';
const adminlteJsUrl = path + "/js/adminlte.js";
---
<!--begin::Third Party Plugin(OverlayScrollbars)-->
<script src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.1.0/browser/overlayscrollbars.browser.es6.min.js" integrity="sha256-NRZchBuHZWSXldqrtAOeCZpucH/1n1ToJ3C8mSK95NU=" crossorigin="anonymous"></script>
<!--end::Third Party Plugin(OverlayScrollbars)-->
<!--begin::Required Plugin(popperjs for Bootstrap 5)-->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.7/dist/umd/popper.min.js" integrity="sha384-zYPOMqeu1DAVkHiLqWBUTcbYfZ8osu1Nd6Z89ify25QV9guujx43ITvfi12/QExE" crossorigin="anonymous"></script>
<!--end::Required Plugin(popperjs for Bootstrap 5)-->
<!--begin::Required Plugin(Bootstrap 5)-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.min.js" integrity="sha384-Y4oOpwW3duJdCWv5ly8SCFYWqFDsfob/3GkgExXKV4idmbt98QcxXYs9UoXAB7BZ" crossorigin="anonymous"></script>
<!--end::Required Plugin(Bootstrap 5)-->
<!--begin::Required Plugin(AdminLTE)-->
<script
src="https://cdn.jsdelivr.net/npm/overlayscrollbars@2.1.0/browser/overlayscrollbars.browser.es6.min.js"
integrity="sha256-NRZchBuHZWSXldqrtAOeCZpucH/1n1ToJ3C8mSK95NU="
crossorigin="anonymous"
></script>
<!--end::Third Party Plugin(OverlayScrollbars)--><!--begin::Required Plugin(popperjs for Bootstrap 5)-->
<script
src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.7/dist/umd/popper.min.js"
integrity="sha384-zYPOMqeu1DAVkHiLqWBUTcbYfZ8osu1Nd6Z89ify25QV9guujx43ITvfi12/QExE"
crossorigin="anonymous"
></script>
<!--end::Required Plugin(popperjs for Bootstrap 5)--><!--begin::Required Plugin(Bootstrap 5)-->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.min.js"
integrity="sha384-Y4oOpwW3duJdCWv5ly8SCFYWqFDsfob/3GkgExXKV4idmbt98QcxXYs9UoXAB7BZ"
crossorigin="anonymous"
></script>
<!--end::Required Plugin(Bootstrap 5)--><!--begin::Required Plugin(AdminLTE)-->
<script src={adminlteJsUrl} is:inline></script>
<!--end::Required Plugin(AdminLTE)-->
<!--begin::OverlayScrollbars Configure-->
<!--end::Required Plugin(AdminLTE)--><!--begin::OverlayScrollbars Configure-->
<script is:inline>
const SELECTOR_SIDEBAR_WRAPPER = '.sidebar-wrapper'
const SELECTOR_SIDEBAR_WRAPPER = ".sidebar-wrapper";
const Default = {
scrollbarTheme: 'os-theme-light',
scrollbarAutoHide: 'leave',
scrollbarClickScroll: true
}
scrollbarTheme: "os-theme-light",
scrollbarAutoHide: "leave",
scrollbarClickScroll: true,
};
document.addEventListener("DOMContentLoaded", function() {
const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER)
if (sidebarWrapper && typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== 'undefined') {
document.addEventListener("DOMContentLoaded", function () {
const sidebarWrapper = document.querySelector(SELECTOR_SIDEBAR_WRAPPER);
if (
sidebarWrapper &&
typeof OverlayScrollbarsGlobal?.OverlayScrollbars !== "undefined"
) {
OverlayScrollbarsGlobal.OverlayScrollbars(sidebarWrapper, {
scrollbars: {
theme: Default.scrollbarTheme,
autoHide: Default.scrollbarAutoHide,
clickScroll: Default.scrollbarClickScroll
}
})
clickScroll: Default.scrollbarClickScroll,
},
});
}
})
});
</script>
<!--end::OverlayScrollbars Configure-->

View File

@@ -5,12 +5,14 @@ const year = new Date().getFullYear();
<!--begin::Footer-->
<footer class="app-footer">
<!--begin::To the end-->
<div class="float-end d-none d-sm-inline">
Anything you want
</div>
<div class="float-end d-none d-sm-inline">Anything you want</div>
<!--end::To the end-->
<!--begin::Copyright-->
<strong>Copyright &copy; 2014-{year} <a href="https://adminlte.io">AdminLTE.io</a>.</strong> All rights reserved.
<strong>
Copyright &copy; 2014-{year}
<a href="https://adminlte.io">AdminLTE.io</a>.
</strong>
All rights reserved.
<!--end::Copyright-->
</footer>
<!--end::Footer-->

View File

@@ -1,5 +1,5 @@
---
import { convertPathToHtml } from '../../../utils/index.js';
import { convertPathToHtml } from "../../../utils/index.js";
const { path, mainPage, page } = Astro.props;
const htmlPath = convertPathToHtml(path);
---
@@ -9,9 +9,13 @@ const htmlPath = convertPathToHtml(path);
<!--begin::Sidebar Brand-->
<div class="sidebar-brand">
<!--begin::Brand Link-->
<a href={htmlPath + '/index.html'} class="brand-link">
<a href={htmlPath + "/index.html"} class="brand-link">
<!--begin::Brand Image-->
<img src={path + '/assets/img/AdminLTELogo.png'} alt="AdminLTE Logo" class="brand-image opacity-75 shadow">
<img
src={path + "/assets/img/AdminLTELogo.png"}
alt="AdminLTE Logo"
class="brand-image opacity-75 shadow"
/>
<!--end::Brand Image-->
<!--begin::Brand Text-->
<span class="brand-text fw-light">AdminLTE 4</span>
@@ -24,9 +28,17 @@ const htmlPath = convertPathToHtml(path);
<div class="sidebar-wrapper">
<nav class="mt-2">
<!--begin::Sidebar Menu-->
<ul class="nav sidebar-menu flex-column" data-lte-toggle="treeview" role="menu" data-accordion="false">
<li class:list={['nav-item', mainPage === 'dashboard' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'dashboard' && 'active']}>
<ul
class="nav sidebar-menu flex-column"
data-lte-toggle="treeview"
role="menu"
data-accordion="false"
>
<li class:list={["nav-item", mainPage === "dashboard" && "menu-open"]}>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "dashboard" && "active"]}
>
<i class="nav-icon fa-solid fa-gauge-high"></i>
<p>
Dashboard
@@ -35,27 +47,39 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/index.html'} class:list={['nav-link', page === 'index' && 'active']}>
<a
href={htmlPath + "/index.html"}
class:list={["nav-link", page === "index" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Dashboard v1</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/index2.html'} class:list={['nav-link', page === 'index2' && 'active']}>
<a
href={htmlPath + "/index2.html"}
class:list={["nav-link", page === "index2" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Dashboard v2</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/index3.html'} class:list={['nav-link', page === 'index3' && 'active']}>
<a
href={htmlPath + "/index3.html"}
class:list={["nav-link", page === "index3" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Dashboard v3</p>
</a>
</li>
</ul>
</li>
<li class:list={['nav-item', mainPage === 'widgets' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'widgets' && 'active']}>
<li class:list={["nav-item", mainPage === "widgets" && "menu-open"]}>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "widgets" && "active"]}
>
<i class="nav-icon fa-solid fa-box-open"></i>
<p>
Widgets
@@ -64,75 +88,118 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/widgets/small-box.html'} class:list={['nav-link', page === 'small-box' && 'active']}>
<a
href={htmlPath + "/widgets/small-box.html"}
class:list={["nav-link", page === "small-box" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Small Box</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/widgets/info-box.html'} class:list={['nav-link', page === 'info-box' && 'active']}>
<a
href={htmlPath + "/widgets/info-box.html"}
class:list={["nav-link", page === "info-box" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>info Box</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/widgets/cards.html'} class:list={['nav-link', page === 'cards' && 'active']}>
<a
href={htmlPath + "/widgets/cards.html"}
class:list={["nav-link", page === "cards" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Cards</p>
</a>
</li>
</ul>
</li>
<li class:list={['nav-item', mainPage === 'layout' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'layout' && 'active']}>
<li class:list={["nav-item", mainPage === "layout" && "menu-open"]}>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "layout" && "active"]}
>
<i class="nav-icon fa-solid fa-copy"></i>
<p>
Layout Options
<span class="nav-badge badge text-bg-secondary opacity-75 me-3">6</span>
<span class="nav-badge badge text-bg-secondary opacity-75 me-3"
>6</span
>
<i class="nav-arrow fa-solid fa-angle-right"></i>
</p>
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/layout/unfixed-sidebar.html'} class:list={['nav-link', page === 'unfixed-sidebar' && 'active']}>
<a
href={htmlPath + "/layout/unfixed-sidebar.html"}
class:list={[
"nav-link",
page === "unfixed-sidebar" && "active",
]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Unfixed Sidebar</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/layout/fixed-sidebar.html'} class:list={['nav-link', page === 'fixed-sidebar' && 'active']}>
<a
href={htmlPath + "/layout/fixed-sidebar.html"}
class:list={["nav-link", page === "fixed-sidebar" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Fixed Sidebar</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/layout/sidebar-mini.html'} class:list={['nav-link', page === 'sidebar-mini' && 'active']}>
<a
href={htmlPath + "/layout/sidebar-mini.html"}
class:list={["nav-link", page === "sidebar-mini" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Sidebar Mini</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/layout/collapsed-sidebar.html'} class:list={['nav-link', page === 'collapsed-sidebar' && 'active']}>
<a
href={htmlPath + "/layout/collapsed-sidebar.html"}
class:list={[
"nav-link",
page === "collapsed-sidebar" && "active",
]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Sidebar Mini <small>+ Collapsed</small></p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/layout/logo-switch.html'} class:list={['nav-link', page === 'logo-switch' && 'active']}>
<a
href={htmlPath + "/layout/logo-switch.html"}
class:list={["nav-link", page === "logo-switch" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Sidebar Mini <small>+ Logo Switch</small></p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/layout/layout-rtl.html'} class:list={['nav-link', page === 'layout-rtl' && 'active']}>
<a
href={htmlPath + "/layout/layout-rtl.html"}
class:list={["nav-link", page === "layout-rtl" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Layout RTL</p>
</a>
</li>
</ul>
</li>
<li class:list={['nav-item', mainPage === 'ui-elements' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'ui-elements' && 'active']}>
<li
class:list={["nav-item", mainPage === "ui-elements" && "menu-open"]}
>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "ui-elements" && "active"]}
>
<i class="nav-icon fa-solid fa-tree"></i>
<p>
UI Elements
@@ -141,15 +208,21 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/UI/timeline.html'} class:list={['nav-link', page === 'timeline' && 'active']}>
<a
href={htmlPath + "/UI/timeline.html"}
class:list={["nav-link", page === "timeline" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Timeline</p>
</a>
</li>
</ul>
</li>
<li class:list={['nav-item', mainPage === 'forms' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'forms' && 'active']}>
<li class:list={["nav-item", mainPage === "forms" && "menu-open"]}>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "forms" && "active"]}
>
<i class="nav-icon fa-solid fa-pen-to-square"></i>
<p>
Forms
@@ -158,15 +231,21 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/forms/general.html'} class:list={['nav-link', page === 'general' && 'active']}>
<a
href={htmlPath + "/forms/general.html"}
class:list={["nav-link", page === "general" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>General Elements</p>
</a>
</li>
</ul>
</li>
<li class:list={['nav-item', mainPage === 'tables' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'tables' && 'active']}>
<li class:list={["nav-item", mainPage === "tables" && "menu-open"]}>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "tables" && "active"]}
>
<i class="nav-icon fa-solid fa-table"></i>
<p>
Tables
@@ -175,7 +254,10 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/tables/simple.html'} class:list={['nav-link', page === 'simple' && 'active']}>
<a
href={htmlPath + "/tables/simple.html"}
class:list={["nav-link", page === "simple" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Simple Tables</p>
</a>
@@ -194,13 +276,13 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/examples/login.html'} class="nav-link ">
<a href={htmlPath + "/examples/login.html"} class="nav-link">
<i class="nav-icon fa-regular fa-circle"></i>
<p>Login v1</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/examples/register.html'} class="nav-link ">
<a href={htmlPath + "/examples/register.html"} class="nav-link">
<i class="nav-icon fa-regular fa-circle"></i>
<p>Register v1</p>
</a>
@@ -210,25 +292,37 @@ const htmlPath = convertPathToHtml(path);
<li class="nav-header">DOCUMENTATIONS</li>
<li class="nav-item">
<a href={htmlPath + '/docs/introduction.html'} class:list={['nav-link', page === 'introduction' && 'active']}>
<a
href={htmlPath + "/docs/introduction.html"}
class:list={["nav-link", page === "introduction" && "active"]}
>
<i class="nav-icon fa-solid fa-download"></i>
<p>Installation</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/docs/layout.html'} class:list={['nav-link', page === 'layout' && 'active']}>
<a
href={htmlPath + "/docs/layout.html"}
class:list={["nav-link", page === "layout" && "active"]}
>
<i class="nav-icon fa-solid fa-grip"></i>
<p>Layout</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/docs/color-mode.html'} class:list={['nav-link', page === 'color-mode' && 'active']}>
<a
href={htmlPath + "/docs/color-mode.html"}
class:list={["nav-link", page === "color-mode" && "active"]}
>
<i class="nav-icon fa-solid fa-star-half-stroke"></i>
<p>Color Mode</p>
</a>
</li>
<li class:list={['nav-item', mainPage === 'components' && 'menu-open']}>
<a href="javascript:;" class:list={['nav-link', mainPage === 'components' && 'active']}>
<li class:list={["nav-item", mainPage === "components" && "menu-open"]}>
<a
href="javascript:;"
class:list={["nav-link", mainPage === "components" && "active"]}
>
<i class="nav-icon fa-solid fa-swatchbook"></i>
<p>
Components
@@ -237,13 +331,19 @@ const htmlPath = convertPathToHtml(path);
</a>
<ul class="nav nav-treeview">
<li class="nav-item">
<a href={htmlPath + '/docs/components/main-header.html'} class:list={['nav-link', page === 'main-header' && 'active']}>
<a
href={htmlPath + "/docs/components/main-header.html"}
class:list={["nav-link", page === "main-header" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Main Header</p>
</a>
</li>
<li class="nav-item">
<a href={htmlPath + '/docs/components/main-sidebar.html'} class:list={['nav-link', page === 'main-sidebar' && 'active']}>
<a
href={htmlPath + "/docs/components/main-sidebar.html"}
class:list={["nav-link", page === "main-sidebar" && "active"]}
>
<i class="nav-icon fa-regular fa-circle"></i>
<p>Main Sidebar</p>
</a>
@@ -251,7 +351,10 @@ const htmlPath = convertPathToHtml(path);
</ul>
</li>
<li class="nav-item">
<a href={htmlPath + '/docs/browser-support.html'} class:list={['nav-link', page === 'browser-support' && 'active']}>
<a
href={htmlPath + "/docs/browser-support.html"}
class:list={["nav-link", page === "browser-support" && "active"]}
>
<i class="nav-icon fa-solid fa-edge"></i>
<p>Browser Support</p>
</a>

View File

@@ -2,6 +2,7 @@
const { path } = Astro.props;
const distPath = path;
---
<!--begin::Header-->
<nav class="app-header navbar navbar-expand bg-body">
<!--begin::Container-->
@@ -9,7 +10,9 @@ const distPath = path;
<!--begin::Start Navbar Links-->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button"><i class="fa-solid fa-bars"></i></a>
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
<i class="fa-solid fa-bars"></i>
</a>
</li>
<li class="nav-item d-none d-md-block">
<a href="#" class="nav-link">Home</a>
@@ -41,15 +44,23 @@ const distPath = path;
<!--begin::Message-->
<div class="d-flex">
<div class="flex-shrink-0">
<img src={distPath + '/assets/img/user1-128x128.jpg'} alt="User Avatar" class="img-size-50 rounded-circle me-3">
<img
src={distPath + "/assets/img/user1-128x128.jpg"}
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
</div>
<div class="flex-grow-1">
<h3 class="dropdown-item-title">
Brad Diesel
<span class="float-end fs-7 text-danger"><i class="fa-solid fa-star"></i></span>
<span class="float-end fs-7 text-danger"
><i class="fa-solid fa-star"></i></span
>
</h3>
<p class="fs-7">Call me whenever you can...</p>
<p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
<p class="fs-7 text-secondary">
<i class="fa-regular fa-clock me-1"></i> 4 Hours Ago
</p>
</div>
</div>
<!--end::Message-->
@@ -59,15 +70,23 @@ const distPath = path;
<!--begin::Message-->
<div class="d-flex">
<div class="flex-shrink-0">
<img src={distPath + '/assets/img/user8-128x128.jpg'} alt="User Avatar" class="img-size-50 rounded-circle me-3">
<img
src={distPath + "/assets/img/user8-128x128.jpg"}
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
</div>
<div class="flex-grow-1">
<h3 class="dropdown-item-title">
John Pierce
<span class="float-end fs-7 text-secondary"><i class="fa-solid fa-star"></i></span>
<span class="float-end fs-7 text-secondary">
<i class="fa-solid fa-star"></i>
</span>
</h3>
<p class="fs-7">I got your message bro</p>
<p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
<p class="fs-7 text-secondary">
<i class="fa-regular fa-clock me-1"></i> 4 Hours Ago
</p>
</div>
</div>
<!--end::Message-->
@@ -77,15 +96,23 @@ const distPath = path;
<!--begin::Message-->
<div class="d-flex">
<div class="flex-shrink-0">
<img src={distPath + '/assets/img/user3-128x128.jpg'}alt="User Avatar" class="img-size-50 rounded-circle me-3">
<img
src={distPath + "/assets/img/user3-128x128.jpg"}
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
</div>
<div class="flex-grow-1">
<h3 class="dropdown-item-title">
Nora Silvester
<span class="float-end fs-7 text-warning"><i class="fa-solid fa-star"></i></span>
<span class="float-end fs-7 text-warning">
<i class="fa-solid fa-star"></i>
</span>
</h3>
<p class="fs-7">The subject goes here</p>
<p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
<p class="fs-7 text-secondary">
<i class="fa-regular fa-clock me-1"></i> 4 Hours Ago
</p>
</div>
</div>
<!--end::Message-->
@@ -120,7 +147,9 @@ const distPath = path;
<span class="float-end text-secondary fs-7">2 days</span>
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>
<a href="#" class="dropdown-item dropdown-footer">
See All Notifications
</a>
</div>
</li>
<!--end::Notifications Dropdown Menu-->
@@ -128,13 +157,21 @@ const distPath = path;
<!--begin::User Menu Dropdown-->
<li class="nav-item dropdown user-menu">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
<img src={distPath + '/assets/img/user2-160x160.jpg'} class="user-image rounded-circle shadow" alt="User Image">
<img
src={distPath + "/assets/img/user2-160x160.jpg"}
class="user-image rounded-circle shadow"
alt="User Image"
/>
<span class="d-none d-md-inline">Alexander Pierce</span>
</a>
<ul class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
<!--begin::User Image-->
<li class="user-header text-bg-primary">
<img src={distPath + '/assets/img/user2-160x160.jpg'} class="rounded-circle shadow" alt="User Image">
<img
src={distPath + "/assets/img/user2-160x160.jpg"}
class="rounded-circle shadow"
alt="User Image"
/>
<p>
Alexander Pierce - Web Developer

View File

@@ -1,7 +1,8 @@
AdminLTE comes with the same browser support as Bootstrap 5.
> ##### Excerpt from Bootstrap's official Documentation!
> Bootstrap supports the __latest, stable releases__ of all major browsers and platforms.
>
> Bootstrap supports the **latest, stable releases** of all major browsers and platforms.
>
> For more details [look here](https://getbootstrap.com/docs/5.0/getting-started/browsers-devices/#supported-browsers).

View File

@@ -6,12 +6,9 @@
<!-- Start navbar links -->
<ul class="navbar-nav">
<li class="nav-item">
<a
class="nav-link"
data-lte-toggle="sidebar"
href="#"
role="button"><i class="fa-solid fa-bars"></i></a
>
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
<i class="fa-solid fa-bars"></i>
</a>
</li>
<li class="nav-item d-none d-md-block">
<a href="#" class="nav-link">Home</a>
@@ -67,8 +64,7 @@
class="dropdown-item d-flex align-items-center"
data-bs-theme-value="auto"
>
<i class="fa-solid fa-circle-half-stroke me-2"
></i>
<i class="fa-solid fa-circle-half-stroke me-2"></i>
Auto
<i class="fa-solid fa-check ms-auto d-none"></i>
</button>
@@ -84,48 +80,56 @@
```js
// Color Mode Toggler
(() => {
'use strict'
const storedTheme = localStorage.getItem('theme')
"use strict";
const storedTheme = localStorage.getItem("theme");
const getPreferredTheme = () => {
if (storedTheme) {
return storedTheme
return storedTheme;
}
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
}
return window.matchMedia("(prefers-color-scheme: dark)").matches
? "dark"
: "light";
};
const setTheme = function (theme) {
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.documentElement.setAttribute('data-bs-theme', 'dark')
if (
theme === "auto" &&
window.matchMedia("(prefers-color-scheme: dark)").matches
) {
document.documentElement.setAttribute("data-bs-theme", "dark");
} else {
document.documentElement.setAttribute('data-bs-theme', theme)
document.documentElement.setAttribute("data-bs-theme", theme);
}
}
setTheme(getPreferredTheme())
const showActiveTheme = theme => {
const activeThemeIcon = document.querySelector('.theme-icon-active i')
const btnToActive = document.querySelector('[data-bs-theme-value="' + theme + '"]')
const svgOfActiveBtn = btnToActive.querySelector('i').getAttribute('class')
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active')
})
btnToActive.classList.add('active')
activeThemeIcon.setAttribute('class', svgOfActiveBtn)
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
if (storedTheme !== 'light' || storedTheme !== 'dark') {
setTheme(getPreferredTheme())
}
})
window.addEventListener('DOMContentLoaded', () => {
showActiveTheme(getPreferredTheme())
document.querySelectorAll('[data-bs-theme-value]')
.forEach(toggle => {
toggle.addEventListener('click', () => {
const theme = toggle.getAttribute('data-bs-theme-value')
localStorage.setItem('theme', theme)
setTheme(theme)
showActiveTheme(theme)
})
})
})
})()
};
setTheme(getPreferredTheme());
const showActiveTheme = (theme) => {
const activeThemeIcon = document.querySelector(".theme-icon-active i");
const btnToActive = document.querySelector(
'[data-bs-theme-value="' + theme + '"]'
);
const svgOfActiveBtn = btnToActive.querySelector("i").getAttribute("class");
document.querySelectorAll("[data-bs-theme-value]").forEach((element) => {
element.classList.remove("active");
});
btnToActive.classList.add("active");
activeThemeIcon.setAttribute("class", svgOfActiveBtn);
};
window
.matchMedia("(prefers-color-scheme: dark)")
.addEventListener("change", () => {
if (storedTheme !== "light" || storedTheme !== "dark") {
setTheme(getPreferredTheme());
}
});
window.addEventListener("DOMContentLoaded", () => {
showActiveTheme(getPreferredTheme());
document.querySelectorAll("[data-bs-theme-value]").forEach((toggle) => {
toggle.addEventListener("click", () => {
const theme = toggle.getAttribute("data-bs-theme-value");
localStorage.setItem("theme", theme);
setTheme(theme);
showActiveTheme(theme);
});
});
});
})();
```

View File

@@ -6,7 +6,9 @@
<!-- Start navbar links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button"><i class="fa-solid fa-bars"></i></a>
<a class="nav-link" data-lte-toggle="sidebar" href="#" role="button">
<i class="fa-solid fa-bars"></i>
</a>
</li>
<li class="nav-item d-none d-md-block">
<a href="#" class="nav-link">Home</a>
@@ -36,15 +38,23 @@
<!-- Message Start -->
<div class="d-flex">
<div class="flex-shrink-0">
<img src="../../../dist/assets/img/user1-128x128.jpg" alt="User Avatar" class="img-size-50 rounded-circle me-3">
<img
src="../../../dist/assets/img/user1-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
</div>
<div class="flex-grow-1">
<h3 class="dropdown-item-title">
Brad Diesel
<span class="float-end fs-7 text-danger"><i class="fa-solid fa-star"></i></span>
<span class="float-end fs-7 text-danger">
<i class="fa-solid fa-star"></i>
</span>
</h3>
<p class="fs-7">Call me whenever you can...</p>
<p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
<p class="fs-7 text-secondary">
<i class="fa-regular fa-clock me-1"></i> 4 Hours Ago
</p>
</div>
</div>
<!-- Message End -->
@@ -54,15 +64,23 @@
<!-- Message Start -->
<div class="d-flex">
<div class="flex-shrink-0">
<img src="../../../dist/assets/img/user8-128x128.jpg" alt="User Avatar" class="img-size-50 rounded-circle me-3">
<img
src="../../../dist/assets/img/user8-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
</div>
<div class="flex-grow-1">
<h3 class="dropdown-item-title">
John Pierce
<span class="float-end fs-7 text-secondary"><i class="fa-solid fa-star"></i></span>
<span class="float-end fs-7 text-secondary">
<i class="fa-solid fa-star"></i>
</span>
</h3>
<p class="fs-7">I got your message bro</p>
<p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
<p class="fs-7 text-secondary">
<i class="fa-regular fa-clock me-1"></i> 4 Hours Ago
</p>
</div>
</div>
<!-- Message End -->
@@ -72,15 +90,23 @@
<!-- Message Start -->
<div class="d-flex">
<div class="flex-shrink-0">
<img src="../../../dist/assets/img/user3-128x128.jpg" alt="User Avatar" class="img-size-50 rounded-circle me-3">
<img
src="../../../dist/assets/img/user3-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
</div>
<div class="flex-grow-1">
<h3 class="dropdown-item-title">
Nora Silvester
<span class="float-end fs-7 text-warning"><i class="fa-solid fa-star"></i></span>
<span class="float-end fs-7 text-warning">
<i class="fa-solid fa-star"></i>
</span>
</h3>
<p class="fs-7">The subject goes here</p>
<p class="fs-7 text-secondary"><i class="fa-regular fa-clock me-1"></i> 4 Hours Ago</p>
<p class="fs-7 text-secondary">
<i class="fa-regular fa-clock me-1"></i> 4 Hours Ago
</p>
</div>
</div>
<!-- Message End -->
@@ -113,18 +139,28 @@
<span class="float-end text-secondary fs-7">2 days</span>
</a>
<div class="dropdown-divider"></div>
<a href="#" class="dropdown-item dropdown-footer">See All Notifications</a>
<a href="#" class="dropdown-item dropdown-footer">
See All Notifications
</a>
</div>
</li>
<li class="nav-item dropdown user-menu">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
<img src="../../../dist/assets/img/user2-160x160.jpg" class="user-image rounded-circle shadow" alt="User Image">
<img
src="../../../dist/assets/img/user2-160x160.jpg"
class="user-image rounded-circle shadow"
alt="User Image"
/>
<span class="d-none d-md-inline">Alexander Pierce</span>
</a>
<ul class="dropdown-menu dropdown-menu-lg dropdown-menu-end">
<!-- User image -->
<li class="user-header text-bg-primary">
<img src="../../../dist/assets/img/user2-160x160.jpg" class="rounded-circle shadow" alt="User Image">
<img
src="../../../dist/assets/img/user2-160x160.jpg"
class="rounded-circle shadow"
alt="User Image"
/>
<p>
Alexander Pierce - Web Developer
@@ -159,4 +195,4 @@
<!--end::Container-->
</nav>
<!-- /.navbar -->
```
```

View File

@@ -8,7 +8,11 @@ The sidebar used in this page to the left provides an example of what your sideb
<!--begin::Brand Link-->
<a href="./index.html" class="brand-link">
<!--begin::Brand Image-->
<img src="./assets/img/AdminLTELogo.png" alt="AdminLTE Logo" class="brand-image opacity-75 shadow">
<img
src="./assets/img/AdminLTELogo.png"
alt="AdminLTE Logo"
class="brand-image opacity-75 shadow"
/>
<!--end::Brand Image-->
<!--begin::Brand Text-->
<span class="brand-text fw-light">AdminLTE 4</span>
@@ -21,7 +25,12 @@ The sidebar used in this page to the left provides an example of what your sideb
<div class="sidebar-wrapper">
<nav class="mt-2">
<!--begin::Sidebar Menu-->
<ul class="nav sidebar-menu flex-column" data-lte-toggle="treeview" role="menu" data-accordion="false">
<ul
class="nav sidebar-menu flex-column"
data-lte-toggle="treeview"
role="menu"
data-accordion="false"
>
<li class="nav-header">Nav Header</li>
<li class="nav-item">
<a href="./index.html" class="nav-link">
@@ -41,7 +50,14 @@ The sidebar used in this page to the left provides an example of what your sideb
<li class="nav-item">
<a href="./index.html" class="nav-link">
<i class="nav-icon fa-regular fa-circle"></i>
<p>Level 2 (Badge) <span class="nav-badge badge text-bg-secondary opacity-75 me-3">6</span></p>
<p>
Level 2 (Badge)
<span
class="nav-badge badge text-bg-secondary opacity-75 me-3"
>
6
</span>
</p>
</a>
</li>
<li class="nav-item">
@@ -98,8 +114,16 @@ You can use two logo images instead of logo with text, you only need to change t
```html
<div class="sidebar-brand">
<a href="./index.html" class="brand-link logo-switch">
<img src="./assets/img/AdminLTELogo.png" alt="AdminLTE Logo Small" class="brand-image-xl logo-xs opacity-75 shadow">
<img src="./assets/img/AdminLTEFullLogo.png" alt="AdminLTE Logo Large" class="brand-image-xs logo-xl opacity-75">
<img
src="./assets/img/AdminLTELogo.png"
alt="AdminLTE Logo Small"
class="brand-image-xl logo-xs opacity-75 shadow"
/>
<img
src="./assets/img/AdminLTEFullLogo.png"
alt="AdminLTE Logo Large"
class="brand-image-xs logo-xl opacity-75"
/>
</a>
</div>
```

View File

@@ -1,35 +1,60 @@
## Quick start
There are multiple ways to install AdminLTE.
### Download & Changelog:
Always Recommended to download from GitHub latest release [AdminLTE 4](https://github.com/ColorlibHQ/AdminLTE/releases/latest) for bug free and latest features.\
Visit the [releases](https://github.com/ColorlibHQ/AdminLTE/releases) page to view the changelog.\
Legacy Releases are [AdminLTE 3](https://github.com/ColorlibHQ/AdminLTE/releases/tag/v3.2.0) / [AdminLTE 2](https://github.com/ColorlibHQ/AdminLTE/releases/tag/v2.4.18) / [AdminLTE 1](https://github.com/ColorlibHQ/AdminLTE/releases/tag/1.3.1).
## Stable release
### Grab from [jsdelivr](https://www.jsdelivr.com/package/npm/admin-lte) CDN:
_**Important Note**: You needed to add separately cdn links for plugins in your project._
```html
<script src="https://cdn.jsdelivr.net/npm/admin-lte@4.0.0-alpha2/dist/js/adminlte.min.js" integrity="sha256-5SPy1/00NR75iVOk7p0Ci0nwAAM8Ab7j31wyie+DKYw=" crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/admin-lte@4.0.0-alpha2/dist/js/adminlte.min.js"
integrity="sha256-5SPy1/00NR75iVOk7p0Ci0nwAAM8Ab7j31wyie+DKYw="
crossorigin="anonymous"
></script>
```
```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/admin-lte@4.0.0-alpha2/dist/css/adminlte.min.css" integrity="sha256-c66Dhf3TzKZoXxk8aNaf2lu580xGnKke4mjUtbpMqYg=" crossorigin="anonymous">
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/admin-lte@4.0.0-alpha2/dist/css/adminlte.min.css"
integrity="sha256-c66Dhf3TzKZoXxk8aNaf2lu580xGnKke4mjUtbpMqYg="
crossorigin="anonymous"
/>
```
### Using The Command Line:
_**Important Note**: To install it via npm/Yarn, you need at least Node.js 14 or higher._
#### Via npm
```bash
npm install admin-lte@4.0.0-alpha2 --save
```
#### Via Yarn
```bash
yarn add admin-lte@4.0.0-alpha2
```
#### Via Composer
```bash
composer require "almasaeed2010/adminlte=4.0.0-alpha2"
```
#### Via Git
```bash
git clone https://github.com/ColorlibHQ/AdminLTE.git
```