Commit graph

65 commits

Author SHA1 Message Date
Tiago Yamamoto
24ee8d568f fix(i18n): Correct nesting of company object in es.json 2025-12-23 15:40:37 -03:00
Tiago Yamamoto
177aea113c fix(i18n): Add missing company registration keys to es.json 2025-12-23 15:35:08 -03:00
Tiago Yamamoto
2c27836245 feat: Add i18n support to company registration page 2025-12-23 15:29:47 -03:00
Tiago Yamamoto
c0258e57b7 fix: correct getSalaryDisplay to use job.salaryMin/Max
The previous sed replacement incorrectly created salaryDisplayMin/Max.
Fixed to properly reference job.salaryMin and job.salaryMax.
2025-12-23 08:38:02 -03:00
Tiago Yamamoto
96c5b60e98 fix: update jobs page to use ApiJob properties
- Replace job.company with job.companyName
- Replace job.type with job.employmentType
- Replace job.postedAt with job.createdAt
- Add getSalaryDisplay helper for salaryMin/salaryMax
- Fixed type compatibility with ApiJob interface
2025-12-23 08:34:49 -03:00
Tiago Yamamoto
592af3216e feat: connect Apply Now to applications API
Frontend changes:
- Add applicationsApi with create() and getByJob() in api.ts
- Update apply/page.tsx to fetch job from API and submit to backend
- Fix job detail page requirements null check
- Use ApiJob type instead of mock Job type
- Replace job.company with job.companyName throughout

Note: Backend has type mismatch issues that need fixing:
- jobs endpoint: varchar vs integer comparison
- applications: null id constraint
2025-12-23 08:29:15 -03:00
Tiago Yamamoto
ce0531fefc feat: connect registration and jobs to real API
Backend fixes:
- Fix FK violation in candidate registration by creating company first
- Add CompanyRepository to RegisterCandidateUseCase
- Add handler integration tests for validation

