// modules/example-module/index.js
import { registerFrameTask, unregisterFrameTask } from '../../core/frameloop.js';

let frameId = 'example-module';
let resizeHandler = null;

export function init(config = {}) {
    console.log('[example-module] init');

    // z. B. Event-Listener hinzufügen
    resizeHandler = () => {
        console.log('Fenstergröße geändert');
    };
    window.addEventListener('resize', resizeHandler);

    // Scroll- oder Frame-Logik
    registerFrameTask(frameId, () => {
        // wiederkehrende Aufgabe
        const scrollY = window.scrollY;
        // ggf. transformieren oder Werte speichern
    }, { autoStart: true });
}

export function destroy() {
    console.log('[example-module] destroy');

    // EventListener entfernen
    if (resizeHandler) {
        window.removeEventListener('resize', resizeHandler);
        resizeHandler = null;
    }

    // FrameTask entfernen
    unregisterFrameTask(frameId);

    // weitere Aufräumarbeiten, z.B. Observer disconnect
}
