mirror of
https://github.com/coracle-social/flotilla.git
synced 2025-12-10 02:47:06 +00:00
27 lines
916 B
Markdown
27 lines
916 B
Markdown
## Project Overview
|
|
|
|
Flotilla is a Discord-like Nostr client that operates on the concept of "relays as groups/spaces." Built with SvelteKit 2.5 and Svelte 5, it provides messaging, threads, calendar events, and social features across Nostr relays.
|
|
|
|
## Important Patterns
|
|
|
|
### Finding Code
|
|
- Prefer navigating from one file to the next following imports when possible
|
|
- If search is necessary, use `ack`, not `grep` or `rg`.
|
|
|
|
### Nostr Event Handling
|
|
- Prefer seconds to milliseconds when handling nostr events.
|
|
|
|
### Styling Conventions
|
|
- When styling html, prefer flex/gap classes over margin or space-y classes.
|
|
|
|
### Room/space memberships
|
|
|
|
Memberships are surfaced as "bookmarks" to the user.
|
|
|
|
```typescript
|
|
import {membershipsByPubkey, getMembershipUrls} from '@app/state'
|
|
|
|
const spaces = getMembershipUrls($membershipsByPubkey.get(pubkey))
|
|
const rooms = getMembershipRooms($membershipsByPubkey.get(pubkey))
|
|
```
|