Commit graph

3 commits

Author SHA1 Message Date
Tracewebstudio Dev
84fbfc1d73 fix: always show Verification in sidebar when user has a pending submission
All checks were successful
build-and-release / build (push) Successful in 1m48s
mergeSidebar already restricts the sidebar to 'Verification', 'Settings',
'Help Center' (and conditionally 'My Profile') when a verification is pending.
But if the admin's runtime config for this role omits 'Verification', the item
was silently absent even after registration — leaving users with no way to
track their submission.

Fix: after filtering to the restricted set, inject 'Verification' when it is
missing and the user has a pending status. This is a safety guarantee:
admin config governs approved-role layouts; pending-verification state always
wins on the Verification item regardless.

Also:
- .eslintrc.cjs: add varsIgnorePattern/destructuredArrayIgnorePattern '^_',
  turn off no-explicit-any (complex runtime config shapes), matching admin config
- Prefix unused resolveRuntimeSidebarKeys helper with _ to silence lint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-12 17:46:03 +02:00
Tracewebstudio Dev
40e79f2d01 fix: ESLint, SolidJS reactivity bugs, role workflow bug fixes
All checks were successful
build-and-release / build (push) Successful in 2m16s
ESLint:
- Downgrade eslint v10 → v8.57.1 (compatible with @typescript-eslint v7 + eslint-plugin-solid)
- Fix .eslintrc.cjs: remove invalid require() calls, update to valid rule set
- Add npm run lint script

SolidJS solid/prefer-for (18 fixes across 3 files):
- OpportunityGraph.tsx: EDGES.map() → <For> with reactive visible/drawing signals
- PortfolioPage.tsx: services.map() and experience.map() → <For>
- DashboardDesignPreview.tsx: 15 .map() calls → <For> (stats, packages, timeline,
  testimonials, quick actions, step tabs, pills, form fields, status lists, buttons,
  counters, filter tabs)

Role workflow bug fixes (from full role audit):
- cover_letter → cover_note in job applications (field name canonical fix)
- applicant_user_id field name fix in shortlisted candidates
- CompanyApplicationsPage: GET → POST for contact unlock endpoint
- CreditsPage: /payments/history → /payments/invoices; response key data.data
- CreditsPage: holds response key data.data (not data.holds)
- ProfessionalResponsesPage: requirement_id → lead_id, decision_at → resolved_at
- PortfolioPage: data.items → data.data; fix vacuous-truth in form completion check;
  saveProfessionalForm: check res.ok before showing success
- CustomerBrowseProfessionalsPage: professional_role_code → profession_key
- MyDashboardPage: professional prefix split('_')[0] not replace('_','')

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-12 13:38:38 +02:00
Ashwin Kumar
f990b9a9e0 feat: comprehensive testing infrastructure (without workflow pending token scope)
- 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.
2026-04-08 02:43:29 +02:00