Update page_files/Home.py
Browse files- page_files/Home.py +41 -41
page_files/Home.py
CHANGED
|
@@ -57,7 +57,7 @@ def img_to_b64(path):
|
|
| 57 |
_HERE = Path(__file__).parent # page_files/
|
| 58 |
_ROOT = _HERE.parent # project root
|
| 59 |
|
| 60 |
-
home_img = img_to_b64(str(
|
| 61 |
logo_img = img_to_b64(str(_ROOT / "logo.png"))
|
| 62 |
extract_card_img = img_to_b64(str(_ROOT / "extract_card_img.png"))
|
| 63 |
search_card_img = img_to_b64(str(_ROOT / "search_card_img.png"))
|
|
@@ -530,10 +530,33 @@ st.markdown("""
|
|
| 530 |
|
| 531 |
# Showcase section - Databricks style
|
| 532 |
def _build_showcase_html(extract_b64, search_b64):
|
| 533 |
-
|
| 534 |
-
"<
|
| 535 |
-
"<
|
| 536 |
-
"<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 537 |
"<style>"
|
| 538 |
"*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}"
|
| 539 |
"body{font-family:'DM Sans',sans-serif;background:#fff;}"
|
|
@@ -552,45 +575,22 @@ def _build_showcase_html(extract_b64, search_b64):
|
|
| 552 |
".s-card-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}"
|
| 553 |
".s-card-title{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:8px;}"
|
| 554 |
".s-card-desc{font-size:.83rem;color:#7a9e8f;line-height:1.6;flex:1;margin-bottom:16px;}"
|
| 555 |
-
".s-card-link{font-size:.83rem;font-weight:600;color:#8ACAFF;
|
| 556 |
-
"
|
| 557 |
-
|
| 558 |
-
|
| 559 |
-
|
| 560 |
-
|
| 561 |
-
|
| 562 |
-
|
| 563 |
-
|
| 564 |
-
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
|
| 568 |
-
"<div class='s-card-body'>"
|
| 569 |
-
"<div class='s-card-title'>Extract Data</div>"
|
| 570 |
-
"<p class='s-card-desc'>Upload experimental datasets and extract structured material property data into the AIM database.</p>"
|
| 571 |
-
"<span class='s-card-link'>Open platform</span>"
|
| 572 |
-
"</div>"
|
| 573 |
-
"</div>"
|
| 574 |
-
"<div class='s-card' onclick='document.getElementById("btn_search").click()'>"
|
| 575 |
-
"<img class='s-card-img' src='" + search_b64 + "' alt='Search'/>"
|
| 576 |
-
"<div class='s-card-body'>"
|
| 577 |
-
"<div class='s-card-title'>Search</div>"
|
| 578 |
-
"<p class='s-card-desc'>Browse and filter polymer, fiber, and composite material properties across the full database.</p>"
|
| 579 |
-
"<span class='s-card-link'>Open search</span>"
|
| 580 |
-
"</div>"
|
| 581 |
-
"</div>"
|
| 582 |
-
"</div>"
|
| 583 |
-
"</div>"
|
| 584 |
-
"<button id='btn_upload' style='display:none' "
|
| 585 |
-
"onclick="window.parent.document.querySelectorAll('[data-testid=stBaseButton-header]')[0]?.click()">"
|
| 586 |
-
"</button>"
|
| 587 |
-
"<button id='btn_search' style='display:none' "
|
| 588 |
-
"onclick="window.parent.document.querySelectorAll('[data-testid=stBaseButton-header]')[1]?.click()">"
|
| 589 |
-
"</button>"
|
| 590 |
"</body></html>"
|
| 591 |
)
|
| 592 |
|
| 593 |
-
components.html(_build_showcase_html(extract_card_img, search_card_img), height=480, scrolling=False)
|
| 594 |
|
| 595 |
# Hidden Streamlit buttons wired to the card clicks via JS
|
| 596 |
_btn_col1, _btn_col2 = st.columns(2)
|
|
|
|
| 57 |
_HERE = Path(__file__).parent # page_files/
|
| 58 |
_ROOT = _HERE.parent # project root
|
| 59 |
|
| 60 |
+
home_img = img_to_b64(str(_ROOT / "Home.png"))
|
| 61 |
logo_img = img_to_b64(str(_ROOT / "logo.png"))
|
| 62 |
extract_card_img = img_to_b64(str(_ROOT / "extract_card_img.png"))
|
| 63 |
search_card_img = img_to_b64(str(_ROOT / "search_card_img.png"))
|
|
|
|
| 530 |
|
| 531 |
# Showcase section - Databricks style
|
| 532 |
def _build_showcase_html(extract_b64, search_b64):
|
| 533 |
+
left = (
|
| 534 |
+
"<div class=\"showcase-left\">"
|
| 535 |
+
"<div class=\"showcase-label\">Platform Features</div>"
|
| 536 |
+
"<div class=\"showcase-heading\">Accelerate Your Composites Research</div>"
|
| 537 |
+
"<p class=\"showcase-sub\">Access a centralized, open-source database for experimental "
|
| 538 |
+
"composite material properties. Polymer, fiber, and composite datasets, all in one place.</p>"
|
| 539 |
+
"</div>"
|
| 540 |
+
)
|
| 541 |
+
extract_card = (
|
| 542 |
+
"<div class=\"s-card\" onclick=\"document.getElementById('btn_upload').click()\">"
|
| 543 |
+
"<img class=\"s-card-img\" src=\"" + extract_b64 + "\" alt=\"Extract Data\"/>"
|
| 544 |
+
"<div class=\"s-card-body\">"
|
| 545 |
+
"<div class=\"s-card-title\">Extract Data</div>"
|
| 546 |
+
"<p class=\"s-card-desc\">Upload experimental datasets and extract structured material property data into the AIM database.</p>"
|
| 547 |
+
"<span class=\"s-card-link\">Open platform →</span>"
|
| 548 |
+
"</div></div>"
|
| 549 |
+
)
|
| 550 |
+
search_card = (
|
| 551 |
+
"<div class=\"s-card\" onclick=\"document.getElementById('btn_search').click()\">"
|
| 552 |
+
"<img class=\"s-card-img\" src=\"" + search_b64 + "\" alt=\"Search\"/>"
|
| 553 |
+
"<div class=\"s-card-body\">"
|
| 554 |
+
"<div class=\"s-card-title\">Search</div>"
|
| 555 |
+
"<p class=\"s-card-desc\">Browse and filter polymer, fiber, and composite material properties across the full database.</p>"
|
| 556 |
+
"<span class=\"s-card-link\">Open search →</span>"
|
| 557 |
+
"</div></div>"
|
| 558 |
+
)
|
| 559 |
+
css = (
|
| 560 |
"<style>"
|
| 561 |
"*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}"
|
| 562 |
"body{font-family:'DM Sans',sans-serif;background:#fff;}"
|
|
|
|
| 575 |
".s-card-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}"
|
| 576 |
".s-card-title{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:8px;}"
|
| 577 |
".s-card-desc{font-size:.83rem;color:#7a9e8f;line-height:1.6;flex:1;margin-bottom:16px;}"
|
| 578 |
+
".s-card-link{font-size:.83rem;font-weight:600;color:#8ACAFF;}"
|
| 579 |
+
"</style>"
|
| 580 |
+
)
|
| 581 |
+
return (
|
| 582 |
+
"<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"/>"
|
| 583 |
+
"<link href=\"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\">"
|
| 584 |
+
+ css +
|
| 585 |
+
"</head><body>"
|
| 586 |
+
"<div class=\"showcase-wrap\">"
|
| 587 |
+
+ left +
|
| 588 |
+
"<div class=\"showcase-cards\">"
|
| 589 |
+
+ extract_card + search_card +
|
| 590 |
+
"</div></div>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 591 |
"</body></html>"
|
| 592 |
)
|
| 593 |
|
|
|
|
| 594 |
|
| 595 |
# Hidden Streamlit buttons wired to the card clicks via JS
|
| 596 |
_btn_col1, _btn_col2 = st.columns(2)
|