Release 4.0.0-rc4: Updated dependencies and refined mobile image fix

- Updated 8 npm packages to latest versions including TypeScript, Astro, and linting tools
- Refined mobile image loading solution by removing JavaScript runtime fix in favor of HTML-level path generation
- All images now use relative paths generated at build time for optimal compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Aigars Silkalns
2025-07-10 12:11:37 +03:00
parent a9e3a52379
commit 01aefe5ac0
82 changed files with 1195 additions and 1521 deletions

View File

@@ -96,7 +96,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user1-128x128.jpg"
src="../assets/img/user1-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -122,7 +122,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user8-128x128.jpg"
src="../assets/img/user8-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -148,7 +148,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user3-128x128.jpg"
src="../assets/img/user3-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -213,7 +213,7 @@
<li class="nav-item dropdown user-menu">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
<img
src="/assets/img/user2-160x160.jpg"
src="../assets/img/user2-160x160.jpg"
class="user-image rounded-circle shadow"
alt="User Image"
/>
@@ -223,7 +223,7 @@
<!--begin::User Image-->
<li class="user-header text-bg-primary">
<img
src="/assets/img/user2-160x160.jpg"
src="../assets/img/user2-160x160.jpg"
class="rounded-circle shadow"
alt="User Image"
/>
@@ -267,7 +267,7 @@
<a href="../index.html" class="brand-link">
<!--begin::Brand Image-->
<img
src="/assets/img/AdminLTELogo.png"
src="../assets/img/AdminLTELogo.png"
alt="AdminLTE Logo"
class="brand-image opacity-75 shadow"
/>
@@ -1055,31 +1055,7 @@
}
});
</script>
<!--end::OverlayScrollbars Configure--><!-- Image path runtime fix -->
<script>
document.addEventListener('DOMContentLoaded', () => {
// Find the link tag for the main AdminLTE CSS file.
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
if (!cssLink) {
return; // Exit if the link isn't found
}
// Extract the base path from the CSS href.
// e.g., from "../css/adminlte.css", we get "../"
// e.g., from "./css/adminlte.css", we get "./"
const cssHref = cssLink.getAttribute('href');
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
// Find all images with absolute paths and fix them.
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
const originalSrc = img.getAttribute('src');
if (originalSrc) {
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
img.src = deploymentPath + relativeSrc;
}
});
});
</script>
<!--end::OverlayScrollbars Configure-->
<!--end::Script-->
</body>
<!--end::Body-->

View File

@@ -96,7 +96,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user1-128x128.jpg"
src="../assets/img/user1-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -122,7 +122,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user8-128x128.jpg"
src="../assets/img/user8-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -148,7 +148,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user3-128x128.jpg"
src="../assets/img/user3-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -213,7 +213,7 @@
<li class="nav-item dropdown user-menu">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
<img
src="/assets/img/user2-160x160.jpg"
src="../assets/img/user2-160x160.jpg"
class="user-image rounded-circle shadow"
alt="User Image"
/>
@@ -223,7 +223,7 @@
<!--begin::User Image-->
<li class="user-header text-bg-primary">
<img
src="/assets/img/user2-160x160.jpg"
src="../assets/img/user2-160x160.jpg"
class="rounded-circle shadow"
alt="User Image"
/>
@@ -267,7 +267,7 @@
<a href="../index.html" class="brand-link">
<!--begin::Brand Image-->
<img
src="/assets/img/AdminLTELogo.png"
src="../assets/img/AdminLTELogo.png"
alt="AdminLTE Logo"
class="brand-image opacity-75 shadow"
/>
@@ -1073,31 +1073,7 @@
}
});
</script>
<!--end::OverlayScrollbars Configure--><!-- Image path runtime fix -->
<script>
document.addEventListener('DOMContentLoaded', () => {
// Find the link tag for the main AdminLTE CSS file.
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
if (!cssLink) {
return; // Exit if the link isn't found
}
// Extract the base path from the CSS href.
// e.g., from "../css/adminlte.css", we get "../"
// e.g., from "./css/adminlte.css", we get "./"
const cssHref = cssLink.getAttribute('href');
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
// Find all images with absolute paths and fix them.
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
const originalSrc = img.getAttribute('src');
if (originalSrc) {
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
img.src = deploymentPath + relativeSrc;
}
});
});
</script>
<!--end::OverlayScrollbars Configure-->
<!--end::Script-->
</body>
<!--end::Body-->

View File

@@ -96,7 +96,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user1-128x128.jpg"
src="../assets/img/user1-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -122,7 +122,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user8-128x128.jpg"
src="../assets/img/user8-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -148,7 +148,7 @@
<div class="d-flex">
<div class="flex-shrink-0">
<img
src="/assets/img/user3-128x128.jpg"
src="../assets/img/user3-128x128.jpg"
alt="User Avatar"
class="img-size-50 rounded-circle me-3"
/>
@@ -213,7 +213,7 @@
<li class="nav-item dropdown user-menu">
<a href="#" class="nav-link dropdown-toggle" data-bs-toggle="dropdown">
<img
src="/assets/img/user2-160x160.jpg"
src="../assets/img/user2-160x160.jpg"
class="user-image rounded-circle shadow"
alt="User Image"
/>
@@ -223,7 +223,7 @@
<!--begin::User Image-->
<li class="user-header text-bg-primary">
<img
src="/assets/img/user2-160x160.jpg"
src="../assets/img/user2-160x160.jpg"
class="rounded-circle shadow"
alt="User Image"
/>
@@ -267,7 +267,7 @@
<a href="../index.html" class="brand-link">
<!--begin::Brand Image-->
<img
src="/assets/img/AdminLTELogo.png"
src="../assets/img/AdminLTELogo.png"
alt="AdminLTE Logo"
class="brand-image opacity-75 shadow"
/>
@@ -935,31 +935,7 @@
}
});
</script>
<!--end::OverlayScrollbars Configure--><!-- Image path runtime fix -->
<script>
document.addEventListener('DOMContentLoaded', () => {
// Find the link tag for the main AdminLTE CSS file.
const cssLink = document.querySelector('link[href*="css/adminlte.css"]');
if (!cssLink) {
return; // Exit if the link isn't found
}
// Extract the base path from the CSS href.
// e.g., from "../css/adminlte.css", we get "../"
// e.g., from "./css/adminlte.css", we get "./"
const cssHref = cssLink.getAttribute('href');
const deploymentPath = cssHref.slice(0, cssHref.indexOf('css/adminlte.css'));
// Find all images with absolute paths and fix them.
document.querySelectorAll('img[src^="/assets/"]').forEach((img) => {
const originalSrc = img.getAttribute('src');
if (originalSrc) {
const relativeSrc = originalSrc.slice(1); // Remove leading '/'
img.src = deploymentPath + relativeSrc;
}
});
});
</script>
<!--end::OverlayScrollbars Configure-->
<!--end::Script-->
</body>
<!--end::Body-->