Skip to content

feat: role selection on wallet connect with adaptive navigation and CTAs #54

Description

@johneliud

Problem

The current navigation exposes both /client and /freelancer routes simultaneously, which is a known marketplace UX anti-pattern. Users have no clear entry point and the dual-nav is confusing.

Solution

Implement role selection on wallet connect (Option 1 from UX research):

  • After a user connects their Freighter wallet for the first time, show a role selector: "I want to hire" (Client) or "I want to work" (Freelancer)
  • Persist the choice in localStorage so returning users are taken straight to their dashboard
  • Navbar collapses to show only role-relevant links
  • Landing page CTA buttons adapt based on stored role
  • Provide a role switcher so users can change later

Acceptance Criteria

  • Role selector appears after wallet connect if no role is stored
  • Role is persisted in localStorage under milestack_role
  • Navbar shows only links relevant to the selected role
  • Landing page hero CTAs adapt per role (or show dual CTAs when no role)
  • Role can be changed via a switcher in the navbar or dashboard
  • No regression on existing client/freelancer page functionality

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions