mirror of
https://github.com/Bubka/2FAuth.git
synced 2024-11-25 01:34:15 +01:00
65 lines
1.7 KiB
Vue
65 lines
1.7 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>
|
|
<div v-if="type == 'fullscreen-overlay'" class="spinner-overlay-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,
|
|
.spinner-overlay-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-container,
|
|
.spinner-overlay-container {
|
|
top: 25%;
|
|
height: 50%;
|
|
}
|
|
.spinner {
|
|
display: block;
|
|
}
|
|
</style>
|