chore: split app to commons and web (squash commit)

This commit is contained in:
Andrew Bastin
2022-12-02 02:57:46 -05:00
parent fb827e3586
commit 3d004f2322
535 changed files with 1487 additions and 501 deletions

View File

@@ -0,0 +1,56 @@
import { HoppModule } from "."
import NProgress from "nprogress"
let deferedProgressHandle: ReturnType<typeof setTimeout> | null = null
/**
* Starts animating the global progress bar
* @param deferTime How much time to defer the global progress bar rendering to
*/
export const startPageProgress = (deferTime?: number) => {
if (deferedProgressHandle) clearTimeout(deferedProgressHandle)
// If deferTime is specified, queue it
if (deferTime !== undefined) {
deferedProgressHandle = setTimeout(() => {
NProgress.start()
}, deferTime)
return
}
NProgress.start()
}
export const completePageProgress = () => {
if (deferedProgressHandle) {
clearTimeout(deferedProgressHandle)
deferedProgressHandle = null
}
NProgress.done()
}
export const removePageProgress = () => {
if (deferedProgressHandle) {
clearTimeout(deferedProgressHandle)
deferedProgressHandle = null
}
NProgress.remove()
}
export default <HoppModule>{
onVueAppInit() {
NProgress.configure({ showSpinner: false })
},
onBeforeRouteChange(to, from) {
// Show progressbar on page change
if (to.path !== from.path) {
startPageProgress(500)
}
},
onAfterRouteChange() {
completePageProgress()
},
}