FOUNDER 100TH

{{ currentUser?.founderStatus==='Active'?'Elite Member · Active':'Elite Member · Inactive' }}

{{ currentUser?.founderStatus==='Active'?'● Active':'○ Inactive' }}
{{ firstName.charAt(0) }}

{{ currentUser?.name }}

{{ currentUser?.id }}

{{ currentUser?.activationStatus==='Pending'?'Pending Activation':currentUser?.activationStatus==='Expired'?'Expired':'Active' }}
{{ Math.round(currentUser?.miles||0).toLocaleString() }}
Miles
{{ totalVouchers }}
Vouchers
Not Active {{ fmtDateShort(currentUser.expiry) }}
Expires
{{ nextClass.isToday?'Today':'Tomorrow' }} · {{ nextClass.timeString }}

{{ nextClass.className }}

{{ nextClass.coachName }}

{{ nextClass.bookedCount }}/{{ nextClass.maxSlots }} slots booked

✓ Booked

Active Package

{{ currentUser?.package||'No Package' }}

Not activated yet — book a class to start Expires {{ fmtDate(currentUser.expiry) }} No expiry date

Contact Customer Support
Mon – Sat  ·  07.00 – 20.00 WIB

MY VOUCHERS

No active vouchers.

{{ item.voucher_category||'Class' }}

{{ item.voucher_name }}

{{ item.expiry_date?'Expires '+fmtDate(item.expiry_date):'No Expiry' }}

{{ item.qty }} LEFT
VTX-{{ item.id?item.id.toString().slice(-6):'000000' }}

Activity Log

No activity yet.

{{ log.voucherName }}

{{ log.reference }}

{{ (log.changeType==='Addition'||log.changeType==='Refund')?'+':'-' }}{{ log.qty }}

{{ log.date }}

Total Miles Balance

{{ Math.round(currentUser?.miles||0).toLocaleString() }}

Earn miles with every purchase · Redeem for rewards

Redeem Rewards

No rewards available.

{{ prod.name }}

{{ prod.creditQty }} session(s)

{{ prod.milesCost.toLocaleString() }} miles

Transaction History

No history yet.

{{ log.reference||'Transaction' }}

{{ new Date(log.created_at).toLocaleDateString('id-ID',{day:'numeric',month:'short',year:'numeric'}) }}

{{ log.type==='Earn'?'+':'-' }}{{ log.amount }}

MY BOOKINGS

Upcoming class bookings

No upcoming bookings.

{{ b.className }}

Pre-Booked
{{ b.coachName }}
{{ b.date }}
{{ b.time }}
{{ b.canCancel ? 'Cancellable' : b.hoursUntilClass+'h away' }}

HYROX ARENA

Official Training Ground

{{ currentMonthName }} {{ currentYear }}
{{ d }}
{{ d }}

{{ selectedDate }} {{ currentMonthName }}

{{ selectedDateSchedules.length }} class{{ selectedDateSchedules.length!==1?'es':'' }}
No classes on this date.
{{ sch.timeString }}
Ended ✓ Booked

{{ sch.className }}

{{ sch.coachName }}

