2023-06-28 21:49:44 +01:00
|
|
|
<script>
|
2023-07-07 11:27:28 +01:00
|
|
|
import { fade } from 'svelte/transition';
|
2023-06-28 21:49:44 +01:00
|
|
|
</script>
|
|
|
|
|
2023-07-07 11:27:28 +01:00
|
|
|
<div
|
|
|
|
id="container"
|
|
|
|
in:fade={{ delay: 150, duration: 250 }}
|
|
|
|
out:fade={{ duration: 250 }}
|
|
|
|
>
|
|
|
|
<div class="spinner" />
|
|
|
|
<p>Loading...</p>
|
2023-06-17 21:42:00 +01:00
|
|
|
</div>
|
|
|
|
|
|
|
|
<style>
|
2023-07-07 11:27:28 +01:00
|
|
|
@keyframes spinner {
|
|
|
|
0% {
|
|
|
|
transform: translate3d(-50%, -50%, 0) rotate(0);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform: translate3d(-50%, -50%, 0) rotate(360deg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.spinner::before {
|
|
|
|
animation: 1.5s linear infinite spinner;
|
|
|
|
animation-play-state: inherit;
|
|
|
|
border: solid 5px var(--overlay-color);
|
|
|
|
border-bottom-color: white;
|
|
|
|
border-radius: 50%;
|
|
|
|
content: '';
|
|
|
|
height: 40px;
|
|
|
|
width: 40px;
|
|
|
|
position: absolute;
|
|
|
|
top: 30%;
|
|
|
|
margin: auto;
|
|
|
|
transform: translate3d(-50%, -50%, 0);
|
|
|
|
will-change: transform;
|
|
|
|
}
|
|
|
|
#container {
|
|
|
|
position: fixed;
|
|
|
|
top: 50%;
|
|
|
|
left: 50%;
|
|
|
|
transform: translate(-50%, -50%);
|
|
|
|
margin: auto;
|
|
|
|
background-color: var(--overlay-color);
|
|
|
|
border-radius: 15px;
|
|
|
|
padding: 20px;
|
|
|
|
padding-bottom: 1px;
|
|
|
|
min-width: 90px;
|
|
|
|
max-width: 90px;
|
|
|
|
}
|
|
|
|
p {
|
|
|
|
padding-top: 50px;
|
|
|
|
font-weight: bolder;
|
|
|
|
overflow-wrap: normal;
|
|
|
|
color: white;
|
|
|
|
}
|
|
|
|
</style>
|