nip49-decrypt - Checklinks - icons

This commit is contained in:
Logen
2025-10-21 15:43:29 -04:00
parent 56bc8e2b92
commit 0714fcfb7a
11 changed files with 4944 additions and 11 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@@ -15,9 +15,9 @@ const links = [
"https://mint.btcforplebs.com",
"https://cashu.btcforplebs.com",
"https://live.btcforplebs.com",
"https://explorer.btcforplebs.com",
"https://nsec.btcforplebs.com",
"https://flotilla.btcforplebs.com",
"https://nutstash.btcforplebs.com",
"https://jumble.btcforplebs.com"
];

2237
public/dashboard/dev.html Normal file

File diff suppressed because it is too large Load Diff

BIN
public/dashboard/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

2650
public/dashboard/index.html Normal file

File diff suppressed because it is too large Load Diff

43
public/dashboard/sw.js Normal file
View File

@@ -0,0 +1,43 @@
// sw.js - Save this file in the same directory as your HTML
const CACHE_NAME = 'nostr-dm-v1';
const urlsToCache = [
'/',
'/index.html'
];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(urlsToCache))
);
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request)
.then(response => response || fetch(event.request))
);
});
self.addEventListener('notificationclick', event => {
event.notification.close();
event.waitUntil(
clients.openWindow('/')
);
});
self.addEventListener('push', event => {
const data = event.data ? event.data.json() : {};
const title = data.title || 'New Nostr DM';
const options = {
body: data.body || 'You have a new message',
icon: 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'192\' height=\'192\' viewBox=\'0 0 192 192\'%3E%3Crect width=\'192\' height=\'192\' fill=\'%23fdad01\' rx=\'24\'/%3E%3Ctext x=\'50%25\' y=\'50%25\' font-size=\'90\' fill=\'%23000\' text-anchor=\'middle\' dominant-baseline=\'middle\'%3E📬%3C/text%3E%3C/svg%3E',
badge: 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'96\' height=\'96\' viewBox=\'0 0 96 96\'%3E%3Ccircle cx=\'48\' cy=\'48\' r=\'48\' fill=\'%23fdad01\'/%3E%3Ctext x=\'50%25\' y=\'50%25\' font-size=\'50\' text-anchor=\'middle\' dominant-baseline=\'middle\'%3E📬%3C/text%3E%3C/svg%3E',
vibrate: [200, 100, 200],
tag: 'nostr-dm'
};
event.waitUntil(
self.registration.showNotification(title, options)
);
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -11,16 +11,17 @@
<!-- Open Graph Meta Tags -->
<meta property="og:title" content="BTCforPlebs">
<meta property="og:description" content="A place to help ordinary people learn about Bitcoin">
<meta property="og:image" content="/images/thumb.jpeg">
<meta property="og:image" content="images/thumb.jpeg">
<meta property="og:url" content="https://btcforplebs.com">
<meta name="twitter:card" content="summary_large_image">
<!-- favicon -->
<link rel="icon" href="/images/favicon.png" type="image/png">
<link rel="icon" href="images/favicon.png" type="image/png">
<!-- scripts -->
<script src="/assets/js/scripts.js"></script>
<link rel="stylesheet" href="/assets/css/main.css">
<script src="assets/js/scripts.js"></script>
<link rel="stylesheet" href="assets/css/main.css">
<link rel="apple-touch-icon" href="images/apple-touch-icon.png">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" rel="stylesheet">
</head>
<body>
@@ -43,8 +44,9 @@
<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://explorer.btcforplebs.com" target="_blank" class="prefetch">Explorer <span class="status-emoji" data-url="https://explorer.btcforplebs.com"></span></a>
<a href="https://bitview.space/" target="_blank" class="prefetch">Bitview.space ⚪️ </a>
<a href="https://bitfeed.live" class="prefetch">Bitfeed.Live ⚪️ </a>
<a href="https://hodl.camp" class="prefetch">Hodl.Camp ⚪️ </a>
<a href="https://bitview.space" class="prefetch">Bitview.Space ⚪️ </a>
</div>
<!-- Nostr Links -->
@@ -63,7 +65,8 @@
<!-- Cashu Links -->
<button class="button" id="cashu-folder-btn" onclick="toggleFolder('folder3', 'cashu-folder-btn')">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://cashu.btcforplebs.com" class="prefetch">Cashu Wallet Web App <span class="status-emoji" data-url="https://cashu.btcforplebs.com"></span></a>
<a href="https://nutstash.btcforplebs.com" class="prefetch">Nutstash Wallet Web App <span class="status-emoji" data-url="https://nutstash.btcforplebs.com"></span></a>
<a href="/mint" class="prefetch">Cashu Mint <span class="status-emoji" data-url="https://mint.btcforplebs.com"></span></a>
<a href="https://macadamia.cash" class="prefetch">Macadamia (iOS) ⚪️ </a>
<a href="https://minibits.cash" class="prefetch">Minibits (Android) ⚪️ </a>

View File

@@ -0,0 +1 @@
pong

View File

@@ -1 +0,0 @@
pong

View File

@@ -560,7 +560,7 @@
<article class="card action-card">
<h2>Decrypt your <span class="mono">ncryptsec</span></h2>
<p>No telemetry, no calls home, no external dependencies. Take your device offline, paste your encrypted key and password to extract the 32-byte secret HEX and its bech32 <code class="mono">nsec</code>.</p>
<div id="offline-message" class="offline-message">YOU DEVICE IS CONNECTED TO THE INTERNET. This window will activate once no internet connection is detected.</div>
<div id="offline-message" class="offline-message">YOUR DEVICE IS CONNECTED TO THE INTERNET. This window will activate once no internet connection is detected.</div>
<div id="decrypt-form" style="display:none">
<div>
<label for="ncryptsec">ncryptsec (bech32)</label>
@@ -1344,7 +1344,7 @@ exports.bech32m = getLibraryFromEncoding('bech32m');
const exportBtn = document.getElementById('exportBtn');
const resultEl = document.getElementById('result');
const decryptInteractables = [ncryptInput, passwordInput, decryptBtn, clearBtn, exportBtn].filter(Boolean);
const CONNECTIVITY_PING_PATH = './connectivity-ping.txt';
const CONNECTIVITY_PING_PATH = 'connection-test.txt';
const CONNECTIVITY_PROBE_CACHE_MS = 2500;
function setStatus(success, message) {