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 // Admin Forms Enhancements (Drag & Drop, File Preview, Auto-Resize, etc.) import './admin-forms.js'; // Admin Bulk Operations import './modules/admin/bulk-operations.js'; // Admin Data Table (Sorting, Pagination, Search) import './modules/admin/data-table.js'; // Admin UI Enhancements import './modules/admin/ui-enhancements.js'; // Admin Asset Preview import './modules/admin/asset-preview.js'; // Admin Asset Filters import './modules/admin/asset-filters.js'; // Admin Variant Creation import './modules/admin/variant-creation.js'; // Admin Duplicate Management import './modules/admin/duplicate-management.js'; // Admin Block Editor Drag & Drop import './modules/admin/block-editor-dnd.js'; // Admin Block Editor Auto-Sync import './modules/admin/block-editor-sync.js'; // Admin Block Editor Asset Picker Integration import './modules/admin/block-editor-asset-picker.js'; // Admin MetaData Form Auto-Sync import './modules/admin/metadata-form-sync.js'; // Common Utilities (ActionHandler, etc.) import './modules/common/index.js'; // 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!'); } */