30 lines
613 B
Vue
30 lines
613 B
Vue
<script setup lang="ts">
|
|
interface Props {
|
|
isLoading?: boolean
|
|
}
|
|
|
|
const { isLoading = false } = defineProps<Props>()
|
|
</script>
|
|
|
|
<template>
|
|
<div v-if="isLoading" class="spinner-container">
|
|
<div class="spinner"></div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.spinner-container {
|
|
@apply absolute inset-0 flex items-center justify-center z-[90];
|
|
}
|
|
.spinner {
|
|
@apply w-[80px] h-[80px] bg-cover bg-center bg-no-repeat bg-[url('/images/common/publisning_template_loader_black.png')];
|
|
}
|
|
|
|
[data-theme='light'] {
|
|
.spinner {
|
|
@apply bg-[url('/images/common/publisning_template_loader_white.png')];
|
|
}
|
|
}
|
|
</style>
|
|
|