diff --git a/.DS_Store b/.DS_Store index 0d97aba..fe69b2b 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/checklinks.js b/checklinks.js index d7099a0..0a86015 100644 --- a/checklinks.js +++ b/checklinks.js @@ -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" ]; diff --git a/public/dashboard/dev.html b/public/dashboard/dev.html new file mode 100644 index 0000000..c5ce155 --- /dev/null +++ b/public/dashboard/dev.html @@ -0,0 +1,2237 @@ + + + + + + + + + + Nostr DM Dashboard + + + + + +
+ + +
+

๐Ÿ“ฌ Nostr DM Dashboard

+

Connect with your Nostr bunker to access your DMs

+ + + +
+ + +
+ + + + + +
+ How to connect: +
    +
  1. Get your bunker URI from your remote signer (like nsec.app, Amber, or nsec.btcforplebs.com)
  2. +
  3. Paste the bunker:// URI above
  4. +
  5. Click "Connect to Bunker"
  6. +
  7. Approve the connection request on your remote signer device
  8. +
  9. Your DMs will load automatically once approved
  10. +
+ +
+ ๐Ÿ’ก What's a bunker? +

A bunker is a remote signer that keeps your private keys secure. Your keys never leave the bunker - all signing happens remotely via encrypted Nostr messages.

+
+
+
+ +
+
+

๐Ÿ“ฌ DM Dashboard

+
+ + +
+
+ +
+ + +
+
+
๐Ÿ’ฌ
+

Select a conversation

+

Choose a contact from the sidebar to view messages

+
+ + +
+
+
+
+ + + + \ No newline at end of file diff --git a/public/dashboard/icon.png b/public/dashboard/icon.png new file mode 100644 index 0000000..7c8ee17 Binary files /dev/null and b/public/dashboard/icon.png differ diff --git a/public/dashboard/index.html b/public/dashboard/index.html new file mode 100644 index 0000000..5c2b457 --- /dev/null +++ b/public/dashboard/index.html @@ -0,0 +1,2650 @@ + + + + + + + Nostr DM Dashboard + + + + + + + + + + + +
+ + +
+

๐Ÿ“ฌ Nostr Dashboard

+

Connect with your Nostr bunker to access your DMs

+ + +
+ + +
+ + + + + +
+ How to connect: +
    +
  1. Get your bunker URI from your remote signer (like nsec.app, Amber, or nsec.btcforplebs.com)
  2. +
  3. Paste the bunker:// URI above
  4. +
  5. Click "Connect to Bunker"
  6. +
  7. Approve the connection request on your remote signer device
  8. +
  9. Your DMs will load automatically once approved
  10. +
+ +
+ ๐Ÿ’ก What's a bunker? +

A bunker is a remote signer that keeps your private keys secure. Your keys never leave the bunker - all signing happens remotely via encrypted Nostr messages.

+
+
+
+ +
+
+

Dashboard

+
+ + + + +
+
+ +
+ + +
+
+
๐Ÿ’ฌ
+

Select a conversation

+

Choose a contact from the sidebar to view messages

+
+ + +
+
+
+
+ + + + \ No newline at end of file diff --git a/public/dashboard/sw.js b/public/dashboard/sw.js new file mode 100644 index 0000000..ebc32a0 --- /dev/null +++ b/public/dashboard/sw.js @@ -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) + ); +}); \ No newline at end of file diff --git a/public/images/BTCforPlebsDarkMode.png b/public/images/BTCforPlebsDarkMode.png new file mode 100644 index 0000000..ee546a4 Binary files /dev/null and b/public/images/BTCforPlebsDarkMode.png differ diff --git a/public/index.html b/public/index.html index 2fd4174..d59f384 100644 --- a/public/index.html +++ b/public/index.html @@ -11,16 +11,17 @@ - + - + - - + + + @@ -43,8 +44,9 @@ @@ -63,7 +65,8 @@