{{ sch.bookedCount||0 }}/{{ sch.maxSlots||20 }} booked {{ (sch.maxSlots||20)-(sch.bookedCount||0) }} left
{{ pScreenTitle }}
{{ currentUser?.name?.split(' ')[0] }}
VERTEX8 · HYROX
PRACTICE
{{ currentUser?.gender==='F'?'♀ FEMALE':'♂ MALE' }}
CONNECT WATCH
Enter PIN from your Amazfit watch
ENTER WATCH PIN
Open VERTEX8 on your Amazfit. The watch will show a 4-digit PIN. Enter it below.
{{ watchPinInput[i-1] || '' }}
Verifying...
{{ watchPinError }}
Cancel
WATCH CONNECTED
Amazfit Active 2 · Live sync active
{{ watchPinError }}
MY SESSIONS
{{ simHistory.length || '—' }}
LEADERBOARD
🏅
SELECT MODE
🏋️
TRAINING
Per-station drill · Timer · Achievement scoring
🏁
SIMULATION
Full race · 8 runs + 8 stations · HYROX format
🏅
LEADERBOARD
Global rankings by division & gender
📋
MY HISTORY
Sessions · Pace drop · PB tracking
DIVISION
{{ d.l }}
GENDER
♂ MALE
♀ FEMALE
{{ currentUser?.name?.split(' ')[0] }} · {{ simDiv }}
{{ fmtTime(totalSecs) }}
{{ curStage.icon }}
{{ curStage.name }}
{{ curStage.spec }}
{{ fmtTimer(stageSecs) }}.{{ String(stageMs).padStart(2,'0') }}
{{ timerOn?'RUNNING':stageSecs?'PAUSED':'READY' }}
{{ curStage.metric.label }}
{{ metVal }}
TARGET: {{ curStage.metric.target }} {{ curStage.metric.unit }}
+
✦ SESSION COMPLETE ✦
{{ fmtTime(totalSecs) }}
{{ perfGrade }}
{{ currentUser?.name }} · {{ simDiv }} · {{ simGender==='M'?'Male':'Female' }}
🏆
NEW PERSONAL BEST
{{ fmtTime(totalSecs) }}
RUN SPLITS
{{ rb.pace }}
R{{ ri+1 }}
STAGE SPLITS
{{ sp.icon }}
{{ sp.name }}
{{ calcPace(sp.time,1000) }} /km
{{ sp.skip?'SKIP':fmtTime(sp.time) }}
Total Time{{ fmtTime(totalSecs) }}
Run Time{{ fmtTime(runTotal) }}
Station Time{{ fmtTime(stnTotal) }}
Avg Pace{{ avgRunPace }} /km
Stations Done{{ stnDone }}/8
Performance{{ perfGrade }}
LOADING...
{{ trainModules[activeStn].icon||'🏋️' }}
{{ trainModules[activeStn].name }}
{{ trainModules[activeStn].distance_label }}
{{ trainModules[activeStn].timer_type==='countdown'?'⬇ COUNTDOWN · INPUT RESULT':'⬆ COUNTUP · TIME RECORDED' }}
HOW TO PERFORM
{{ trainModules[activeStn].description }}
{{ tierIcon(liveAchievement.tier) }}
{{ liveAchievement.pct.toFixed(1) }}%
{{ liveAchievement.tier.toUpperCase() }}
{{ currentTargetLabel }}
{{ bestRecord(activeStn) }}
BEST
{{ trainRecs[activeStn].length }}
SESSIONS
{{ deltaRecord(activeStn)>0?'+':'' }}{{ deltaRecord(activeStn) }}
VS PREV
HISTORY
{{ ri===0?'#1':('#'+(ri+1)) }}
{{ fmtDate(r.recorded_at) }}
{{ tierIcon(r.tier) }} {{ r.tier.toUpperCase() }} · {{ r.achievement_pct }}%
❤️ {{ r.avg_hr }} bpm (Max: {{ r.max_hr }}) 🔥 {{ r.calories }} kcal 👟 {{ r.steps }} steps
{{ trainModules[activeStn].timer_type==='countup'?fmtTime(r.result_value):r.result_value+' '+(trainModules[activeStn].input_unit||'') }}
⇄ Change Station
SELECT STATION
{{ m.icon||'🏋️' }}
{{ bestRecordDisplay(mi) }}
{{ m.timer_type==='countdown'? fmtTimer(m.timer_duration_s||0) : m.distance_label }}
{{ m.name }}
{{ m.distance_label }}
{{ f.l }}
No records yet.
TOP ATHLETES
🥈
{{ lb[1].athlete_name?.split(' ')[0] }}
{{ fmtTime(lb[1].total_time_seconds) }}
🥈
🥇
{{ lb[0].athlete_name?.split(' ')[0] }}
{{ fmtTime(lb[0].total_time_seconds) }}
🥇
🥉
{{ lb[2].athlete_name?.split(' ')[0] }}
{{ fmtTime(lb[2].total_time_seconds) }}
🥉
ALL RANKINGS
{{ i+4 }}
👤
{{ e.athlete_name }}
{{ e.division }} · {{ e.gender==='M'?'Male':'Female' }}
{{ fmtTime(e.total_time_seconds) }}
No sessions yet.
{{ fmtDate(s.session_date) }}
{{ fmtTime(s.total_time_seconds) }}
{{ s.division }} · {{ s.gender==='M'?'Male':'Female' }}
❤️ {{ s.avg_hr }} bpm (Max: {{ s.max_hr }}) 🔥 {{ s.calories }} kcal 👟 {{ s.steps }} steps
{{ s.performance_grade }}
{{ s.stations_completed }}/8 stations
{{ simHistory[i-1].total_time_seconds-s.total_time_seconds>0?'▼ ':'▲ ' }}{{ fmtTime(Math.abs(s.total_time_seconds-simHistory[i-1].total_time_seconds)) }} vs prev
ADMIN PANEL

Manage training modules, targets & cover images.

Abort Session?

Progress tidak akan disimpan.