Commit graph

33 commits

Author SHA1 Message Date
Tracewebstudio Dev
a94498e3bf fix: update vitest config and msw v2 API, remove orphaned tests 2026-04-13 01:36:15 +02:00
Ashwin Kumar
e2c91fb413 fix(build): restore dashboard layout + api client compatibility 2026-04-10 20:20:00 +02:00
Ashwin Kumar
f32cefeab9 feat(frontend): add lead requests, accepted leads, checkout, invoice detail, notification bell
- Add Lead Requests page with filters and cancel functionality
- Add Accepted Leads page with contact details and WhatsApp integration
- Add Buy Tracecoins checkout flow with Beeceptor payment
- Add Invoice Detail page with GST breakdown
- Add NotificationBell component with 30s polling
- Add manual E2E test script
- Update Playwright tests for company verification flow
2026-04-10 03:36:26 +02:00
Ashwin Kumar
4795ef2910 feat: wire Credits page to pricing management and payment APIs
Updated CreditsPage with full pricing and transaction support:
- Load pricing packages from /api/packages (role-specific)
- Create payment orders via /api/payments/create-order
- Display transaction history from wallet ledger + payments
- New tabbed interface: Overview, Buy Credits, Transactions
- Shows package details: name, price, tracecoins amount
- Format currency in INR with proper locale

Data sources:
- Packages: GET /api/packages?role={role_key}
- Wallet: GET /api/{prefix}/wallet/me
- Ledger: GET /api/{prefix}/wallet/me/ledger
- Payments: POST /api/payments/create-order
2026-04-10 01:38:44 +02:00
Ashwin Kumar
b242161fd7 docs: add API endpoint documentation for all role dashboard pages
Documented real backend API connections for:
- Company: Jobs, Applications, Shortlisted Candidates
- Customer: Requirements, Responses
- Professional: Leads, Responses (all profession types)
- Job Seeker: Jobs, Applications, Saved Jobs

All pages already wired to real data from backend.
2026-04-10 01:25:49 +02:00
Ashwin Kumar
30750f3797 docs: clarify real data implementations are wired to backend APIs
All job seeker pages are already connected to real APIs:
- Jobs: /api/jobseeker/jobs (real company job postings)
- Applications: /api/jobseeker/applications (my applied jobs)
- Saved Jobs: Custom data storage for bookmarked jobs
- Apply: POST /api/jobseeker/jobs/{id}/apply

Dashboard shows real data from backend, not mock preview.
2026-04-10 01:21:36 +02:00
Ashwin Kumar
7671ad8e55 feat: improve Help Center UI with mixed dark/light theme and structured content
- Updated Help Center with dark hero and light content sections
- Added ArticleContent component for rendering structured content blocks
- Updated seed data with detailed articles matching admin KB categories
- Fixed article alignment and spacing issues
- Uses ContentBlock[] instead of HTML strings for type-safe content
2026-04-09 21:52:16 +02:00
Ashwin Kumar
b8faf752e9 feat: align external dashboards, profile settings split, and role flows 2026-04-08 22:40:43 +02:00
Ashwin Kumar
eee2c367ca feat: add notification bell polling to dashboard shell
- Poll /api/me/notifications/unread-count every 30 seconds
- Show orange dot badge when unread count > 0
- Matches PRD requirement for real-time notifications
2026-04-06 18:23:12 +02:00
Ashwin Kumar
bbf11b91e1 feat(dashboard): real My Profile, My Portfolio, Verification pages
- DashboardShell: sticky sidebar + header wrapper with shared style tokens
- ProfilePage: 3-tab form (Basic, Documents, Settings) per role, save/submit-for-verification
- PortfolioPage: full CRUD wired to /api/:prefix/portfolio/me endpoints
- VerificationStatusPage: 7-state status display with progress timeline and resubmit flow
- dashboard.tsx: REAL_PAGES routing intercepts these three sidebar items and renders
  real components instead of DashboardDesignPreview mock

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 17:20:48 +02:00
Ashwin Kumar
ed68a636f5 feat(dashboard): add notification bell with unread count polling
- Add unreadCount state and polling interval (30s) to DashboardDesignPreview
- Fetch from GET /api/me/notifications/unread-count with auth
- Display orange dot badge on bell when unreadCount > 0
- Uses existing bell icon in header; integrates with notifications page

Implements PRD item: Notification bell on dashboard
2026-04-06 15:06:29 +02:00
Ashwin Kumar
3703d66df5 feat: auth provider, route guards, forgot password, API client
- Add AuthProvider context, RequireAuth guard
- Create API client with endpoint helpers
- Add forgot-password route wired to backend
- Remove dummy login button, add forgot-password link
- Dashboard: RequireAuth, auth context integration
- DashboardDesignPreview: replace Beeceptor with internal payments API
- DashboardDesignPreview: add coupon state, validation, apply
- DashboardDesignPreview: credit wallet on verify, ledger entry
- DashboardDesignPreview: adjust total with discount
- misc: getToken import, API constant
- fix: token storage (use getToken)
2026-04-06 08:24:22 +02:00
Ashwin Kumar
e5406a0061 feat: add auth context, route guards, password reset, and API client
- Add AuthProvider context and RequireAuth route guard
- Create API client with all endpoint helpers
- Add forgot-password route wired to backend reset endpoints
- Remove dummy login button from login page
- Wire dashboard to auth context for user data
- Enhance profile save to send all fields
- Wire profile submit-for-verification to backend API
2026-04-06 06:19:23 +02:00
Ashwin Kumar
19a0850c49 feat: integrate dynamic help center with runtime-configured knowledge base 2026-04-06 03:33:29 +02:00
Ashwin Kumar
d008cd184d feat: improve public role pages and help center content 2026-04-06 01:47:05 +02:00
Ashwin Kumar
564a383a10 Wire user dashboard to real APIs — profile, credits, leads, requirements, jobs
- dashboard.tsx: fetch session for real user name/ID/role, fallback to
  localStorage; show dashboard with role defaults when runtime config unavailable
