fix: update first-payment email opening to motivational tone #410

Closed
forgejo_admin wants to merge 3 commits from 369-first-payment-email-blast into main

Summary

Replace generic opening with Marcus-approved motivational tone for first-payment email.

Changes

  • src/basketball_api/services/email.py — replace "Great first practice! We loved seeing {player} on the court" with "Our job is to create opportunities for {player}. {player}'s job is to put in the work. First practice is in the books — let's keep it going."
  • Updated both HTML and plaintext versions

Test Plan

Review Checklist

  • Content change only — no logic changes
  • Plaintext fallback updated to match HTML
  • No unrelated changes

None.

Fixes #369 — content refinement after initial merge

## Summary Replace generic opening with Marcus-approved motivational tone for first-payment email. ## Changes - `src/basketball_api/services/email.py` — replace "Great first practice! We loved seeing {player} on the court" with "Our job is to create opportunities for {player}. {player}'s job is to put in the work. First practice is in the books — let's keep it going." - Updated both HTML and plaintext versions ## Test Plan - [x] Send test email to draneylucas@gmail.com and verify content on phone - [ ] Visual validation in Gmail app ## Review Checklist - [x] Content change only — no logic changes - [x] Plaintext fallback updated to match HTML - [x] No unrelated changes ## Related Notes None. ## Related Fixes #369 — content refinement after initial merge
feat: add send_first_payment_email + POST /admin/email/first-payment blast endpoint
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
40eee1cac5
Post-practice first-payment email with prorated fee calculation (same formula
as westside-contracts) and branded HTML. Blast endpoint targets signed players
with contract tokens, supports test_email filtering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: use base_url not frontend_url for checkout redirect link
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
b0423fda6a
The /checkout/first-payment endpoint lives on basketball-api (the API),
not westside-app (the frontend). Using frontend_url would send parents
to a 404.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix: update email opening to motivational tone
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed
5d2017a4a9
"Our job is to create opportunities. Your job is to put in the work."

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
forgejo_admin closed this pull request 2026-04-09 01:15:50 +00:00
Some checks failed
ci/woodpecker/pr/woodpecker Pipeline failed

Pull request closed

Sign in to join this conversation.
No description provided.