[ OpenSats/website ] Add lifetime stats to home page and reorganize sections (#545)
* Add stats sentence to Apply for Funding section on home page
- Create reusable StatsSentence component for DRY code
- Add stats sentence to main page's Apply for Funding section
- Refactor map page to use the shared StatsSentence component
* Increase stats sentence text size on main page
[ arbadacarbaYK/gittr ] Fix: Preserve nostr:// clone URLs when merging event content data
- Fixed bug where clone URLs collected from event tags were lost when merging contentData
- contentData spread operator was overwriting eventRepoData.clone with undefined
- Now preserves clone URLs from tags before merging, then restores and merges with content clone URLs
- Fixes issue where repos with nostr:// clone URLs showed no files
- Applied fix to both NIP-34 events (kind 30618) and KIND_REPOSITORY events (kind 51)
[ koteitan/mojimoji ] Cache relay list and graphs on app load with NIP-65 read/write support
- Add initUserRelayList, initAllGraphs, fetchAndCacheProfiles on app load as background jobs
- Combine 'mine' and 'public' graph subscriptions into single #client:['mojimoji'] filter
- Separate relay cache into read and write per NIP-65 marker
- Use user's kind:10002 relays for loadGraphByEventId instead of bootstrap
- Save/Load/Post dialogs:
- Use write relays for saveGraphToNostr, deleteGraphFromNostr, PostDialog
- Include write relay hints in naddr after save
- Include read relay hints in naddr on load dialog copy URL