Frens System โ User Flow Integration โ
How to access and use the Frens feature in Lantern
๐ Access Points โ
1. Save a Connection (Add Fren) โ
From: Active chat after accepting a wave
Location: Chat header (top-right)
Action:
- Accept a wave from someone
- Chat with them
- Tap the ๐ค+ icon (UserPlus) in the chat header
- Review the "Save Connection" modal:
- Explains venue-bound broadcasting
- Shows their interests
- Clarifies privacy model
- Tap "Save Fren" or "Maybe Later"
Result:
- They can now see YOUR lantern when you light it at that venue
- You won't see theirs unless they save you back
2. View Your Frens List โ
From: Dashboard bottom navigation
Location: Bottom navigation bar (4 buttons)
Buttons (left to right):
- Places (MapPin) - Venue discovery
- Frens (Heart) - Your saved connections ๐
- Lantern (Flame) - Light/manage your lantern (center, elevated)
- Me (Users) - Your profile
Badge: Shows count of frens with lit lanterns (e.g., "3" in purple badge)
Action:
- Tap "Frens" button (heart icon)
- Opens frens list at
#/frens
3. View a Fren's Profile โ
From: Frens list
Action:
- Navigate to Frens list (
#/frens) - Tap any fren card
- Opens individual fren profile at
#/frens/:id
What you see:
- Their lantern name and interests
- Current status (lit/not lit)
- Where you met
- Shared venues
- Broadcast settings
- Wave button (if currently lit)
๐จ Visual Guide โ
Dashboard Navigation (Bottom Bar) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ โ
โ (Main content area) โ
โ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Places Frens ๐ฅ Me โ
โ ๐ ๐ (3) โ
โ Map Heart Flame Users โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"Frens" button shows:
- Purple heart icon
- "Frens" label
- Badge with count (if any frens lit)
Chat Header with Save Button โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ฌ Chat with Sapphire Crystal โ
โ Anonymous Lantern โ
โ [๐ค+] [โฎ] [โ] โ
โ โ โ
โ Save Connection โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโButtons (right side):
- UserPlus (๐ค+) - Save connection
- MoreVertical (โฎ) - Menu (block/delete)
- X (โ) - Close chat
Save Connection Modal โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Save Sapphire Crystal? โ
โ ๐ท๏ธ Jazz Coffee Art โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ ๐ฎ They'll see when you're at โ โ
โ โ Coffee House โ โ
โ โ โ โ
โ โ ๐ Privacy-first โ โ
โ โ You won't see their lantern โ โ
โ โ unless they save you back โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ [Maybe Later] [Save Fren] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโFrens List Screen โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Frens ๐ โ
โ [All (3)] [๐ฎ Lit (2)] [Mutual (1)]โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฎ 2 frens have lit lanterns โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ Sapphire Crystal [๐ Wave]โ
โ At The Speakeasy โข 15m ago โ
โ Jazz, Coffee, Art โ
โ Shared venues: Coffee House โ
โ โ
โ โ Amber Beacon โ
โ At Coffee House โข Now โ
โ Late Night, Music โ
โ โ
โ โ Nova Light โ
โ Last seen 2 days ago โ
โ Books, Coffee, Quiet โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Places Frens ๐ฅ Me โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโIndicators:
- โ (filled dot) = Lantern currently lit
- โ (empty dot) = Not currently active
- Purple "Mutual" badge = Both saved each other
- Wave button = Only shown if currently lit
Fren Profile Screen โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Sapphire Crystal โ
โ โจ Mutual Fren โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฎ Currently at The Speakeasy โ
โ Lantern lit 15m ago โ
โ โ
โ [๐ Send Wave] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Interests: โ
โ ๐ท๏ธ Jazz Coffee Art Late Night โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Connection: โ
โ Met at Coffee House โ
โ January 9, 2026 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Venue Broadcasting: [Manage] โ
โ โ
โ ๐ก You're broadcasting to them at: โ
โ โข Coffee House โ
โ โข The Speakeasy โ
โ โ
โ ๐ They're broadcasting to you at: โ
โ โข Coffee House โ
โ โ
โ โจ Mutual at 1 venue: โ
โ Coffee House โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ๐ Complete User Journey โ
Scenario: Meeting and Reconnecting โ
Step 1: First Meeting
1. You're at Coffee House
2. Light your lantern
3. Receive wave from "Sapphire Crystal"
4. Accept wave โ Chat opens
5. Chat for a bit
6. Tap [๐ค+] "Save Connection"
7. Review modal โ Tap "Save Fren"
8. โ
Saved! They can now see your lantern at Coffee HouseStep 2: Later That Week
1. You light your lantern at Coffee House again
2. Sapphire Crystal sees notification: "Amber Beacon is at Coffee House"
3. They decide to show up
4. Both at venue โ Can chat againStep 3: Mutual Connection
1. Sapphire Crystal also saves you
2. ๐ Both get "Mutual Connection!" notification
3. Now you can BOTH see each other's lanterns at Coffee House
4. Frens list shows them with "Mutual" badgeStep 4: Expanding Venues
1. You both happen to be at The Speakeasy
2. System prompts: "Also broadcast at The Speakeasy?"
3. Tap "Add Venue"
4. Now they can see you at Coffee House AND The Speakeasy๐ฏ Key Interaction Points โ
From Dashboard โ
- Bottom nav "Frens" button โ Frens list
- Badge shows count โ Lit frens indicator
From Chat โ
- ๐ค+ button in header โ Save connection modal
- After save โ Success confirmation
From Frens List โ
- Filter buttons โ All / Lit / Mutual
- Search bar โ Find by name
- Tap fren card โ View profile
From Fren Profile โ
- Wave button โ Send wave (if lit)
- Manage venues โ Choose broadcast locations
- Remove connection โ Delete fren
๐ Quick Actions โ
| I want to... | How to do it |
|---|---|
| Save someone after chatting | Chat header โ Tap [๐ค+] icon |
| View my frens | Bottom nav โ Tap "Frens" (heart) |
| See who's lit | Frens list โ Filter "๐ฎ Lit" |
| Wave a fren | Frens list/profile โ Tap "๐ Wave" |
| Manage venues | Fren profile โ "Manage" button |
| Remove a fren | Fren profile โ "Remove Connection" |
๐ฑ Navigation Hierarchy โ
Dashboard (Home)
โโ Bottom Nav
โโ Places โ Venue discovery
โโ Frens โ #/frens (Frens list) ๐
โ โโ Tap fren โ #/frens/:id (Fren profile)
โโ Lantern โ Hub modal
โโ Me โ #/profile (Settings)
Chat (after wave acceptance)
โโ Header
โโ [๐ค+] Save Connection ๐
โโ SaveConnectionPrompt modal๐ง Developer Notes โ
State Management โ
Dashboard.jsx:
javascript
frensCount={0} // TODO: Load from FirebaseChat.jsx:
javascript
const handleSaveConnection = async (person) => {
// TODO: Wire to Firebase - save to connections collection
console.log('Saving connection:', person)
}Routes โ
#/frens- FrensList screen#/frens/:id- FrenProfile screen
Next Steps โ
- Wire
handleSaveConnectionto Firebase - Load frens count for nav badge
- Query lit frens in real-time
- Implement venue broadcasting queries
Status: โ UI Complete | โณ Backend Integration Pending