{{ 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.

Use something you'll remember โ€” this is how you'll sign in. Must be unique.

{{ playerSignupError }}
{{ playerSignupSuccess }}

Already have an account? Sign in

You need to set a new password.

{{ playerResetError }}
{{ playerResetSuccess }}

Update your display name, position, or profile picture.

๐Ÿ“ท
{{ playerProfileError }}
{{ playerProfileMsg }}
{{ playerResetError }}
{{ playerResetSuccess }}

๐Ÿ“‹ Check-In

{{ publicCheckins.length }} here

{{ publicCheckinDate || publicInfo.matchdayDate }} ยท Cutoff: {{ publicInfo.cutoffTime }}

๐ŸŒก๏ธ {{ Math.round(weather.current.temperature_2m) }}ยฐC ยท {{ weatherDescription(weather.current.weather_code) }} ยท ๐Ÿ’จ {{ Math.round(weather.current.wind_speed_10m) }} km/h
๐Ÿ“ Getting your location...
๐Ÿ“ You're at the pitch!
๐Ÿ“ {{ geoError }} ๐Ÿ”„ Retry
๐Ÿ“ Location access denied. ๐Ÿ”„ Retry
๐Ÿ“ {{ geoError }} ๐Ÿ”„ Retry
๐Ÿ“Œ {{ publicInfo.geolocation.locationName }}

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

๐Ÿ“ฑ No QR code? Ask an admin to generate one, or check in at the pitch location.

{{ publicCheckinError }}
{{ publicCheckinSuccess }}

Who's Here

  • #{{ idx + 1 }}
    {{ player.playerName || player.initials }} ยท #{{ player.jersey }}
    {{ formatTime(player.checkinTime) }} Early Late
๐Ÿ‘Ÿ

No players checked in 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.

๐Ÿ“… RSVP

Responding as {{ playerSession.name }}

No upcoming dates published yet. Check back later!
{{ rsvpMsg }}

Responses

{{ r.status === 'yes' ? 'โœ…' : r.status === 'maybe' ? '๐Ÿค”' : 'โŒ' }} {{ r.playerName }}
โœ… {{ rsvpList.filter(r => r.status === 'yes').length }} yes ยท ๐Ÿค” {{ rsvpList.filter(r => r.status === 'maybe').length }} maybe ยท โŒ {{ rsvpList.filter(r => r.status === 'no').length }} no

No RSVPs yet

๐Ÿ“Š {{ 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 }}