class SimpleRouter {
    constructor(routes) {
        this.routes = routes;
        this.init();
    }

    init() {
        // window.addEventListener('popstate', () => this.route());
        // document.addEventListener('DOMContentLoaded', () => this.route());
        // document.addEventListener('click', (e) => {
        //     if (e.target.tagName === 'A') {
        //         e.preventDefault();
        //         this.navigate(e.target.href);
        //     }
        // });
        this.route();
    }

    navigate(path) {
        window.history.pushState({}, '', path);
        this.route();
    }

    route() {
        const path = window.location.pathname;
        const route = this.routes[path] || this.routes['/404'];
        if (route) {
            route();
        }
    }
}

export {SimpleRouter}