Loading...
{{ error }}

Janne's Swimming Challenge 2025

{{ totalGoal.toLocaleString() }}m • {{ challenge.totalWeeks }} weeks • Barncancerfonden

COMPLETED
{{ completedMeters.toLocaleString() }}m
REMAINING
{{ remainingMeters.toLocaleString() }}m
PROGRESS
{{ progressPercent }}%
{{ progressPercent }}%
Week {{ currentWeek }} of {{ challenge.totalWeeks }}

Week Overview

{{ week.weekNumber }}
Success
Failed
In Progress
Upcoming

Financial Impact

{{ value.toLocaleString() }}kr
Base: {{ baseContribution.toLocaleString() }} kr
Penalties: {{ penaltyAmount.toLocaleString() }} kr
Total to Barncancerfonden
{{ totalContribution.toLocaleString() }} kr

Session Statistics

Total Sessions
{{ totalSessions }}
Avg per Week
{{ avgSessionsPerWeek }}
Total Time
{{ totalMinutes }} min
Avg Duration
{{ avgSessionMinutes }} min
Longest Gap
{{ longestGap }} {{ longestGap === 1 ? 'day' : 'days' }}
Avg Session
{{ avgSessionMeters }}m
Avg Pace
{{ formatPace(avgPacePerHundredMeters) }}

Weekly Overview

W{{ week.weekNumber }}
{{ week.actualMeters > 0 ? week.actualMeters.toLocaleString() + 'm' : '—' }}
{{ getWeekStatusTextShort(week) }}

Session Log

Week {{ session.weekNumber }} {{ formatDate(session.date) }}
Distance: {{ session.meters.toLocaleString() }}m
Duration: {{ session.durationInMinutes }} min
Pace: {{ formatPace(session.pacePerHundredMetersInSeconds, true) }}
Avg Pulse: {{ session.pulseAvg || '—' }}
Max Pulse: {{ session.pulseMax || '—' }}
Comment: