Files
UI-AI-Maker-Fivem/components/Sharingan.vue
T
2023-08-15 18:52:47 +03:00

361 lines
7.4 KiB
Vue

<script setup>
const props = defineProps({
isLoading: Boolean,
})
</script>
<template>
<div class="eyeleft">
<div class="sharingano-div">
<span class="sharingano" :class="isLoading ? 'animation0' : 'animation3'">
<span class="inner-red"></span>
<span class="inner-black">
<span class="inner-full-black"></span>
</span>
<span class="tomoe t1"></span>
<span class="tomoe t2"></span>
<span class="tomoe t3"></span>
<span class="roundt1"></span>
<span class="roundt2"></span>
<span class="roundt3"></span>
</span>
</div>
</div>
</template>
<style scoped>
.sharingan {
display: flex;
justify-content: center;
align-items: center;
border-radius: 50%;
border: 6px solid #231e1f;
height: 200px;
width: 200px;
background-color: #a73a3a;
overflow: hidden;
-webkit-transition: 0.7s ease;
-moz-transition: 0.7s ease;
-o-transition: 0.7s ease;
-webkit-box-shadow: inset 0 0 30px #231e1f;
}
.sharingan:before {
content: "";
border-radius: 50%;
width: 30px;
height: 30px;
background-color: #231e1f;
}
@keyframes round {
0% {
transform: rotate(0deg);
}
25% {
transform: rotate(-90deg);
}
50% {
transform: rotate(-180deg);
}
100% {
transform: rotate(-360deg);
}
}
.sharingano-div {
border: none;
background: transparent;
display: flex;
border-radius: 50%;
}
.sharingano {
position: relative;
width: 200px;
height: 200px;
border-radius: 50%;
border: 6px solid #131212;
display: flex;
align-items: center;
justify-content: center;
background-color: #a73a3a;
overflow: hidden;
-webkit-transition: 0.7s ease;
-moz-transition: 0.7s ease;
-o-transition: 0.7s ease;
-webkit-box-shadow: inset 0 0 30px #231e1f;
}
.animation3 {
animation: 3s round infinite linear;
}
.animation0 {
animation: 0.1s round infinite linear;
}
.inner-black {
width: 70%;
height: 70%;
border-radius: 50%;
border: 3px solid #131212;
background-color: #a73a3a;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 10;
}
.inner-full-black {
border-radius: 50%;
background-color: #131212;
width: 45%;
height: 45%;
display: flex;
align-items: center;
justify-content: center;
}
.inner-red {
border-radius: 50%;
width: 20%;
height: 20%;
z-index: 50;
position: absolute;
background-color: #a73a3a;
overflow: hidden;
}
.tomoe {
position: absolute;
width: 15%;
height: 50%;
background-color: #131212;
border-radius: 50%;
z-index: 15;
}
.t1 {
top: 0;
left: 50%;
transform: translateX(-50%);
-moz-transform: translateX(-50%);
-ms-transform: translateX(-50%);
-o-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
}
.roundt1 {
width: 30%;
height: 65%;
border-radius: 50%;
position: absolute;
top: 0;
left: 35%;
background-color: #131212;
z-index: 5;
transform: rotateZ(-30deg);
-moz-transform: rotateZ(-30deg);
-moz-transform: rotateZ(-30deg);
-ms-transform: rotateZ(-30deg);
-o-transform: rotateZ(-30deg);
-webkit-transform: rotateZ(-30deg);
transform-origin: top;
-moz-transform-origin: top;
-ms-transform-origin: top;
-o-transform-origin: top;
-webkit-transform-origin: top;
}
.t2 {
left: 20%;
bottom: 10%;
transform: rotateZ(55deg);
-moz-transform: rotateZ(55deg);
-ms-transform: rotateZ(55deg);
-o-transform: rotateZ(55deg);
-webkit-transform: rotateZ(55deg);
}
.roundt2 {
width: 30%;
height: 65%;
border-radius: 50%;
position: absolute;
right: -5%;
bottom: -44%;
background-color: #131212;
z-index: 5;
transform: rotateZ(96deg);
-moz-transform: rotateZ(96deg);
-ms-transform: rotateZ(96deg);
-o-transform: rotateZ(96deg);
-webkit-transform: rotateZ(96deg);
transform-origin: top;
-moz-transform-origin: top;
-ms-transform-origin: top;
-o-transform-origin: top;
-webkit-transform-origin: top;
}
.t3 {
right: 20%;
bottom: 10%;
transform: rotateZ(-55deg);
-moz-transform: rotateZ(-55deg);
-ms-transform: rotateZ(-55deg);
-o-transform: rotateZ(-55deg);
-webkit-transform: rotateZ(-55deg);
}
.roundt3 {
width: 30%;
height: 65%;
border-radius: 50%;
position: absolute;
left: -5%;
bottom: -44%;
background-color: #131212;
transform: rotateZ(205deg);
-moz-transform: rotateZ(205deg);
-ms-transform: rotateZ(205deg);
-o-transform: rotateZ(205deg);
-webkit-transform: rotateZ(205deg);
transform-origin: top;
-moz-transform-origin: top;
-ms-transform-origin: top;
-o-transform-origin: top;
-webkit-transform-origin: top;
z-index: 5;
}
.t1::before {
content: '';
position: absolute;
bottom: 0;
left: -50%;
width: 40%;
height: 80%;
background-color: #131212;
transform-origin: bottom center;
-ms-transform-origin: bottom center;
-o-transform-origin: bottom center;
-webkit-transform-origin: bottom center;
-moz-transform-origin: bottom center;
transform: rotateZ(13deg);
-moz-transform: rotateZ(13deg);
-ms-transform: rotateZ(13deg);
-o-transform: rotateZ(13deg);
-webkit-transform: rotateZ(13deg);
}
.t1::after {
content: '';
position: absolute;
bottom: 0;
right: -50%;
width: 40%;
height: 80%;
background-color: #131212;
transform-origin: bottom center;
-ms-transform-origin: bottom center;
-o-transform-origin: bottom center;
-webkit-transform-origin: bottom center;
-moz-transform-origin: bottom center;
transform: rotateZ(-13deg);
-moz-transform: rotateZ(-13deg);
-ms-transform: rotateZ(-13deg);
-o-transform: rotateZ(-13deg);
-webkit-transform: rotateZ(-13deg);
}
.t2::before {
content: '';
position: absolute;
top: 0;
left: -50%;
width: 41%;
height: 80%;
background-color: #131212;
transform-origin: top center;
-moz-transform-origin: top center;
-ms-transform-origin: top center;
-o-transform-origin: top center;
-webkit-transform: top center;
transform: rotateZ(-13deg);
-moz-transform: rotateZ(-13deg);
-ms-transform: rotateZ(-13deg);
-o-transform: rotateZ(-13deg);
-webkit-transform: rotateZ(-13deg);
}
.t2::after {
content: '';
position: absolute;
top: 0;
right: -50%;
width: 40%;
height: 80%;
background-color: #131212;
transform-origin: top center;
-moz-transform-origin: top center;
-ms-transform-origin: top center;
-o-transform-origin: top center;
-webkit-transform: top center;
transform: rotateZ(13deg);
-moz-transform: rotateZ(13deg);
-ms-transform: rotateZ(13deg);
-o-transform: rotateZ(13deg);
-webkit-transform: rotateZ(13deg);
}
.t3::before {
content: '';
position: absolute;
top: 0;
left: -50%;
width: 41%;
height: 80%;
background-color: #131212;
transform-origin: top center;
-moz-transform-origin: top center;
-ms-transform-origin: top center;
-o-transform-origin: top center;
-webkit-transform: top center;
transform: rotateZ(-13deg);
-moz-transform: rotateZ(-13deg);
-ms-transform: rotateZ(-13deg);
-o-transform: rotateZ(-13deg);
-webkit-transform: rotateZ(-13deg);
}
.t3::after {
content: '';
position: absolute;
top: 0;
right: -50%;
width: 40%;
height: 80%;
background-color: #131212;
transform-origin: top center;
-moz-transform-origin: top center;
-ms-transform-origin: top center;
-o-transform-origin: top center;
-webkit-transform: top center;
transform: rotateZ(13deg);
-moz-transform: rotateZ(13deg);
-ms-transform: rotateZ(13deg);
-o-transform: rotateZ(13deg);
-webkit-transform: rotateZ(13deg);
}
</style>