PageSourceSearch

https://www.internships.com/assets/internships.companies.index-D9218stn.js

js internships.com collected 2026-09-24 18:27:21 UTC 3,042 bytes, 1 lines download raw bytes

1import{r as b,gO as R,gP as v,j as e,cz as N,gS as w,cA as M,gT as A,cB as y,cC as L,gU as E}from"./main-DmDsGTCr.js";import{u as H,H as k,F as z,S as I,R as Q,b as B,c as O,a as T,d as D}from"./ranked-list-BK13cR26.js";import{c as F,M as U}from"./stat-strip-DL_zXyoh.js";import"./modified-click-CVYUpQWG.js";import"./months-BUif-t-m.js";const j=3;function _({payload:s,page:r=1,onPageChange:a,initialQuery:o,onQueryChange:d}){const{stats:u,companies:g}=s,{query:l,onQuery:x}=H(a,o,d),[i,f]=b.useState("interns");function S(n){f(n),a?.(1)}const p=b.useMemo(()=>g.filter(t=>R(l,[t.label,...t.categories.slice(0,j).map(c=>c.label)])).sort((t,c)=>i==="open"&&c.openRoles-t.openRoles||c.internsAnalyzed-t.internsAnalyzed),[g,l,i]),{page:C,totalPages:P,start:h,end:m}=v(p.length,r);return e.jsxs(N,{title:w,breadcrumbs:A(),children:[e.jsx(F,{stats:u}),e.jsx(U,{heading:`${u.companies.toLocaleString("en-US")} companies. You only need about ten.`,body:"Applying everywhere is how good students get zero offers. Tell us your school, major and graduation date, and we'll shortlist the ones that hire people like you and get your applications ready.",ctaLabel:"Build my shortlist"}),e.jsx(k,{label:"Search companies",placeholder:"Search by company or category",value:l,onChange:x}),e.jsxs("section",{className:"mt-8","aria-label":"Companies",children:[e.jsxs("div",{className:"flex flex-wrap items-baseline justify-between gap-x-5 gap-y-2",children:[e.jsx("h2",{className:"font-bold text-[20px] text-text-strong",children:i==="open"?"Most open roles":"Most total interns"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(z,{children:"Sort by"}),e.jsxs(I,{ariaLabel:"Sort by",value:i,onChange:n=>S(n),dense:!0,children:[e.jsx("option",{value:"interns",children:"Total interns"}),e.jsx("option",{value:"open",children:"Open roles"})]})]})]}),e.jsx(Q,{label:"Companies",isEmpty:p.length===0,filtersActive:l!=="",onClear:()=>x(""),clearHref:M("company"),emptyText:"No companies match your search.",children:p.map((n,t)=>e.jsx(q,{company:n,hidden:t<h||t>=m},n.slug))})]}),e.jsx(B,{rangeStart:h+1,rangeEnd:m,total:p.length}),e.jsx(O,{page:C,totalPages:P,listModified:i!=="interns",query:l,onPage:a})]})}function q({company:s,hidden:r}){const a=s.categories.slice(0,j);return e.jsx(T,{hidden:r,logoMark:s.logoMark,name:s.label,nameHref:y("company",s.slug),pills:a.map(o=>({label:o.label,href:L(s.slug,o.slug)})),moreHref:y("company",s.slug),moreCount:s.categories.length-a.length,rightPrimary:s.openRoles>0?e.jsxs("span",{className:"mb-[3px] block font-bold text-orange-press",children:[s.openRoles," open now"]}):e.jsx("span",{className:"mb-[3px] block font-bold text-text-subtle",children:"No open roles"}),rightSecondary:e.jsxs("div",{className:"text-[14px] text-text-subtle",children:[s.internsAnalyzed.toLocaleString("en-US")," total interns"]})})}function $(){const s=E.useLoaderData(),{page:r,setPage:a,query:o,setQuery:d}=D();return e.jsx(_,{payload:s,page:r,onPageChange:a,initialQuery:o,onQueryChange:d})}export{$ as component};

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.