Skip to content

Build Connection Requests Inbox (/match/requests) #8

Description

@LRxDarkDevil

Build Connection Requests Inbox (/match/requests)

Overview

Create an inbox interface for managing co-founder matchmaking connection requests with sent/received tabs, status tracking, and profile previews.

Scope

  • Two-tab layout: "Sent Requests" and "Received Requests"
  • Sent tab shows: recipient name, request timestamp, status (pending/accepted/rejected), optional message
  • Received tab shows: sender name, sender profile snippet, request timestamp, status, action buttons
  • Accept request: creates match record, notifies sender
  • Reject request: updates status, notifies sender
  • Withdraw sent request: deletes or marks as withdrawn, notifies recipient
  • View sender/recipient profile without leaving inbox (modal or side panel)
  • Show request message if included

Acceptance Criteria

  • Requests load from Firestore connectionRequests collection
  • Filter by status: pending, accepted, rejected (show only relevant for each tab)
  • Accept button: creates record in matches collection, sends notification
  • Reject button: updates status to rejected, sends notification
  • Withdraw button: marks as withdrawn, notifies recipient
  • Empty states for each tab with helpful messaging
  • Real-time updates when new request arrives (or refresh shows it)
  • Profile preview loads without page navigation
  • Sort by date (newest first)
  • Mobile responsive (stack tabs, slide-out profile)

Related Files

  • app/match/requests/page.tsx — create if missing
  • lib/services/match.ts — add connection request functions
  • firestore.rules — ensure permission rules are correct

Notification Messages

  • Accept: "[Name] accepted your connection request! Message them: [link]"
  • Reject: "[Name] declined your connection request."
  • Received: "[Name] wants to connect as co-founder. View profile: [link]"

Future Enhancements

  • Message thread attached to connection
  • Request expiry (auto-archive after 30 days)
  • Bulk action: accept/reject multiple requests

Why This Matters

  • Core matchmaking workflow
  • Enables founder collaboration
  • Professional networking experience

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions