refactor: fix css animations and restructure css classes
This commit is contained in:
parent
ac2cf57152
commit
629fcfe062
|
@ -1,6 +1,7 @@
|
||||||
@import "../../../styles/mixins";
|
@import "../../../styles/mixins";
|
||||||
@import "../../../styles/vars";
|
@import "../../../styles/vars";
|
||||||
@import "../../../styles/artwork";
|
@import "../../../styles/artwork";
|
||||||
|
|
||||||
.art-wrapper {
|
.art-wrapper {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
|
@ -8,83 +9,86 @@
|
||||||
transform: translate(-50%, -125%);
|
transform: translate(-50%, -125%);
|
||||||
transition: left 500ms, transform 500ms;
|
transition: left 500ms, transform 500ms;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
|
.art {
|
||||||
|
position: relative;
|
||||||
|
@include fluid-width-height(9.0625rem, 9.0625rem);
|
||||||
|
background-image: $lume-2-base64;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: 50%;
|
||||||
|
transition: width 500ms, height 500ms;
|
||||||
|
|
||||||
&.done {
|
> div {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
transition: opacity 500ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gradient-1 {
|
||||||
|
background: linear-gradient(
|
||||||
|
272.67deg,
|
||||||
|
#ff005c -27.49%,
|
||||||
|
#0c0c0d 26.91%,
|
||||||
|
#ff005c 49.4%,
|
||||||
|
#ed6a5e 99.62%
|
||||||
|
);
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gradient-2 {
|
||||||
|
background: conic-gradient(
|
||||||
|
from 180deg at 50% 50%,
|
||||||
|
#a67833 -15.8deg,
|
||||||
|
#e91f1f 222.32deg,
|
||||||
|
#a67833 344.2deg,
|
||||||
|
#e91f1f 582.32deg
|
||||||
|
);
|
||||||
|
opacity: 0;
|
||||||
|
z-index: -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gradient-3 {
|
||||||
|
background: conic-gradient(
|
||||||
|
from -89.79deg at 50% 50%,
|
||||||
|
#33a653 -15.8deg,
|
||||||
|
#080808 222.32deg,
|
||||||
|
#33a653 344.2deg,
|
||||||
|
#080808 582.32deg
|
||||||
|
);
|
||||||
|
opacity: 0;
|
||||||
|
z-index: -3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gradient-4 {
|
||||||
|
background: conic-gradient(
|
||||||
|
from 180deg at 50% 50%,
|
||||||
|
#2f2f2f -15.8deg,
|
||||||
|
#66d155 222.32deg,
|
||||||
|
#2f2f2f 344.2deg,
|
||||||
|
#66d155 582.32deg
|
||||||
|
);
|
||||||
|
opacity: 0;
|
||||||
|
z-index: -4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.connected {
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: -35em;
|
left: -35em;
|
||||||
transform: translate(0, -50%);
|
transform: translate(0, -50%);
|
||||||
}
|
.art-rotate {
|
||||||
}
|
transform: rotate(-151.13deg);
|
||||||
|
animation: none;
|
||||||
|
.art {
|
||||||
|
@include fluid-width-height(72rem, 72rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.gradient-1 {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.art-rotate {
|
.gradient-4 {
|
||||||
transform: rotate(-180deg);
|
opacity: 1;
|
||||||
animation: 5000ms rotate;
|
}
|
||||||
transition: transform 500ms;
|
|
||||||
|
|
||||||
&.done {
|
|
||||||
transform: rotate(-151.13deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.art {
|
|
||||||
position: relative;
|
|
||||||
@include fluid-width-height(9.0625rem, 9.0625rem);
|
|
||||||
background-image: $lume-2-base64;
|
|
||||||
background-size: cover;
|
|
||||||
background-position: 50%;
|
|
||||||
transition: width 500ms, height 500ms;
|
|
||||||
|
|
||||||
> div {
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
transition: opacity 500ms;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-1 {
|
|
||||||
background: linear-gradient(
|
|
||||||
272.67deg,
|
|
||||||
#ff005c -27.49%,
|
|
||||||
#0c0c0d 26.91%,
|
|
||||||
#ff005c 49.4%,
|
|
||||||
#ed6a5e 99.62%
|
|
||||||
);
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-2 {
|
|
||||||
background: conic-gradient(
|
|
||||||
from 180deg at 50% 50%,
|
|
||||||
#a67833 -15.8deg,
|
|
||||||
#e91f1f 222.32deg,
|
|
||||||
#a67833 344.2deg,
|
|
||||||
#e91f1f 582.32deg
|
|
||||||
);
|
|
||||||
opacity: 0;
|
|
||||||
z-index: -2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-3 {
|
|
||||||
background: conic-gradient(
|
|
||||||
from -89.79deg at 50% 50%,
|
|
||||||
#33a653 -15.8deg,
|
|
||||||
#080808 222.32deg,
|
|
||||||
#33a653 344.2deg,
|
|
||||||
#080808 582.32deg
|
|
||||||
);
|
|
||||||
opacity: 0;
|
|
||||||
z-index: -3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-4 {
|
|
||||||
background: conic-gradient(
|
|
||||||
from 180deg at 50% 50%,
|
|
||||||
#2f2f2f -15.8deg,
|
|
||||||
#66d155 222.32deg,
|
|
||||||
#2f2f2f 344.2deg,
|
|
||||||
#66d155 582.32deg
|
|
||||||
);
|
|
||||||
opacity: 0;
|
|
||||||
z-index: -4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.pulse {
|
&.pulse {
|
||||||
|
@ -96,38 +100,16 @@
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.art-rotate {
|
||||||
|
// transform: rotate(-180deg);
|
||||||
|
animation: 5000ms rotate linear infinite;
|
||||||
|
transition: transform 500ms;
|
||||||
|
|
||||||
&.connected {
|
&.connected {
|
||||||
.gradient-1 {
|
transform: rotate(-151.13deg);
|
||||||
opacity: 0;
|
animation: none;
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-3 {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.done {
|
|
||||||
@include fluid-width-height(72rem, 72rem);
|
|
||||||
|
|
||||||
.gradient-1 {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gradient-4 {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.loading-text {
|
|
||||||
display: block;
|
|
||||||
|
|
||||||
.loading-text-connected {
|
|
||||||
top: 0;
|
|
||||||
left: -25%;
|
|
||||||
transform: translate(-125%, 0);
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,28 +127,28 @@
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(127.54deg);
|
transform: rotate(127.54deg);
|
||||||
}
|
}
|
||||||
|
15.38% {
|
||||||
20% {
|
|
||||||
transform: rotate(127.54deg);
|
transform: rotate(127.54deg);
|
||||||
}
|
}
|
||||||
|
23.08% {
|
||||||
30% {
|
|
||||||
transform: rotate(420deg);
|
transform: rotate(420deg);
|
||||||
}
|
}
|
||||||
|
38.46% {
|
||||||
50% {
|
|
||||||
transform: rotate(420deg);
|
transform: rotate(420deg);
|
||||||
}
|
}
|
||||||
|
46.15% {
|
||||||
60% {
|
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
|
69.23% {
|
||||||
90% {
|
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
|
76.92% {
|
||||||
100% {
|
|
||||||
transform: rotate(540deg);
|
transform: rotate(540deg);
|
||||||
}
|
}
|
||||||
|
92.31% {
|
||||||
|
transform: rotate(540deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotate(127.54deg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,13 +2,14 @@
|
||||||
import { waitForConnected } from "../../../../shared/util.ts";
|
import { waitForConnected } from "../../../../shared/util.ts";
|
||||||
|
|
||||||
let connected = false;
|
let connected = false;
|
||||||
|
let pulse = false;
|
||||||
|
|
||||||
waitForConnected(() => {
|
waitForConnected(() => {
|
||||||
connected = true;
|
connected = true;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="art-wrapper">
|
<div class="art-wrapper" class:pulse class:connected>
|
||||||
<div class="art-rotate">
|
<div class="art-rotate">
|
||||||
<div class="art">
|
<div class="art">
|
||||||
<div class="gradient-1" />
|
<div class="gradient-1" />
|
||||||
|
|
Reference in New Issue