Skip to content

Commit 0962006

Browse files
authored
Update index.html
1 parent 13cd758 commit 0962006

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

index.html

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,7 @@ <h1>Wall Ball Rep Tracker</h1>
489489
</div>
490490
<canvas id="canvas"></canvas>
491491
<div id="controls-container">
492+
<button id="reset-button" class="control-button">Reset</button>
492493
<button id="focus-mode-button" class="control-button">Focus Mode</button>
493494
</div>
494495
<div id="camera-status" style="display: none; margin: 1rem auto; padding: 1rem; background: rgba(0,0,0,0.7); border-radius: 5px; max-width: 400px;">
@@ -528,6 +529,7 @@ <h2>Session History</h2>
528529

529530
<script>
530531
async function setupCamera() {
532+
console.log('setupCamera: start');
531533
const video = document.getElementById('video');
532534
const cameraStatus = document.getElementById('camera-status');
533535
const repsDisplay = document.getElementById('reps');
@@ -566,13 +568,15 @@ <h2>Session History</h2>
566568

567569
await video.play();
568570
cameraStatus.style.display = 'none';
571+
console.log('setupCamera: success');
569572
return video;
570573
} catch (err) {
571574
localStorage.setItem('wallBallCameraAccess', 'denied');
572575
cameraStatus.innerHTML =
573576
`Camera access failed: ${err.message}. <button onclick="requestCameraAgain()" class="retry-button">Try Again</button>`;
574577
repsDisplay.textContent = 'Camera Error';
575578
console.error('Camera error:', err);
579+
console.log('setupCamera: error');
576580
throw err;
577581
}
578582
}
@@ -601,7 +605,12 @@ <h2>Session History</h2>
601605

602606
}
603607

608+
let reps = 0;
609+
let stage = null;
610+
let startTime = null;
611+
604612
async function main() {
613+
console.log('main: start');
605614
const video = await setupCamera();
606615
const canvas = document.getElementById('canvas');
607616
const ctx = canvas.getContext('2d');
@@ -623,11 +632,13 @@ <h2>Session History</h2>
623632
document.body.classList.add('focus-view');
624633
});
625634

635+
const resetButton = document.getElementById('reset-button');
636+
resetButton.addEventListener('click', resetReps);
637+
626638
const goalInput = document.getElementById('goal-input');
627639
const progressBar = document.getElementById('progress-bar');
628640
let goal = parseInt(goalInput.value);
629-
let stage = 'start'; // Initial state
630-
resetReps();
641+
updateProgressBar();
631642

632643
goalInput.addEventListener('input', () => {
633644
goal = parseInt(goalInput.value);
@@ -651,17 +662,8 @@ <h2>Session History</h2>
651662
progressBar.style.width = `${Math.min(progress, 100)}%`;
652663
}
653664

654-
function resetReps() {
655-
reps = 0;
656-
stage = 'start';
657-
startTime = null;
658-
document.getElementById('reps').textContent = 'Reps: 0';
659-
timerDisplay.textContent = 'Time: 0s';
660-
rpmDisplay.textContent = 'RPM: 0';
661-
updateProgressBar();
662-
}
663665

664-
let startTime = null;
666+
665667
const timerDisplay = document.getElementById('timer');
666668
const rpmDisplay = document.getElementById('rpm');
667669

@@ -690,6 +692,7 @@ <h2>Session History</h2>
690692
});
691693

692694
async function detect() {
695+
console.log('detect: start');
693696
const poses = await detector.estimatePoses(video);
694697
ctx.clearRect(0, 0, canvas.width, canvas.height);
695698
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
@@ -748,6 +751,7 @@ <h2>Session History</h2>
748751
}
749752
}
750753
}
754+
console.log('detect: end');
751755
if (window.poseDetectionActive) {
752756
requestAnimationFrame(detect);
753757
}
@@ -757,23 +761,25 @@ <h2>Session History</h2>
757761
loader.style.display = 'none';
758762

759763
window.poseDetectionActive = true;
764+
console.log('main: starting detection');
760765
detect();
761766
}
762767

763768

764-
let reps = 0;
765-
let stage = null; // 'up' or 'down'
766-
let startTime = null;
769+
767770

768771
function resetReps() {
769772
reps = 0;
770-
stage = null;
773+
stage = 'start';
771774
startTime = null;
772775
document.getElementById('reps').textContent = 'Reps: 0';
773-
document.getElementById('timer').textContent = 'Time: 0s';
774-
document.getElementById('rpm').textContent = 'RPM: 0';
775-
if (document.getElementById('progress-bar')) {
776-
document.getElementById('progress-bar').style.width = '0%';
776+
const timerDisplay = document.getElementById('timer');
777+
const rpmDisplay = document.getElementById('rpm');
778+
if(timerDisplay) timerDisplay.textContent = 'Time: 0s';
779+
if(rpmDisplay) rpmDisplay.textContent = 'RPM: 0';
780+
const progressBar = document.getElementById('progress-bar');
781+
if (progressBar) {
782+
progressBar.style.width = '0%';
777783
}
778784
}
779785

0 commit comments

Comments
 (0)