Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
- Remove middleware reference from Gitea Traefik labels (caused routing issues) - Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s) - Add explicit service reference in Traefik labels - Fix intermittent 504 timeouts by improving PostgreSQL connection handling Fixes Gitea unreachability via git.michaelschiemer.de
72 lines
2.5 KiB
JavaScript
72 lines
2.5 KiB
JavaScript
import '../css/styles.css';
|
|
|
|
import { initApp } from './core/init.js';
|
|
import { Logger } from './core/logger.js';
|
|
import { FormAutoSave } from './modules/form-autosave.js';
|
|
// WebPushManager is now loaded via framework module system
|
|
// LiveComponent is now loaded via framework module system
|
|
|
|
// Import DevTools in development
|
|
if (import.meta.env.DEV) {
|
|
import('./modules/LiveComponentDevTools.js').then(() => {
|
|
console.log('🛠️ LiveComponent DevTools loaded (Ctrl+Shift+D to toggle)');
|
|
});
|
|
}
|
|
|
|
// Import Hot Reload in development
|
|
if (import.meta.env.DEV) {
|
|
import('./modules/hot-reload.js').then(({ HotReload }) => {
|
|
console.log('🔥 Hot Reload module loaded');
|
|
});
|
|
}
|
|
|
|
// PWA Service Worker temporarily disabled
|
|
// TODO: Re-enable after fixing build issues
|
|
|
|
document.addEventListener("DOMContentLoaded", async () => {
|
|
try {
|
|
console.log('🚀 Starting app initialization...');
|
|
await initApp();
|
|
console.log('✅ App initialized successfully!');
|
|
|
|
// Initialize Form Auto-Save for all forms
|
|
const autosaveInstances = FormAutoSave.initializeAll();
|
|
console.log(`💾 Form Auto-Save initialized for ${autosaveInstances.length} forms`);
|
|
|
|
// WebPush Manager is initialized by framework module system
|
|
// Access via window.webPushManager after module initialization
|
|
|
|
// Debug info
|
|
setTimeout(() => {
|
|
console.log('📊 Debug Info:');
|
|
console.log('- Forms found:', document.querySelectorAll('form').length);
|
|
console.log('- Links found:', document.querySelectorAll('a[href^="/"]').length);
|
|
console.log('- SPA Router:', window.spaRouter ? 'Active' : 'Missing');
|
|
console.log('- Enhanced forms:', document.querySelectorAll('form[data-auto-enhanced]').length);
|
|
console.log('- CSRF protected forms:', document.querySelectorAll('input[name="_token"]').length);
|
|
}, 500);
|
|
} catch (error) {
|
|
console.error('❌ App initialization failed:', error);
|
|
console.error('Stack trace:', error.stack);
|
|
}
|
|
});
|
|
|
|
function isHtmlAttributeSupported(elementName, attribute) {
|
|
const element = document.createElement(elementName);
|
|
return attribute in element;
|
|
}
|
|
|
|
|
|
/*let closedAttr = document.getElementById('my-dialog');
|
|
if(closedAttr && !('closedby' in closedAttr)) {
|
|
alert('oh no');
|
|
}*/
|
|
|
|
/*
|
|
if (isHtmlAttributeSupported('dialog', 'closedby')) {
|
|
alert('Attribut wird unterstützt!');
|
|
} else {
|
|
alert('Nicht unterstützt!');
|
|
}
|
|
*/
|