SowinskiBraeden
737d6d7561
require search first in explore
2026-06-29 12:42:50 -07:00
SowinskiBraeden
74d8baa6d7
seo
2026-06-29 11:58:28 -07:00
SowinskiBraeden
72791a6258
update email logo
2026-06-29 11:53:34 -07:00
SowinskiBraeden
552b6f2d26
patch internal tooling for prod
2026-06-29 11:38:08 -07:00
SowinskiBraeden
e9dd0f07bf
Merge pull request #1 from SowinskiBraeden/redesign
...
Redesign
2026-06-28 18:12:01 -07:00
SowinskiBraeden
8740ff31cd
Finalize database deployment readiness
2026-06-28 18:02:12 -07:00
SowinskiBraeden
593420f984
Require production database configuration
2026-06-28 17:52:22 -07:00
SowinskiBraeden
adbc60bfc3
Add friendly crash page
2026-06-28 17:47:58 -07:00
SowinskiBraeden
e376b3628a
Move application code into package
2026-06-28 17:41:11 -07:00
SowinskiBraeden
83c9fec489
Clean migration header whitespace
2026-06-28 17:11:09 -07:00
SowinskiBraeden
c4260c8c7d
Merge main into redesign for deployment
2026-06-28 17:07:46 -07:00
SowinskiBraeden
fbf56e1271
Prepare redesign for public deployment
2026-06-28 17:07:29 -07:00
SowinskiBraeden
f25de03c81
tidy internal tooling
2026-06-28 12:39:43 -07:00
SowinskiBraeden
734b3bdcaa
update terms/privacy
2026-06-28 12:19:57 -07:00
SowinskiBraeden
51c8656a69
internal statistics & tooling
2026-06-28 12:11:22 -07:00
SowinskiBraeden
79c638b8fa
remove legacy systems
2026-06-28 10:51:59 -07:00
SowinskiBraeden
9e6f5bd3ef
update information + styles
2026-06-28 10:24:43 -07:00
SowinskiBraeden
a31e48622b
more muted pages
2026-06-28 10:15:32 -07:00
SowinskiBraeden
a224a902e2
Merge main history into redesign
2026-06-27 18:39:36 -07:00
SowinskiBraeden
9921e61515
seperate delete from archive functions
2026-06-27 14:30:52 -07:00
SowinskiBraeden
42a9595966
allow archive season filtering on leaderboard
2026-06-27 14:21:55 -07:00
SowinskiBraeden
0411a0d099
fix bad inputs
2026-06-27 14:20:06 -07:00
SowinskiBraeden
48ad7fe1a6
actually add seasons
2026-06-27 14:14:57 -07:00
SowinskiBraeden
cae60c9305
update email header
2026-06-27 13:16:48 -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
3f2c9833a8
fix footers
2026-06-27 11:47:20 -07:00
SowinskiBraeden
34f03860a6
add 404/403 pages
2026-06-27 11:30:06 -07:00
SowinskiBraeden
c645c722d5
upgrade landing page
2026-06-27 11:25:18 -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
00e640d6dc
fix player actions button
2026-06-27 09:48:28 -07:00
SowinskiBraeden
5d27b83ecd
chore: bump version to 2.5.3
2026-06-26 21:54:37 -07:00
SowinskiBraeden
cacacb11bf
fix: show league break-even threshold on player profile (2.5.2)
...
The ±$1.00 label was hardcoded; now reads from league.break_even_cents.
2026-06-26 21:53:34 -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
882726e5e9
fix: correct migration chain for league settings columns (2.5.1)
...
Migration 0003_league_settings was chained to 0002 but the DB was already
at 0003_site_admin (an applied migration with no version file). Added a stub
for 0003_site_admin to satisfy the chain and updated the down_revision on
0003_league_settings accordingly. Columns eligible_min_sessions and
break_even_cents now apply cleanly on top of the existing schema.
2026-06-26 21:43:32 -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
0e34600714
feat: client-side session search by name, date, and notes (2.4.0)
...
Add a search bar to the sessions list panel that filters rows in real time.
Searches display label, ISO date, month/year, and session notes. The count
badge updates to show matching/total; a no-results message appears when the
query has no matches.
2026-06-26 21:30:22 -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
54fa80f06e
email verification
2026-06-24 23:44:36 -07:00
SowinskiBraeden
5c7a498af6
admin improvements
2026-06-24 23:15:13 -07:00
SowinskiBraeden
f078034789
update readme
2026-06-24 19:59:12 -07:00
SowinskiBraeden
6da4c3e379
major file restrucutre
2026-06-24 19:53:19 -07:00
SowinskiBraeden
ac278065d2
security
2026-06-24 19:08:33 -07:00
SowinskiBraeden
2eadc722e9
2.0+ public access setup
2026-06-23 21:38:33 -07:00
SowinskiBraeden
5d88180e02
can I get a hamburger please?
2026-06-22 22:59:10 -07:00
SowinskiBraeden
c891163c6d
can I get a hamburger please?
2026-06-22 22:59:10 -07:00
SowinskiBraeden
263cd0a6d3
mobile improvements
2026-06-22 20:51:19 -07:00
SowinskiBraeden
49b0b54c2d
mobile improvements
2026-06-22 20:51:19 -07:00
SowinskiBraeden
a6ead9ac0a
better mobile
2026-06-22 20:05:07 -07:00
SowinskiBraeden
00aa0a9225
better mobile
2026-06-22 20:05:07 -07:00
SowinskiBraeden
982830957d
remove v from version number
2026-06-22 18:40:12 -07:00
SowinskiBraeden
6fcdc2946d
remove v from version number
2026-06-22 18:40:12 -07:00
SowinskiBraeden
5ded510dd0
footer + favicon
2026-06-22 18:34:40 -07:00
SowinskiBraeden
434793d89e
footer + favicon
2026-06-22 18:34:40 -07:00
SowinskiBraeden
39e3453681
fix .env load
2026-06-22 17:41:16 -07:00
SowinskiBraeden
5d30dde316
fix .env load
2026-06-22 17:41:16 -07:00
SowinskiBraeden
1dc4f0ec36
backend overhaul
2026-06-22 14:17:10 -07:00
SowinskiBraeden
3ad833b4e7
backend overhaul
2026-06-22 14:17:10 -07:00
SowinskiBraeden
5349130972
visual overhaul + accounting corrections
2026-06-22 13:51:38 -07:00
SowinskiBraeden
70e62342ee
visual overhaul + accounting corrections
2026-06-22 13:51:38 -07:00
SowinskiBraeden
1f1c5d2ecc
overhaul
2026-06-22 00:25:57 -07:00
SowinskiBraeden
77198e5b47
overhaul
2026-06-22 00:25:57 -07:00
SowinskiBraeden
a5c216bb9e
fix layout + collect/writeoff debts
2026-06-11 13:27:00 -07:00
SowinskiBraeden
7e7b3a7011
fix layout + collect/writeoff debts
2026-06-11 13:27:00 -07:00
SowinskiBraeden
64b6cd175e
count overpay as debts when fronted + add debt writeoff
2026-06-11 13:11:04 -07:00
SowinskiBraeden
7ec95ee24a
count overpay as debts when fronted + add debt writeoff
2026-06-11 13:11:04 -07:00
SowinskiBraeden
1265e3047f
improve leaderboard chart
2026-04-28 13:15:59 -07:00
SowinskiBraeden
2939415f76
improve leaderboard chart
2026-04-28 13:15:59 -07:00
SowinskiBraeden
32d212ad46
fix leaderboard through id not date
2026-03-28 11:26:35 -07:00
SowinskiBraeden
8b74f277b2
fix leaderboard through id not date
2026-03-28 11:26:35 -07:00
SowinskiBraeden
8d3da9197d
fix leaderboard through id not date
2026-03-28 11:16:22 -07:00
SowinskiBraeden
6ed0f69050
fix leaderboard through id not date
2026-03-28 11:16:22 -07:00
SowinskiBraeden
e7473d43af
fix graph order for same date sessions
2026-03-22 15:00:15 -07:00
SowinskiBraeden
a17b194659
fix graph order for same date sessions
2026-03-22 15:00:15 -07:00
SowinskiBraeden
e11a950c39
update leaderboard stats
2026-03-22 14:40:24 -07:00
SowinskiBraeden
4635286a09
update leaderboard stats
2026-03-22 14:40:24 -07:00
SowinskiBraeden
b4401b302d
leaderboard through session label update
2026-03-22 14:28:53 -07:00
SowinskiBraeden
51686de473
leaderboard through session label update
2026-03-22 14:28:53 -07:00
SowinskiBraeden
86aed87c1b
update admin summary
2026-03-22 14:24:30 -07:00
SowinskiBraeden
7cdd89ef2c
update admin summary
2026-03-22 14:24:30 -07:00
SowinskiBraeden
d7543ea13d
implement rollover tracking + simple view session summary
2026-03-22 13:52:59 -07:00
SowinskiBraeden
c24f7d5810
implement rollover tracking + simple view session summary
2026-03-22 13:52:59 -07:00
SowinskiBraeden
f8a167074b
show all invested on leaderboard so net is correct
2026-03-21 15:14:55 -07:00
SowinskiBraeden
3248731f51
show all invested on leaderboard so net is correct
2026-03-21 15:14:55 -07:00
SowinskiBraeden
11362dfa31
update player details to accurately display fronts
2026-03-21 15:12:12 -07:00
SowinskiBraeden
73eb69b7ea
update player details to accurately display fronts
2026-03-21 15:12:12 -07:00
SowinskiBraeden
c4df0dbcbe
front chips logic
2026-03-21 14:53:47 -07:00
SowinskiBraeden
f0f6ac8e69
front chips logic
2026-03-21 14:53:47 -07:00
SowinskiBraeden
5a488daa8f
update README
2026-03-21 13:23:15 -07:00
SowinskiBraeden
ce795d68cd
update README
2026-03-21 13:23:15 -07:00
SowinskiBraeden
61acc48ed3
update order/colors in session details
2026-03-21 12:52:16 -07:00
SowinskiBraeden
2800525e93
update order/colors in session details
2026-03-21 12:52:16 -07:00
SowinskiBraeden
6c508f4ef3
update admin layout
2026-03-21 01:30:42 -07:00