diff --git a/mcp/bigmind/bigmind/profile_builder.py b/mcp/bigmind/bigmind/profile_builder.py index c6c77f7..1d96921 100644 --- a/mcp/bigmind/bigmind/profile_builder.py +++ b/mcp/bigmind/bigmind/profile_builder.py @@ -571,7 +571,7 @@ def compute_achievements(user_id: str) -> list[dict]: f"Added your {thresh:,}+ person to the directory", unlocked, unlocked_at, f"Reach {thresh:,} people (now: {people_count:,})", - image=f"static/achievements/networker_{tiers[i]}.png" + image=f"/static/achievements/networker_{tiers[i]}.png" ) # Token Sniper (max single token save) @@ -601,7 +601,7 @@ def compute_achievements(user_id: str) -> list[dict]: f"Single shot saved {thresh:,}+ tokens", unlocked, unlocked_at, f"Max single save {thresh:,}+ (current max: {max_token:,})", - image=f"static/achievements/tokensniper_{tiers[i]}.png" + image=f"/static/achievements/tokensniper_{tiers[i]}.png" ) # Hypothesis Master (confirmed hypotheses) @@ -628,7 +628,7 @@ def compute_achievements(user_id: str) -> list[dict]: f"Confirmed {thresh:,}+ predictions right", unlocked, unlocked_at, f"Confirm {thresh:,}+ hypotheses (now: {confirmed_hyp_count:,})", - image=f"static/achievements/hypothesismaster_{tiers[i]}.png" + image=f"/static/achievements/hypothesismaster_{tiers[i]}.png" ) # Memory Architect (facts stored — fact_count already computed above) @@ -648,7 +648,7 @@ def compute_achievements(user_id: str) -> list[dict]: f"Stored {thresh:,}+ facts in your brain", unlocked, unlocked_at, f"Store {thresh:,}+ facts (now: {fact_count:,})", - image=f"static/achievements/memoryarchitect_{tiers[i]}.png" + image=f"/static/achievements/memoryarchitect_{tiers[i]}.png" ) # Session Veteran (session_count already computed above) @@ -668,7 +668,7 @@ def compute_achievements(user_id: str) -> list[dict]: f"Completed {thresh:,}+ sessions", unlocked, unlocked_at, f"Complete {thresh:,}+ sessions (now: {session_count:,})", - image=f"static/achievements/sessionveteran_{tiers[i]}.png" + image=f"/static/achievements/sessionveteran_{tiers[i]}.png" ) return A diff --git a/mcp/bigmind/bigmind/static/achievements/networker_bronze.png b/mcp/bigmind/bigmind/static/achievements/networker_bronze.png new file mode 100644 index 0000000..2141617 Binary files /dev/null and b/mcp/bigmind/bigmind/static/achievements/networker_bronze.png differ diff --git a/mcp/bigmind/bigmind/static/achievements/networker_silver.png b/mcp/bigmind/bigmind/static/achievements/networker_silver.png new file mode 100644 index 0000000..ddb19de Binary files /dev/null and b/mcp/bigmind/bigmind/static/achievements/networker_silver.png differ diff --git a/mcp/bigmind/bigmind/web.py b/mcp/bigmind/bigmind/web.py index c39b614..c620c91 100644 --- a/mcp/bigmind/bigmind/web.py +++ b/mcp/bigmind/bigmind/web.py @@ -163,7 +163,7 @@ def _create_app(): def achievements_image(filename: str): from pathlib import Path safe_name = Path(filename).name - img_path = Path('static') / 'achievements' / safe_name + img_path = Path(__file__).parent / 'static' / 'achievements' / safe_name if img_path.exists() and img_path.suffix.lower() in ['.png', '.jpg', '.jpeg', '.webp', '.gif']: mimetype = { '.png': 'image/png', diff --git a/mcp/bigmind/bigmind/web_render.py b/mcp/bigmind/bigmind/web_render.py index 3a29621..a1273a0 100644 --- a/mcp/bigmind/bigmind/web_render.py +++ b/mcp/bigmind/bigmind/web_render.py @@ -628,7 +628,7 @@ def _render_html(data: dict) -> str: var d = card.dataset; var tier = d.id.split('_').pop(); if (d.image) {{ - document.getElementById('ap-icon').innerHTML = "\""; + document.getElementById('ap-icon').innerHTML = '' + d.name + ''; }} else {{ document.getElementById('ap-icon').textContent = d.icon; }}