const m = require('mithril') const Header = require('./header') // const Footer = require('./footer') const Frontpage = require('./site_frontpage') const NotFound = require('./site_404') window.m = m m.route.setOrig = m.route.set m.route.set = function(path, data, options){ m.route.setOrig(path, data, options) window.scrollTo(0, 0) } m.route.linkOrig = m.route.link m.route.link = function(vnode){ m.route.linkOrig(vnode) window.scrollTo(0, 0) } m.route.prefix = '' const allRoutes = { '/': Frontpage, // Frontpage '/:404...': NotFound, } // Wait until we finish checking avif support, some views render immediately and will ask for this immediately before the callback gets called. /* * imgsupport.js from leechy/imgsupport */ const AVIF = new Image(); AVIF.onload = AVIF.onerror = function () { window.supportsavif = (AVIF.height === 2) document.body.className = document.body.className + ' ' + (window.supportsavif ? 'avifsupport' : 'jpegonly') m.mount(document.getElementById('header'), Header) m.route(document.getElementById('main'), '/', allRoutes) // m.mount(document.getElementById('footer'), Footer) } AVIF.src = 'data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAABAA0ABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgAPkgIaDQgMgkf8AAAQAAAr3A=';