CORS error fix

This commit is contained in:
2025-09-27 12:23:32 -04:00
parent 9e211b6b61
commit e1e04a4835
4 changed files with 51 additions and 64 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -1,14 +0,0 @@
function toggleFolder(folderId, buttonId) {
const folder = document.getElementById(folderId);
const button = document.getElementById(buttonId);
if (!folder || !button) return;
if (folder.style.display === "none" || folder.style.display === "") {
folder.style.display = "block";
button.innerHTML = button.innerHTML.replace("↓", "↑");
} else {
folder.style.display = "none";
button.innerHTML = button.innerHTML.replace("↑", "↓");
}
}

View File

@@ -19,8 +19,6 @@
<link rel="icon" href="/images/favicon.png" type="image/png">
<!-- scripts -->
<script src="/assets/js/home.js"></script>
<script src="/assets/js/scripts.js"></script>
<link rel="stylesheet" href="/assets/css/main.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" rel="stylesheet">
@@ -29,10 +27,10 @@
<!-- Bitcoin Price Banner -->
<div class="container">
<h1>Welcome to BTCforPlebs</h1>
<h3>A place to help ordinary people learn about Bitcoin</h3>
<img src="/images/btcforplebs_profile.gif" alt="Profile Picture" class="profile-picture">
<div class="container">
<h1>Welcome to BTCforPlebs</h1>
<h3>A place to help ordinary people learn about Bitcoin</h3>
<img src="/images/btcforplebs_profile.gif" alt="Profile Picture" class="profile-picture">
<!-- Learn Links (unchanged) -->
<a href="/learn-bitcoin" class="button prefetch">Learn About Bitcoin</a>
@@ -41,62 +39,41 @@
<a href="/bitcoin-and-the-bible" class="button prefetch">Bitcoin & The Bible</a>
<!-- Bitcoin Links -->
<button class="button" id="bitcoin-folder-btn" onclick="toggleFolder('folder2', 'bitcoin-folder-btn')">Use Bitcoin <span style="color: #F7931A;"></span></button>
<button class="button" id="bitcoin-folder-btn" onclick="toggleFolder('folder2', 'bitcoin-folder-btn')">Use Bitcoin <span style="color: #F7931A;">-</span></button>
<div class="links" id="folder2">
<a href="https://lightning.btcforplebs.com" target="_blank" class="prefetch">
Lightning <span class="status-emoji" data-url="https://lightning.btcforplebs.com"></span>
</a>
<a href="https://mempool.btcforplebs.com" target="_blank" class="prefetch">
Mempool <span class="status-emoji" data-url="https://mempool.btcforplebs.com"></span>
</a>
<a href="https://bitview.space/" target="_blank" class="prefetch">
Bitview.space ⚪️
</a>
<a href="https://lightning.btcforplebs.com" target="_blank" class="prefetch">Lightning <span class="status-emoji" data-url="https://lightning.btcforplebs.com"></span></a>
<a href="https://mempool.btcforplebs.com" target="_blank" class="prefetch">Mempool <span class="status-emoji" data-url="https://mempool.btcforplebs.com"></span></a>
<a href="https://bitview.space/" target="_blank" class="prefetch">Bitview.space ⚪️</a>
</div>
<!-- Nostr Links -->
<button class="button" id="nostr-folder-btn" onclick="toggleFolder('folder1', 'nostr-folder-btn')">Use Nostr <span style="color: #F7931A;"></span></button>
<button class="button" id="nostr-folder-btn" onclick="toggleFolder('folder1', 'nostr-folder-btn')">Use Nostr <span style="color: #F7931A;">-</span></button>
<div class="links" id="folder1">
<a href="https://nostrudel.btcforplebs.com" target="_blank" class="prefetch">
Nostrudel <span class="status-emoji" data-url="https://nostrudel.btcforplebs.com"></span>
</a>
<a href="https://nosotros.btcforplebs.com" target="_blank" class="prefetch">
Nosotros <span class="status-emoji" data-url="https://nosotros.btcforplebs.com"></span>
</a>
<a href="https://bloom.btcforplebs.com" target="_blank" class="prefetch">
Bloom <span class="status-emoji" data-url="https://bloom.btcforplebs.com"></span>
</a>
<a href="https://relay.btcforplebs.com" target="_blank" class="prefetch">
Relay <span class="status-emoji" data-url="https://relay.btcforplebs.com"></span>
</a>
<a href="https://nostrapps.com" target="_blank">
NostrApps.com ⚪️
</a>
<a href="https://nostrudel.btcforplebs.com" target="_blank" class="prefetch">Nostrudel <span class="status-emoji" data-url="https://nostrudel.btcforplebs.com"></span></a>
<a href="https://nosotros.btcforplebs.com" target="_blank" class="prefetch">Nosotros <span class="status-emoji" data-url="https://nosotros.btcforplebs.com"></span></a>
<a href="https://bloom.btcforplebs.com" target="_blank" class="prefetch">Bloom <span class="status-emoji" data-url="https://bloom.btcforplebs.com"></span></a>
<a href="https://relay.btcforplebs.com" target="_blank" class="prefetch">Relay <span class="status-emoji" data-url="https://relay.btcforplebs.com"></span></a>
<a href="https://nostrapps.com" target="_blank">NostrApps.com ⚪️</a>
</div>
<!-- Cashu Links -->
<button class="button" id="cashu-folder-btn" onclick="toggleFolder('folder3', 'cashu-folder-btn')">Use Cashu <span style="color: #F7931A;"></span></button>
<button class="button" id="cashu-folder-btn" onclick="toggleFolder('folder3', 'cashu-folder-btn')"><span style="color: #F7931A;">-</span>Use Cashu <span style="color: #F7931A;">-</span></button>
<div class="links" id="folder3">
<a href="https://cashu.btcforplebs.com" class="prefetch">
Cashu Web App <span class="status-emoji" data-url="https://cashu.btcforplebs.com"></span>
</a>
<a href="https://macadamia.cash" class="prefetch">
Macadamia (iOS) ⚪️
</a>
<a href="https://minibits.cash" class="prefetch">
Minibits (Android) ⚪️
</a>
<a href="https://cashu.btcforplebs.com" class="prefetch">Cashu Web App <span class="status-emoji" data-url="https://cashu.btcforplebs.com"></span></a>
<a href="https://macadamia.cash" class="prefetch">Macadamia (iOS) ⚪️</a>
<a href="https://minibits.cash" class="prefetch">Minibits (Android) ⚪️</a>
</div>
<a href="https://live.btcforplebs.com" class="button" class="prefetch">BTCforPlebs Live <span class="status-emoji" data-url="https://live.btcforplebs.com"></span></a>
<br></br>
<a href="https://live.btcforplebs.com" class="button" class="prefetch">BTCforPlebs Live <span class="status-emoji" data-url="https://live.btcforplebs.com"></span></a>
<br></br>
<small>🟢 = online | 🔴 = offline | ⚪️ = external site </small>
<br></br>
</div>
<small>🟢 = online | 🔴 = offline | ⚪️ = external site </small>
<br></br>
</div>
<script>
document.addEventListener('DOMContentLoaded', init);
// emoji status fetcher
document.addEventListener('DOMContentLoaded', init);
const apiEndpoint = "/api/link-status";
@@ -133,6 +110,24 @@
}
</script>
<script>
// Toggle folders
function toggleFolder(folderId, buttonId) {
const folder = document.getElementById(folderId);
const button = document.getElementById(buttonId);
if (!folder || !button) return;
if (folder.style.display === "none" || folder.style.display === "") {
folder.style.display = "block";
button.innerHTML = button.innerHTML.replace("-", "↓");
} else {
folder.style.display = "none";
button.innerHTML = button.innerHTML.replace("↓", "-");
}
}
</script>
<div id="footer"></div>
</body>

View File

@@ -46,9 +46,15 @@ app.get('/api/link-status', async (req, res) => {
}
});
// Serve static files
app.use(express.static(path.join(__dirname, 'public')));
// ... previous middleware ...
// Serve static files from /public, including dotfolders such as .well-known
app.use(
express.static(path.join(__dirname, 'public'), { dotfiles: 'allow' })
);
// Start the server
app.listen(PORT, () => {
console.log(`🚀 Server running at http://0.0.0.0:${PORT}`);
});