Add practice hype email templates (signed + unsigned variants) #7

Open
opened 2026-04-07 17:55:09 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Feature

Lineage

Standalone — needed for 2026-04-07 practice day email blast.

Repo

forgejo_admin/westside-emails

User Story

As a program admin
I want to send a branded "see you at practice" email to all active players
So that families feel the hype and unsigned players have a direct contract link

Context

Email blast prep for April 7 practice. Two variants needed: one for signed players (pure hype), one for unsigned players (hype + personalized contract link with warm language about discussing at practice). Three players (Boston, Patrick, Stein) confirmed declined and are excluded. Basketball-api issue #379 adds declined enum to prevent future sends.

File Targets

Files to create:

  • src/practice-hype.mjml — hype-only template for signed players
  • src/practice-hype-contract.mjml — hype + contract CTA for unsigned players

Files NOT to touch:

  • src/jersey-reminder.mjml — existing template, unrelated
  • src/partials/* — shared partials, no changes needed

Acceptance Criteria

  • practice-hype.mjml compiles to valid HTML with npm run build
  • practice-hype-contract.mjml compiles to valid HTML with npm run build
  • Both use existing partials (header, footer, head)
  • Variables: {{parent_name}}, {{player_name}}, {{contract_url}}
  • Test email received at draneylucas@gmail.com

Test Expectations

  • npm run build compiles both templates without errors
  • Rendered HTML displays correctly in Gmail (dark theme branding)
  • Run command: npm run build

Constraints

  • Follow existing MJML patterns from jersey-reminder.mjml
  • Use shared partials — don't inline header/footer
  • Brand colors: #c41230 (red), #141414 (dark), #0a0a0a (black), #f0f0f0 (light text)

Checklist

  • PR opened
  • Templates compile
  • Test email verified
  • westside — project this affects
  • forgejo_admin/basketball-api #379 — declined status enum
### Type Feature ### Lineage Standalone — needed for 2026-04-07 practice day email blast. ### Repo `forgejo_admin/westside-emails` ### User Story As a program admin I want to send a branded "see you at practice" email to all active players So that families feel the hype and unsigned players have a direct contract link ### Context Email blast prep for April 7 practice. Two variants needed: one for signed players (pure hype), one for unsigned players (hype + personalized contract link with warm language about discussing at practice). Three players (Boston, Patrick, Stein) confirmed declined and are excluded. Basketball-api issue #379 adds `declined` enum to prevent future sends. ### File Targets Files to create: - `src/practice-hype.mjml` — hype-only template for signed players - `src/practice-hype-contract.mjml` — hype + contract CTA for unsigned players Files NOT to touch: - `src/jersey-reminder.mjml` — existing template, unrelated - `src/partials/*` — shared partials, no changes needed ### Acceptance Criteria - [ ] `practice-hype.mjml` compiles to valid HTML with `npm run build` - [ ] `practice-hype-contract.mjml` compiles to valid HTML with `npm run build` - [ ] Both use existing partials (header, footer, head) - [ ] Variables: `{{parent_name}}`, `{{player_name}}`, `{{contract_url}}` - [ ] Test email received at draneylucas@gmail.com ### Test Expectations - [ ] `npm run build` compiles both templates without errors - [ ] Rendered HTML displays correctly in Gmail (dark theme branding) - Run command: `npm run build` ### Constraints - Follow existing MJML patterns from `jersey-reminder.mjml` - Use shared partials — don't inline header/footer - Brand colors: `#c41230` (red), `#141414` (dark), `#0a0a0a` (black), `#f0f0f0` (light text) ### Checklist - [ ] PR opened - [ ] Templates compile - [ ] Test email verified ### Related - `westside` — project this affects - `forgejo_admin/basketball-api #379` — declined status enum
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/westside-emails#7
No description provided.