PageSourceSearch

https://poppinjobs.com/assets/index-Ghacp9J5.js

js poppinjobs.com collected 2026-10-08 18:28:35 UTC 6,039 bytes, 1 lines download raw bytes

1import{c as Q,F as $,G as k,r as a,j as i,I as s}from"./index-DB-VS0Ou.js";import{L as tt}from"./Layout-DX43Nf0c.js";import{b as rt,H as et,I as ct,S as _,a as j,p as V}from"./PreviousInterviews-2v_NAdpF.js";import{u as ut}from"./useDebouncedValue-BNnbrD14.js";import{u as at}from"./useInterviewStore-Bxmc2V1m.js";const I={time:"any",scoreMin:_,scoreMax:j,industry:"any"},it=10;function vt(){var O;const t=Q(),[r,c]=$(),{lookups:e,getLookups:u}=k(),{fetchHistory:o}=at(),[f,A]=a.useState(0),[g,v]=a.useState([]),[E,F]=a.useState(1),[h,B]=a.useState(!1),[M,p]=a.useState(!1),[q,P]=a.useState(""),T=a.useRef(null),N=a.useRef(0),G=((O=e==null?void 0:e.industries)==null?void 0:O.data)??[],m=a.useMemo(()=>mt(r),[r]),K=a.useMemo(()=>({time:m.time,scoreMin:m.scoreMin,scoreMax:m.scoreMax,industry:m.industry}),[m.time,m.scoreMin,m.scoreMax,m.industry]),b=ut(K,500),S=f>g.length,W=(n,x)=>{c(l=>{const d=new URLSearchParams(l);return R(d,n,x),d},{replace:!0})},X=(n,x)=>{c(l=>{const d=new URLSearchParams(l);return R(d,"scoreMin",n),R(d,"scoreMax",x),d},{replace:!0})},C=a.useCallback(async(n,x,{replace:l}={replace:!1})=>{var U,z;const d=++N.current;P(""),l?B(!0):p(!0);try{const y=rt(x,n,it),w=await o(y);if(d!==N.current)return;const Y=(w==null?void 0:w.data)??w,D=nt(Y).map(ot),Z=ft(w);A(Z),F(n),v(J=>l?D:dt(J,D))}catch(y){if(d!==N.current)return;P(((z=(U=y==null?void 0:y.response)==null?void 0:U.data)==null?void 0:z.message)||"Unable to load interview history right now.")}finally{d===N.current&&(B(!1),p(!1))}},[o]),H=a.useCallback(()=>{h||M||!S||C(E+1,b,{replace:!1})},[S,h,M,E,C,b]);return a.useEffect(()=>{(!e||!e.has_data)&&u()},[u,e==null?void 0:e.has_data]),a.useEffect(()=>{v([]),A(0),F(1),C(1,b,{replace:!0})},[C,b]),a.useEffect(()=>{if(!T.current||!S||h||M)return;const n=new IntersectionObserver(x=>{const[l]=x;l!=null&&l.isIntersecting&&H()},{root:null,rootMargin:"300px 0px 300px 0px",threshold:0});return n.observe(T.current),()=>n.disconnect()},[S,h,M,H]),i.jsx(tt,{title:"Previous Interviews",subtitle:"Review your complete interview history and track your progress over time.",backButton:!0,onBack:()=>t(s),backButtonLabel:"Back",children:i.jsxs("div",{className:"previous-interviews-page",children:[i.jsx(et,{filters:m,onFilterChange:W,onScoreRangeChange:X,industryOptions:G,resultsCount:f}),q?i.jsx("p",{className:"pi-list-status pi-list-status-error",children:q}):null,g.length>0||S||h||M?i.jsxs("section",{className:"pi-list","aria-live":"polite",children:[g.map(n=>i.jsx(ct,{session:n},n.sessionId)),i.jsx("div",{ref:T,className:"pi-load-sentinel","aria-hidden":"true"}),M?i.jsx("p",{className:"pi-list-status",children:"Loading more interviews..."}):null,!M&&!S?i.jsx("p",{className:"pi-list-status",children:"You've reached the end of your history."}):null]}):i.jsxs("section",{className:"pi-empty-state","aria-live":"polite",children:[i.jsx("span",{className:"pi-empty-icon","aria-hidden":"true",children:i.jsx("i",{className:"fa-regular fa-face-frown-open"})}),i.jsx("h3",{children:h?"Loading interviews...":"No sessions match these filters"}),i.jsx("p",{children:h?"Please wait while we pull your interview history.":"Try a broader time range or clear one of your selected filters."}),i.jsx("button",{type:"button",onClick:()=>c({},{replace:!0}),children:"Reset Filters"})]})]})})}function nt(t){return Array.isArray(t==null?void 0:t.sessions)?t.sessions:Array.isArray(t==null?void 0:t.items)?t.items:Array.isArray(t==null?void 0:t.results)?t.results:Array.isArray(t==null?void 0:t.data)?t.data:Array.isArray(t)?t:[]}function ot(t){return{...t,sessionId:(t==null?void 0:t.sessionId)??(t==null?void 0:t.id)??"",industryId:t==null?void 0:t.industryId,industryName:(t==null?void 0:t.industryName)??(t==null?void 0:t.industry),industry:(t==null?void 0:t.industry)??(t==null?void 0:t.industryName),roleTitle:(t==null?void 0:t.roleTitle)??(t==null?void 0:t.role_title)??"",interviewType:lt((t==null?void 0:t.interviewType)??(t==null?void 0:t.interview_type)),completedAt:(t==null?void 0:t.completedAt)??(t==null?void 0:t.completed_at),durationMinutes:(t==null?void 0:t.durationMinutes)??(t==null?void 0:t.duration_minutes),questionCount:(t==null?void 0:t.questionCount)??(t==null?void 0:t.question_count),strengths:Array.isArray(t==null?void 0:t.strengths)?t.strengths:(t==null?void 0:t.strengthChips)??[],areasToImprove:Array.isArray(t==null?void 0:t.areasToImprove)?t.areasToImprove:(t==null?void 0:t.improvementChips)??(t==null?void 0:t.improvement_areas)??[]}}function lt(t){if(!t)return"";const r=String(t).trim();return r?r===r.toLowerCase()?r.charAt(0).toUpperCase()+r.slice(1):r:""}function dt(t,r){const c=new Set,e=[];for(const u of[...t,...r]){const o=u==null?void 0:u.sessionId;
1!o||c.has(o)||(c.add(o),e.push(u))}return e}function ft(t){var c,e,u;const r=[(c=t==null?void 0:t.data)==null?void 0:c.totalCount,(e=t==null?void 0:t.data)==null?void 0:e.total,(u=t==null?void 0:t.data)==null?void 0:u.count,t==null?void 0:t.totalCount,t==null?void 0:t.total,t==null?void 0:t.count];for(const o of r){const f=Number(o);if(Number.isFinite(f)&&f>=0)return f}return 0}function mt(t){const r=t.get("time")||I.time,c=t.get("score"),e=c?ht(c):null,u=L(t.get("scoreMin"),I.scoreMin),o=L(t.get("scoreMax"),I.scoreMax),f=t.get("industry"),A=f===null?I.industry:V(f),g=(e==null?void 0:e.scoreMin)??u,v=(e==null?void 0:e.scoreMax)??o;return{time:r,scoreMin:Math.min(g,v),scoreMax:Math.max(g,v),industry:A}}function R(t,r,c){if(r==="scoreMin"){const u=L(c,I.scoreMin);u<=_?t.delete(r):t.set(r,String(u)),t.delete("score");return}if(r==="scoreMax"){const u=L(c,I.scoreMax);u>=j?t.delete(r):t.set(r,String(u)),t.delete("score");return}const e=r==="industry"?V(c):c;if(!e||e==="any"){t.delete(r);return}t.set(r,String(e))}function L(t,r){const c=Number(t);return Number.isFinite(c)?Math.max(_,Math.min(j,Math.round(c))):r}function ht(t){return t==="90_plus"?{scoreMin:90,scoreMax:j}:t==="80_89"?{scoreMin:80,scoreMax:89}:t==="70_79"?{scoreMin:70,scoreMax:79}:t==="below_70"?{scoreMin:_,scoreMax:69}:null}export{vt as default};

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.