Jonell01 commited on
Commit
58dca56
·
verified ·
1 Parent(s): 129ba63

Update public/script.js

Browse files
Files changed (1) hide show
  1. public/script.js +21 -12
public/script.js CHANGED
@@ -1,12 +1,14 @@
1
  let menuVisible = false;
2
 
3
  document.addEventListener("DOMContentLoaded", () => {
 
4
  fetch('/jonellmagallanes')
5
  .then(response => response.json())
6
  .then(data => {
7
  const apiList = document.getElementById('api-list');
8
  const categories = {};
9
 
 
10
  data.forEach(api => {
11
  if (!categories[api.category]) {
12
  categories[api.category] = [];
@@ -14,21 +16,27 @@ document.addEventListener("DOMContentLoaded", () => {
14
  categories[api.category].push(api);
15
  });
16
 
 
17
  const sortedCategories = Object.keys(categories).sort();
18
 
19
  sortedCategories.forEach(category => {
 
20
  const categoryButton = document.createElement('button');
21
  categoryButton.className = "block w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 transition duration-300 ease-in-out transform hover:scale-105";
22
  categoryButton.textContent = category;
23
  categoryButton.onclick = () => toggleCategory(categoryButton);
24
  apiList.appendChild(categoryButton);
25
 
 
26
  const categoryDiv = document.createElement('div');
27
  categoryDiv.id = category;
28
  categoryDiv.className = 'hidden px-4 py-2';
29
 
30
  categories[category].forEach(api => {
 
31
  const fullUsage = `${api.usages}${api.query || ''}`;
 
 
32
  const apiDiv = document.createElement('div');
33
  apiDiv.innerHTML = `
34
  <strong>${api.name}</strong>
@@ -44,24 +52,31 @@ document.addEventListener("DOMContentLoaded", () => {
44
  });
45
  });
46
 
 
47
  fetch('/requests')
48
  .then(response => response.json())
49
  .then(data => {
50
  document.getElementById('request-count').textContent = `Request API: ${data.request}`;
51
  });
52
 
 
53
  setInterval(updateTime, 1000);
 
 
54
  document.getElementById('user-agent').textContent = `User Agent: ${navigator.userAgent}`;
55
 
 
56
  fetch('https://api.ipify.org?format=json')
57
  .then(response => response.json())
58
  .then(data => {
59
  document.getElementById('ip').textContent = `IP Address: ${data.ip}`;
60
  });
61
 
 
62
  document.getElementById('device-info').classList.add('fade-in');
63
  });
64
 
 
65
  function toggleCategory(button) {
66
  const allButtons = document.querySelectorAll('#api-list > button');
67
  allButtons.forEach(btn => btn.classList.remove('highlighted'));
@@ -72,30 +87,24 @@ function toggleCategory(button) {
72
  categoryDiv.classList.add('pop-up');
73
  }
74
 
 
75
  function tryApi(fullUsage) {
76
  window.location.href = fullUsage;
77
  }
78
 
 
79
  function toggleMenu() {
80
  const menu = document.getElementById('menu');
81
- const toggleButton = document.getElementById('toggle-button');
82
 
83
  if (menuVisible) {
 
84
  menu.classList.remove('slide-in');
85
  menu.classList.add('slide-out');
86
- toggleButton.classList.remove('toggle-icon-vertical');
87
- toggleButton.classList.add('toggle-icon-horizontal');
88
- setTimeout(() => {
89
- menu.classList.add('hidden');
90
- toggleButton.style.zIndex = 1001;
91
- }, 500);
92
  } else {
93
- menu.classList.remove('hidden');
94
- menu.classList.remove('slide-out');
95
  menu.classList.add('slide-in');
96
- toggleButton.classList.remove('toggle-icon-horizontal');
97
- toggleButton.classList.add('toggle-icon-vertical');
98
- toggleButton.style.zIndex = 1001;
99
  }
100
 
101
  menuVisible = !menuVisible;
 
1
  let menuVisible = false;
2
 
3
  document.addEventListener("DOMContentLoaded", () => {
4
+
5
  fetch('/jonellmagallanes')
6
  .then(response => response.json())
7
  .then(data => {
8
  const apiList = document.getElementById('api-list');
9
  const categories = {};
10
 
11
+
12
  data.forEach(api => {
13
  if (!categories[api.category]) {
14
  categories[api.category] = [];
 
16
  categories[api.category].push(api);
17
  });
18
 
19
+
20
  const sortedCategories = Object.keys(categories).sort();
21
 
22
  sortedCategories.forEach(category => {
23
+
24
  const categoryButton = document.createElement('button');
25
  categoryButton.className = "block w-full text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 transition duration-300 ease-in-out transform hover:scale-105";
26
  categoryButton.textContent = category;
27
  categoryButton.onclick = () => toggleCategory(categoryButton);
28
  apiList.appendChild(categoryButton);
29
 
30
+
31
  const categoryDiv = document.createElement('div');
32
  categoryDiv.id = category;
33
  categoryDiv.className = 'hidden px-4 py-2';
34
 
35
  categories[category].forEach(api => {
36
+
37
  const fullUsage = `${api.usages}${api.query || ''}`;
38
+
39
+
40
  const apiDiv = document.createElement('div');
41
  apiDiv.innerHTML = `
42
  <strong>${api.name}</strong>
 
52
  });
53
  });
54
 
55
+
56
  fetch('/requests')
57
  .then(response => response.json())
58
  .then(data => {
59
  document.getElementById('request-count').textContent = `Request API: ${data.request}`;
60
  });
61
 
62
+
63
  setInterval(updateTime, 1000);
64
+
65
+
66
  document.getElementById('user-agent').textContent = `User Agent: ${navigator.userAgent}`;
67
 
68
+
69
  fetch('https://api.ipify.org?format=json')
70
  .then(response => response.json())
71
  .then(data => {
72
  document.getElementById('ip').textContent = `IP Address: ${data.ip}`;
73
  });
74
 
75
+
76
  document.getElementById('device-info').classList.add('fade-in');
77
  });
78
 
79
+
80
  function toggleCategory(button) {
81
  const allButtons = document.querySelectorAll('#api-list > button');
82
  allButtons.forEach(btn => btn.classList.remove('highlighted'));
 
87
  categoryDiv.classList.add('pop-up');
88
  }
89
 
90
+
91
  function tryApi(fullUsage) {
92
  window.location.href = fullUsage;
93
  }
94
 
95
+
96
  function toggleMenu() {
97
  const menu = document.getElementById('menu');
 
98
 
99
  if (menuVisible) {
100
+
101
  menu.classList.remove('slide-in');
102
  menu.classList.add('slide-out');
103
+ setTimeout(() => menu.classList.add('hidden'), 400);
 
 
 
 
 
104
  } else {
105
+
106
+ menu.classList.remove('hidden', 'slide-out');
107
  menu.classList.add('slide-in');
 
 
 
108
  }
109
 
110
  menuVisible = !menuVisible;