{{ playerAuthMode === 'signup' ? 'Create Account' : playerAuthMode === 'reset' ? 'Reset Password' : playerAuthMode === 'profile' ? 'Edit Profile' : 'Player Login' }}

Log in with your player account to check in or RSVP.

{{ playerLoginError }}

Don't have an account? Sign up

Player signups are disabled. Contact an admin to be added.

Create a player account to check in, RSVP, and track your stats.

A unique username will be auto-generated (e.g. "blakeademola"). You can change it later in your profile.

{{ playerSignupError }}
{{ playerSignupSuccess }}

Already have an account? Sign in

You need to set a new password.

{{ playerResetError }}
{{ playerResetSuccess }}

Update your display name, jersey number, position, or profile picture.

Lowercase, no spaces or special characters. Must be unique.

{{ playerProfileError }}
{{ playerProfileMsg }}
{{ playerResetError }}
{{ playerResetSuccess }}

Matchday check-in

{{ publicCheckins.length }} here
{{ rsvpWeekday(publicCheckinDate) }} {{ rsvpDayNum(publicCheckinDate) }} {{ rsvpMonth(publicCheckinDate) }} {{ rsvpRelative(publicCheckinDate) }}
Cutoff {{ publicInfo.cutoffTime }} {{ Math.round(weather.current.temperature_2m) }}°C · {{ weatherDescription(weather.current.weather_code) }} {{ Math.round(weather.current.wind_speed_10m) }} km/h {{ publicInfo.geolocation.locationName }}
You're checked in Arrived {{ formatTime(myCheckin.checkinTime) }}
{{ publicCheckinError }}
{{ publicCheckinSuccess }}

Who's here

{{ publicCheckins.length }}
  • {{ idx + 1 }}
    {{ player.playerName || player.initials }} You
    #{{ player.jersey }} {{ formatTime(player.checkinTime) }}
    Early Late

Nobody here yet — be the first!

QR Check-In

✓ Valid QR code for {{ qrTokenDate }}

Checking in as {{ playerSession.name }} (#{{ playerSession.jersey }})

{{ publicCheckinError }}
{{ publicCheckinSuccess }}

❌ Invalid or expired QR code.

Are you playing?

Responding as {{ playerSession.name }}

No upcoming dates published yet. Check back later!

{{ rsvpMsg }}

Who's in

{{ rsvpList.length }}
{{ rsvpCount('yes') }}Yes
{{ rsvpCount('maybe') }}Maybe
{{ rsvpCount('no') }}No
  • {{ r.playerName }} {{ r.status }}

No responses yet — be the first!

{{ spectatorData.teamInfo?.name || 'MyPickupSoccerManager' }}

#TeamPWDLGFGAGDPts
{{ idx + 1 }}{{ row.team }} {{ row.p }}{{ row.w }}{{ row.d }}{{ row.l }} {{ row.gf }}{{ row.ga }}{{ row.gf - row.ga }} {{ row.pts }}

No matches recorded yet

{{ formatDate(m.date) }}
{{ m.homeTeam }} {{ m.homeScore != null ? m.homeScore : '-' }} : {{ m.awayScore != null ? m.awayScore : '-' }} {{ m.awayTeam }}

No matches yet

#PlayerJerseyELORank
{{ idx + 1 }}{{ p.name }} {{ p.jersey }} {{ p.elo }} {{ eloRank(p.elo) }}

No players registered

🏆 MVP Vote

{{ formatDate(mvpMatchData.match.date) }}
{{ mvpMatchData.match.homeTeam }} {{ mvpMatchData.match.homeScore }} : {{ mvpMatchData.match.awayScore }} {{ mvpMatchData.match.awayTeam }}

Select MVP

{{ mvpVoteStatus }}

Voting is closed for this match.

Results

{{ r.playerName }}
{{ r.votes }}