Skip to content

Commit 7eab880

Browse files
committed
style: enhance UI animations and feedback
- Improve rotating symbol animation with scaling effects - Add fade-in transitions for smoother UI - Update animation timing for better visual feedback - Optimize loading indicator appearance
1 parent 80d8fac commit 7eab880

1 file changed

Lines changed: 64 additions & 7 deletions

File tree

src/styles.css

Lines changed: 64 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -378,26 +378,46 @@ button:disabled,
378378

379379
/* Rotating symbol animation */
380380
@keyframes rotate-symbol {
381-
0% { content: "◐"; }
382-
25% { content: "◓"; }
383-
50% { content: "◑"; }
384-
75% { content: "◒"; }
385-
100% { content: "◐"; }
381+
0% { content: "◐"; transform: scale(1); }
382+
25% { content: "◓"; transform: scale(10); }
383+
50% { content: "◑"; transform: scale(1); }
384+
75% { content: "◒"; transform: scale(10); }
385+
100% { content: "◐"; transform: scale(1); }
386+
}
387+
388+
@keyframes fade-in {
389+
from {
390+
opacity: 0;
391+
transform: scale(0.8);
392+
}
393+
to {
394+
opacity: 1;
395+
transform: scale(1);
396+
}
386397
}
387398

388399
.rotating-symbol {
389400
display: inline-block;
390401
vertical-align: text-bottom;
391402
line-height: 1;
403+
animation: fade-in 0.2s ease-out;
404+
font-weight: normal;
392405
}
393406

394407
.rotating-symbol::before {
395408
content: "◐";
396-
animation: rotate-symbol 2s linear infinite;
409+
animation: rotate-symbol 1.6s steps(4, end) infinite;
397410
display: inline-block;
398411
font-size: inherit;
399-
line-height: inherit;
412+
line-height: 1;
400413
vertical-align: baseline;
414+
transform-origin: center;
415+
}
416+
417+
/* Make the rotating symbol more prominent at larger sizes */
418+
.rotating-symbol.text-xl::before,
419+
.rotating-symbol.text-2xl::before {
420+
font-weight: 900;
401421
}
402422

403423
/* Shimmer hover effect */
@@ -559,4 +579,41 @@ code::-webkit-scrollbar-thumb:hover,
559579

560580
.animate-scanlines {
561581
animation: scanlines 8s linear infinite;
582+
}
583+
584+
/* Screenshot Shutter Animation */
585+
@keyframes shutterFlash {
586+
0% {
587+
opacity: 0;
588+
}
589+
50% {
590+
opacity: 1;
591+
}
592+
100% {
593+
opacity: 0;
594+
}
595+
}
596+
597+
.shutter-flash {
598+
animation: shutterFlash 0.5s ease-in-out;
599+
}
600+
601+
/* Image Move to Input Animation */
602+
@keyframes moveToInput {
603+
0% {
604+
transform: scale(1) translateY(0);
605+
opacity: 1;
606+
}
607+
50% {
608+
transform: scale(0.3) translateY(50%);
609+
opacity: 0.8;
610+
}
611+
100% {
612+
transform: scale(0.1) translateY(100vh);
613+
opacity: 0;
614+
}
615+
}
616+
617+
.image-move-to-input {
618+
animation: moveToInput 0.8s ease-in-out forwards;
562619
}

0 commit comments

Comments
 (0)