Frontend improvements:
- Add registerCompany function in auth.ts
- Connect company registration form to backend API
- Replace mockJobs with API call in job detail page
- Add loading/error states to job detail page
- Add Jest tests for auth module
2025-12-23 08:19:49 -03:00
Tiago Yamamoto
b09bd023ed feat: security refactor, server-side pagination, and docs update
- impl(frontend): server-side pagination for jobs listing
- impl(frontend): standardized api error handling and sonner integration
- test(frontend): added unit tests for JobCard
- impl(backend): added SanitizeMiddleware for XSS protection
- test(backend): added table-driven tests for JobService
- docs: updated READMES, created ROADMAP.md and DATABASE.md
- fix(routing): redirected landing page buttons to /jobs
2025-12-23 00:50:51 -03:00
Tiago Yamamoto
743b2842c0 feat: Enhance platform with funny jobs, FAQ, Skeleton UI, and Tests 2025-12-22 23:48:56 -03:00
Tiago Yamamoto
aab5822f48 Add timeout to API requests 2025-12-22 19:51:54 -03:00
Tiago Yamamoto
e71fc361ac Add dynamic candidate management data 2025-12-22 19:18:15 -03:00
Tiago Yamamoto
b6ad6e77e2 Fetch admin jobs for dashboard list 2025-12-22 19:02:05 -03:00
Tiago Yamamoto
5e99115df6 Add CRUD logging and stabilize dashboard dates 2025-12-22 18:55:43 -03:00
Tiago Yamamoto
c14dd3a890 Fix users refresh click handler 2025-12-22 18:29:49 -03:00
Tiago Yamamoto
db8cadda98 Fix candidate dashboard role check 2025-12-22 17:24:34 -03:00
Tiago Yamamoto
30b634b770 Add admin job modal and company select 2025-12-22 17:17:13 -03:00
Tiago Yamamoto
9c17a7a15a Add paginated users listing 2025-12-22 16:43:54 -03:00
Tiago Yamamoto
749a83efa4
Merge pull request #19 from rede5/codex/add-backoffice-features-for-gohorse-jobs
Add admin backoffice: routes, audit logging, job workflow and dashboard UI
2025-12-22 16:37:31 -03:00
Tiago Yamamoto
58cfd76675 Add admin backoffice routes and dashboard 2025-12-22 16:37:05 -03:00
Tiago Yamamoto
89462f5aa1 Fix About page localization 2025-12-22 16:36:00 -03:00
Tiago Yamamoto
4163cf5af2 Add localized privacy policy and terms content 2025-12-22 16:05:50 -03:00
Tiago Yamamoto
4b9c1d301a Fix contact page translations 2025-12-22 15:49:10 -03:00
Tiago Yamamoto
18a1eb704d Translate UI and rename routes to English 2025-12-22 15:30:06 -03:00
Tiago Yamamoto
74aa41675d Add English jobs slug with redirects 2025-12-22 14:58:11 -03:00
Tiago Yamamoto
f04550ee0d Add i18n support for candidate registration 2025-12-22 14:44:12 -03:00
Tiago Yamamoto
cdfec9e3f2 Show six jobs on home 2025-12-22 13:50:49 -03:00
Tiago Yamamoto
af7b68ee86 Fix login i18n and forgot password page 2025-12-22 13:45:02 -03:00
Tiago Yamamoto
8f70469317 Unify dashboard routing for all roles 2025-12-22 13:25:40 -03:00
Tiago Yamamoto
bc64a76ce2 fix(frontend): add edge runtime config for dynamic routes 2025-12-15 16:34:06 -03:00
Tiago Yamamoto
88e4596b62 fix(frontend): remove invalid sections from wrangler.toml 2025-12-15 16:31:26 -03:00
Tiago Yamamoto
b8219e322c chore: setup monorepo structure and cloudflare page config 2025-12-15 16:07:38 -03:00
Tiago Yamamoto
00978bf995 fix(frontend): add use client directive to components using hooks 2025-12-15 16:03:10 -03:00
Tiago Yamamoto
11bd1f2fa0 fix(frontend): ajusta estrutura do es.json para corrigir erro de tipo no i18n 2025-12-15 15:17:30 -03:00
Tiago Yamamoto
ad9468bbb6 chore(frontend): set default locale to en 2025-12-15 15:13:18 -03:00
Tiago Yamamoto
4693bc5737 feat(frontend): complete i18n implementation and set default to pt-BR 2025-12-15 15:10:36 -03:00
Tiago Yamamoto
dd18c526e3 fix(frontend): add privacy/terms pages and conditional analytics 2025-12-15 14:53:58 -03:00
Tiago Yamamoto
1818479499 feat(frontend): enable deep linking for job filters via url params 2025-12-15 14:45:58 -03:00
Tiago Yamamoto
640eb10703 feat(frontend): add work mode filter and randomize seeder types 2025-12-15 14:44:14 -03:00
Tiago Yamamoto
78314f2b45 feat(frontend): implement pagination and adjust seeder jobs count 2025-12-15 14:00:42 -03:00
Tiago Yamamoto
3be9807d88 chore: formatting updates and lockfile changes 2025-12-15 10:40:55 -03:00
Tiago Yamamoto
d3d6ae2991 test(frontend): add jest setup and integration tests for API client 2025-12-15 10:26:12 -03:00
Tiago Yamamoto
c9747d3596 fix(integration): correct frontend fallback port to 8521 and handle NULL fields in company entity 2025-12-15 10:19:31 -03:00
Tiago Yamamoto
9edfbcdc93 fix(i18n): 🌍 home page now uses translations properly 2025-12-15 10:04:08 -03:00
Tiago Yamamoto
ee8ed3f1f3 fix(security): 🔒 fixed Next.js vulnerability and Stripe API version 2025-12-15 09:52:43 -03:00
Tiago Yamamoto
92b1515b26 feat(navbar): 🗣️ navbar speaks all languages now 2025-12-15 09:00:49 -03:00
Tiago Yamamoto
ba1385b080 feat(ui): 🏳️ language switcher because one language is never enough 2025-12-15 08:59:44 -03:00
Tiago Yamamoto
69c84c0fa9 feat(layout): 🌐 english first and i18n provider wrapped 2025-12-15 08:59:24 -03:00
Tiago Yamamoto
39b84996d1 feat(i18n): 🎣 hook para pescar traduções automaticamente 2025-12-15 08:58:21 -03:00
Tiago Yamamoto
87fcdcd0fb feat(i18n): 🇧🇷 opa brasil finalmente representa 2025-12-15 08:57:37 -03:00
Tiago Yamamoto
4df8112509 feat(i18n): 🇪🇸 hola mundo español 2025-12-15 08:57:35 -03:00