export const isInternalPath = (path) => {
    if (!path) return false;
    // Percorsi relativi o assoluti interni (es. /, /contatti) ma non ancore interne (#) per le quali basta l'HTML normale
    if (path.startsWith('/') && !path.startsWith('//')) return true;
    
    try {
        const url = new URL(path, window.location.origin);
        return url.origin === window.location.origin;
    } catch {
        return false;
    }
};

export const navigateTo = (path, replace = false) => {
    if (typeof window === 'undefined') return;

    if (replace) {
        window.history.replaceState({}, '', path);
    } else {
        window.history.pushState({}, '', path);
    }
    // Avvisa l'applicazione (App.svelte) che l'URL è cambiato
    window.dispatchEvent(new Event('popstate'));
};
