Page: Register Page Spec: Register Route /register Architecture Status Core Figma Reference onboarding.png Implementation Status SPEC DOCUMENTS STEP 1 ONLY. The actual implementation has 4 steps: Personal Info (documented below) — name, email, phone, DOB, password Phone Verification (NOT DOCUMENTED) — OTP input PIN Setup (NOT DOCUMENTED) — 4-digit PIN with number pad Success Screen (NOT DOCUMENTED) — welcome message + navigate to dashboard This spec covers ONLY step 1. Steps 2-4 need separate specs or this spec needs expansion. Visual Description from Figma The register page (called "Opprett konto" in Figma) has step 1 of 3: Top section: Drop logo (green rounded square with white $ icon and gold dot top-right), "drop" wordmark in bold serif font, tagline "Enklere betalinger. Lavere gebyrer." in green italic text. Progress indicator: Three-segment horizontal bar below the tagline. First segment is filled dark green (active), other two segments are light gray. This indicates "step 1 of 3" in a multi-step registration. Form card: White rounded card containing the form with heading "Opprett konto" in bold. Form fields (6 total): Fornavn and Etternavn — side by side in a 2-column layout. Each has a user icon (person outline) on the left. Placeholders: "Amir" / "Hadzic". E-postadresse — full width, mail/envelope icon left. Placeholder: "amir@eksempel.no". Telefonnummer — full width, phone icon left. Placeholder shows "+47" prefix. Fodselsdato — full width, calendar icon left. Placeholder: "mm/dd/yyyy". Has a calendar picker icon on the right. Passord — full width, lock icon left. Placeholder: "Minst 8 tegn". Eye/visibility toggle icon on the right. "Fortsett" button: Full-width green button below the card (appears slightly muted green, not as saturated as the login button). Bottom text: "Har du allerede konto? Logg inn" — "Logg inn" is a green link. Background is light gray ( #EEEEEE ). All input fields have light gray backgrounds with subtle borders. Page Layout Full-page centered (no bottom nav — auth page) ├── Logo Section (centered) │ ├── Drop icon (64x64) │ ├── "drop" wordmark (Fraunces serif bold) │ └── Tagline italic green ├── Progress Bar (3 steps) │ ├── Step 1: filled green (active) │ ├── Step 2: gray │ └── Step 3: gray ├── Form Card (white rounded) │ ├── "Opprett konto" heading │ ├── Row: Fornavn | Etternavn (2-col) │ ├── E-postadresse input │ ├── Telefonnummer input (+47) │ ├── Fodselsdato input (date picker) │ └── Passord input (toggle visibility) ├── "Fortsett" button (full width, outside card) └── "Har du allerede konto? Logg inn" link Components Logo Block
Drop

drop

Enklere betalinger. Lavere gebyrer.

Progress Bar (3-step)
{/* active */}
{/* inactive */}
{/* inactive */}
Form Card

Opprett konto

{/* form fields */}
Name Fields (2-column)
Standard Input (email, phone, DOB, password)
Password Input (with eye toggle)
Submit Button Error Message

{error}

Data Displayed Static form (no pre-loaded data) On submit: POST /api/auth/register with form data User Interactions Element Action Result Fornavn input Type Captures first name Etternavn input Type Captures last name E-postadresse input Type Captures email Telefonnummer input Type Captures phone (+47 prefix) Fodselsdato input Click/type Opens date picker, captures DOB Passord input Type Captures password (min 8 chars) Eye icon Click Toggle password visibility "Fortsett" button Click Validate all fields, POST /api/auth/register, on success navigate to /login "Logg inn" link Click Navigate to /login Validation Rules Field Rule Error Message Fornavn Required, min 2 chars Fornavn er paakrevd Etternavn Required, min 2 chars Etternavn er paakrevd E-postadresse Required, valid email format Ugyldig e-postadresse Telefonnummer Required, starts with +47, 8 digits Ugyldig telefonnummer Fodselsdato Required, age >= 18 Du ma vaere minst 18 ar Passord Required, min 8 chars Passordet ma vaere minst 8 tegn Norwegian Labels Element Norwegian Text Page heading Opprett konto First name label Fornavn Last name label Etternavn Email label E-postadresse Email placeholder amir@eksempel.no Phone label Telefonnummer Phone placeholder +47 DOB label Fodselsdato DOB placeholder mm/dd/yyyy Password label Passord Password placeholder Minst 8 tegn Submit button Fortsett Login prompt Har du allerede konto? Login link Logg inn Design Tokens Token Value Page bg #EEEEEE Card bg #FFFFFF Input bg #F9FAFB Primary #0B6E35 Primary hover #095C2C Border #E5E7EB Progress active #0B6E35 Progress inactive #E5E7EB Text primary #1A1A1A Text muted #6B7280 Text light #9CA3AF Error #EF4444 Card radius rounded-2xl Input radius rounded-lg Button radius rounded-xl Input height h-11 Button height h-12 Bottom Navigation No — this is an auth page, no bottom nav.