Files
console/static/css/loading.css
T
Jesse Winton 05c190e480 new start
2025-02-28 16:37:46 -05:00

117 lines
2.5 KiB
CSS

body {
margin: 0;
}
[data-loading='true'] .page-loader {
visibility: visible;
opacity: 1;
}
.theme-dark .page-loader {
--p-page-loader-background-color: hsl(240 5.7% 10.4%);
--base-gradient-color: #fff;
--base-color: #999;
}
.theme-light .page-loader {
--p-page-loader-background-color: #fff;
--base-gradient-color: #000;
--base-color: #aaa;
}
.theme-light .page-loader {
background-color: #fff;
}
.page-loader {
--message-font-family: 'Inter, arial, sans-serif';
visibility: hidden;
opacity: 0;
z-index: 100000;
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background-color: var(--p-page-loader-background-color);
transition: all 0.3s ease-in-out 0.35s;
img {
max-width: 100%;
width: 40px; /* Explicitly set width */
height: 40px; /* Explicitly set height */
object-fit: contain; /* Ensures image scales proportionally */
}
}
.page-loader {
.content {
display: flex;
flex-direction: column;
gap: 0.75rem;
align-items: center;
justify-content: center;
animation: content-in 0.75s ease-in-out forwards;
will-change: transform, filter;
}
.message {
--spread: 50px;
--bg: linear-gradient(
90deg,
#0000 calc(50% - var(--spread)),
var(--base-gradient-color),
#0000 calc(50% + var(--spread))
);
display: block;
font-size: 1rem;
font-family: var(--message-font-family);
position: relative;
background: var(--bg), linear-gradient(var(--base-color), var(--base-color));
background-clip: text;
background-size:
250% 150%,
auto;
animation: loader 1.5s linear infinite;
color: transparent;
}
}
[data-loading='false'] .page-loader {
.content {
animation: content-out 0.75s ease-in-out forwards;
}
}
@keyframes content-in {
from {
transform: translateY(4px);
filter: blur(2px);
}
to {
transform: translateY(0);
filter: blur(0);
}
}
@keyframes content-out {
from {
transform: translateY(0);
filter: blur(0);
}
to {
transform: translateY(4px);
filter: blur(2px);
}
}
@keyframes loader {
from {
background-position: 100% center;
}
to {
background-position: 0% center;
}
}