- Changed overflow-x: clip to overflow-x: hidden for better Chrome support
- Changed auth-layout align-items from center to start to prevent clipping
- Added overflow-y: auto and overflow-x: hidden to body for consistent scrolling
Fixes issues where header and signup form were not visible in Chrome
and users were unable to scroll.
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
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.
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.
- 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
- Add vitest, Playwright, ESLint, Prettier configs
- Add unit tests and e2e accessibility/visual tests
- Add MSW mocks and test setup
- Update scripts and .gitignore
- Install required dev dependencies
Note: GitHub Actions workflow will be added after token scope is granted.
- Update solid-markdown from ^0.5.0 to ^2.1.1 (old version no longer exists)
- Replace Markdown component with innerHTML rendering for help center articles
- Build now succeeds without errors
- 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>
- 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
- 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
- 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>
- wallet/invoices.tsx: table of invoices with download link; uses role-specific API prefix; handles loading/empty states
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>
- wallet/buy.tsx: createResource fetches /api/packages?role= instead of hardcoded bundles
- packages.tsx: replaced stub with real package list from API; shows type badge, price, tracecoin amount
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- help-center.ts: replace static HELP_ARTICLES array with async fetch* functions (fetchHelpCenterArticles, fetchHelpCenterCategories, fetchArticleBySlug); legacy sync shims kept for safety
- support/index.tsx: switched from createMemo(static) to createResource(async API) with loading states
- help-center/article/[slug].tsx: now fetches article from API via createResource; renders paragraphs split by double-newline; proper loading and not-found states
- New server-side API routes: /api/kb/articles, /api/kb/categories, /api/kb/articles/[slug] (proxy to Rust gateway, no auth required)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 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>