Spaces:
Sleeping
Sleeping
Enhanced loading: 2 ladybugs + extra text + animated dots
Browse files- src/webui/interface.py +56 -2
src/webui/interface.py
CHANGED
|
@@ -87,6 +87,53 @@ def create_ui(theme_name="Hacker"):
|
|
| 87 |
animation: pulse-glow 2s ease-in-out infinite;
|
| 88 |
}
|
| 89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
@keyframes pulse-glow {
|
| 91 |
0%, 100% {
|
| 92 |
opacity: 0.6;
|
|
@@ -216,8 +263,15 @@ def create_ui(theme_name="Hacker"):
|
|
| 216 |
# Loading Screen
|
| 217 |
gr.HTML("""
|
| 218 |
<div id="loading-screen">
|
| 219 |
-
<div
|
| 220 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 221 |
</div>
|
| 222 |
""")
|
| 223 |
|
|
|
|
| 87 |
animation: pulse-glow 2s ease-in-out infinite;
|
| 88 |
}
|
| 89 |
|
| 90 |
+
.loading-subtext {
|
| 91 |
+
margin-top: 15px;
|
| 92 |
+
color: #00ffff;
|
| 93 |
+
font-family: 'Fira Code', monospace;
|
| 94 |
+
font-size: 16px;
|
| 95 |
+
letter-spacing: 2px;
|
| 96 |
+
text-shadow: 0 0 8px #00ffff;
|
| 97 |
+
opacity: 0.8;
|
| 98 |
+
}
|
| 99 |
+
|
| 100 |
+
.loading-dots {
|
| 101 |
+
margin-top: 10px;
|
| 102 |
+
display: flex;
|
| 103 |
+
gap: 5px;
|
| 104 |
+
justify-content: center;
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
.loading-dots span {
|
| 108 |
+
color: #ff00ff;
|
| 109 |
+
font-size: 30px;
|
| 110 |
+
animation: dot-bounce 1.4s ease-in-out infinite;
|
| 111 |
+
text-shadow: 0 0 10px #ff00ff;
|
| 112 |
+
}
|
| 113 |
+
|
| 114 |
+
.loading-dots span:nth-child(1) {
|
| 115 |
+
animation-delay: 0s;
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
.loading-dots span:nth-child(2) {
|
| 119 |
+
animation-delay: 0.2s;
|
| 120 |
+
}
|
| 121 |
+
|
| 122 |
+
.loading-dots span:nth-child(3) {
|
| 123 |
+
animation-delay: 0.4s;
|
| 124 |
+
}
|
| 125 |
+
|
| 126 |
+
@keyframes dot-bounce {
|
| 127 |
+
0%, 80%, 100% {
|
| 128 |
+
transform: translateY(0);
|
| 129 |
+
opacity: 0.5;
|
| 130 |
+
}
|
| 131 |
+
40% {
|
| 132 |
+
transform: translateY(-20px);
|
| 133 |
+
opacity: 1;
|
| 134 |
+
}
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
@keyframes pulse-glow {
|
| 138 |
0%, 100% {
|
| 139 |
opacity: 0.6;
|
|
|
|
| 263 |
# Loading Screen
|
| 264 |
gr.HTML("""
|
| 265 |
<div id="loading-screen">
|
| 266 |
+
<div style="display: flex; gap: 40px; align-items: center; justify-content: center;">
|
| 267 |
+
<div class="ladybug-loader" style="animation-delay: 0s;">🐞</div>
|
| 268 |
+
<div class="ladybug-loader" style="animation-delay: 0.3s;">🐞</div>
|
| 269 |
+
</div>
|
| 270 |
+
<div class="loading-text" style="margin-top: 40px;">INITIALIZING BUG MATRIX...</div>
|
| 271 |
+
<div class="loading-subtext">Loading Testing Environment</div>
|
| 272 |
+
<div class="loading-dots">
|
| 273 |
+
<span>.</span><span>.</span><span>.</span>
|
| 274 |
+
</div>
|
| 275 |
</div>
|
| 276 |
""")
|
| 277 |
|