Skip to content

Participants Screens

Masked-Kunsiquat edited this page Dec 25, 2025 · 2 revisions

Participants Screens

This page documents participant-related screens and their responsibilities.

ManageParticipantsScreen

File: src/modules/participants/screens/ManageParticipantsScreen.tsx

Responsibilities

  • Lists participants for a trip.
  • Adds a participant with name + auto-assigned avatar color.
  • Removes a participant with confirmation dialog.
  • Supports pull-to-refresh for trip and participant data.

UX Details

  • Empty state card when no participants exist.
  • Sorts list by name using localeCompare.
  • Tap row -> open details.
  • Long-press row -> remove confirmation.

Data Sources

  • useParticipants(tripId)
  • useTripById(tripId)
  • Repository calls for create/delete

ParticipantDetailsScreen

File: src/modules/participants/screens/ParticipantDetailsScreen.tsx

Responsibilities

  • Shows participant balance and transaction summary.
  • Displays expenses paid by the participant and expenses they are part of.
  • Pulls settlement suggestions and recorded settlements.
  • Provides quick navigation back to the participants list.

Data Dependencies

  • Participants: useParticipants
  • Settlements: useSettlement, useSettlements
  • Expenses + categories: useExpenses, useExpenseCategories
  • Expense splits: getExpenseSplits
  • Display currency: useDisplayCurrency

Notes

  • Precomputes FX conversions with cachedFxRateProvider.
  • Uses refresh control for participants, settlements, and expenses.

Routes

  • /trips/[id]/participants -> ManageParticipantsScreen
  • /trips/[id]/participants/[participantId] -> ParticipantDetailsScreen

Related Docs

Clone this wiki locally