PageSourceSearch

https://www.growthmentor.com/vite/assets/board.page-CtH3dZQO.js

js growthmentor.com collected 2026-10-03 22:40:25 UTC 10,789 bytes, 2 lines download raw bytes

1import{Z as H,g as u,o as n,e as i,d as A,O as B,Q as N,D,f as x,F as q,i as j,j as k,b as y,l as F,u as V,ak as R,a2 as I,w as c,s as b,h as g,t as f,cj as L,c as v,V as U,ay as E,H as W,m as G,G as P,aH as Q,_ as z,n as Y}from"./inertia-CqvOxjk8.js";import{_ as Z}from"./AppPage.vue_vue_type_script_setup_true_lang-Catmcylr.js";import{_ as J}from"./Card.vue_vue_type_script_setup_true_lang-BbqfVNtO.js";import{_ as K}from"./ListingRow.vue_vue_type_script_setup_true_lang-CtCvuahK.js";import{_ as M}from"./PostRoleButton.vue_vue_type_script_setup_true_lang-DJCNmHUk.js";import{_ as O}from"./BoardEmptyState.vue_vue_type_script_setup_true_lang-CTyP3S2O.js";/* empty css                 *//* empty css              *//* empty css                    *//* empty css                   *//* empty css                */import"./PageColumn.vue_vue_type_script_setup_true_lang-CZMcDZfw.js";import"./PageTabs.vue_vue_type_script_setup_true_lang-DQYkYU2x.js";import"./StartupInitial.vue_vue_type_script_setup_true_lang-DFatAlGl.js";import"./useListingSave-BmfJSDdA.js";import"./ListingStatusTag.vue_vue_type_script_setup_true_lang-BTTZX004.js";import"./ban-BTK0VXjC.js";import"./send-DdakvwYG.js";import"./useHiringUpgradeModal-BCp8WNBi.js";const X={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ee(r,m){return n(),u("svg",X,[...m[0]||(m[0]=[i("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M10 5H3m9 14H3M14 3v4m2 10v4m5-9h-9m9 7h-5m5-14h-7m-6 5v4m0-2H3"},null,-1)])])}const te=H({name:"lucide-sliders-horizontal",render:ee}),le={class:"@container"},se={class:"flex flex-col gap-3 @min-[46rem]:flex-row @min-[46rem]:items-center @min-[46rem]:justify-between"},ae={role:"radiogroup","aria-label":"Work type",class:"flex w-full overflow-x-auto rounded-xl bg-neutral-200/60 p-1 @min-[46rem]:w-auto"},ne=["aria-checked","onClick"],re={class:"flex items-center gap-1"},oe={class:"relative block min-w-0 flex-1 @min-[46rem]:w-52 @min-[46rem]:flex-none"},ie={key:0,class:"grid size-5 place-items-center rounded-full bg-neutral-900 text-[11px] font-semibold text-white tabular-nums"},ue={class:"max-h-[70vh] w-72 overflow-y-auto overscroll-contain p-2"},ce={class:"px-2 pb-1 text-xs font-medium text-neutral-500"},de=["aria-checked","onClick"],me={class:"truncate"},pe=["aria-pressed"],ye={key:0,class:"mt-3 flex flex-wrap items-center gap-1.5"},ve=A({__name:"BoardToolbar",props:B({state:{},typeCounts:{},industries:{},skills:{}},{search:{required:!0},searchModifiers:{}}),emits:B(["update","clear"],["update:search"]),setup(r,{emit:m}){const l=r,s=m,p=N(r,"search"),w={year:"Salary",month:"Monthly",day:"Day rate",hour:"Hourly",project:"Project fee",equity:"With equity"},T=k(()=>{const a=l.typeCounts;return[{value:"all",label:"All",count:a?.all??null},{value:"full_time",label:"Full-time",count:a?.fullTime??null},{value:"part_time",label:"Part-time",count:a?.partTime??null},{value:"project",label:"Project",count:a?.project??null}]}),C=k(()=>l.state.type.length===1?l.state.type[0]:"all"),_=(a,t)=>[...a,...t&&!a.includes(t)?[t]:[]],$=k(()=>{const a=[{key:"remote",label:"Place",value:l.state.remote?"remote":null,options:[{value:null,label:"Anywhere"},{value:"remote",label:"Remote only"}],toValue:e=>e==="remote"},{key:"pay",label:"Pay",value:l.state.pay,options:[{value:null,label:"Any pay"},...Object.entries(w).map(([e,d])=>({value:e,label:d}))],toValue:e=>e}],t=_(l.industries,l.state.industry);t.length&&a.push({key:"industry",label:"Industry",value:l.state.industry,options:[{value:null,label:"Any industry"},...t.map(e=>({value:e,label:e}))],toValue:e=>e});const o=_(l.skills,l.state.skill);return o.length&&a.push({key:"skill",label:"Skill",value:l.state.skill,options:[{value:null,label:"Any skill"},...o.map(e=>({value:e,label:e}))],toValue:e=>e}),a}),h=k(()=>[l.state.remote,l.state.pay,l.state.industry,l.state.skill].filter(
1Boolean).length),S=k(()=>{const a=[];return l.state.q&&a.push({key:"q",label:`"${l.state.q}"`,clear:{q:null}}),l.state.remote&&a.push({key:"remote",label:"Remote only",clear:{remote:!1}}),l.state.pay&&a.push({key:"pay",label:w[l.state.pay],clear:{pay:null}}),l.state.industry&&a.push({key:"industry",label:l.state.industry,clear:{industry:null}}),l.state.skill&&a.push({key:"skill",label:l.state.skill,clear:{skill:null}}),a});return(a,t)=>{const o=D("VDropdown");return n(),u("div",le,[i("div",se,[i("div",ae,[(n(!0),u(q,null,j(T.value,e=>(n(),u("button",{key:e.value,type:"button",role:"radio","aria-checked":e.value===C.value,class:b(["focus-visible:ring-primary-200 flex flex-1 items-center justify-center gap-1.5 rounded-lg px-3.5 py-1.5 text-sm font-medium whitespace-nowrap transition-colors focus:outline-none focus-visible:ring-2 @min-[46rem]:flex-none",e.value===C.value?"bg-white text-neutral-900 shadow-sm":"text-neutral-500 hover:text-neutral-900"]),onClick:d=>s("update",{type:e.value==="all"?[]:[e.value]})},[g(f(e.label)+" ",1),e.count!==null?(n(),u("span",{key:0,class:b(["text-xs tabular-nums",e.value===C.value?"text-neutral-500":"text-neutral-400"])},f(e.count),3)):x("",!0)],10,ne))),128))]),i("div",re,[i("label",oe,[t[3]||(t[3]=i("span",{class:"sr-only"},"Search roles",-1)),y(V(R),{class:"pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-neutral-400","aria-hidden":"true"}),F(i("input",{"onUpdate:modelValue":t[0]||(t[0]=e=>p.value=e),type:"search",placeholder:"Search",class:"focus:ring-primary-100 h-9 w-full rounded-lg border-0 bg-transparent py-0 pr-3 pl-9 text-sm text-neutral-800 shadow-none outline-none placeholder:text-neutral-400 hover:bg-neutral-200/50 focus:bg-white focus:ring-2"},null,512),[[I,p.value]])]),y(o,{placement:"bottom-end",distance:6},{popper:c(()=>[i("div",ue,[(n(!0),u(q,null,j($.value,e=>(n(),u("section",{key:e.key,class:"border-b border-neutral-100 px-1 py-2 last:border-b-0"},[i("h3",ce,f(e.label),1),(n(!0),u(q,null,j(e.options,d=>(n(),u("button",{key:d.value??"any",type:"button",role:"menuitemradio","aria-checked":d.value===e.value,class:b(["flex w-full items-center justify-between gap-3 rounded-lg px-2 py-1.5 text-left text-sm transition-colors hover:bg-neutral-50 focus:bg-neutral-100 focus:outline-none",d.value===e.value?"font-medium text-neutral-900":"text-neutral-600"]),onClick:ke=>s("update",{[e.key]:e.toValue(d.value)})},[i("span",me,f(d.label),1),d.value===e.value?(n(),v(V(U),{key:0,class:"text-secondary-600 size-4 shrink-0","aria-hidden":"true"})):x("",!0)],10,de))),128))]))),128))])]),default:c(()=>[i("button",{type:"button",class:b(["focus-visible:ring-primary-200 inline-flex h-9 items-center gap-1.5 rounded-lg px-3 text-sm font-medium whitespace-nowrap transition-colors hover:bg-neutral-200/50 focus:outline-none focus-visible:ring-2",h.value?"text-neutral-900":"text-neutral-600"])},[y(V(te),{class:"size-4","aria-hidden":"true"}),t[4]||(t[4]=g(" Filters ",-1)),h.value?(n(),u("span",ie,f(h.value),1)):x("",!0)],2)]),_:1}),i("button",{type:"button",class:b(["focus-visible:ring-primary-200 inline-flex h-9 items-center gap-1.5 rounded-lg px-3 text-sm font-medium whitespace-nowrap transition-colors hover:bg-neutral-200/50 focus:outline-none focus-visible:ring-2",r.state.saved?"text-neutral-900":"text-neutral-600"]),"aria-pressed":r.state.saved,onClick:t[1]||(t[1]=e=>s("update",{saved:!r.state.saved}))},[y(V(L),{class:b(["size-4",{"text-secondary-600 [&>*]:fill-current":r.state.saved}]),"aria-hidden":"true"},null,8,["class"]),t[5]||(t[5]=g(" Saved ",-1))],10,pe)])]),S.value.length?(n(),u("ul",ye,[(n(!0),u(q,null,j(S.value,e=>(n(),u("li",{key:e.key},[y(E,{color:"gray",size:"small",removable:"",onRemove:d=>s("update",e.clear)},{default:c(()=>[g(f(e.label),1)]),_:2},1032,["onRemove"])]))),128)),i("li",null,[i("button",{type:"button",class:"px-1.5 text-xs font-medium text-neutral-500 underline-offset-2 hover:text-neutral-900 hover:underline",onClick:t[2]||(t[2]=e=>s("clear"))}," Clear all ")])])):x("",!0)])}}}),fe={class:"@container"},he={key:1,class:"mt-4 text-sm text-neutral-500"},Ne=A({__name:"board.page",props:{listings:{},filters:{},filterOptions:{},total:{},typeCounts:{},viewer:{}}
1,setup(r){const m=r,l={type:[],remote:!1,industry:null,skill:null,pay:null,q:null,saved:!1},s=W({...l,...m.filters,type:[...m.filters.type??[]]}),p=G(m.filters.q??"");P(()=>m.filters,t=>{Object.assign(s,{...t,type:[...t.type??[]]})});const w=k(()=>s.type.length>0||s.remote||!!s.industry||!!s.skill||!!s.pay||!!s.q||s.saved),T=k(()=>s.saved&&!s.type.length&&!s.remote&&!s.industry&&!s.skill&&!s.pay&&!s.q),C=t=>{const o={};return t.type.length&&(o.type=t.type),t.remote&&(o.remote=1),t.pay&&(o.pay=t.pay),t.industry&&(o.industry=t.industry),t.skill&&(o.skill=t.skill),t.q&&(o.q=t.q),t.saved&&(o.saved=1),o},_=()=>{Y.get("/hiring",C(s),{preserveState:!0,preserveScroll:!0,replace:!0,only:["listings","filters","total","typeCounts"]})},$=t=>{Object.assign(s,t),_()},h=Q(()=>{const t=p.value.trim()||null;t!==s.q&&$({q:t})},350);P(p,h);const S=t=>{"q"in t&&!t.q&&(h.cancel(),p.value=""),$(t)},a=()=>{h.cancel(),p.value="",Object.assign(s,{...l,type:[]}),_()};return(t,o)=>(n(),v(Z,{title:"Hiring",description:"Roles and projects from founders in the community. Only members see them."},{actions:c(()=>[y(M,{"is-paid":r.viewer.isPaid},null,8,["is-paid"])]),default:c(()=>[i("div",fe,[r.listings.length||w.value?(n(),v(ve,{key:0,search:p.value,"onUpdate:search":o[0]||(o[0]=e=>p.value=e),state:s,"type-counts":r.typeCounts,industries:r.filterOptions.industries,skills:r.filterOptions.skills,onUpdate:S,onClear:a},null,8,["search","state","type-counts","industries","skills"])):x("",!0),r.listings.length&&r.total>r.listings.length?(n(),u("p",he," The newest "+f(r.listings.length)+" of "+f(r.total)+" roles. ",1)):x("",!0),r.listings.length?(n(),v(J,{key:2,class:"mt-5 divide-y divide-neutral-100 overflow-hidden p-0"},{default:c(()=>[(n(!0),u(q,null,j(r.listings,e=>(n(),v(K,{key:e.id,listing:e},null,8,["listing"]))),128))]),_:1})):T.value?(n(),v(O,{key:3,class:"mt-6",title:"No saved roles yet",text:"Save a role on the board and it stays here, so you can come back to it."},{default:c(()=>[y(z,{color:"primary",onClick:a},{default:c(()=>[...o[1]||(o[1]=[g(" See every role ",-1)])]),_:1})]),_:1})):w.value?(n(),v(O,{key:4,class:"mt-6",title:"No roles match these filters",text:"Try fewer filters, or clear them to see every open role."},{default:c(()=>[y(z,{color:"primary",onClick:a},{default:c(()=>[...o[2]||(o[2]=[g(" Clear filters ",-1)])]),_:1})]),_:1})):(n(),v(O,{key:5,class:"mt-6",title:"No roles yet",text:"When a founder in the community posts a role or a project, it shows here."},{default:c(()=>[y(M,{"is-paid":r.viewer.isPaid,color:"primary"},null,8,["is-paid"])]),_:1}))])]),_:1}))}});export{Ne as default};
2//# sourceMappingURL=board.page-CtH3dZQO.js.map

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.