1import{a as N,r as b,j as r,L as u}from"./app-DE9VL7gH.js";import{b as v,a as w,B as C}from"./job-posting-schema-Duv3epFw.js";import{B as S}from"./BrowsePageHeader-524U8u58.js";import{F as B}from"./container-ch_ggvfN.js";import{E}from"./empty-state-DfOg2UhT.js";import{S as L}from"./section-card-ztA4LS1L.js";import{u as y}from"./use-translation-CKlnERS6.js";import{F as A}from"./front-layout-BCJhQTvc.js";import{m as c}from"./logo-C8ZCs8fP.js";import{A as D}from"./arrow-right-C-h4MCfA.js";import"./breadcrumb-CnG8hvVh.js";import"./use-mobile-navigation-7CJTI-Fj.js";import"./index-AIumpMIl.js";import"./BrowseSearchInput-DhEnHv_-.js";import"./search-CH7Avakq.js";import"./check-BUqOyC2B.js";import"./chevron-down-Bxw3aS9e.js";import"./tag-lg8DQxQn.js";import"./file-text-BhRiSut9.js";import"./briefcase-business-CpzDbSJt.js";import"./users-round-Dktj8YgL.js";const d="31";function Z({categories:p=[]}){var x;const{__:t,locale:o}=y(),{props:n}=N(),[i,_]=b.useState(""),h=((x=n.ziggy)==null?void 0:x.url)??"https://jobindo.com",m=route(`job-categories.${o}`),a=t("messages.browse_categories_heading"),g=b.useMemo(()=>[...p].sort((e,s)=>e.id===d||s.id===d?e.id===d?1:-1:e.name.localeCompare(s.name,o)),[p,o]),f=g.map(e=>({category:e,roles:c(i,e.name)?e.subcategories:e.subcategories.filter(s=>c(i,s.name))})).filter(({category:e,roles:s})=>c(i,e.name)||s.length>0),j=[v({items:[{name:t("messages.home"),url:route(o==="en"?"home.en":"home")},{name:a,url:m}],currentUrl:m,siteUrl:h}),w({name:a,itemListElement:g.map(e=>({name:e.name,url:e.url})),currentUrl:m,siteUrl:h})].filter(Boolean);return r.jsx(A,{meta:{title:t("meta.browse_categories_title",{current_month:n.current_month}),description:t("meta.browse_categories_description",{current_month:n.current_month}),robots:"index,follow",structuredData:j},children:r.jsxs(B,{className:"pt-6 pb-4 sm:pt-8",children:[r.jsx(C,{items:[{label:a}]}),r.jsx(S,{title:a,intro:t("messages.browse_categories_intro"),searchPlaceholder:t("messages.search_categories_placeholder"),query:i,onQueryChange:_}),f.length>0?r.jsx("ul",{className:"mt-8 grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:f.map(({category:e,roles:s})=>r.jsx("li",{children:r.jsxs(L,{className:"flex h-full flex-col p-5",children:[r.jsx("h2",{className:"text-base leading-snug font-semibold text-foreground",children:r.jsx(u,{href:e.url,className:"rounded-sm outline-none hover:text-primary focus-visible:ring-[3px] focus-visible:ring-ring/50",children:e.name})}),s.length>0&&r.jsx("ul",{className:"mt-2",children:s.map(l=>r.jsx("li",{children:r.jsx(u,{href:l.url,className:"flex min-h-11 items-center rounded-sm text-sm text-muted-foreground outline-none hover:text-primary focus-visible:ring-[3px] focus-visible:ring-ring/50 sm:min-h-9",children:l.name})},l.url))}),r.jsxs(u,{href:e.url,className:"mt-auto inline-flex min-h-11 items-center gap-1 self-start pt-3 text-sm font-medium text-primary underline-offset-4 outline-none hover:underline focus-visible:underline",children:[t("messages.jobs_in_category",{category_name:e.name}),r.jsx(D,{"aria-hidden":!0,className:"size-4"})]})]})},e.id))}):r.jsx(E,{className:"mt-8",title:t("messages.browse_no_results",{query:i.trim()})})]})})}export{Z 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.