Liam/fix nav personas#72
Open
dondischl12 wants to merge 37 commits into
Open
Conversation
* add realistic sample database data * add AUTO_INCREMENT to the single-column surrogate key tables
* add pinned requirements.txt from pyproject.toml * feat(app): add Pickup Player dashboard with court map and check-in Add Persona 1 (Marcus Reyes) Streamlit dashboard addressing two user stories: viewing a live map of nearby courts with player counts, and checking in/out at courts. Replaces template personas in Home.py with HoopSpot-specific pickup player role. * fix(app): switch map to st.map and add filter labels Replace pydeck ScatterplotLayer with st.map for reliable tile rendering without a Mapbox token. Add visible labels to the skill level, court type, and sort dropdowns. * fix(app): align search input with filter dropdowns Show the Search label so all four filter inputs share the same vertical baseline. * feat(app): show court details and reviews in a dialog popup Replace the scroll-to-bottom detail panel with a @st.dialog modal that opens on click. Add court reviews with avg rating, condition score, and the 5 most recent player comments. * feat(app): add Re-center button to reset map view Use st.empty() to allow destroying and recreating the map widget, which resets pan/zoom back to the default center position. * unlist About page * feat(app): introduce shared styles module and dark UI refresh Centralizes theming in modules/styles.py and applies an Outfit-based dark theme across Home and Pickup Home, with a pydeck map, status badges, and a styled player profile card.
* add pinned requirements.txt from pyproject.toml * feat(app): add Pickup Player dashboard with court map and check-in Add Persona 1 (Marcus Reyes) Streamlit dashboard addressing two user stories: viewing a live map of nearby courts with player counts, and checking in/out at courts. Replaces template personas in Home.py with HoopSpot-specific pickup player role. * fix(app): switch map to st.map and add filter labels Replace pydeck ScatterplotLayer with st.map for reliable tile rendering without a Mapbox token. Add visible labels to the skill level, court type, and sort dropdowns. * fix(app): align search input with filter dropdowns Show the Search label so all four filter inputs share the same vertical baseline. * feat(app): show court details and reviews in a dialog popup Replace the scroll-to-bottom detail panel with a @st.dialog modal that opens on click. Add court reviews with avg rating, condition score, and the 5 most recent player comments. * feat(app): add Re-center button to reset map view Use st.empty() to allow destroying and recreating the map widget, which resets pan/zoom back to the default center position. * unlist About page * feat(app): introduce shared styles module and dark UI refresh Centralizes theming in modules/styles.py and applies an Outfit-based dark theme across Home and Pickup Home, with a pydeck map, status badges, and a styled player profile card. * feat(app): add player profile dashboard with skill trend Addresses the pickup-player user story: view personal stats (games played, wins, skill rank) to track improvement over time. Adds a new Profile page with hero, stat cards, a Plotly skill-score line chart, and a recent-games list, plus two supporting API endpoints that join GameParticipation with Court/Game and derive a skill trajectory from the player's result history. * feat(db): seed Marcus Reyes history and fix reserved-word CTEs Rebrands PlayerId 1 as Marcus Reyes (Roxbury) and adds 42 games across Jan-Apr 2026 so the Pickup Profile dashboard renders with meaningful stats (47 games, 29W/18L) and an upward skill trend. Also renames two 'generated' CTEs to 'gen' so MySQL 9 accepts them (reserved word), and adds a CLAUDE.md noting the MySQL 9 reserved-word gotcha and the down -v requirement for re-running init scripts. * refactor(app): densify profile layout for desktop viewport Puts the hero and three stat cards side-by-side in a single top row, and splits the skill chart and recent-games list into a two-column bottom row so the full dashboard fits above the fold on a standard desktop. Widens the container to 1400px, tightens paddings and font sizes, restores enough top padding to clear the Streamlit header, and swaps the conic-gradient avatar ring for a solid orange border. * polish(app): align profile cards to a common height Treats the hero as a proper card (matching stat-card border, bg, and accent line) and pins every top-row card to min-height 118px with vertically centered content so the hero, Games, Win/Loss, and Skill Score cards read as one row. Shrinks the avatar to 72px and the name to 1.2rem so the hero sits at the same scale as the stat values. Replaces the wrapping "▲ trending" label with a single arrow inline with the skill value, and rebalances the bottom split (chart 2.6 / recent games 1) so the list no longer extends past the chart. Also parses Flask's RFC 1123 date format so recent-games subtitles show "yesterday" / "4 days ago" instead of raw HTTP date strings.
Flask's jsonify serializes DECIMAL columns as strings, so summing Rating/ConditionRating raised TypeError in the court dialog.
Drops the logo image from the sidebar nav and deletes the unused Political Strategist home and World Bank visualization pages.
Add leaderboard and tournaments sidebar links under a new competitive_player role, and a matching Aaliyah persona card on Home.py that routes to the leaderboard.
Zach persona 3
- Delete unregistered simple_routes and ngos blueprints plus the unused ml_models stub from api/backend/ - Delete Streamlit template demo pages (Map_Demo, Prediction, API_Test, Classification, ML_Model_Mgmt) and orphaned USAID_Worker_Home and NGO_Directory/Add_NGO/NGO_Profile pages - Strip dead nav helpers and the usaid_worker role block from app/src/modules/nav.py
Wire all 4 personas: add analyst pages, fix admin nav, competitive ho…
liam/persona2/Fix TypeError in My Games page - cast GamesPlayed and Wins to int
FIx .env template and link backend
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixed the small issue with the check-in check-out dynamics.