import streamlit as st
import base64
from pathlib import Path
def get_image_base64(image_path: Path) -> str:
"""Convert image to base64 string"""
if not image_path.exists():
st.error(f"Logo not found at {image_path}")
return ""
with open(image_path, "rb") as img_file:
return base64.b64encode(img_file.read()).decode("utf-8")
def render_contribution_guide():
"""Render the contribution guide section"""
# Session state for visibility
if "show_guide" not in st.session_state:
st.session_state.show_guide = True
if st.session_state.show_guide:
# Container for the guide with dismiss button
with st.container():
col1, col2 = st.columns([0.8, 0.2])
with col1:
st.markdown("### 🚀 Contribute")
with col2:
if st.button("✕", help="Dismiss guide"):
st.session_state.show_guide = False
st.rerun()
st.markdown(
"""
How does your device stack up? Benchmark your phone and join the leaderboard!
"""
)
col1, col2 = st.columns([0.5, 0.5])
with col1:
# Google Play badge
playstore_badge = Path("src/static/images/GetItOnGooglePlay_Badge.png")
if playstore_badge.exists():
st.markdown(
f''
f''
"",
unsafe_allow_html=True,
)
with col2:
# App Store badge
appstore_badge = Path(
"src/static/images/Download_on_the_App_Store_Badge.svg"
)
if appstore_badge.exists():
st.markdown(
f''
f'
'
"",
unsafe_allow_html=True,
)
# Quick steps
st.markdown(
"""
#### Quick Guide:
1. **Download** PocketPal AI
2. **Get** your preferred model
3. **Run** benchmark
4. **Submit** to leaderboard
"""
)
# Demo video/gif
demo_gif = Path("src/static/images/Bench.gif")
if demo_gif.exists():
st.markdown(
f'
Comparing Large Language Models performance across AI Phones. Powered by PocketPal AI.