Skip to content

Dashboard

RoutePurpose
/dashboardMain dashboard with completion trackers and widgets

  • Displays user’s displayName or email
  • “Watch intro” button opens video modal (YouTube: m3f2QvBwBgI)
  • Auto-shows intro on first visit (tracked via localStorage.hasSeenIntroVideo)
  1. Complete Your Profile - Links to /profile, shows setup video
  2. Welcome to Mindhyv - Links to Product Hunt vote
  • If no referral code: Simple invite button + generate code option
  • If has referral code: Share dialog with 6 sharing methods (Native Share, Email, WhatsApp, X/Twitter, LinkedIn, Facebook)
  • Referral URL format: https://mindhyv.com/?referralCode={code}

  • Status: Active until canUnlockHubBuilder is true
  • Shows profile completion percentage
  • Links to /profile
  • Amber alert if incomplete: lists specific missing items
  • Status: Locked until profile complete
  • Dynamic title: “Create Your First Hub” or “Complete Your Hub: [Name]”
  • Links to /hubs/new or specific incomplete item
  • Green success when marketplace-ready
  • Status: Locked until profile complete
  • Can trigger: generate referral code or invite friends dialogs
  • Shows completion percentage
  • Status: Always “upcoming” / “Coming soon”

#ItemValidationRequired For
1Profile PicturephotoURL existsHub Builder
2TaglineNon-empty, trimmedHub Builder
3About Me>= 100 charactersHub Builder
4Locationlocation or country setHub Builder
5TimezonetimeZone setHub Builder
6Languagelanguages array length > 0Hub Builder
7SkillsAt least 1 skillHub Builder
8Work ExperienceAt least 1 entryHub Builder

Percentage: (completed / 8) * 100 Unlock: All 8 complete = Hub Builder unlocked


Hub Completion (6 Items - Marketplace Readiness)

Section titled “Hub Completion (6 Items - Marketplace Readiness)”
#ItemWeightValidation
1Header Info10%Tagline AND displayName both set
2Branding Photos0% (required)Cover image AND (logo OR favicon)
3Main Content30%Total content >= 250 characters
4Services25%At least 1 service
5Media10%At least 1 media asset
6Payment Account25%Stripe Connect linked

100% = marketplace-ready. All 6 items must be complete.


  • Users can add/remove/configure widgets in edit mode
  • Grid layout: 4 columns, 120px row height
  • Changes debounce-saved to Firestore (600ms)
  • Stored at users/{uid}/dashboards/{dashboardId}
WidgetCategoryDescription
sales_summarySalesRevenue and order totals
ordersSalesRecent/active orders
payoutsSalesEarnings and payout history
messagesChatChat inbox
inboxChatMessages and notifications
team_chatChatTeam conversations
active_projectsProjectsCurrent projects
project_boardProjectsTask/milestone board
milestonesProjectsProject progress
recommended_sellersGeneralDiscover sellers
referral_statsReferralsReferral performance
campaign_linksReferralsReferral links
  1. Enter edit mode
  2. Open widget picker dialog
  3. Widgets filtered by user’s subscription plan
  4. Select widget to add
  5. Widget placed at next available position
  6. Configure via settings panel
  7. Layout auto-saved

Widgets can be gated by subscription tier (Free < Standard < Pro < Elite). Locked widgets show upgrade prompt.


TabSourceStatus
Blogs/api/blogs (WordPress proxy)Active
PromotionsStatic dataComing Soon
UpdatesStatic dataComing Soon
VideosStatic dataComing Soon