BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2 或任何藍牙控制器,搭配 MyWhoosh、Rouvy、Zwift 等。iOS、Android、Windows、macOS 均可免費試用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
🏅 Pentathlon Module — PORPROV XV Jabar 2026 Module khusus Operator Cabor Modern Pentathlon. Format LA 2028 UIPM (Riding → Obstacle). 1. Copy semua file dari folder ini ke C:\porprov-xv\src\ dengan struktur yang sama persis 2. Restart dev server: cd C:\porprov-xv && npm run dev 3. Login sebagai op.pentathlon (atau admin) → akses URL: http://localhost:3000/operator/pentathlon查看完整 README ↗
Module khusus Operator Cabor Modern Pentathlon. Format LA 2028 UIPM (Riding → Obstacle).
src/
├── lib/
│ └── pentathlon-scoring.ts ← Formula UIPM converter (Fencing/Swimming/Obstacle/Laser Run → poin)
│
└── app/
└── operator/
└── pentathlon/ ← FOLDER BARU
├── layout.tsx ← Sub-nav + route guard (cuma op.pentathlon + admin)
├── page.tsx ← Dashboard (KPI + 12 nomor breakdown)
├── input/page.tsx ← BULK INPUT: 1 atlet = 1 row, 4 disiplin + auto-calc Individual
├── lineup/page.tsx ← BULK REGISTER: 1 klik = daftar ke 5 nomor sekaligus
└── klasemen/page.tsx ← LIVE KLASEMEN: ranking auto-refresh 30 detik, podium top 3
C:\porprov-xv\src\ dengan struktur yang sama persiscd C:\porprov-xv && npm run devop.pentathlon (atau admin) → akses URL: http://localhost:3000/operator/pentathlon/operator/pentathlon/lineup)/operator/pentathlon/input)mm:ss.cc atau detik)/operator/pentathlon/klasemen)Edit src/lib/pentathlon-scoring.ts → constant UIPM_BASELINES:
fencing : 70% wins = 250 pts (±6 per W/L)
swimming : 2:30.00 = 250 pts (±1 per 0.33s)
obstacle : 70.0 sec = 300 pts (±1 per 0.33s)
laser_run: 11:00.00 = 600 pts (±1 per 0.33s) [no handicap for MVP]
Update setelah konfirmasi MPI Jabar:
Module ini gak butuh migration. Pakai tabel existing:
nomor_pertandingan (12 nomor Pentathlon udah ada, ID 3053-3064)kualifikasi_atlet (untuk lineup)hasil_pertandingan (untuk skor + medali)Strategi penyimpanan skor:
hasil_pertandingan.nilai untuk disiplin (Fencing/Swimming/Obstacle/Laser Run) = poin terkonversi UIPMhasil_pertandingan.nilai untuk Individual = total combined pointshasil_pertandingan.medali untuk Individual = auto-assign emas/perak/perunggu (top 3 ranking)medali = 'none' (gak dimedalikan terpisah)⚠️ LIMITATION TAHAP 1: Data mentah (waktu, victories) gak disimpan ke DB. Operator harus input ulang dari mentah kalau mau edit skor. Untuk audit trail full, perlu schema migration (tambah kolom nilai_mentah JSONB).
/operator/hasil)| Error | Solusi |
|---|---|
Nomor pertandingan Putra/Putri belum lengkap saat save | Cek di Supabase, pastikan nomor Pentathlon (Individual/Fencing/Swimming/Obstacle/Laser Run) untuk gender tersebut udah ada + status Approved |
| Sidebar gak muncul menu Pentathlon | Update OperatorSidebar.tsx, tambah link conditional. Atau langsung akses URL /operator/pentathlon |
redirect('/operator/dashboard') terus | User bukan operator pentathlon. Cek cabor_nama di session — harus match regex /pentathlon/i |
| Klasemen kosong padahal udah input | Auto-refresh delay 30 detik. Klik "Reload" manual atau tunggu cycle berikutnya |
Dibuat untuk: Iwan / PORPROV XV Jabar 2026 Format: LA 2028 UIPM (Riding → Obstacle) Status: TAHAP 1 — Scaffolding (formula placeholder, perlu konfirmasi MPI Jabar untuk fine-tuning)