|
@@ -6,7 +6,10 @@
|
|
|
<template>
|
|
|
<div v-show="loadingBarData.show" class="h-loading-bar">
|
|
|
<div class="loading-bar-content">
|
|
|
- <img src="./loading.gif" />
|
|
|
+ <!-- <img src="./loading.gif" /> -->
|
|
|
+ <div class="loading-svg">
|
|
|
+ <svg class="circular" viewBox="0 0 50 50"><circle class="path" cx="25" cy="25" r="20" fill="none" /></svg>
|
|
|
+ </div>
|
|
|
<span>{{ loadingBarData.text }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -82,13 +85,50 @@ body.h-loadingBarBody {
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
|
color: $color-primary;
|
|
|
+ .loading-svg {
|
|
|
+ height: 58px;
|
|
|
+ width: 58px;
|
|
|
+ .circular {
|
|
|
+ display: inline;
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ animation: loading-rotate-svg 2s linear infinite;
|
|
|
+ .path {
|
|
|
+ animation: loading-dash-svg 1.5s ease-in-out infinite;
|
|
|
+ stroke-dasharray: 90, 150;
|
|
|
+ stroke-dashoffset: 0;
|
|
|
+ stroke-width: 4;
|
|
|
+ stroke: #f5c42d;
|
|
|
+ stroke-linecap: round;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
& > img {
|
|
|
width: 260px;
|
|
|
}
|
|
|
& > span {
|
|
|
- margin-top: -80px;
|
|
|
- font-size: $font-size-large;
|
|
|
+ margin-top: 10px;
|
|
|
+ font-size: $font-size-extra-large;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+@keyframes loading-rotate-svg {
|
|
|
+ to {
|
|
|
+ transform: rotate(360deg);
|
|
|
+ }
|
|
|
+}
|
|
|
+@keyframes loading-dash-svg {
|
|
|
+ 0% {
|
|
|
+ stroke-dasharray: 1, 200;
|
|
|
+ stroke-dashoffset: 0;
|
|
|
+ }
|
|
|
+ 50% {
|
|
|
+ stroke-dasharray: 90, 150;
|
|
|
+ stroke-dashoffset: -40px;
|
|
|
+ }
|
|
|
+ to {
|
|
|
+ stroke-dasharray: 90, 150;
|
|
|
+ stroke-dashoffset: -120px;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|