riddhiman commited on
Commit
728ac49
·
verified ·
1 Parent(s): 70217f6

Update public/script.js

Browse files
Files changed (1) hide show
  1. public/script.js +21 -39
public/script.js CHANGED
@@ -1,47 +1,29 @@
1
- let audio = new Audio();
2
- let currentPlaying = '';
 
 
3
 
4
- document.getElementById('toggle-play').addEventListener('click', function() {
5
- if (audio.paused) {
6
- audio.play();
7
- this.textContent = 'Pause';
8
- } else {
9
- audio.pause();
10
- this.textContent = 'Play';
11
- }
12
- });
13
 
14
- function playMusic(filename) {
15
- if (currentPlaying !== filename) {
16
- audio.src = `/music/${filename}`;
17
- currentPlaying = filename;
18
- }
19
- audio.play();
20
- document.getElementById('toggle-play').textContent = 'Pause';
21
- }
22
-
23
- function fetchMusicList(query = '') {
24
- document.getElementById('loading').style.display = 'block';
25
- fetch('/music-list')
26
  .then(response => response.json())
27
  .then(files => {
28
- const filteredFiles = files.filter(file => file.includes(query));
29
- const musicListEl = document.getElementById('music-list');
30
- musicListEl.innerHTML = '';
31
- filteredFiles.forEach(file => {
32
- const div = document.createElement('div');
33
- div.textContent = file;
34
- div.onclick = () => playMusic(file);
35
- musicListEl.appendChild(div);
 
36
  });
37
- document.getElementById('loading').style.display = 'none';
38
  });
39
  }
40
 
41
- // Search feature
42
- document.getElementById('search').addEventListener('input', function() {
43
- fetchMusicList(this.value);
44
- });
45
-
46
- // Initial fetch
47
- fetchMusicList();
 
1
+ window.onload = () => {
2
+ loadMusicList();
3
+ document.getElementById('search-bar').addEventListener('keyup', loadMusicList);
4
+ };
5
 
6
+ function loadMusicList() {
7
+ const searchQuery = document.getElementById('search-bar').value.toLowerCase();
 
 
 
 
 
 
 
8
 
9
+ fetch('/tracks')
 
 
 
 
 
 
 
 
 
 
 
10
  .then(response => response.json())
11
  .then(files => {
12
+ const musicList = document.getElementById('music-list');
13
+ musicList.innerHTML = '';
14
+ files.forEach(file => {
15
+ if (file.toLowerCase().includes(searchQuery)) {
16
+ const listItem = document.createElement('div');
17
+ listItem.innerHTML = file;
18
+ listItem.addEventListener('click', () => playMusic(file));
19
+ musicList.appendChild(listItem);
20
+ }
21
  });
 
22
  });
23
  }
24
 
25
+ function playMusic(fileName) {
26
+ const player = document.getElementById('audio-player');
27
+ player.src = `/music/${fileName}`;
28
+ player.play();
29
+ }