// View Transitions API (Chrome 111+)
async function navigateTo(url) {
if (!document.startViewTransition) {
window.location.href = url;
return;
}
document.startViewTransition(async () => {
const response = await fetch(url);
const html = await response.text();
const parser = new DOMParser();
const doc = parser.parseFromString(html, 'text/html');
document.body.innerHTML = doc.body.innerHTML;
window.history.pushState({}, '', url);
});
}
/* CSS */
/* ::view-transition-old(root) { animation: fadeOut 0.2s ease; }
::view-transition-new(root) { animation: fadeIn 0.2s ease; } */