/// // Pretty URLs for the family-facing web surfaces. // // One page now does what three did: `account.html` is sign-in, profiles, // playback preferences, sources, devices and downloads behind a persisted // session. `/settings` keeps working because it is in people's muscle memory and // in older messages — it lands on the sources section of the new page. // // `/tv` is the short form of `/get/tv`, because that URL gets typed on a // television remote inside the Downloader app, one character at a time. routerAdd("GET", "/account", (e) => e.redirect(302, "/account.html")) // Deep-link straight to sources; the page reads the hash to pick its tab. routerAdd("GET", "/settings", (e) => e.redirect(302, "/account.html#addons")) // Typing this on a remote is the actual cost being optimised. routerAdd("GET", "/tv", (e) => e.redirect(302, "/get/tv"))