export function getNavigationType(fromPath, toPath) { if (fromPath.startsWith('/movies') && toPath === '/') { return 'movie-to-home'; } if (fromPath === '/tv' && toPath.startsWith('/tv/')) { return 'tv-to-show'; } if (fromPath === '/' && toPath.startsWith('/movies')) { return 'home-to-movie'; } if (fromPath.startsWith('/tv/') && toPath === '/tv') { return 'show-to-tv'; } if ( (fromPath.startsWith('/movies') || fromPath.startsWith('/tv')) && toPath.startsWith('/people') ) { return 'movie-to-person'; } if ( fromPath.startsWith('/people') && (toPath.startsWith('/movies') || toPath.startsWith('/tv/')) ) { return 'person-to-movie'; } return 'other'; } export function isBackNavigation(navigateEvent) { if (navigateEvent.navigationType === 'push' || navigateEvent.navigationType === 'replace') { return false; } if ( navigateEvent.destination.index !== -1 && navigateEvent.destination.index < navigation.currentEntry.index ) { return true; } return false; } export function shouldNotIntercept(navigationEvent) { return ( navigationEvent.canIntercept === false || // If this is just a hashChange, // just let the browser handle scrolling to the content. navigationEvent.hashChange || // If this is a download, // let the browser perform the download. navigationEvent.downloadRequest || // If this is a form submission, // let that go to the server. navigationEvent.formData ); } export function useTvFragment(navigateEvent) { const toUrl = new URL(navigateEvent.destination.url); const toPath = toUrl.pathname; return toPath.startsWith('/tv'); } export function getPathId(path) { return path.split('/')[2]; } export function updateTheDOMSomehow(data) { document.getElementById('content').innerHTML = data; }