reaper-arcade-hub 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/css/styles.css CHANGED
@@ -937,12 +937,11 @@ body {
937
937
  .game-player-modal {
938
938
  display: none;
939
939
  position: fixed;
940
- top: 0;
941
- left: 0;
940
+ inset: 0;
942
941
  width: 100vw;
943
942
  height: 100vh;
944
943
  background: #000;
945
- z-index: 1000;
944
+ z-index: 99999;
946
945
  flex-direction: column;
947
946
  }
948
947
 
package/index.html CHANGED
@@ -228,7 +228,6 @@
228
228
 
229
229
  <div class="filter-pills">
230
230
  <button class="filter-btn active" data-cat="all">ALL</button>
231
- <button class="filter-btn" data-cat="top" style="color: #00ffaa; border-color: rgba(0, 255, 170, 0.4); background: rgba(0, 255, 170, 0.1);">🔥 TOP PLAYS</button>
232
231
  <button class="filter-btn" data-cat="featured">FEATURED</button>
233
232
  <button class="filter-btn" data-cat="favorites">FAVORITES</button>
234
233
  <button class="filter-btn" data-cat="fnf">FNF (50+)</button>
package/js/app.js CHANGED
@@ -1636,22 +1636,15 @@ class ReaperHubApp {
1636
1636
  return;
1637
1637
  }
1638
1638
 
1639
- const plays = this.gamePlays || JSON.parse(localStorage.getItem('reaper_game_plays') || '{}');
1640
-
1641
1639
  grid.innerHTML = this.filteredGames.map(game => {
1642
1640
  const isFav = this.favorites.map(String).includes(String(game.id));
1643
1641
  const coverUrl = game.cover || `https://placehold.co/400x250/041022/ffffff?text=${encodeURIComponent(game.name)}`;
1644
- const playCount = this.getGamePlayCount(game.id, plays);
1645
- const playCountStr = this.formatPlayCount(playCount);
1646
1642
 
1647
1643
  return `
1648
1644
  <div class="game-card" onclick="app.launchGame('${game.id}')">
1649
1645
  <div class="game-thumb-container">
1650
1646
  <img class="game-thumb" src="${coverUrl}" alt="${game.name}" loading="lazy" onerror="this.onerror=null; this.src='https://placehold.co/400x250/041022/ffffff?text=${encodeURIComponent(game.name)}';" />
1651
1647
  ${game.featured ? '<span class="game-badge-featured">FEATURED</span>' : ''}
1652
- <span class="game-badge-plays" style="position: absolute; bottom: 8px; left: 8px; background: rgba(2, 8, 20, 0.85); backdrop-filter: blur(4px); border: 1px solid rgba(0, 210, 255, 0.4); color: #00d2ff; padding: 2px 7px; border-radius: 12px; font-size: 0.68rem; font-weight: 800; font-family: var(--font-mono); display: flex; align-items: center; gap: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.6);">
1653
- 🔥 ${playCountStr} Plays
1654
- </span>
1655
1648
  </div>
1656
1649
  <div class="game-info">
1657
1650
  <div class="game-title" title="${game.name}">${game.name}</div>
@@ -1661,7 +1654,7 @@ class ReaperHubApp {
1661
1654
  ${isFav ? '★ SAVED' : '☆ FAV'}
1662
1655
  </button>
1663
1656
  </div>
1664
- <button class="btn-card-play">PLAY GAME</button>
1657
+ <button class="btn-card-play" onclick="event.stopPropagation(); app.launchGame('${game.id}')">PLAY GAME</button>
1665
1658
  </div>
1666
1659
  </div>
1667
1660
  `;
@@ -1900,11 +1893,6 @@ class ReaperHubApp {
1900
1893
  this.currentGame = game;
1901
1894
  this.recordRecentlyPlayed(game);
1902
1895
 
1903
- // Increment play counter in Firebase & local cache
1904
- if (window.reaperFirebase) {
1905
- window.reaperFirebase.incrementGamePlays(game.id, game.name);
1906
- }
1907
-
1908
1896
  if (window.reaperSFX) window.reaperSFX.playLaunch();
1909
1897
  if (window.reaperStarfield) {
1910
1898
  window.reaperStarfield.setWarpSpeed(true);
@@ -1917,8 +1905,8 @@ class ReaperHubApp {
1917
1905
  const statusBadge = document.getElementById('player-status-badge');
1918
1906
 
1919
1907
  if (modal && iframe) {
1920
- nameEl.textContent = game.name;
1921
- if (statusBadge) statusBadge.textContent = 'Loading...';
1908
+ if (nameEl) nameEl.textContent = game.name;
1909
+ if (statusBadge) statusBadge.textContent = 'CONNECTING...';
1922
1910
 
1923
1911
  modal.style.display = 'flex';
1924
1912
  document.body.style.overflow = 'hidden';
@@ -1930,6 +1918,7 @@ class ReaperHubApp {
1930
1918
 
1931
1919
  const filename = game.url.split('/').pop();
1932
1920
  iframe.removeAttribute('srcdoc');
1921
+ iframe.src = `https://fastly.jsdelivr.net/gh/gn-math/html@main/${filename}`;
1933
1922
 
1934
1923
  try {
1935
1924
  const res = await fetch(`https://raw.githubusercontent.com/gn-math/html/main/${filename}`);
@@ -1945,16 +1934,7 @@ class ReaperHubApp {
1945
1934
  console.warn("Direct fetch fallback:", err);
1946
1935
  }
1947
1936
 
1948
- // High-speed fallback directly via proxy
1949
- try {
1950
- const fallbackRes = await fetch(`https://raw.githubusercontent.com/gn-math/html/main/${filename}`);
1951
- const fallbackHtml = await fallbackRes.text();
1952
- iframe.srcdoc = this.cleanAndOptimizeGameHTML(fallbackHtml);
1953
- if (statusBadge) statusBadge.textContent = 'ONLINE';
1954
- } catch(e) {
1955
- iframe.src = `https://fastly.jsdelivr.net/gh/gn-math/html@main/${filename}`;
1956
- if (statusBadge) statusBadge.textContent = 'ONLINE';
1957
- }
1937
+ if (statusBadge) statusBadge.textContent = 'ONLINE (CDN)';
1958
1938
  }
1959
1939
  }
1960
1940
 
@@ -937,12 +937,11 @@ body {
937
937
  .game-player-modal {
938
938
  display: none;
939
939
  position: fixed;
940
- top: 0;
941
- left: 0;
940
+ inset: 0;
942
941
  width: 100vw;
943
942
  height: 100vh;
944
943
  background: #000;
945
- z-index: 1000;
944
+ z-index: 99999;
946
945
  flex-direction: column;
947
946
  }
948
947
 
package/main/index.html CHANGED
@@ -228,7 +228,6 @@
228
228
 
229
229
  <div class="filter-pills">
230
230
  <button class="filter-btn active" data-cat="all">ALL</button>
231
- <button class="filter-btn" data-cat="top" style="color: #00ffaa; border-color: rgba(0, 255, 170, 0.4); background: rgba(0, 255, 170, 0.1);">🔥 TOP PLAYS</button>
232
231
  <button class="filter-btn" data-cat="featured">FEATURED</button>
233
232
  <button class="filter-btn" data-cat="favorites">FAVORITES</button>
234
233
  <button class="filter-btn" data-cat="fnf">FNF (50+)</button>
package/main/js/app.js CHANGED
@@ -1636,22 +1636,15 @@ class ReaperHubApp {
1636
1636
  return;
1637
1637
  }
1638
1638
 
1639
- const plays = this.gamePlays || JSON.parse(localStorage.getItem('reaper_game_plays') || '{}');
1640
-
1641
1639
  grid.innerHTML = this.filteredGames.map(game => {
1642
1640
  const isFav = this.favorites.map(String).includes(String(game.id));
1643
1641
  const coverUrl = game.cover || `https://placehold.co/400x250/041022/ffffff?text=${encodeURIComponent(game.name)}`;
1644
- const playCount = this.getGamePlayCount(game.id, plays);
1645
- const playCountStr = this.formatPlayCount(playCount);
1646
1642
 
1647
1643
  return `
1648
1644
  <div class="game-card" onclick="app.launchGame('${game.id}')">
1649
1645
  <div class="game-thumb-container">
1650
1646
  <img class="game-thumb" src="${coverUrl}" alt="${game.name}" loading="lazy" onerror="this.onerror=null; this.src='https://placehold.co/400x250/041022/ffffff?text=${encodeURIComponent(game.name)}';" />
1651
1647
  ${game.featured ? '<span class="game-badge-featured">FEATURED</span>' : ''}
1652
- <span class="game-badge-plays" style="position: absolute; bottom: 8px; left: 8px; background: rgba(2, 8, 20, 0.85); backdrop-filter: blur(4px); border: 1px solid rgba(0, 210, 255, 0.4); color: #00d2ff; padding: 2px 7px; border-radius: 12px; font-size: 0.68rem; font-weight: 800; font-family: var(--font-mono); display: flex; align-items: center; gap: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.6);">
1653
- 🔥 ${playCountStr} Plays
1654
- </span>
1655
1648
  </div>
1656
1649
  <div class="game-info">
1657
1650
  <div class="game-title" title="${game.name}">${game.name}</div>
@@ -1661,7 +1654,7 @@ class ReaperHubApp {
1661
1654
  ${isFav ? '★ SAVED' : '☆ FAV'}
1662
1655
  </button>
1663
1656
  </div>
1664
- <button class="btn-card-play">PLAY GAME</button>
1657
+ <button class="btn-card-play" onclick="event.stopPropagation(); app.launchGame('${game.id}')">PLAY GAME</button>
1665
1658
  </div>
1666
1659
  </div>
1667
1660
  `;
@@ -1900,11 +1893,6 @@ class ReaperHubApp {
1900
1893
  this.currentGame = game;
1901
1894
  this.recordRecentlyPlayed(game);
1902
1895
 
1903
- // Increment play counter in Firebase & local cache
1904
- if (window.reaperFirebase) {
1905
- window.reaperFirebase.incrementGamePlays(game.id, game.name);
1906
- }
1907
-
1908
1896
  if (window.reaperSFX) window.reaperSFX.playLaunch();
1909
1897
  if (window.reaperStarfield) {
1910
1898
  window.reaperStarfield.setWarpSpeed(true);
@@ -1917,8 +1905,8 @@ class ReaperHubApp {
1917
1905
  const statusBadge = document.getElementById('player-status-badge');
1918
1906
 
1919
1907
  if (modal && iframe) {
1920
- nameEl.textContent = game.name;
1921
- if (statusBadge) statusBadge.textContent = 'Loading...';
1908
+ if (nameEl) nameEl.textContent = game.name;
1909
+ if (statusBadge) statusBadge.textContent = 'CONNECTING...';
1922
1910
 
1923
1911
  modal.style.display = 'flex';
1924
1912
  document.body.style.overflow = 'hidden';
@@ -1930,6 +1918,7 @@ class ReaperHubApp {
1930
1918
 
1931
1919
  const filename = game.url.split('/').pop();
1932
1920
  iframe.removeAttribute('srcdoc');
1921
+ iframe.src = `https://fastly.jsdelivr.net/gh/gn-math/html@main/${filename}`;
1933
1922
 
1934
1923
  try {
1935
1924
  const res = await fetch(`https://raw.githubusercontent.com/gn-math/html/main/${filename}`);
@@ -1945,16 +1934,7 @@ class ReaperHubApp {
1945
1934
  console.warn("Direct fetch fallback:", err);
1946
1935
  }
1947
1936
 
1948
- // High-speed fallback directly via proxy
1949
- try {
1950
- const fallbackRes = await fetch(`https://raw.githubusercontent.com/gn-math/html/main/${filename}`);
1951
- const fallbackHtml = await fallbackRes.text();
1952
- iframe.srcdoc = this.cleanAndOptimizeGameHTML(fallbackHtml);
1953
- if (statusBadge) statusBadge.textContent = 'ONLINE';
1954
- } catch(e) {
1955
- iframe.src = `https://fastly.jsdelivr.net/gh/gn-math/html@main/${filename}`;
1956
- if (statusBadge) statusBadge.textContent = 'ONLINE';
1957
- }
1937
+ if (statusBadge) statusBadge.textContent = 'ONLINE (CDN)';
1958
1938
  }
1959
1939
  }
1960
1940
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reaper-arcade-hub",
3
- "version": "1.1.3",
4
- "description": "Reaper Hub - 788 High-Speed HTML5 Games, Sleek Cyber Orbit Loader, Robust Game Launcher & Recently Played Fix, AI Name Privacy Filter, Potato PC Performance Mode, Top Plays, Realtime Chat, Private DMs & Playtime Leaderboard",
3
+ "version": "1.1.4",
4
+ "description": "Reaper Hub - 788 High-Speed HTML5 Games, Clean Game Player, Fixed Recently Played Launcher, Sleek Cyber Orbit Loader, AI Name Privacy Filter, Potato PC Performance Mode, Realtime Chat, Private DMs & Playtime Leaderboard",
5
5
  "main": "main/index.html",
6
6
  "unpkg": "main/index.html",
7
7
  "jsdelivr": "main/index.html",
@@ -16,8 +16,7 @@
16
16
  "arcade",
17
17
  "performance",
18
18
  "leaderboard",
19
- "dms",
20
- "topplays"
19
+ "dms"
21
20
  ],
22
21
  "author": "asfsaf",
23
22
  "license": "MIT",
@@ -937,12 +937,11 @@ body {
937
937
  .game-player-modal {
938
938
  display: none;
939
939
  position: fixed;
940
- top: 0;
941
- left: 0;
940
+ inset: 0;
942
941
  width: 100vw;
943
942
  height: 100vh;
944
943
  background: #000;
945
- z-index: 1000;
944
+ z-index: 99999;
946
945
  flex-direction: column;
947
946
  }
948
947