Skip to content

Commit 4c7f14e

Browse files
committed
Checks
1 parent a727132 commit 4c7f14e

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

index.html

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@
9696

9797
// Player callbacks
9898
const onProgress = (track) => {
99-
if (!track) return;
99+
if (!track || !player) return;
100100

101101
const currentLoadingState = track.webAudioLoadingState || 'NONE';
102102
const nextLoadingState = player.nextTrack?.webAudioLoadingState || 'NONE';
@@ -113,7 +113,7 @@
113113
};
114114

115115
const onTrackChange = (track) => {
116-
if (!track) return;
116+
if (!track || !player) return;
117117
updateState({
118118
currentTrack: track,
119119
isPlaying: !track.isPaused,
@@ -124,35 +124,38 @@
124124
// Event handlers
125125
const controls = {
126126
playPause: () => {
127+
if (!player) return;
127128
player.togglePlayPause();
128129
updateState({ isPlaying: !player.currentTrack?.isPaused });
129130
},
130131

131132
previous: () => {
133+
if (!player) return;
132134
player.playPrevious();
133135
if (player.currentTrack?.isPaused) player.play();
134136
},
135137

136138
next: () => {
139+
if (!player) return;
137140
player.playNext();
138141
if (player.currentTrack?.isPaused) player.play();
139142
},
140143

141144
skipToEnd: () => {
142-
if (player.currentTrack) {
143-
player.currentTrack.seekToEnd(5);
144-
console.log('Skipping to end for gapless test');
145-
}
145+
if (!player?.currentTrack) return;
146+
player.currentTrack.seekToEnd(5);
147+
console.log('Skipping to end for gapless test');
146148
},
147149

148150
volume: (e) => {
151+
if (!player) return;
149152
const vol = e.target.value;
150153
updateState({ volume: vol });
151154
player.setVolume(vol / 100);
152155
},
153156

154157
seek: (e) => {
155-
if (!player.currentTrack?.duration) return;
158+
if (!player?.currentTrack?.duration) return;
156159
const rect = e.currentTarget.getBoundingClientRect();
157160
const x = e.clientX - rect.left;
158161
const percentage = Math.max(0, Math.min(1, x / rect.width));
@@ -161,7 +164,10 @@
161164
onProgress(player.currentTrack);
162165
},
163166

164-
selectTrack: (idx) => player.gotoTrack(idx, true)
167+
selectTrack: (idx) => {
168+
if (!player) return;
169+
player.gotoTrack(idx, true);
170+
}
165171
};
166172

167173
// Initialize

0 commit comments

Comments
 (0)