Commit Graph
16 Commits
Author SHA1 Message Date
SowinskiBraeden 48ad7fe1a6 actually add seasons 2026-06-27 14:14:57 -07:00
SowinskiBraeden e9d4392b8c privacy/terms/support/docs 2026-06-27 13:14:13 -07:00
SowinskiBraeden 2e1cc10dc7 update email styles 2026-06-27 12:47:49 -07:00
SowinskiBraeden ffc33c967a update email verification process 2026-06-27 12:35:00 -07:00
SowinskiBraeden 1b442011be account create on invite 2026-06-27 12:16:04 -07:00
SowinskiBraeden 964a0651f5 fix trasnfer ownership 2026-06-27 11:00:01 -07:00
SowinskiBraeden d1b9feab82 Remove ledger access from viewer role 2026-06-27 10:42:11 -07:00
SowinskiBraeden 00d59ac8ae fix re-invites + promote/demote members 2026-06-27 10:33:54 -07:00
SowinskiBraeden 3026204a99 fix email invites 2026-06-27 10:15:55 -07:00
SowinskiBraeden 51bb8f03f6 fix: apply break-even threshold on player stat profile (2.5.2)
build_leaderboard, player_session_series, and session_breakdown_series
in the player detail and players routes were all called without
league.break_even_cents, so win/loss/even classification always used
the $1.00 default regardless of per-league settings.
2026-06-26 21:51:19 -07:00
SowinskiBraeden 2fc7bab183 feat: per-league eligible sessions and break-even threshold settings (2.5.0)
Add two configurable leaderboard settings per league, replacing the global
constants with per-row DB columns:

- eligible_min_sessions (default 3): minimum sessions before a player ranks
  on the main leaderboard rather than showing as provisional
- break_even_cents (default 100 = $1.00): sessions within ±this of $0 net
  are classified as break-even rather than a win or loss

Changes:
- Migration 0003 adds both columns with server defaults for existing leagues
- League DB model gains eligible_min_sessions and break_even_cents columns
- net_result_bucket() and build_leaderboard() accept optional tolerance param
- summarize_player_runs() passes tolerance to net_result_bucket for streaks
- League leaderboard route reads values from the league row instead of config
- League settings form exposes both fields with validation (1-100 sessions,
  $0.00-$100.00 threshold)
2026-06-26 21:37:47 -07:00
SowinskiBraeden a5cb488b91 visual redesign: landing, dashboard overview, session calendar (2.3.1)
- Redesign landing page hero with split layout, features section, and in-app session/result demos
- Add fixed sidebar scroll isolation (app-shell overflow lock pattern)
- Redesign leagues index cards with initial badge, podium leader chips, and action links
- Redesign league dashboard: color-coded nav tiles, cash/stats overview strip, session history heatmap calendar
- Dashboard cash stats use real cash only (excludes rollovers and carry-ins)
- Session history calendar: JS-driven full-year grid, year navigation, hover tooltips, full-width responsive layout
- Bump leaderboard tile color from gold to blue (distinct from ledger orange)
- Bump version to 2.3.1
2026-06-26 21:24:00 -07:00
SowinskiBraeden 56c9a1084c create player on import 2026-06-25 01:05:38 -07:00
SowinskiBraeden 988f170ea4 fix imports 2026-06-25 01:02:15 -07:00
SowinskiBraeden 2eadc722e9 2.0+ public access setup 2026-06-23 21:38:33 -07:00
SowinskiBraeden 3ad833b4e7 backend overhaul 2026-06-22 14:17:10 -07:00