- DashboardDesignPreview: add liveData prop; createResource for credits,
  marketplace, lead requests, customer requirements, jobs, and profile
- Profile form: inputs now track state via profileFormData signal; pre-filled
  from GET /api/${prefix}/profile/me; Save Changes PATCHes real endpoint
- Lead actions: Send Request POSTs to /api/${prefix}/leads/request; Cancel
  DELETEs /api/${prefix}/leads/requests/{id}; both refetch after completion
- Requirement submit: POSTs to /api/customers/requirements then submits for approval
- Replace hardcoded "Alex" with real session name; credits from wallet balance API
- Fix launch.json PATH so npm is found in sh shell

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 21:13:54 +02:00
Ashwin Kumar
a8ad2b0620 chore: sync latest dashboard and role flow updates 2026-04-05 16:52:02 +02:00
Ashwin Kumar
f5d294abbf Add unread notification badge and poll to dashboard layout
- Import onCleanup, getAuthHeader in DashboardLayout
- Poll /api/me/notifications every 60s for unread_count
- Show orange badge on bell icon when unread > 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 18:13:14 +02:00
Ashwin Kumar
055dcd4175 feat(admin): wire management modules to live backend and add UGC role 2026-04-02 13:09:45 +02:00
Ashwin Kumar
c14bf111a8 chore: cleanup — remove legacy redirect shims and localStorage token storage
- Delete 19 redirect alias pages (sign-in/signin/sign-up/signup, /users/* aliases,
  /companies/* aliases, /users/onboarding/* aliases) — legacy Next.js migration
  artifacts that are no longer needed
- Remove localStorage token functions (getAccessToken, setTokens, clearTokens,
  fetchWithAuth) from lib/http.ts — violates memory-only token strategy
- Fix auth/verification: replace setTokens + manual fetch with login() from auth.ts
- Fix ProfileWidget: replace fetchWithAuth with plain fetch (calls server routes)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 23:42:43 +01:00
Ashwin Kumar
f16c7eb4dd feat: add users and companies dashboard route surfaces 2026-03-25 22:13:11 +01:00
Ashwin Kumar
94d4623248 feat(admin): implement figma-aligned admin shell and management modules 2026-03-25 15:45:14 +01:00
Ashwin Kumar
d67e436828 feat(dashboard-parity): DashboardLayout runtime-config nav, auth hardening, onboarding UX
- DashboardLayout.tsx: fully runtime-config driven sidebar nav using
  MODULE_NAV_MAP, role switcher, guided tour spotlight overlay, responsive
  mobile drawer
- auth.ts: hardened JWT access token handling, httpOnly cookie refresh flow
- guided-tour-content.ts: expanded per-role tour steps for all modules
- gateway.ts: improved proxy with Set-Cookie forwarding for refresh token
- onboarding/complete.ts + schema.ts: refined onboarding completion flow
- login.ts + register.ts: cleaner error handling and response forwarding
- dashboard/index.tsx: role-based KPI cards from runtime-config
- jobs/index.tsx: status filters, post job action gated by requiresJobApproval
- marketplace/index.tsx + [id].tsx: leads browsing with tracecoin hold display
- requirements/index.tsx + [id].tsx: post requirement with profession-specific
  conditional fields, budget/timeline/mode, resubmit support
- portfolio/index.tsx: CRUD for photographer portfolio projects
- services/index.tsx: service management for marketplace professionals
- applications/index.tsx: jobseeker applied jobs list
- notifications.tsx: all/unread tabs, mark read, deep link routing
- settings.tsx: change password form
- wallet/index.tsx + ledger.tsx: tracecoin balance and transaction history
- onboarding.tsx: multi-step onboarding form with profession branching

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 00:45:51 +01:00
Ashwin Kumar
7baa38aa97 Refine onboarding UX, role cards, and runtime schema integration 2026-03-22 15:54:12 +01:00
Ashwin Kumar
bd709b0120 Finalize onboarding + role flow updates and public UI polish 2026-03-19 02:35:19 +01:00
Ashwin Kumar
9c10ef3bc6 test(frontend): add vitest tdd coverage for login redirect and role switch visibility 2026-03-19 00:58:29 +01:00
Ashwin Kumar
f3ef5f0aad feat(frontend): improve multi-role guidance and dashboard role switch UX 2026-03-19 00:53:36 +01:00
Ashwin Kumar
c435053810 feat(frontend): finalize onboarding, otp verification, and roleless dashboard flow 2026-03-19 00:30:33 +01:00
Ashwin Kumar
fee43e3655 feat: update solidstart frontend for rust backend migration 2026-03-17 20:42:55 +01:00
Ashwin Kumar
bf4b2558d8 feat: align solid public pages and auth flows with nextjs parity 2026-03-17 15:35:58 +01:00
Ashwin Kumar
e3b857a767 fix(frontend): add hero tilt animation and stronger landing parity 2026-03-17 00:35:37 +01:00
Ashwin Kumar
973ec59b69 feat(frontend): rebuild landing with parallax and carousel parity 2026-03-17 00:32:44 +01:00
Ashwin Kumar
632fc0c7e9 feat(frontend): align public homepage closer to legacy design 2026-03-17 00:00:28 +01:00