Page: Send
Page Spec: Send Money
Route
/send
Architecture Status
Core
Implementation Status
SPEC DOCUMENTS STEP 1 ONLY. The actual implementation has a 4-step flow:
Select Recipient (documented below) — search recipients, add new
Enter Amount (NOT DOCUMENTED) — amount input + exchange rate display
Confirm (NOT DOCUMENTED) — review transfer details, fee breakdown
Success (NOT DOCUMENTED) — confirmation screen + receipt
This spec covers ONLY step 1. Steps 2-4 need separate specs or this spec needs expansion.
Figma Reference
send.png
Visual Description from Figma
The Send Money page is the first step in the money transfer flow:
Top bar: Left side has a back arrow (thin left arrow) icon in muted gray. Center has "Send penger" heading in bold sans-serif font. Below the heading, centered, is "1/4" step indicator in muted text.
Background: Light gray ( #EEEEEE ).
Search input: Large white rounded input field with:
Magnifying glass icon on the left (gray)
Placeholder text "Søk mottakere..." in gray
Full width with rounded corners
Empty state message: Centered text below search input:
"Ingen mottakere funnet" in muted gray text ( #6B7280 )
Indicates no recipients have been added yet
Add recipient button: White rounded button at bottom of content area:
"+" icon on left in dark color
"Ny mottaker" text in dark color
Full width, white rounded, no visible border (contrast against gray bg)
Positioned well above bottom navigation
Bottom navigation: Visible but all tabs inactive (no green highlight).
The page has a clean, minimal design with large touch targets and plenty of whitespace.
Page Layout
App page WITH bottom nav
├── Top Bar
│ ├── Left: Back arrow (chevron)
│ ├── Center: "Send penger" heading
│ └── Right: "1/4" step indicator
├── Content Area (light gray bg)
│ ├── Search Input
│ │ ├── Search icon (left)
│ │ └── "Søk mottakere..." placeholder
│ ├── Empty State
│ │ └── "Ingen mottakere funnet" message
│ └── Add Recipient Button
│ ├── "+" icon
│ └── "Ny mottaker" label
└── Bottom Nav (all tabs inactive)
Components
Top Bar
Send penger
1/4
Search Input
setSearchQuery(e.target.value)}
/>
Empty State
Ingen mottakere funnet
Add Recipient Button
Recipient List (when populated)
{recipients.map((recipient) => (
))}
Data Displayed
Data
Source
API
Saved recipients
User's recipient list
GET /api/recipients
Search results
Filtered recipient list
Client-side filtering
Step indicator
Flow state
Static (1/4)
User Interactions
Element
Action
Result
Back arrow
Click
Navigate back to previous page (dashboard)
Search input
Type
Filter recipient list in real-time
Add recipient button
Click
Navigate to /send/add-recipient (step 2)
Recipient card
Click
Select recipient, navigate to amount input (step 3)
Bottom nav tabs
Click
Navigate to respective page (exits send flow)
Norwegian Labels
Element
Norwegian Text
Page title
Send penger
Step indicator
1/4
Search placeholder
Søk mottakere...
Empty state
Ingen mottakere funnet
Add recipient button
Ny mottaker
Design Tokens
Token
Value
Page bg
#EEEEEE
Card bg
#FFFFFF
Input bg
#FFFFFF
Primary
#0B6E35
Primary hover
#095C2C
Text primary
#1A1A1A
Text muted
#6B7280
Text light
#9CA3AF
Border
#E5E7EB
Brand font
font-[family-name:var(--font-fraunces)]
Card radius
rounded-2xl
Button radius
rounded-2xl
Input radius
rounded-2xl
Avatar/Icon circle
rounded-full
Icon circle bg
#0B6E35]/10 (10% opacity green)
Bottom Navigation
Yes — All tabs inactive (gray, outline icons). User is in the send flow but not on a main tab page.
Flow Context
This is step 1 of 4 in the send money flow:
Select Recipient (this page) — choose from saved recipients or add new
Add Recipient — enter recipient details (name, country, account)
Enter Amount — specify amount and currency
Review & Confirm — review details, initiate PISP payment from user's bank account
Pass-through model reminder: Drop initiates payment via PISP from user's linked bank account. No money is held by Drop.