Spaces:
Sleeping
Sleeping
Upload app.py with huggingface_hub
Browse files
app.py
CHANGED
|
@@ -183,6 +183,16 @@ GLOBAL_CSS = """
|
|
| 183 |
#MainMenu { visibility: hidden; }
|
| 184 |
footer { visibility: hidden; }
|
| 185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
.auth-container {
|
| 187 |
max-width: 500px;
|
| 188 |
margin: 60px auto;
|
|
@@ -325,13 +335,29 @@ def render_countdown_bar(remaining):
|
|
| 325 |
# AUTH GATE: Stage 1 -- Email Input
|
| 326 |
# =====================================================================
|
| 327 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 328 |
def show_landing_page():
|
| 329 |
-
|
| 330 |
-
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 335 |
|
| 336 |
st.markdown("# EMOSPHERE")
|
| 337 |
st.markdown(
|
|
@@ -404,12 +430,15 @@ def show_landing_page():
|
|
| 404 |
# =====================================================================
|
| 405 |
|
| 406 |
def show_code_verification():
|
| 407 |
-
|
| 408 |
-
|
| 409 |
-
|
| 410 |
-
|
| 411 |
-
|
| 412 |
-
|
|
|
|
|
|
|
|
|
|
| 413 |
|
| 414 |
st.markdown("# EMOSPHERE")
|
| 415 |
|
|
|
|
| 183 |
#MainMenu { visibility: hidden; }
|
| 184 |
footer { visibility: hidden; }
|
| 185 |
|
| 186 |
+
@keyframes float {
|
| 187 |
+
0% { transform: translateY(0px); }
|
| 188 |
+
50% { transform: translateY(-20px); }
|
| 189 |
+
100% { transform: translateY(0px); }
|
| 190 |
+
}
|
| 191 |
+
.floating-logo {
|
| 192 |
+
animation: float 6s ease-in-out infinite;
|
| 193 |
+
display: block;
|
| 194 |
+
margin: 0 auto;
|
| 195 |
+
}
|
| 196 |
.auth-container {
|
| 197 |
max-width: 500px;
|
| 198 |
margin: 60px auto;
|
|
|
|
| 335 |
# AUTH GATE: Stage 1 -- Email Input
|
| 336 |
# =====================================================================
|
| 337 |
|
| 338 |
+
def _get_logo_b64():
|
| 339 |
+
"""Load logo as base64 for HTML embedding."""
|
| 340 |
+
import base64
|
| 341 |
+
logo_path = Path(__file__).parent / "logo.png"
|
| 342 |
+
if logo_path.exists():
|
| 343 |
+
return base64.b64encode(logo_path.read_bytes()).decode()
|
| 344 |
+
return None
|
| 345 |
+
|
| 346 |
def show_landing_page():
|
| 347 |
+
logo_b64 = _get_logo_b64()
|
| 348 |
+
if logo_b64:
|
| 349 |
+
st.markdown(
|
| 350 |
+
f'<div style="text-align:center; padding: 20px 0;">'
|
| 351 |
+
f'<img src="data:image/png;base64,{logo_b64}" class="floating-logo" '
|
| 352 |
+
f'style="width: 200px; height: 200px; object-fit: contain;"/>'
|
| 353 |
+
f'</div>',
|
| 354 |
+
unsafe_allow_html=True,
|
| 355 |
+
)
|
| 356 |
+
else:
|
| 357 |
+
st.markdown(
|
| 358 |
+
'<div style="text-align:center; font-size: 64px; margin-bottom: 8px;">🌀</div>',
|
| 359 |
+
unsafe_allow_html=True,
|
| 360 |
+
)
|
| 361 |
|
| 362 |
st.markdown("# EMOSPHERE")
|
| 363 |
st.markdown(
|
|
|
|
| 430 |
# =====================================================================
|
| 431 |
|
| 432 |
def show_code_verification():
|
| 433 |
+
logo_b64 = _get_logo_b64()
|
| 434 |
+
if logo_b64:
|
| 435 |
+
st.markdown(
|
| 436 |
+
f'<div style="text-align:center; padding: 10px 0;">'
|
| 437 |
+
f'<img src="data:image/png;base64,{logo_b64}" class="floating-logo" '
|
| 438 |
+
f'style="width: 150px; height: 150px; object-fit: contain;"/>'
|
| 439 |
+
f'</div>',
|
| 440 |
+
unsafe_allow_html=True,
|
| 441 |
+
)
|
| 442 |
|
| 443 |
st.markdown("# EMOSPHERE")
|
| 444 |
|