Skip to main content

Team Tailor

import { useState, useEffect } from "react";

export default function useCareers() {
const [careers, setCareers] = useState([]);
const [departments, setDepartments] = useState([]);
const [locations, setLocations] = useState([]);

useEffect(() => {
const fetchData = async () => {
const TOKEN = "your_token_here"; // Replace with your actual token
const myHeaders = new Headers();
myHeaders.append("Authorization", `Token token=${TOKEN}`);
myHeaders.append("X-Api-Version", "20210218");

const requestOptions = {
method: "GET",
headers: myHeaders,
redirect: "follow",
};

try {
const [jobsResponse, departmentsResponse, locationsResponse] =
await Promise.all([
fetch(
"https://api.teamtailor.com/v1/jobs?include=department,locations",
requestOptions
),
fetch("https://api.teamtailor.com/v1/departments", requestOptions),
fetch("https://api.teamtailor.com/v1/locations", requestOptions),
]);

const [jobsData, departmentsData, locationsData] = await Promise.all([
jobsResponse.json(),
departmentsResponse.json(),
locationsResponse.json(),
]);

setCareers(jobsData.data);
setDepartments(departmentsData.data);
setLocations(locationsData.data);
} catch (error) {
console.error("Error fetching data:", error);
}
};

fetchData();
}, []);

return [careers, departments, locations];
}