Files
speckle-server/packages/frontend-2/components/viewer/LoadingBar.vue
T
Kristaps Fabians Geikins b02a07e2b6 feat: Frontend 2.0 MVP
2023-05-08 10:47:01 +03:00

40 lines
886 B
Vue

<template>
<div>
<div
v-show="viewerBusy"
:class="`absolute w-full max-w-screen h-1 bg-blue-500/20 overflow-hidden ${
showNavbar ? 'mt-14' : 'mt-0'
} text-xs text-foreground-on-primary z-50`"
>
<div class="swoosher absolute top-0 bg-blue-500/50 rounded-md"></div>
</div>
</div>
</template>
<script setup lang="ts">
import { useInjectedViewerInterfaceState } from '~~/lib/viewer/composables/setup'
const { viewerBusy } = useInjectedViewerInterfaceState()
const { showNavbar } = useTourStageState().value
</script>
<style scoped>
.swoosher {
width: 100%;
height: 100%;
animation: swoosh 1s infinite linear;
transform-origin: 0% 30%;
}
@keyframes swoosh {
0% {
transform: translateX(0) scaleX(0);
}
40% {
transform: translateX(0) scaleX(0.4);
}
100% {
transform: translateX(100%) scaleX(0.5);
}
}
</style>