fix: resolve merge conflict markers in ApiJob interface and fix requirements type handling

Removed leftover <<<<<<< Updated upstream conflict markers that were breaking TypeScript compilation,
preventing the job detail page (/jobs/[id]) from loading real data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Tiago Yamamoto 2026-02-18 05:47:08 -06:00
parent ae4dcb4b90
commit f6758c165c

View file

@ -84,7 +84,6 @@ export interface ApiJob {
companyName?: string;
companyLogoUrl?: string;
companyId: string;
<<<<<<< Updated upstream
location?: string | null;
type?: string; // Legacy alias
employmentType?: string;
@ -94,7 +93,6 @@ export interface ApiJob {
salaryType?: string;
currency?: string;
description: string;
<<<<<<< Updated upstream
requirements?: unknown;
status: string;
createdAt: string;
@ -586,14 +584,18 @@ export const storageApi = {
export function transformApiJobToFrontend(apiJob: ApiJob): Job {
let reqs: string[] = [];
if (apiJob.requirements) {
if (apiJob.requirements.startsWith('[')) {
try {
reqs = JSON.parse(apiJob.requirements);
} catch (e) {
if (Array.isArray(apiJob.requirements)) {
reqs = apiJob.requirements.map(String).filter(Boolean);
} else if (typeof apiJob.requirements === 'string') {
if (apiJob.requirements.startsWith('[')) {
try {
reqs = JSON.parse(apiJob.requirements);
} catch (e) {
reqs = apiJob.requirements.split('\n').filter(Boolean);
}
} else {
reqs = apiJob.requirements.split('\n').filter(Boolean);
}
} else {
reqs = apiJob.requirements.split('\n').filter(Boolean);
}
}