import { route, start, navigate } from './router.js'; import { session } from './embyApi.js'; import { renderLogin } from './views/login.js'; import { renderBrowse } from './views/browse.js'; import { renderItemDetail } from './views/itemDetail.js'; import { renderPartyPlayer } from './views/player.js'; function requireAuth(renderFn) { return (root, params) => { if (!session.isLoggedIn) { navigate('/login'); return; } renderFn(root, params); }; } route('/', () => navigate(session.isLoggedIn ? '/browse' : '/login')); route('/login', renderLogin); route('/browse', requireAuth(renderBrowse)); route('/item/:id', requireAuth(renderItemDetail)); route('/party/:id', requireAuth(renderPartyPlayer)); start(document.getElementById('app'));