Rideshare Feature
Ride creation, search, booking, chat, driver/passenger dashboards, and ratings.
Location
- Feature module:
src/features/rideshare/ - Routes:
src/app/(tabs)/explore/rideshare/
API Functions
Defined in src/features/rideshare/api/index.ts. All use apiV2.
Profile
| Function | Method | Endpoint | Description |
|---|---|---|---|
fetchRideshareProfile() | GET | rideshare/profile | Get current user’s rideshare profile |
fetchRideshareProfileById(id) | GET | rideshare/profile/{id} | Get profile by ID |
Rides
| Function | Method | Endpoint | Description |
|---|---|---|---|
fetchRideshareRides(filter, limit) | GET | rideshare/rides | List rides (PAST/FUTURE/ALL) |
fetchRideshareLastRide() | GET | rideshare/lastRide | Most recent ride |
searchRideshareRides(data) | POST | rideshare/search | Search for rides |
fetchNearbyRides(data) | POST | rideshare/search | Search nearby rides |
Ride Requests
| Function | Method | Endpoint | Description |
|---|---|---|---|
fetchRideshareRideRequests(filter, status, limit) | GET | rideshare/rideRequests | List ride requests |
acceptRideshareRequest(id) | POST | rideshare/ride/{id}/accept | Accept ride request |
rejectRideshareRequest(id) | POST | rideshare/ride/{id}/reject | Reject ride request |
cancelRideshareRequest(id) | POST | rideshare/ride/{id}/cancel | Cancel ride request |
Chat
| Function | Method | Endpoint | Description |
|---|---|---|---|
fetchRideshareChats(role?) | GET | rideshare/rideRequestChats[/{role}] | List chats (optional role filter) |
fetchRideshareChat(rideRequestId) | GET | rideshare/chat/{id} | Get chat messages |
sendRideshareChatMessage(id, message) | POST | rideshare/chat/{id}/message/send | Send message |
acceptRideshareChat(id) | POST | rideshare/ride/{id}/acceptChat | Accept chat request |
Searches & Ratings
| Function | Method | Endpoint | Description |
|---|---|---|---|
fetchRideshareSearches() | GET | rideshare/searches | Recent search history |
submitRideshareRating(data) | POST | rideshare/submitRating | Submit driver/passenger rating |
Hooks
| Hook | File | Description |
|---|---|---|
useChats | hooks/use-chats.ts | Chat list management |
useCreateRideLocation | hooks/use-create-ride-location.ts | Location state for ride creation |
useLocationSuggestions | hooks/use-location-suggestions.ts | Google Places autocomplete |
useMapCamera | hooks/use-map-camera.ts | Map camera control |
useBottomSheetAnimations | hooks/use-bottom-sheet-animations.ts | Bottom sheet animation helpers |
Types
types/index.ts—RideshareProfile,RideshareRide,RideshareSearches,RideshareRideRequesttypes/chat.ts—RideshareChatListItem,RideshareChattypes/component-props.ts— Component prop typestypes/profile-step.ts— Profile setup step types
Components
Ride Creation (components/create-ride/)
| Component | Description |
|---|---|
CreateRideBottomSheet | Location + details input sheet |
CreateRideInput | Location input field |
CreateRideMap | Map with route display |
LocationResultItem | Location autocomplete result |
RideDetailsStep | Ride details form |
RideDetailsCurrencyInput | Price input |
RideDetailsDatePicker | Date/time picker |
RideDetailsNumberSelect | Seat count selector |
RideDetailsSelectDisplay | Selection display |
Search (components/search/)
| Component | Description |
|---|---|
RouteSelector | Start/end location selector |
LocationResults | Location search results |
SearchRideHeader | Search screen header |
RecentSearchCard | Recent search display |
NoRides | No results state |
SearchResultsPlaceholder | Loading skeleton |
Ride Info (components/ride-info/)
| Component | Description |
|---|---|
RideInfoHeader | Ride detail header |
RideInfoDriver | Driver information |
RideInfoPassengers | Passenger list |
RideInfoAvailability | Seat availability |
RideInfoLocation | Route display |
RideInfoModal | Full ride details modal |
DriverCard | Driver profile card |
PassengerCard | Passenger profile card |
Driver Dashboard (components/driver/)
| Component | Description |
|---|---|
DriverDashboard | Driver home screen |
DriverLanding | Driver onboarding |
DriverDashboardLoading | Loading state |
Passenger Dashboard (components/passenger/)
| Component | Description |
|---|---|
PassengerDashboard | Passenger home screen |
PassengerDashboardLoading | Loading state |
Profile (components/profile/)
| Component | Description |
|---|---|
ProfileStep | Profile setup step |
UpdateProfile | Edit profile form |
ProfileEditField | Editable field |
ProfileTextField | Text input field |
ProfileSelectField | Select field |
ProfileImageField | Image upload field |
ProfileStepField | Step-based field |
EditProfileSelectOption | Select option item |
TermsAcceptanceModal | Terms acceptance |
Chat (components/chat/)
| Component | Description |
|---|---|
ChatHeader | Chat room header |
ChatMenu | Chat options |
RideshareChatRequestInfo | Request info in chat |
RideshareRideRequested | Ride request notification |
Rating (components/rating/)
| Component | Description |
|---|---|
RideshareRating | Rating flow |
RatingModal | Rating modal |
RatingPassenger | Passenger rating |
RatingSingleUser | Individual user rating |
RatingStars | Star selector |
Other Components
| Component | Description |
|---|---|
Rideshare | Main rideshare screen |
RideshareCard | Ride summary card |
RideshareDashboardHeader | Dashboard header |
TicketCardShape | Ticket-shaped card |
UpcomingJourneys | Upcoming rides section |
LandingTitle | Landing page title |
LandingRecentSearches | Recent searches on landing |
EmptyRideState | No rides state |
Button | Custom button |
RightChevronButton | Navigation button |
EditRidePlaceholder | Edit ride loading state |
EditRideOption | Edit ride option item |
Routes
| Route | Description |
|---|---|
explore/rideshare/index.tsx | Rideshare landing |
explore/rideshare/create-ride.tsx | Create a ride |
explore/rideshare/search-ride.tsx | Search for rides |
explore/rideshare/search-results.tsx | Search results |
explore/rideshare/ride-info.tsx | Ride details |
explore/rideshare/ride-details.tsx | Ride details (alt) |
explore/rideshare/ride-created.tsx | Ride created confirmation |
explore/rideshare/rides.tsx | My rides list |
explore/rideshare/edit-ride.tsx | Edit ride |
explore/rideshare/profile.tsx | View profile |
explore/rideshare/edit-profile.tsx | Edit own profile |
explore/rideshare/driver-landing.tsx | Driver landing |
explore/rideshare/driver/update-profile.tsx | Driver profile update |
explore/rideshare/chat.tsx | Chat room |
explore/rideshare/messages.tsx | Messages list |
Utilities
utils/helpers.ts— General helpersutils/get-address.ts— Address formatting from coordinatesutils/map-constants.ts— Map configuration (default region, zoom levels)
Last updated on