offline is supported by PWA (progressive web apps). PWA are written in html/css/javascript. there are three browser features used to support offline mode.
1) ability to define a manifest, so the browser will cache the files required for the app
https://developer.mozilla.org/en-US/docs/Web/Manifest
2) service worker tasks. this are written in javascript, and can intercept Ajax calls and return a cache result if offline.
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
3) local / offline storage.
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
PWAs are often written in react, angular or vue. You can also as suggested use blazer
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps
note: You can turn just your dashboard into a PWA landing page. This is probably the easiest, and would not require converting the app to a SPA. Just be sure to use Ajax rather than post backs to display/update the dashboard. as final step, make links to other pages only active when online.