feat: add freelancer dashboard UI with earnings and escrow summary#36
Merged
SudiptaPaul-31 merged 1 commit intoLumina-eX:mainfrom Feb 25, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #28
Overview
This PR implements #28 - Freelancer Dashboard UI by adding a dedicated post-login dashboard route for freelancers with responsive, dark/minimal styling and backend-ready data integration.
What’s Included
Added new route: /freelancer/dashboard
Built dashboard sections:
Active Contracts (client, deadline, payment terms, amount)
Completed Contracts (status + payout confirmation)
Earnings Summary (total earnings, pending payments, withdrawals)
Escrow Status (held funds + release conditions)
Added typed dashboard data layer with:
runtime validation of API payloads
secure fetch settings (credentials: include, no-store)
graceful fallback data when API is unavailable
periodic refresh for near real-time updates
Added ESLint setup for this repo so npm run lint can execute
Fixed pre-existing lint issues in landing-page content components
Acceptance Criteria Mapping
Dashboard loads after freelancer navigation: (/freelancer/dashboard)
Active/completed contracts displayed:
Earnings summary updates dynamically: (polling refresh)
Escrow status visible with real-time refresh behavior:
npm run lint and npm run build succeed:
Validation
npm run lint passed
npm run build passed
SCREENSHOT:
