mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-12-04 22:31:58 +01:00
51 lines
1.2 KiB
Vue
51 lines
1.2 KiB
Vue
<script setup>
|
|
const props = defineProps({
|
|
isVisible: Boolean,
|
|
type: {
|
|
type: String,
|
|
default: 'inline'
|
|
},
|
|
message: {
|
|
type: String,
|
|
default: 'commons.generating_otp'
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<div v-if="isVisible">
|
|
<div v-if="type == 'fullscreen'" class="spinner-container">
|
|
<div class="spinner-wrapper">
|
|
<span id="icnSpinnerFull" class="is-size-1 spinner">
|
|
<FontAwesomeIcon :icon="['fas', 'spinner']" spin />
|
|
</span>
|
|
<span>{{ $t(message) }}</span>
|
|
</div>
|
|
</div>
|
|
<FontAwesomeIcon v-else-if="type == 'raw'" :icon="['fas', 'spinner']" spin />
|
|
<div v-else class="has-text-centered mt-6">
|
|
<span id="icnSpinner" class="is-size-4">
|
|
<FontAwesomeIcon :icon="['fas', 'spinner']" spin />
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.spinner-container {
|
|
text-align: center;
|
|
z-index: 100000;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
.spinner {
|
|
display: block;
|
|
}
|
|
</style>
|