-
+ onClick={() => onSelectChange(!select)}
+ >
+
+
+
+ {/* Use the dynamic icon component instead of hardcoded FolderClosed */}
+
+
+
{relaySet.name}
-
{relaySet.name}
-
{t('n relays', { n: relaySet.relayUrls.length })}
diff --git a/src/constants.ts b/src/constants.ts
index 3434311..53a1b77 100644
--- a/src/constants.ts
+++ b/src/constants.ts
@@ -4,7 +4,7 @@ import { TRelaySet } from './types'
export const JUMBLE_API_BASE_URL = 'https://api.jumble.social'
export const RECOMMENDED_BLOSSOM_SERVERS = [
- 'https://blossom.band/',
+ 'https://basspistol.org',
'https://blossom.primal.net/',
'https://nostr.media/'
]
@@ -78,9 +78,9 @@ export const BIG_RELAY_URLS = [
'wss://offchain.pub/'
]
-export const SEARCHABLE_RELAY_URLS = ['wss://search.nos.today/', 'wss://relay.nostr.band/']
+export const SEARCHABLE_RELAY_URLS = ['wss://basspistol.org/','wss://pyramid.fiatjaf.com/','wss://spatia-arcana.com/']
-export const TRENDING_NOTES_RELAY_URLS = ['wss://trending.relays.land/']
+export const TRENDING_NOTES_RELAY_URLS = ['wss://basspistol.org/uppermost']
export const GROUP_METADATA_EVENT_KIND = 39000
@@ -101,7 +101,8 @@ export const ExtendedKind = {
RELAY_REVIEW: 31987,
GROUP_METADATA: 39000,
ADDRESSABLE_NORMAL_VIDEO: 34235,
- ADDRESSABLE_SHORT_VIDEO: 34236
+ ADDRESSABLE_SHORT_VIDEO: 34236,
+ MUSIC_TRACK: 36787
}
export const ALLOWED_FILTER_KINDS = [
@@ -118,7 +119,8 @@ export const ALLOWED_FILTER_KINDS = [
kinds.Highlights,
kinds.LongFormArticle,
ExtendedKind.ADDRESSABLE_NORMAL_VIDEO,
- ExtendedKind.ADDRESSABLE_SHORT_VIDEO
+ ExtendedKind.ADDRESSABLE_SHORT_VIDEO,
+ ExtendedKind.MUSIC_TRACK
]
export const SUPPORTED_KINDS = [
@@ -202,16 +204,16 @@ export const PRIMARY_COLORS = {
DEFAULT: {
name: 'Default',
light: {
- primary: '259 43% 56%',
- 'primary-hover': '259 43% 65%',
+ primary: '30 100% 50%',
+ 'primary-hover': '30 100% 60%',
'primary-foreground': '0 0% 98%',
- ring: '259 43% 56%'
+ ring: '30 100% 50%'
},
dark: {
- primary: '259 43% 56%',
- 'primary-hover': '259 43% 65%',
+ primary: '30 100% 50%',
+ 'primary-hover': '30 100% 60%',
'primary-foreground': '240 5.9% 10%',
- ring: '259 43% 56%'
+ ring: '30 100% 50%'
}
},
RED: {
@@ -230,18 +232,18 @@ export const PRIMARY_COLORS = {
}
},
ORANGE: {
- name: 'Orange',
+ name: 'Lavender',
light: {
- primary: '30 100% 50%',
- 'primary-hover': '30 100% 60%',
+ primary: '259 43% 56%',
+ 'primary-hover': '259 43% 65%',
'primary-foreground': '0 0% 98%',
- ring: '30 100% 50%'
+ ring: '259 43% 56%'
},
dark: {
- primary: '30 100% 50%',
- 'primary-hover': '30 100% 60%',
+ primary: '259 43% 56%',
+ 'primary-hover': '259 43% 65%',
'primary-foreground': '240 5.9% 10%',
- ring: '30 100% 50%'
+ ring: '259 43% 56%'
}
},
AMBER: {
diff --git a/src/i18n/locales/en.ts b/src/i18n/locales/en.ts
index 6e3c18f..8703149 100644
--- a/src/i18n/locales/en.ts
+++ b/src/i18n/locales/en.ts
@@ -686,6 +686,18 @@ export default {
'Allow insecure connections description':
'Allow loading http:// resources and connecting to ws:// relays. May trigger browser mixed content warnings.',
'reacted to': 'reacted to',
- Reaction: 'Reaction'
+ Reaction: 'Reaction',
+ music: {
+ untitled: 'Untitled Track',
+ by: 'by',
+ album: 'Album',
+ track: 'Track',
+ released: 'Released',
+ license: 'License',
+ altText: 'Credit',
+ credits: 'Credits', // Add this
+ showLyrics: 'Show Lyrics', // Add this (optional)
+ noAudioUrl: 'No audio URL provided for this track',
+ }
}
}
diff --git a/src/index.css b/src/index.css
index 7f5901a..07b6650 100644
--- a/src/index.css
+++ b/src/index.css
@@ -133,12 +133,12 @@
--radius: 0.75rem;
}
.dark {
- --surface-background: 240 10% 3.9%;
- --background: 0 0% 9%;
+ --surface-background: 276, 61.404%, 9%;
+ --background: 276, 61.404%, 11.176%;
--foreground: 0 0% 98%;
- --card: 0 0% 12%;
+ --card: 276, 61.404%, 10%;
--card-foreground: 0 0% 98%;
- --popover: 0 0% 12%;
+ --popover: 276, 61.404%, 10%;
--popover-foreground: 0 0% 98%;
--primary: 259 43% 56%;
--primary-hover: 259 43% 65%;
diff --git a/src/lib/link.ts b/src/lib/link.ts
index c7c868d..c84b2a5 100644
--- a/src/lib/link.ts
+++ b/src/lib/link.ts
@@ -9,7 +9,7 @@ export const toNote = (eventOrId: Event | string) => {
return `/notes/${nevent}`
}
export const toJumbleNote = (eventOrId: Event | string) => {
- return `https://jumble.social${toNote(eventOrId)}`
+ return `https://nostr.basspistol.org${toNote(eventOrId)}`
}
export const toNoteList = ({
hashtag,
diff --git a/src/pages/primary/NoteListPage/FeedButton.tsx b/src/pages/primary/NoteListPage/FeedButton.tsx
index 42dfa76..f5463e5 100644
--- a/src/pages/primary/NoteListPage/FeedButton.tsx
+++ b/src/pages/primary/NoteListPage/FeedButton.tsx
@@ -8,7 +8,7 @@ import { cn } from '@/lib/utils'
import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider'
import { useFeed } from '@/providers/FeedProvider'
import { useScreenSize } from '@/providers/ScreenSizeProvider'
-import { ChevronDown, Server, Star, UsersRound } from 'lucide-react'
+import { ChevronDown, Server, Star, UsersRound, Music, Radio, Trees, DoorOpen } from 'lucide-react'
import { forwardRef, HTMLAttributes, useMemo, useState } from 'react'
import { useTranslation } from 'react-i18next'
@@ -90,13 +90,25 @@ const FeedSwitcherTrigger = forwardRef {
if (feedInfo?.feedType === 'following') return
- if (feedInfo?.feedType === 'pinned') return
- if (feedInfo?.feedType === 'relay' && feedInfo.id) {
- return
- }
+ if (feedInfo?.feedType === 'pinned') return
+ if (feedInfo?.feedType === 'relay' && feedInfo.id) {
+ return
+ }
+ if (feedInfo?.feedType === 'relays') {
+ const relaySetName = feedInfo.name ?? activeRelaySet?.name ?? activeRelaySet?.id ?? ''
+ const nameLower = relaySetName.toLowerCase()
- return
- }, [feedInfo])
+ // Custom icons for your relay sets
+ if (nameLower.includes('feed')) return
+ if (nameLower.includes('music')) return
+ if (nameLower.includes('backstage')) return
+ if (nameLower.includes('hood')) return
+
+ // Default relay set icon
+ return
+ }
+ return
+ }, [feedInfo, activeRelaySet])
const clickable =
!IS_COMMUNITY_MODE || COMMUNITY_RELAY_SETS.length + COMMUNITY_RELAYS.length > 1
diff --git a/vite.config.ts b/vite.config.ts
index 18130c3..a81cdfa 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -59,8 +59,8 @@ export default defineConfig(({ mode }) => {
enabled: true
},
manifest: {
- name: 'Jumble',
- short_name: 'Jumble',
+ name: 'Bpistle',
+ short_name: 'Bpistle',
icons: [
{
src: '/pwa-512x512.png',