chore: 💨
28
README.md
@@ -1,7 +1,5 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<picture>
|
<picture>
|
||||||
<source media="(prefers-color-scheme: dark)" srcset="./resources/logo-dark.svg">
|
|
||||||
<source media="(prefers-color-scheme: light)" srcset="./resources/logo-light.svg">
|
|
||||||
<img src="./resources/logo-light.svg" alt="Jumble Logo" width="400" />
|
<img src="./resources/logo-light.svg" alt="Jumble Logo" width="400" />
|
||||||
</picture>
|
</picture>
|
||||||
<p>logo designed by <a href="http://wolfertdan.com/">Daniel David</a></p>
|
<p>logo designed by <a href="http://wolfertdan.com/">Daniel David</a></p>
|
||||||
@@ -9,23 +7,9 @@
|
|||||||
|
|
||||||
# Jumble
|
# Jumble
|
||||||
|
|
||||||
A user-friendly Nostr client focused on relay feed browsing and relay discovery
|
A user-friendly Nostr client for exploring relay feeds
|
||||||
|
|
||||||
## Features
|
Experience Jumble at [https://jumble.social](https://jumble.social)
|
||||||
|
|
||||||
- **Relay Feeds:** Explore content directly through relays without following specific users
|
|
||||||
- **Relay-Friendly Design:** Minimized and simplified requests ensure efficient communication with relays
|
|
||||||
- **Relay Sets:** Easily manage and switch between relay sets
|
|
||||||
- **Clean Interface:** Enjoy a minimalist design and intuitive interactions
|
|
||||||
|
|
||||||
## Screenshots
|
|
||||||
|
|
||||||
<img src="./screenshots/01.png" alt="Jumble Screenshot 01" width="650" />
|
|
||||||
<div>
|
|
||||||
<img src="./screenshots/02.png" alt="Jumble Screenshot 02" width="200" />
|
|
||||||
<img src="./screenshots/03.png" alt="Jumble Screenshot 03" width="200" />
|
|
||||||
<img src="./screenshots/04.png" alt="Jumble Screenshot 04" width="200" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Run Locally
|
## Run Locally
|
||||||
|
|
||||||
@@ -68,11 +52,9 @@ After finishing, access: http://localhost:8089
|
|||||||
|
|
||||||
If you like this project, you can buy me a coffee :)
|
If you like this project, you can buy me a coffee :)
|
||||||
|
|
||||||
lightning: ⚡️ codytseng@getalby.com ⚡️
|
- **Lightning:** ⚡️ codytseng@getalby.com ⚡️
|
||||||
|
- **Bitcoin:** bc1qwp2uqjd2dy32qfe39kehnlgx3hyey0h502fvht
|
||||||
bitcoin: bc1qx8kvutghdhejx7vuvatmvw2ghypdungu0qm7ds
|
- **Geyser:** https://geyser.fund/project/jumble
|
||||||
|
|
||||||
geyser: https://geyser.fund/project/jumble
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<title>Jumble</title>
|
<title>Jumble</title>
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="A user-friendly Nostr client focused on relay feed browsing and relay discovery"
|
content="A user-friendly Nostr client for exploring relay feeds"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
name="keywords"
|
name="keywords"
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<meta property="og:title" content="Jumble" />
|
<meta property="og:title" content="Jumble" />
|
||||||
<meta
|
<meta
|
||||||
property="og:description"
|
property="og:description"
|
||||||
content="A user-friendly Nostr client focused on relay feed browsing and relay discovery"
|
content="A user-friendly Nostr client for exploring relay feeds"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta
|
||||||
property="og:image"
|
property="og:image"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "jumble",
|
"name": "jumble",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"description": "A user-friendly Nostr client focused on relay feed browsing and relay discovery",
|
"description": "A user-friendly Nostr client for exploring relay feeds",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"author": "codytseng",
|
"author": "codytseng",
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 669 B |
|
Before Width: | Height: | Size: 2.1 KiB |
9
public/pwa-monochrome.svg
Normal file
|
After Width: | Height: | Size: 47 KiB |
1
resources/icon-rounded.svg
Normal file
|
After Width: | Height: | Size: 47 KiB |
10
resources/icon.svg
Normal file
|
After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 2.7 MiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 3.8 MiB |
1
src/assets/favicon.svg
Normal file
|
After Width: | Height: | Size: 47 KiB |
@@ -13,7 +13,7 @@ export default function AboutInfoDialog({ children }: { children: React.ReactNod
|
|||||||
<>
|
<>
|
||||||
<div className="text-xl font-semibold">Jumble</div>
|
<div className="text-xl font-semibold">Jumble</div>
|
||||||
<div className="text-muted-foreground">
|
<div className="text-muted-foreground">
|
||||||
A user-friendly Nostr client focused on relay feed browsing and relay discovery
|
A user-friendly Nostr client for exploring relay feeds
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
Made by <Username userId={CODY_PUBKEY} className="inline-block text-primary" showAt />
|
Made by <Username userId={CODY_PUBKEY} className="inline-block text-primary" showAt />
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import QRCodeStyling from 'qr-code-styling'
|
import QRCodeStyling from 'qr-code-styling'
|
||||||
import { useEffect, useRef } from 'react'
|
import { useEffect, useRef } from 'react'
|
||||||
import iconSvg from '../../../public/favicon.svg'
|
import iconSvg from '../../assets/favicon.svg'
|
||||||
|
|
||||||
export default function QrCode({ value, size = 180 }: { value: string; size?: number }) {
|
export default function QrCode({ value, size = 180 }: { value: string; size?: number }) {
|
||||||
const ref = useRef<HTMLDivElement>(null)
|
const ref = useRef<HTMLDivElement>(null)
|
||||||
|
|||||||
@@ -51,6 +51,12 @@ export default defineConfig({
|
|||||||
name: 'Jumble',
|
name: 'Jumble',
|
||||||
short_name: 'Jumble',
|
short_name: 'Jumble',
|
||||||
icons: [
|
icons: [
|
||||||
|
{
|
||||||
|
src: '/pwa-512x512.png',
|
||||||
|
sizes: '512x512',
|
||||||
|
type: 'image/png',
|
||||||
|
purpose: 'any'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
src: '/pwa-192x192.png',
|
src: '/pwa-192x192.png',
|
||||||
sizes: '192x192',
|
sizes: '192x192',
|
||||||
@@ -61,27 +67,26 @@ export default defineConfig({
|
|||||||
src: '/pwa-512x512.png',
|
src: '/pwa-512x512.png',
|
||||||
sizes: '512x512',
|
sizes: '512x512',
|
||||||
type: 'image/png',
|
type: 'image/png',
|
||||||
purpose: 'any'
|
purpose: 'maskable'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: '/pwa-maskable-192x192.png',
|
src: '/pwa-192x192.png',
|
||||||
sizes: '192x192',
|
sizes: '192x192',
|
||||||
type: 'image/png',
|
type: 'image/png',
|
||||||
purpose: 'maskable'
|
purpose: 'maskable'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: '/pwa-maskable-512x512.png',
|
src: '/pwa-monochrome.svg',
|
||||||
sizes: '512x512',
|
sizes: '512x512',
|
||||||
type: 'image/png',
|
type: 'image/svg+xml',
|
||||||
purpose: 'maskable'
|
purpose: 'monochrome'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
start_url: '/',
|
start_url: '/',
|
||||||
display: 'standalone',
|
display: 'standalone',
|
||||||
background_color: '#FFFFFF',
|
background_color: '#FFFFFF',
|
||||||
theme_color: '#FFFFFF',
|
theme_color: '#FFFFFF',
|
||||||
description:
|
description: packageJson.description
|
||||||
'A user-friendly Nostr client focused on relay feed browsing and relay discovery'
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
|||||||