Added Loading Spinner
All checks were successful
Build and Push Docker Image / build-and-push (pull_request) Successful in 1m24s
All checks were successful
Build and Push Docker Image / build-and-push (pull_request) Successful in 1m24s
This commit is contained in:
parent
c3f0be36a3
commit
27488fe860
73
src/lib/components/Loading.svelte
Normal file
73
src/lib/components/Loading.svelte
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<style>
|
||||||
|
.loader {
|
||||||
|
position: absolute;
|
||||||
|
top: calc(50% - 32px);
|
||||||
|
left: calc(50% - 32px);
|
||||||
|
width: 64px;
|
||||||
|
height: 64px;
|
||||||
|
border-radius: 50%;
|
||||||
|
perspective: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner {
|
||||||
|
position: absolute;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner.one {
|
||||||
|
left: 0%;
|
||||||
|
top: 0%;
|
||||||
|
animation: rotate-one 1s linear infinite;
|
||||||
|
border-bottom: 3px solid #efeffa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner.two {
|
||||||
|
right: 0%;
|
||||||
|
top: 0%;
|
||||||
|
animation: rotate-two 1s linear infinite;
|
||||||
|
border-right: 3px solid #efeffa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner.three {
|
||||||
|
right: 0%;
|
||||||
|
bottom: 0%;
|
||||||
|
animation: rotate-three 1s linear infinite;
|
||||||
|
border-top: 3px solid #efeffa;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes rotate-one {
|
||||||
|
0% {
|
||||||
|
transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes rotate-two {
|
||||||
|
0% {
|
||||||
|
transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes rotate-three {
|
||||||
|
0% {
|
||||||
|
transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="loader">
|
||||||
|
<div class="inner one" />
|
||||||
|
<div class="inner two" />
|
||||||
|
<div class="inner three" />
|
||||||
|
</div>
|
@ -6,6 +6,7 @@
|
|||||||
import Skills from './skills.svelte';
|
import Skills from './skills.svelte';
|
||||||
|
|
||||||
import Timeline from "./timeline.svelte";
|
import Timeline from "./timeline.svelte";
|
||||||
|
import Loading from "$lib/components/Loading.svelte";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@ -65,11 +66,7 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
{#await getJson('/json/me.json')}
|
{#await getJson('/json/me.json')}
|
||||||
<div class="card">
|
<Loading />
|
||||||
<div class="card-header">
|
|
||||||
<h1>Loading...</h1>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{:then info}
|
{:then info}
|
||||||
<div class="main-card">
|
<div class="main-card">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
import { repos, loadRepos, addToast } from "$lib/stores";
|
import { repos, loadRepos, addToast } from "$lib/stores";
|
||||||
import { timeSince } from "$lib/api/git";
|
import { timeSince } from "$lib/api/git";
|
||||||
import Card from "$lib/components/Cards/Card.svelte";
|
import Card from "$lib/components/Cards/Card.svelte";
|
||||||
|
import Loading from "$lib/components/Loading.svelte";
|
||||||
|
|
||||||
onMount(loadRepos);
|
onMount(loadRepos);
|
||||||
</script>
|
</script>
|
||||||
@ -33,6 +34,6 @@
|
|||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
{:else}
|
{:else}
|
||||||
<p>Loading repositories...</p>
|
<Loading />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user