/ scripts / jobs.js
jobs.js
 1  const intBtns = document.getElementsByClassName('int-btn');
 2  const rejBtns = document.getElementsByClassName('rej-btn');
 3  
 4  function updateJob (btns, cls, countId) {
 5      for (let i = 0; i < btns.length; i++) {
 6          let btn = btns[i];
 7          btn.addEventListener("click", () => {
 8              let jobElem = btn.parentNode.parentNode;
 9              let statusBadge = jobElem.getElementsByClassName('job-status');
10              
11              if (cls === 'int-job') {
12                  if (jobElem.classList.contains('rej-job')) {
13                      jobElem.classList.remove('rej-job');
14                      let newCount = Number(rejCount.innerText) - 1;
15                      if (rejTab.classList.contains('bg-blue-500')) {
16                          tabCount.innerText = newCount + " of " + totalCount.innerText;
17                          jobElem.classList.add('hidden');
18                          if (newCount === 0) {
19                              noJobs.classList.remove('hidden');
20                          }
21                      }
22                      rejCount.innerText = newCount;
23                  }
24                  statusBadge[0].innerHTML = '<span class="text-green-700">INTERVIEW</span>';
25              } else {
26                  if (jobElem.classList.contains('int-job')) {
27                      jobElem.classList.remove('int-job');
28                      let newCount = Number(intCount.innerText) - 1;
29                      if (intTab.classList.contains('bg-blue-500')) {
30                          tabCount.innerText = newCount + " of " + totalCount.innerText;
31                          jobElem.classList.add('hidden');
32                          if (newCount === 0) {
33                              noJobs.classList.remove('hidden');
34                          }
35                      }
36                      intCount.innerText = newCount;
37                  }
38                  statusBadge[0].innerHTML = '<span class="text-red-700">REJECTED</span>';
39              };
40              jobElem.classList.add(cls);
41              let jobs = document.getElementsByClassName(cls);
42              countId.innerText = jobs.length;
43          });
44      };
45  }
46  
47  updateJob(intBtns, 'int-job', intCount);
48  updateJob(rejBtns, 'rej-job', rejCount);
49  
50  const trashBtns = document.getElementsByClassName('trash-btn');
51  
52  for (let i = 0; i < trashBtns.length; i++) {
53      let btn = trashBtns[i];
54      btn.addEventListener("click", () => {
55          let jobElem = btn.parentNode.parentNode;
56          jobElem.remove();
57          totalCount.innerText = allJobs.childElementCount;
58          intCount.innerText = intJobs.length;
59          rejCount.innerText = rejJobs.length;
60          tabCount.innerText = allJobs.childElementCount;
61      })
62  }