PageSourceSearch

https://app.flexiple.com/assets/jobs-BQuzoozg.js

js flexiple.com collected 2026-10-02 04:24:47 UTC 10,807 bytes, 3 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e._posthogReleaseId=e._posthogReleaseId||"01a0d495-3f4a-0000-290a-2c30f385bc4f";var n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="ac914950-978c-551a-9e65-592f1a383abb")}catch(e){}}();import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{r as t,t as n}from"./jsx-runtime-CkaNx6Tr.js";import{t as r}from"./compiler-runtime-CdRN8tpM.js";import{t as i}from"./useInfiniteQuery-Bdth_Ch3.js";import{t as a}from"./useSuspenseQuery-BixkTy95.js";import{ar as o,ir as s}from"./react-query.gen-BKeYymh4.js";import{c,l,n as u,o as d,r as f,t as p}from"./preload-helper-BGm5d1eL.js";import{n as m}from"./dist-xni3LYfX.js";import{t as h}from"./button-rgbnoXnI.js";import{t as g}from"./arrow-right-Ds6gkJv6.js";import{t as _}from"./briefcase-BTfaoPFm.js";import{t as v}from"./clock-OeJ8CcpD.js";import{t as y}from"./map-pin-C6oa4vno.js";import{t as b}from"./search-4lY8CbJ8.js";import{t as x}from"./wallet-XzXEixLD.js";import{t as S}from"./current-user-7f8NU8qE.js";import{C,D as w,b as T,g as E,h as D,m as O,o as k,t as A,w as j,y as M}from"./dist-S-AdkY97.js";import{t as N}from"./infinite-query-utils-TP_E1Lzd.js";import{t as P}from"./input-DCX2caV3.js";import{t as F}from"./use-jobs-search-m8bgl82h.js";import{t as I}from"./card-DAlrKzUK.js";import{t as L}from"./skeleton-BRsuaW_R.js";import{t as R}from"./empty-state-G_LUbvE_.js";import{t as ee}from"./avatar-DspnPANC-uZrvbbGX.js";import"./avatar-Dgrbk2rL.js";import{t as te}from"./badges-CkvOtTQJ-B2obEZdR.js";import"./badge-Dc9OXwOO.js";import{r as ne,t as re}from"./job-utils-CShCNhvN.js";var z=e(t(),1),B=r(),V=n(),ie={contract:`Contract`,full_time:`Fulltime`,any:`Contract | Fulltime`};function ae(e){if(e==null)return null;let t=String(e).trim();return t===``||t===`0`||t===`0 years`?null:/[a-zA-Z]/.test(t)?t:`${t}+ yrs`}function oe(e){if(!e)return null;let t=Math.max(0,Math.round((Date.now()-new Date(e).getTime())/864e5));if(t<=0)return`Posted today`;if(t===1)return`Posted yesterday`;if(t<30)return`Posted ${t} days ago`;let n=Math.round(t/30);return n===1?`Posted 1 month ago`:`Posted ${n} months ago`}function H(e){let t=(0,B.c)(59),{job:n,onClick:r}=e,{designation:i,company_name:a,company:o,location_type:s,location:c,hide_budget:l,job_type:u,years_of_experience:f,created_at:p}=n,m;t[0]!==l||t[1]!==n.end_salary||t[2]!==n.start_salary?(m=l?null:ne(n.start_salary,n.end_salary),t[0]=l,t[1]=n.end_salary,t[2]=n.start_salary,t[3]=m):m=t[3];let h=m,b;t[4]!==c||t[5]!==s?(b=re(s,c),t[4]=c,t[5]=s,t[6]=b):b=t[6];let S=b,C=ie[u],w;t[7]===f?w=t[8]:(w=ae(f),t[7]=f,t[8]=w);let T=w,E;t[9]===p?E=t[10]:(E=oe(p),t[9]=p,t[10]=E);let D=E,O=String(n.id),k;t[11]===O?k=t[12]:(k={jobId:O},t[11]=O,t[12]=k);let A;t[13]!==n||t[14]!==r?(A=()=>r?.(n),t[13]=n,t[14]=r,t[15]=A):A=t[15];let j=o?.logo_url??null,M=a??i??`Job`,N;t[16]!==j||t[17]!==M?(N=(0,V.jsx)(ee,{src:j,name:M,size:`lg`,border:`subtle`}),t[16]=j,t[17]=M,t[18]=N):N=t[18];let P=i??`Untitled Role`,F;t[19]===P?F=t[20]:(F=(0,V.jsx)(`h3`,{className:`truncate text-lg font-bold text-primary group-hover:text-brand-primary`,children:P}),t[19]=P,t[20]=F);let L;t[21]===a?L=t[22]:(L=a&&(0,V.jsx)(`p`,{className:`mt-0.5 truncate text-sm font-medium text-tertiary`,children:a}),t[21]=a,t[22]=L);let R;t[23]!==F||t[24]!==L?(R=(0,V.jsxs)(`div`,{className:`flex flex-col`,children:[F,L]}),t[23]=F,t[24]=L,t[25]=R):R=t[25];let z;t[26]===o?z=t[27]:(z=o?.description&&(0,V.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-secondary`,children:o.description}),t[26]=o,t[27]=z);let H;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,V.jsx)(_,{className:`size-4 text-quaternary`}),t[28]=H):H=t[28];let U;t[29]===C?U=t[30]:(U=(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[H,C]}),t[29]=C,t[30]=U);let W;t[31]===h?W=t[32]:(W=h&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,V.jsx)(x,{className:`size-4 text-quaternary`}),h]}),t[31]=h,t[32]=W);let G;t[33]===S?G=t[34]:(G=S&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,V.jsx)(y,{className:`size-4 text-quaternary`}),S]}),t[33]=S,t[34]=G);let K;t[35]===T?K=t[36]:(K=T&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,V.jsx)(v,{className:`size-4 text-quaternary`}),T]}),t[35]=T,t[36]=K);let q;t[37]!==U||t[38]!==W||t[39]!==G||t[40]!==K?(q=(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1.5 text-sm text-tertiary`,children:[U,W,G,K]}),t[37]=U,t[38]=W,t[39]=G,t[40]=K,t[41]=q):q=t[41];let J;t[42]!==R||t[43]!==z||t[44]!==q?(J=(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[R,z,q]}),t[42]=R,t[43]=z,t[44]=q,t[45]=J):J=t[45];let Y;t[46]===D?Y=t[47]:(Y=D&&(0,V.jsx)(te,{color:`gray`,className:`shrink-0 self-start`,children:D}),t[46]=D,t[47]=Y);let X;t[48]!==N||t[49]!==J||t[50]!==Y?(X=(0,V.jsxs)(`div`,{className:`flex flex-col gap-3 p-5 md:flex-row md:items-start md:gap-5`,children:[N,J,Y]}),t[48]=N,t[49]=J,t[50]=Y,t[51]=X):X=t[51];let Z;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Z=(0,V.jsxs)(`div`,{className:`absolute bottom-4 right-5 inline-flex items-center gap-1 text-sm font-semibold text-brand-primary opacity-0 transition-opacity group-hover:opacity-100 group-focus-visible:opacity-100`,children:[`View role`,(0,V.jsx)(g,{className:`size-4`})]}),t[52]=Z):Z=t[52];let Q;t[53]===X?Q=t[54]:(Q=(0,V.jsxs)(I,{variant:`outlined`,hoverable:!0,className:`relative transition-shadow group-focus-visible:ring-2 group-focus-visible:ring-focus-brand`,children:[X,Z]}),t[53]=X,t[54]=Q);let $;return t[55]!==Q||t[56]!==k||t[57]!==A?($=(0,V.jsx)(d,{to:`/talent/jobs/$jobId`,params:k,className:`group block focus:outline-none`,onClick:A,"data-testid":`talent-job-card`,children:Q}),t[55]=Q,t[56]=k,t[57]=A,t[58]=$):$=t[58],$}function U(){let e=(0,B.c)(5),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,V.jsx)(L,{className:`size-12 rounded-full`}),e[0]=t):t=e[0];let n,r,i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,V.jsxs)(`div`,{className:`flex items-center gap-4`,children:[t,(0,V.jsxs)(`div`,{className:`flex-1 space-y-2`,children:[(0,V.jsx)(L,{className:`h-4 w-2/3`}),(0,V.jsx)(L,{className:`h-3 w-1/3`})]})]}),r=(0,V.jsx)(L,{className:`h-3 w-full`}),i=(0,V.jsx)(L,{className:`h-3 w-5/6`}),e[1]=n,e[2]=r,e[3]=i):(n=e[1],r=e[2],i=e[3]);let a;return e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,V.jsx)(I,{variant:`outlined`,children:(0,V.jsxs)(`div`,{className:`flex flex-col gap-4 p-5`,children:[n,r,i,(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)(L,{className:`h-5 w-24 rounded-full`}),(0,V.jsx)(L,{className:`h-9 w-28 rounded-md`})]})]})}),e[4]=a):a=e[4],a}function W(e){let t=(0,B.c)(18),{query:n,onCardClick:r,onClearFilters:a}=e,o=(0,z.useRef)(null),c;t[0]===n?c=t[1]:(c=N(s({query:n})),t[0]=n,t[1]=c);let{data:l,isPending:u,isFetchingNextPage:d,hasNextPage:f,fetchNextPage:p}=i(c),m=l?.pages.flatMap(G)??[],g,v;if(t[2]!==p||t[3]!==f||t[4]!==d?(g=()=>{if(typeof IntersectionObserver>`u`)return;let e=new IntersectionObserver(e=>{e[0].isIntersecting&&f&&!d&&p()},{threshold:0,rootMargin:`200px`});return o.current&&e.observe(o.current),()=>e.disconnect()},v=[f,d,p],t[2]=p,t[3]=f,t[4]=d,t[5]=g,t[6]=v):(g=t[5],v=t[6]),(0,z.useEffect)(g,v),u){let e;return t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,V.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,V.jsx)(U,{}),(0,V.jsx)(U,{}),(0,V.jsx)(U,{})]}
1),t[7]=e):e=t[7],e}if(m.length===0){let e;return t[8]===a?e=t[9]:(e=(0,V.jsx)(R,{variant:`bare`,icon:_,title:`No jobs found`,subtitle:`Try clearing filters or check back later`,action:(0,V.jsx)(h,{variant:`secondary`,size:`sm`,onClick:a,children:`Clear filters`})}),t[8]=a,t[9]=e),e}let y;t[10]===r?y=t[11]:(y=e=>(0,V.jsx)(H,{job:e,onClick:r},e.id),t[10]=r,t[11]=y);let b=m.map(y),x;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,V.jsx)(`div`,{ref:o}),t[12]=x):x=t[12];let S;t[13]===d?S=t[14]:(S=d&&(0,V.jsx)(U,{}),t[13]=d,t[14]=S);let C;return t[15]!==b||t[16]!==S?(C=(0,V.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[b,x,S]}),t[15]=b,t[16]=S,t[17]=C):C=t[17],C}function G(e){return e?.data??[]}var K=16;function q(e){return{page_size:K,...e.q?{q:e.q}:{},...e.job_type?{job_type:e.job_type}:{},...e.country_codes?.length?{country_codes:e.country_codes}:{},...e.client_account_id?{client_account_id:e.client_account_id}:{},...e.status?{status:e.status}:{},...e.designation?{designation:e.designation}:{}}}function J(){let e=(0,B.c)(14),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={strict:!1},e[0]=t):t=e[0];let n=l(t),r=c(),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=S(),e[1]=i):i=e[1];let{data:o}=a(i),s=o.data,u;e[2]===n?u=e[3]:(u=q(n),e[2]=n,e[3]=u);let d=u,f;e[4]===r?f=e[5]:(f=()=>{r({to:`/talent/jobs`,search:{}})},e[4]=r,e[5]=f);let p=f,h;e[6]===s.confirmed?h=e[7]:(h=e=>{s.confirmed||m.info(`Verify your email to apply for this job`)},e[6]=s.confirmed,e[7]=h);let g=h,_,v;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,V.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,V.jsx)(`h1`,{className:`text-xl font-bold text-primary`,children:`Browse Jobs`}),(0,V.jsx)(`p`,{className:`text-sm text-tertiary`,children:`Find your next opportunity from open roles across our network.`})]}),v=(0,V.jsx)(Y,{}),e[8]=_,e[9]=v):(_=e[8],v=e[9]);let y;return e[10]!==g||e[11]!==p||e[12]!==d?(y=(0,V.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[_,v,(0,V.jsx)(W,{query:d,onCardClick:g,onClearFilters:p})]}),e[10]=g,e[11]=p,e[12]=d,e[13]=y):y=e[13],y}function Y(){let e=(0,B.c)(3),{value:t,setValue:n}=F(),r;return e[0]!==n||e[1]!==t?(r=(0,V.jsx)(`div`,{className:`md:hidden`,children:(0,V.jsx)(P,{size:`sm`,icon:b,value:t,onChange:n,placeholder:`Search jobs by title, company, or keyword`,"aria-label":`Search jobs`})}),e[0]=n,e[1]=t,e[2]=r):r=e[2],r}var X=()=>p(()=>import(`./jobs-g5gDZJVs.js`),[]),Z=T(w([O(),C()]),j(Number),k()),Q=D({q:E(C()),job_type:E(M([`full_time`,`contract`,`any`])),country_codes:E(A(C())),client_account_id:E(Z),page:E(Z),status:E(M([`draft`,`submitted`,`published`,`closed`,`archived`])),designation:E(C())}),$=f(`/_authenticated/talent/_dashboard/jobs`)({validateSearch:Q,loaderDeps:({search:e})=>e,loader:async({context:{queryClient:e},deps:t})=>{let n=q(t),r=s?e.ensureInfiniteQueryData(N(s({query:n}))):e.ensureQueryData(o({query:n}));return await Promise.all([r,e.ensureQueryData(S())]),{crumbs:[{label:`Browse Jobs`}]}},head:()=>({meta:[{title:`Job Portal | Flexiple`}]}),component:u(X,`component`)});export{J as n,$ as t};
2//# sourceMappingURL=jobs-BQuzoozg.js.map
3//# chunkId=ac914950-978c-551a-9e65-592f1a383abb

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.