admin-lte 4.0.0-rc3 → 4.0.0-rc4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +28 -0
- package/CHANGELOG.md +35 -0
- package/CLAUDE.md +106 -0
- package/README 2.md +106 -0
- package/README.md +9 -0
- package/dist/UI/general.html +7 -31
- package/dist/UI/icons.html +7 -31
- package/dist/UI/timeline.html +11 -35
- package/dist/css/adminlte.css +33 -3
- package/dist/css/adminlte.css.map +1 -1
- package/dist/css/adminlte.min.css +2 -2
- package/dist/css/adminlte.min.css.map +1 -1
- package/dist/css/adminlte.rtl.css +33 -3
- package/dist/css/adminlte.rtl.css.map +1 -1
- package/dist/css/adminlte.rtl.min.css +2 -2
- package/dist/css/adminlte.rtl.min.css.map +1 -1
- package/dist/docs/browser-support.html +7 -31
- package/dist/docs/color-mode.html +7 -31
- package/dist/docs/components/main-header.html +12 -36
- package/dist/docs/components/main-sidebar.html +7 -31
- package/dist/docs/faq.html +7 -31
- package/dist/docs/how-to-contribute.html +7 -31
- package/dist/docs/introduction.html +12 -36
- package/dist/docs/javascript/treeview.html +7 -31
- package/dist/docs/layout.html +7 -31
- package/dist/docs/license.html +7 -31
- package/dist/examples/lockscreen.html +2 -26
- package/dist/examples/login-v2.html +1 -25
- package/dist/examples/login.html +1 -25
- package/dist/examples/register-v2.html +1 -25
- package/dist/examples/register.html +1 -25
- package/dist/forms/general.html +7 -31
- package/dist/generate/theme.html +7 -31
- package/dist/index.html +17 -41
- package/dist/index2.html +29 -53
- package/dist/index3.html +11 -35
- package/dist/js/adminlte.js +15 -6
- package/dist/js/adminlte.js.map +1 -1
- package/dist/js/adminlte.min.js +1 -1
- package/dist/js/adminlte.min.js.map +1 -1
- package/dist/layout/collapsed-sidebar.html +7 -31
- package/dist/layout/fixed-complete.html +7 -31
- package/dist/layout/fixed-footer.html +7 -31
- package/dist/layout/fixed-header.html +7 -31
- package/dist/layout/fixed-sidebar.html +7 -31
- package/dist/layout/layout-custom-area.html +7 -31
- package/dist/layout/layout-rtl.html +7 -31
- package/dist/layout/logo-switch.html +8 -32
- package/dist/layout/sidebar-mini.html +7 -31
- package/dist/layout/unfixed-sidebar.html +7 -31
- package/dist/tables/simple.html +7 -31
- package/dist/widgets/cards.html +7 -31
- package/dist/widgets/info-box.html +7 -31
- package/dist/widgets/small-box.html +7 -31
- package/package.json +9 -8
- package/src/scss/_accessibility.scss +9 -2
- package/src/scss/_app-sidebar.scss +4 -0
- package/src/scss/adminlte.scss +1 -1
- package/src/ts/adminlte.ts +1 -1
- package/src/ts/push-menu.ts +17 -5
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"WebFetch(domain:github.com)",
|
|
5
|
+
"Bash(npm run css-lint)",
|
|
6
|
+
"Bash(npm run build:*)",
|
|
7
|
+
"Bash(npm install)",
|
|
8
|
+
"Bash(npm run:*)",
|
|
9
|
+
"Bash(npm test:*)",
|
|
10
|
+
"Bash(npm install:*)",
|
|
11
|
+
"Bash(npm start)",
|
|
12
|
+
"WebFetch(domain:adminlte.io)",
|
|
13
|
+
"Bash(rm:*)",
|
|
14
|
+
"Bash(find:*)",
|
|
15
|
+
"Bash(sed:*)",
|
|
16
|
+
"Bash(gh pr list:*)",
|
|
17
|
+
"Bash(npm audit:*)",
|
|
18
|
+
"Bash(npm outdated)",
|
|
19
|
+
"Bash(npm update:*)",
|
|
20
|
+
"Bash(git add:*)",
|
|
21
|
+
"Bash(git commit:*)",
|
|
22
|
+
"Bash(git tag:*)",
|
|
23
|
+
"Bash(gh release create:*)",
|
|
24
|
+
"Bash(npm publish:*)"
|
|
25
|
+
],
|
|
26
|
+
"deny": []
|
|
27
|
+
}
|
|
28
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,41 @@ All notable changes to AdminLTE will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [4.0.0-rc4] - 2025-07-10
|
|
11
|
+
|
|
12
|
+
### Updated
|
|
13
|
+
- **Dependencies:** Updated 8 packages to latest versions
|
|
14
|
+
- @rollup/plugin-typescript: 12.1.3 → 12.1.4
|
|
15
|
+
- @typescript-eslint/eslint-plugin: 8.35.1 → 8.36.0
|
|
16
|
+
- @typescript-eslint/parser: 8.35.1 → 8.36.0
|
|
17
|
+
- astro: 5.10.0 → 5.11.0
|
|
18
|
+
- eslint: 9.30.0 → 9.30.1
|
|
19
|
+
- prettier: 3.5.3 → 3.6.2
|
|
20
|
+
- rollup: 4.44.0 → 4.44.2
|
|
21
|
+
- stylelint: 16.21.0 → 16.21.1
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
- **Windows Build Compatibility:** Fixed npm scripts to work cross-platform by replacing Unix-specific shell commands with `shx`
|
|
25
|
+
- Updated `copy-assets` script to use `shx mkdir` and `shx cp` commands
|
|
26
|
+
- Updated `flatten-build` script to use `shx cp` and `shx rm` commands
|
|
27
|
+
- Added `shx` package as dev dependency for cross-platform shell command support
|
|
28
|
+
- Resolves build failures on Windows systems with "The syntax of the command is incorrect" errors
|
|
29
|
+
- **TeamViewer Modal Compatibility:** Fixed modal fade animations for remote desktop compatibility
|
|
30
|
+
- Updated accessibility CSS to use `transition: none` and `opacity: 1` instead of `display: block`
|
|
31
|
+
- Maintains WCAG 2.1 AA compliance while ensuring modals work properly in TeamViewer sessions
|
|
32
|
+
- Added specific transform overrides for modal dialogs in reduced motion mode
|
|
33
|
+
- **Mobile Sidebar Scrolling:** Fixed sidebar closing unexpectedly when scrolling on mobile devices
|
|
34
|
+
- Updated touch event handling to differentiate between tap and scroll gestures
|
|
35
|
+
- Added proper overflow properties to sidebar wrapper for mobile viewport
|
|
36
|
+
- Sidebar now remains open during scroll operations on touch devices
|
|
37
|
+
- Resolves issue where scrolling in sidebar would immediately close it on mobile browsers
|
|
38
|
+
- **Image Path Resolution:** Fixed mobile image loading by using relative paths in HTML
|
|
39
|
+
- **Root Cause:** Absolute paths like `/assets/img/user.jpg` caused 404 errors on mobile
|
|
40
|
+
- **Solution:** Generate relative image paths in Astro components based on page location
|
|
41
|
+
- **Result:** Images now load correctly on all devices and deployment scenarios
|
|
42
|
+
|
|
8
43
|
## [4.0.0-rc3] - 2025-06-24
|
|
9
44
|
|
|
10
45
|
### Production Deployment & Cross-Platform Compatibility
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
AdminLTE is a Bootstrap 5-based admin dashboard template with TypeScript components and SCSS styling. The project uses Astro for documentation generation and includes comprehensive build tooling for development and production.
|
|
8
|
+
|
|
9
|
+
## Development Commands
|
|
10
|
+
|
|
11
|
+
### Start Development
|
|
12
|
+
```bash
|
|
13
|
+
npm start # Start development server with file watching (opens http://localhost:3000)
|
|
14
|
+
npm run dev # Same as npm start
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Build Commands
|
|
18
|
+
```bash
|
|
19
|
+
npm run build # Quick development build (CSS + JS + assets + docs)
|
|
20
|
+
npm run production # Full production build with linting and optimization
|
|
21
|
+
npm run compile # Build all assets (CSS, JS, assets, docs)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Asset-Specific Commands
|
|
25
|
+
```bash
|
|
26
|
+
npm run css # Build CSS only (compile + prefix + RTL + minify)
|
|
27
|
+
npm run js # Build JavaScript only (compile + minify)
|
|
28
|
+
npm run assets # Process assets only
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Linting and Quality
|
|
32
|
+
```bash
|
|
33
|
+
npm run lint # Run all linters (JS, CSS, docs, lockfile)
|
|
34
|
+
npm run js-lint # ESLint for JavaScript/TypeScript
|
|
35
|
+
npm run css-lint # Stylelint for SCSS
|
|
36
|
+
npm run docs-lint # Astro check for documentation
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Individual Build Steps
|
|
40
|
+
```bash
|
|
41
|
+
npm run css-compile # Compile SCSS to CSS
|
|
42
|
+
npm run css-rtl # Generate RTL versions
|
|
43
|
+
npm run js-compile # Compile TypeScript to JavaScript
|
|
44
|
+
npm run docs-compile # Build documentation with Astro
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Architecture
|
|
48
|
+
|
|
49
|
+
### Core Structure
|
|
50
|
+
- **src/ts/**: TypeScript source files for UI components
|
|
51
|
+
- **src/scss/**: SCSS source files for styling
|
|
52
|
+
- **src/html/**: Astro-based documentation and examples
|
|
53
|
+
- **src/config/**: Build configuration files
|
|
54
|
+
- **src/assets/**: Static assets (images, etc.)
|
|
55
|
+
- **dist/**: Built assets and documentation
|
|
56
|
+
|
|
57
|
+
### Key Components (src/ts/)
|
|
58
|
+
- **adminlte.ts**: Main entry point that initializes all components
|
|
59
|
+
- **layout.ts**: Core layout management and theme handling
|
|
60
|
+
- **accessibility.ts**: WCAG 2.1 AA compliance features
|
|
61
|
+
- **card-widget.ts**: Collapsible card functionality
|
|
62
|
+
- **treeview.ts**: Navigation tree component
|
|
63
|
+
- **push-menu.ts**: Sidebar menu toggle
|
|
64
|
+
- **direct-chat.ts**: Chat widget functionality
|
|
65
|
+
- **fullscreen.ts**: Fullscreen mode toggle
|
|
66
|
+
|
|
67
|
+
### Build System
|
|
68
|
+
- **Rollup**: JavaScript bundling (UMD format)
|
|
69
|
+
- **Sass**: SCSS compilation with Bootstrap integration
|
|
70
|
+
- **PostCSS**: CSS processing with autoprefixer and RTL support
|
|
71
|
+
- **Astro**: Static site generation for documentation
|
|
72
|
+
- **ESLint**: JavaScript/TypeScript linting with TypeScript ESLint, Unicorn, and Astro plugins
|
|
73
|
+
|
|
74
|
+
### Styling Architecture
|
|
75
|
+
- Built on Bootstrap 5.3.7 with custom variables
|
|
76
|
+
- Modular SCSS structure in parts/ directory
|
|
77
|
+
- Dark mode support with separate variable files
|
|
78
|
+
- RTL (Right-to-Left) language support
|
|
79
|
+
- Accessibility-focused styling
|
|
80
|
+
|
|
81
|
+
### Development Workflow
|
|
82
|
+
1. Source files are watched during development
|
|
83
|
+
2. CSS and JS are automatically compiled and copied to src/html/public/
|
|
84
|
+
3. Astro serves documentation with hot reloading
|
|
85
|
+
4. Production builds include minification and optimization
|
|
86
|
+
|
|
87
|
+
## Key Files and Configurations
|
|
88
|
+
|
|
89
|
+
### Build Configuration
|
|
90
|
+
- **src/config/rollup.config.js**: JavaScript bundling configuration
|
|
91
|
+
- **src/config/astro.config.mjs**: Documentation build configuration
|
|
92
|
+
- **src/config/postcss.config.mjs**: CSS processing configuration
|
|
93
|
+
- **eslint.config.js**: Linting rules and file ignores
|
|
94
|
+
|
|
95
|
+
### Main Entry Points
|
|
96
|
+
- **src/ts/adminlte.ts**: Main TypeScript entry point
|
|
97
|
+
- **src/scss/adminlte.scss**: Main SCSS entry point
|
|
98
|
+
- **dist/js/adminlte.min.js**: Built JavaScript for production
|
|
99
|
+
- **dist/css/adminlte.min.css**: Built CSS for production
|
|
100
|
+
|
|
101
|
+
### Development Notes
|
|
102
|
+
- The project uses ES modules (type: "module" in package.json)
|
|
103
|
+
- TypeScript configuration is in tsconfig.json
|
|
104
|
+
- File watching is handled by nodemon with specific patterns
|
|
105
|
+
- Assets are copied to src/html/public/ during build for Astro integration
|
|
106
|
+
- Production builds are flattened to dist/ root for deployment
|
package/README 2.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# [AdminLTE - Bootstrap 5 Admin Dashboard](https://adminlte.io)
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/admin-lte)
|
|
4
|
+
[](https://packagist.org/packages/almasaeed2010/adminlte)
|
|
5
|
+
[](https://www.jsdelivr.com/package/npm/admin-lte)
|
|
6
|
+
[](https://discord.gg/jfdvjwFqfz)
|
|
7
|
+
[](https://app.netlify.com/sites/adminlte-v4/deploys)
|
|
8
|
+
|
|
9
|
+
**AdminLTE** is a fully responsive administration template. Based on **[Bootstrap 5](https://getbootstrap.com/)** framework and also the JavaScript plugins.
|
|
10
|
+
Highly customizable and easy to use. Fits many screen resolutions from small mobile devices to large desktops.
|
|
11
|
+
|
|
12
|
+
## What's New in v4.0.0-rc3
|
|
13
|
+
|
|
14
|
+
**Production Deployment & Cross-Platform Compatibility** - This release resolves critical production deployment issues:
|
|
15
|
+
|
|
16
|
+
- **Fixed Production Builds** - Resolved CSS/JS path issues, sidebar navigation, and image loading in all deployment scenarios
|
|
17
|
+
- **Smart Path Resolution** - Automatic relative path calculation works for root deployment, sub-folders, and CDN hosting
|
|
18
|
+
- **RTL CSS Fix** - Eliminated rtlcss interference with standard LTR production builds
|
|
19
|
+
- **Updated Dependencies** - Bootstrap 5.3.7, Bootstrap Icons 1.13.1, OverlayScrollbars 2.11.0
|
|
20
|
+
- **Zero Console Errors** - Fixed all CDN integrity mismatches and runtime issues
|
|
21
|
+
- **FTP/Static Host Ready** - Perfect compatibility with traditional hosting and modern static platforms
|
|
22
|
+
|
|
23
|
+
**Key Improvements:**
|
|
24
|
+
- ✅ Development and production environments now behave identically
|
|
25
|
+
- ✅ Images, CSS, and JavaScript load correctly in any deployment structure
|
|
26
|
+
- ✅ Sidebar navigation displays properly with badges and arrow indicators
|
|
27
|
+
- ✅ All CDN resources load without console errors
|
|
28
|
+
- ✅ Complete production build included in repository for easy deployment
|
|
29
|
+
|
|
30
|
+
See the [CHANGELOG.md](CHANGELOG.md) for complete details.
|
|
31
|
+
|
|
32
|
+
## Looking for Premium Templates?
|
|
33
|
+
|
|
34
|
+
AdminLTE.io just opened a new premium templates page. Hand picked to ensure the best quality and the most affordable
|
|
35
|
+
prices. Visit <https://adminlte.io/premium> for more information.
|
|
36
|
+
|
|
37
|
+

|
|
38
|
+
|
|
39
|
+
**AdminLTE** has been carefully coded with clear comments in all of its JS, SCSS and HTML files.
|
|
40
|
+
SCSS has been used to increase code customizability.
|
|
41
|
+
|
|
42
|
+
## Quick start
|
|
43
|
+
|
|
44
|
+
### Development
|
|
45
|
+
|
|
46
|
+
To start developing with AdminLTE:
|
|
47
|
+
|
|
48
|
+
1. **Install dependencies:** `npm install`
|
|
49
|
+
2. **Start development server:** `npm start` *(opens browser at http://localhost:3000)*
|
|
50
|
+
3. **Start coding!** Files auto-compile and refresh on changes
|
|
51
|
+
|
|
52
|
+
### Production Build
|
|
53
|
+
|
|
54
|
+
To build for production:
|
|
55
|
+
|
|
56
|
+
1. **Full production build:** `npm run production` *(includes linting and optimization)*
|
|
57
|
+
2. **Quick build:** `npm run build` *(faster for development/testing)*
|
|
58
|
+
|
|
59
|
+
### Available Scripts
|
|
60
|
+
|
|
61
|
+
- `npm start` - Start development server with file watching
|
|
62
|
+
- `npm run build` - Build all assets for development
|
|
63
|
+
- `npm run production` - Full production build with linting and bundlewatch
|
|
64
|
+
- `npm run lint` - Run all linters (JS, CSS, docs, lockfile)
|
|
65
|
+
- `npm run css` - Build CSS only
|
|
66
|
+
- `npm run js` - Build JavaScript only
|
|
67
|
+
|
|
68
|
+
## Browser Support
|
|
69
|
+
|
|
70
|
+
AdminLTE supports all modern browsers with the latest Bootstrap 5.3.7:
|
|
71
|
+
- Chrome (latest)
|
|
72
|
+
- Firefox (latest)
|
|
73
|
+
- Safari (latest)
|
|
74
|
+
- Edge (latest)
|
|
75
|
+
|
|
76
|
+
## Contributing
|
|
77
|
+
|
|
78
|
+
- Highly welcome.
|
|
79
|
+
- For your extra reference check [AdminLTE v4 Contribution Guide](https://github.com/ColorlibHQ/AdminLTE#contributing)
|
|
80
|
+
- First thing first, you should have bit knowledge about NodeJS.
|
|
81
|
+
- Github Knowledge.
|
|
82
|
+
- Install NodeJS LTS version.
|
|
83
|
+
- Clone this Repository to your machine and change to `master` branch.
|
|
84
|
+
- Go to Cloned Folder.
|
|
85
|
+
- In cli/bash run `npm install` it will install dependency from `package.json`.
|
|
86
|
+
- After installation completes, run `npm start`
|
|
87
|
+
- Cool, Send your changes in PR to `master` branch.
|
|
88
|
+
|
|
89
|
+
## Sponsorship
|
|
90
|
+
|
|
91
|
+
Support AdminLTE development by becoming a sponsor.
|
|
92
|
+
[Github Sponsors](https://github.com/sponsors/danny007in) or
|
|
93
|
+
[PayPal](https://www.paypal.me/daniel007in)
|
|
94
|
+
|
|
95
|
+
## License
|
|
96
|
+
|
|
97
|
+
AdminLTE is an open source project by [AdminLTE.io](https://adminlte.io) that is licensed under [MIT](https://opensource.org/licenses/MIT).
|
|
98
|
+
AdminLTE.io reserves the right to change the license of future releases.
|
|
99
|
+
|
|
100
|
+
## Image Credits
|
|
101
|
+
|
|
102
|
+
- [Pixeden](http://www.pixeden.com/psd-web-elements/flat-responsive-showcase-psd)
|
|
103
|
+
- [Graphicsfuel](https://www.graphicsfuel.com/2013/02/13-high-resolution-blur-backgrounds/)
|
|
104
|
+
- [Pickaface](https://pickaface.net/)
|
|
105
|
+
- [Unsplash](https://unsplash.com/)
|
|
106
|
+
- [Uifaces](http://uifaces.com/)
|
package/README.md
CHANGED
|
@@ -73,6 +73,15 @@ AdminLTE supports all modern browsers with the latest Bootstrap 5.3.7:
|
|
|
73
73
|
- Safari (latest)
|
|
74
74
|
- Edge (latest)
|
|
75
75
|
|
|
76
|
+
## Platform Support
|
|
77
|
+
|
|
78
|
+
AdminLTE v4 build scripts work cross-platform:
|
|
79
|
+
- **Windows** - Command Prompt, PowerShell, Git Bash
|
|
80
|
+
- **macOS** - Terminal, iTerm2
|
|
81
|
+
- **Linux** - Bash, Zsh, and other Unix shells
|
|
82
|
+
|
|
83
|
+
All npm scripts use cross-platform utilities to ensure consistent behavior across different operating systems.
|
|
84
|
+
|
|
76
85
|
## Contributing
|
|
77
86
|
|
|
78
87
|
- Highly welcome.
|
package/dist/UI/general.html
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<div class="d-flex">
|
|
97
97
|
<div class="flex-shrink-0">
|
|
98
98
|
<img
|
|
99
|
-
src="
|
|
99
|
+
src="../assets/img/user1-128x128.jpg"
|
|
100
100
|
alt="User Avatar"
|
|
101
101
|
class="img-size-50 rounded-circle me-3"
|
|
102
102
|
/>
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
<div class="d-flex">
|
|
123
123
|
<div class="flex-shrink-0">
|
|
124
124
|
<img
|
|
125
|
-
src="
|
|
125
|
+
src="../assets/img/user8-128x128.jpg"
|
|
126
126
|
alt="User Avatar"
|
|
127
127
|
class="img-size-50 rounded-circle me-3"
|
|
128
128
|
/>
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
<div class="d-flex">
|
|
149
149
|
<div class="flex-shrink-0">
|
|
150
150
|
<img
|
|
151
|
-
src="
|
|
151
|
+
src="../assets/img/user3-128x128.jpg"
|
|
152
152
|
alt="User Avatar"
|
|
153
153
|
class="img-size-50 rounded-circle me-3"
|
|
154
154
|
/>
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
<li class="nav-item dropdown user-menu">
|
|
214
214
|
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
|
|
215
215
|
<img
|
|
216
|
-
src="
|
|
216
|
+
src="../assets/img/user2-160x160.jpg"
|
|
217
217
|
class="user-image rounded-circle shadow"
|
|
218
218
|
alt="User Image"
|
|
219
219
|
/>
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
<!--begin::User Image-->
|
|
224
224
|
<li class="user-header text-bg-primary">
|
|
225
225
|
<img
|
|
226
|
-
src="
|
|
226
|
+
src="../assets/img/user2-160x160.jpg"
|
|
227
227
|
class="rounded-circle shadow"
|
|
228
228
|
alt="User Image"
|
|
229
229
|
/>
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
<a href="../index.html" class="brand-link">
|
|
268
268
|
<!--begin::Brand Image-->
|
|
269
269
|
<img
|
|
270
|
-
src="
|
|
270
|
+
src="../assets/img/AdminLTELogo.png"
|
|
271
271
|
alt="AdminLTE Logo"
|
|
272
272
|
class="brand-image opacity-75 shadow"
|
|
273
273
|
/>
|
|
@@ -1897,31 +1897,7 @@
|
|
|
1897
1897
|
}
|
|
1898
1898
|
});
|
|
1899
1899
|
</script>
|
|
1900
|
-
<!--end::OverlayScrollbars Configure
|
|
1901
|
-
<script>
|
|
1902
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
1903
|
-
// Find the link tag for the main AdminLTE CSS file.
|
|
1904
|
-
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
|
|
1905
|
-
if (!cssLink) {
|
|
1906
|
-
return; // Exit if the link isn't found
|
|
1907
|
-
}
|
|
1908
|
-
|
|
1909
|
-
// Extract the base path from the CSS href.
|
|
1910
|
-
// e.g., from "../css/adminlte.css", we get "../"
|
|
1911
|
-
// e.g., from "./css/adminlte.css", we get "./"
|
|
1912
|
-
const cssHref = cssLink.getAttribute('href');
|
|
1913
|
-
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
|
|
1914
|
-
|
|
1915
|
-
// Find all images with absolute paths and fix them.
|
|
1916
|
-
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
|
|
1917
|
-
const originalSrc = img.getAttribute('src');
|
|
1918
|
-
if (originalSrc) {
|
|
1919
|
-
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
|
|
1920
|
-
img.src = deploymentPath + relativeSrc;
|
|
1921
|
-
}
|
|
1922
|
-
});
|
|
1923
|
-
});
|
|
1924
|
-
</script>
|
|
1900
|
+
<!--end::OverlayScrollbars Configure-->
|
|
1925
1901
|
<!--begin::Bootstrap Tooltips-->
|
|
1926
1902
|
<script>
|
|
1927
1903
|
const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
package/dist/UI/icons.html
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<div class="d-flex">
|
|
97
97
|
<div class="flex-shrink-0">
|
|
98
98
|
<img
|
|
99
|
-
src="
|
|
99
|
+
src="../assets/img/user1-128x128.jpg"
|
|
100
100
|
alt="User Avatar"
|
|
101
101
|
class="img-size-50 rounded-circle me-3"
|
|
102
102
|
/>
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
<div class="d-flex">
|
|
123
123
|
<div class="flex-shrink-0">
|
|
124
124
|
<img
|
|
125
|
-
src="
|
|
125
|
+
src="../assets/img/user8-128x128.jpg"
|
|
126
126
|
alt="User Avatar"
|
|
127
127
|
class="img-size-50 rounded-circle me-3"
|
|
128
128
|
/>
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
<div class="d-flex">
|
|
149
149
|
<div class="flex-shrink-0">
|
|
150
150
|
<img
|
|
151
|
-
src="
|
|
151
|
+
src="../assets/img/user3-128x128.jpg"
|
|
152
152
|
alt="User Avatar"
|
|
153
153
|
class="img-size-50 rounded-circle me-3"
|
|
154
154
|
/>
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
<li class="nav-item dropdown user-menu">
|
|
214
214
|
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
|
|
215
215
|
<img
|
|
216
|
-
src="
|
|
216
|
+
src="../assets/img/user2-160x160.jpg"
|
|
217
217
|
class="user-image rounded-circle shadow"
|
|
218
218
|
alt="User Image"
|
|
219
219
|
/>
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
<!--begin::User Image-->
|
|
224
224
|
<li class="user-header text-bg-primary">
|
|
225
225
|
<img
|
|
226
|
-
src="
|
|
226
|
+
src="../assets/img/user2-160x160.jpg"
|
|
227
227
|
class="rounded-circle shadow"
|
|
228
228
|
alt="User Image"
|
|
229
229
|
/>
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
<a href="../index.html" class="brand-link">
|
|
268
268
|
<!--begin::Brand Image-->
|
|
269
269
|
<img
|
|
270
|
-
src="
|
|
270
|
+
src="../assets/img/AdminLTELogo.png"
|
|
271
271
|
alt="AdminLTE Logo"
|
|
272
272
|
class="brand-image opacity-75 shadow"
|
|
273
273
|
/>
|
|
@@ -838,31 +838,7 @@
|
|
|
838
838
|
}
|
|
839
839
|
});
|
|
840
840
|
</script>
|
|
841
|
-
<!--end::OverlayScrollbars Configure
|
|
842
|
-
<script>
|
|
843
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
844
|
-
// Find the link tag for the main AdminLTE CSS file.
|
|
845
|
-
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
|
|
846
|
-
if (!cssLink) {
|
|
847
|
-
return; // Exit if the link isn't found
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
// Extract the base path from the CSS href.
|
|
851
|
-
// e.g., from "../css/adminlte.css", we get "../"
|
|
852
|
-
// e.g., from "./css/adminlte.css", we get "./"
|
|
853
|
-
const cssHref = cssLink.getAttribute('href');
|
|
854
|
-
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
|
|
855
|
-
|
|
856
|
-
// Find all images with absolute paths and fix them.
|
|
857
|
-
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
|
|
858
|
-
const originalSrc = img.getAttribute('src');
|
|
859
|
-
if (originalSrc) {
|
|
860
|
-
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
|
|
861
|
-
img.src = deploymentPath + relativeSrc;
|
|
862
|
-
}
|
|
863
|
-
});
|
|
864
|
-
});
|
|
865
|
-
</script>
|
|
841
|
+
<!--end::OverlayScrollbars Configure-->
|
|
866
842
|
<!--end::Script-->
|
|
867
843
|
</body>
|
|
868
844
|
<!--end::Body-->
|
package/dist/UI/timeline.html
CHANGED
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
<div class="d-flex">
|
|
97
97
|
<div class="flex-shrink-0">
|
|
98
98
|
<img
|
|
99
|
-
src="
|
|
99
|
+
src="../assets/img/user1-128x128.jpg"
|
|
100
100
|
alt="User Avatar"
|
|
101
101
|
class="img-size-50 rounded-circle me-3"
|
|
102
102
|
/>
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
<div class="d-flex">
|
|
123
123
|
<div class="flex-shrink-0">
|
|
124
124
|
<img
|
|
125
|
-
src="
|
|
125
|
+
src="../assets/img/user8-128x128.jpg"
|
|
126
126
|
alt="User Avatar"
|
|
127
127
|
class="img-size-50 rounded-circle me-3"
|
|
128
128
|
/>
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
<div class="d-flex">
|
|
149
149
|
<div class="flex-shrink-0">
|
|
150
150
|
<img
|
|
151
|
-
src="
|
|
151
|
+
src="../assets/img/user3-128x128.jpg"
|
|
152
152
|
alt="User Avatar"
|
|
153
153
|
class="img-size-50 rounded-circle me-3"
|
|
154
154
|
/>
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
<li class="nav-item dropdown user-menu">
|
|
214
214
|
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
|
|
215
215
|
<img
|
|
216
|
-
src="
|
|
216
|
+
src="../assets/img/user2-160x160.jpg"
|
|
217
217
|
class="user-image rounded-circle shadow"
|
|
218
218
|
alt="User Image"
|
|
219
219
|
/>
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
<!--begin::User Image-->
|
|
224
224
|
<li class="user-header text-bg-primary">
|
|
225
225
|
<img
|
|
226
|
-
src="
|
|
226
|
+
src="../assets/img/user2-160x160.jpg"
|
|
227
227
|
class="rounded-circle shadow"
|
|
228
228
|
alt="User Image"
|
|
229
229
|
/>
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
<a href="../index.html" class="brand-link">
|
|
268
268
|
<!--begin::Brand Image-->
|
|
269
269
|
<img
|
|
270
|
-
src="
|
|
270
|
+
src="../assets/img/AdminLTELogo.png"
|
|
271
271
|
alt="AdminLTE Logo"
|
|
272
272
|
class="brand-image opacity-75 shadow"
|
|
273
273
|
/>
|
|
@@ -821,10 +821,10 @@
|
|
|
821
821
|
<span class="time"> <i class="bi bi-clock-fill"></i> 2 days ago </span>
|
|
822
822
|
<h3 class="timeline-header"><a href="#">Mina Lee</a> uploaded new photos</h3>
|
|
823
823
|
<div class="timeline-body">
|
|
824
|
-
<img src="
|
|
825
|
-
<img src="
|
|
826
|
-
<img src="
|
|
827
|
-
<img src="
|
|
824
|
+
<img src="../assets/img/user1-128x128.jpg" alt="..." />
|
|
825
|
+
<img src="../assets/img/user1-128x128.jpg" alt="..." />
|
|
826
|
+
<img src="../assets/img/user1-128x128.jpg" alt="..." />
|
|
827
|
+
<img src="../assets/img/user1-128x128.jpg" alt="..." />
|
|
828
828
|
</div>
|
|
829
829
|
</div>
|
|
830
830
|
</div>
|
|
@@ -916,31 +916,7 @@
|
|
|
916
916
|
}
|
|
917
917
|
});
|
|
918
918
|
</script>
|
|
919
|
-
<!--end::OverlayScrollbars Configure
|
|
920
|
-
<script>
|
|
921
|
-
document.addEventListener('DOMContentLoaded', () => {
|
|
922
|
-
// Find the link tag for the main AdminLTE CSS file.
|
|
923
|
-
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
|
|
924
|
-
if (!cssLink) {
|
|
925
|
-
return; // Exit if the link isn't found
|
|
926
|
-
}
|
|
927
|
-
|
|
928
|
-
// Extract the base path from the CSS href.
|
|
929
|
-
// e.g., from "../css/adminlte.css", we get "../"
|
|
930
|
-
// e.g., from "./css/adminlte.css", we get "./"
|
|
931
|
-
const cssHref = cssLink.getAttribute('href');
|
|
932
|
-
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
|
|
933
|
-
|
|
934
|
-
// Find all images with absolute paths and fix them.
|
|
935
|
-
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
|
|
936
|
-
const originalSrc = img.getAttribute('src');
|
|
937
|
-
if (originalSrc) {
|
|
938
|
-
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
|
|
939
|
-
img.src = deploymentPath + relativeSrc;
|
|
940
|
-
}
|
|
941
|
-
});
|
|
942
|
-
});
|
|
943
|
-
</script>
|
|
919
|
+
<!--end::OverlayScrollbars Configure-->
|
|
944
920
|
<!--end::Script-->
|
|
945
921
|
</body>
|
|
946
922
|
<!--end::Body-->
|