{"version":3,"file":"Teamtailor_API.BJagQRYb.mjs","names":["React.useState","React.useMemo"],"sources":["https:/framerusercontent.com/modules/BTpl9CQCE3KLSjP8rZyo/CRspzLg5pRdTElvWrUsy/Teamtailor_API.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";const API_KEY=\"uAm7kscb0oHPrMPHvd4X1gLFxcTMN3bCZcU0hwTg\"// <- replace this\n;const API_URL=\"https://api.teamtailor.com/v1/jobs?filter[status]=published&include=location\";export function TeamtailorJobs(){const[jobs,setJobs]=React.useState([]);const[included,setIncluded]=React.useState([]);const[loading,setLoading]=React.useState(true);const[error,setError]=React.useState(null);React.useEffect(()=>{async function fetchJobs(){try{setLoading(true);setError(null);const response=await fetch(API_URL,{headers:{Accept:\"application/vnd.api+json\",\"Content-Type\":\"application/vnd.api+json\",\"X-Api-Version\":\"20240404\",Authorization:`Token token=${API_KEY}`}});if(!response.ok){throw new Error(`HTTP ${response.status}`);}const json=await response.json();setJobs(json.data||[]);setIncluded(json.included||[]);}catch(err){setError(err?.message||\"Could not load jobs\");}finally{setLoading(false);}}fetchJobs();},[]);const includedMap=React.useMemo(()=>{const map=new Map;included.forEach(item=>{map.set(`${item.type}:${item.id}`,item);});return map;},[included]);function getLocationName(job){const rel=job.relationships?.location?.data;if(!rel)return null;const key=`${rel.type}:${rel.id}`;const location=includedMap.get(key);if(!location)return null;const attrs=location.attributes||{};// Teamtailor locations usually have name and/or city\nreturn attrs.name||attrs.city||null;}function getJobUrl(job){// Public careersite URL comes from links.careersite-job-url\nconst links=job.links||{};return links[\"careersite-job-url\"]||links[\"careersite-job-apply-url\"]||undefined;}if(loading){return /*#__PURE__*/_jsx(\"div\",{children:\"Loading open roles...\"});}if(error){return /*#__PURE__*/_jsxs(\"div\",{children:[\"There was a problem loading our open roles: \",error]});}if(!jobs.length){return /*#__PURE__*/_jsx(\"div\",{children:\"We do not have any open roles at the moment. Check back soon.\"});}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gap:24},children:jobs.map(job=>{const attrs=job.attributes||{};const title=attrs.title||\"Open role\";const locationName=getLocationName(job);const url=getJobUrl(job);return /*#__PURE__*/_jsxs(\"a\",{href:url,target:\"_blank\",rel:\"noopener noreferrer\",style:{padding:24,borderRadius:16,border:\"1px solid #E3E5EB\",textDecoration:\"none\",color:\"inherit\",display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:18,fontWeight:600},children:title}),locationName&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:14,opacity:.7},children:locationName}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8,fontSize:14,fontWeight:500,textDecoration:\"underline\"},children:\"View role\"})]},job.id);})});}\nexport const __FramerMetadata__ = {\"exports\":{\"TeamtailorJobs\":{\"type\":\"reactComponent\",\"name\":\"TeamtailorJobs\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Teamtailor_API.map"],"mappings":"uIAC8F,SAAgB,GAAgB,CAAC,GAAK,CAAC,EAAK,GAASA,EAAe,CAAC,CAAC,EAAO,CAAC,EAAS,GAAaA,EAAe,CAAC,CAAC,EAAO,CAAC,EAAQ,GAAYA,EAAe,EAAI,EAAO,CAAC,EAAM,GAAUA,EAAe,IAAI,EAAE,MAAoB,CAAC,eAAe,GAAW,CAAC,GAAG,CAAC,EAAW,EAAI,EAAE,EAAS,IAAI,EAAE,IAAM,EAAS,MAAM,MAAM,EAAQ,CAAC,QAAQ,CAAC,OAAO,2BAA2B,eAAe,2BAA2B,gBAAgB,WAAW,cAAc,eAAe,GAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAS,GAAI,MAAU,MAAM,QAAQ,EAAS,QAAQ,EAAG,IAAM,EAAK,MAAM,EAAS,KAAK,EAAE,EAAQ,EAAK,MAAM,CAAC,CAAC,EAAE,EAAY,EAAK,UAAU,CAAC,CAAC,CAAE,OAAO,EAAI,CAAC,EAAS,GAAK,SAAS,qBAAqB,CAAE,QAAQ,CAAC,EAAW,EAAK,CAAE,CAAC,CAAC,EAAU,CAAE,EAAE,CAAC,CAAC,EAAE,IAAM,EAAYC,MAAkB,CAAC,IAAM,EAAI,IAAI,IAAuE,OAAnE,EAAS,QAAQ,GAAM,CAAC,EAAI,IAAI,GAAG,EAAK,KAAK,GAAG,EAAK,KAAK,CAAI,CAAE,CAAC,EAAS,CAAI,EAAE,CAAC,CAAQ,CAAC,EAAE,SAAS,EAAgB,EAAI,CAAC,IAAM,EAAI,EAAI,eAAe,UAAU,KAAK,GAAG,CAAC,EAAI,OAAO,KAAK,IAAM,EAAI,GAAG,EAAI,KAAK,GAAG,EAAI,KAAW,EAAS,EAAY,IAAI,CAAG,EAAE,GAAG,CAAC,EAAS,OAAO,KAAK,IAAM,EAAM,EAAS,YAAY,CAAC,EAChrC,OAAO,EAAM,MAAM,EAAM,MAAM,IAAK,CAAC,SAAS,EAAU,EAAI,CAC5D,IAAM,EAAM,EAAI,OAAO,CAAC,EAAE,OAAO,EAAM,uBAAuB,EAAM,6BAA6B,IAAA,EAAU,CAA4T,OAAxT,EAA6B,EAAK,MAAM,CAAC,SAAS,uBAAuB,CAAC,EAAM,EAA2B,EAAM,MAAM,CAAC,SAAS,CAAC,+CAA+C,CAAK,CAAC,CAAC,EAAO,EAAK,OAAwI,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,EAAE,EAAE,SAAS,EAAK,IAAI,GAAK,CAAgC,IAAM,GAAzB,EAAI,YAAY,CAAC,EAAA,CAAoB,OAAO,YAAkB,EAAa,EAAgB,CAAG,EAA2B,OAAoB,EAAM,IAAI,CAAC,KAA9C,EAAU,CAA2C,EAAE,OAAO,SAAS,IAAI,sBAAsB,MAAM,CAAC,QAAQ,GAAG,aAAa,GAAG,OAAO,oBAAoB,eAAe,OAAO,MAAM,UAAU,QAAQ,OAAO,cAAc,SAAS,IAAI,CAAC,EAAE,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,GAAG,EAAE,SAAS,CAAK,CAAC,EAAE,GAA2B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,EAAE,SAAS,CAAY,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,GAAG,WAAW,IAAI,eAAe,WAAW,EAAE,SAAS,WAAW,CAAC,CAAC,CAAC,EAAE,EAAI,EAAE,CAAE,CAAC,CAAC,CAAC,EAAj1B,EAAK,MAAM,CAAC,SAAS,+DAA+D,CAAC,CAA8vB,qBAH1mC,IAA4B,EAAO,EAAQ,2CAC5F,EAAQ"}