PageSourceSearch

https://visipage.ai/_assets/directory-BzjUFki4.js

js visipage.ai collected 2026-10-05 13:15:05 UTC 6,960 bytes, 1 lines download raw bytes

1import{b3 as v,r as l,j as e,aB as j,U as P}from"./vendor-BNYS6O0P.js";import{G as b,S as N,F as S}from"./index-Cz5nqbOF.js";import{I as C}from"./Input-DeO5_FHm.js";import{D}from"./DirectoryProfileCard-0k5IISra.js";import{P as I,a as w,b as g,c as L,d as k,e as G}from"./Pagination-Bv8P1tyz.js";import{g as T}from"./verticalData-BlLmf5Qw.js";import{u as A}from"./directoryQueries-BWnybiJd.js";import{u as V}from"./useDebounce-C3ziv6W2.js";import{J as $}from"./JsonLd-jD_TXRYe.js";import"./schema-DnF2nRfe.js";const B="_pageWrapper_15fvi_2",M="_main_15fvi_9",E="_hero_15fvi_19",z="_title_15fvi_29",F="_subtitle_15fvi_39",W="_searchContainer_15fvi_46",R="_searchIcon_15fvi_53",U="_searchInput_15fvi_63",J="_categoriesSection_15fvi_73",H="_sectionTitle_15fvi_80",O="_categoriesGrid_15fvi_87",q="_categoryCard_15fvi_93",K="_categoryName_15fvi_118",Q="_categoryDesc_15fvi_125",X="_profilesSection_15fvi_133",Y="_profilesGrid_15fvi_139",Z="_loadingGrid_15fvi_146",ee="_skeletonCard_15fvi_151",te="_emptyState_15fvi_156",se="_paginationContainer_15fvi_165",ie="_disabledLink_15fvi_171",t={pageWrapper:B,main:M,hero:E,title:z,subtitle:F,searchContainer:W,searchIcon:R,searchInput:U,categoriesSection:J,sectionTitle:H,categoriesGrid:O,categoryCard:q,categoryName:K,categoryDesc:Q,profilesSection:X,profilesGrid:Y,loadingGrid:Z,skeletonCard:ee,emptyState:te,paginationContainer:se,disabledLink:ie};function he(){const[c,p]=v(),_=c.get("search")||"",r=parseInt(c.get("page")||"1",10),[h,f]=l.useState(_),n=V(h,500);l.useEffect(()=>{const s=c.get("search")||"";n!==s&&p(o=>{const i=new URLSearchParams(o);return n?i.set("search",n):i.delete("search"),i.delete("page"),i},{replace:!0})},[n,c,p]),l.useEffect(()=>{f(c.get("search")||"")},[c]);const{data:a,isFetching:u}=A({search:n||void 0,profileType:"person",page:r,limit:24}),x=l.useMemo(()=>T(),[]),m=s=>{p(o=>{const i=new URLSearchParams(o);return s>1?i.set("page",s.toString()):i.delete("page"),i}),window.scrollTo({top:0,behavior:"smooth"})},y=l.useMemo(()=>{const s={"@context":"https://schema.org","@type":"CollectionPage",name:"Professional Directory — Visipage",description:"Browse verified professional profiles across industries. AI-optimized entity profiles for executives, founders, and thought leaders.",url:"https://visipage.ai/directory",isPartOf:{"@type":"WebSite",name:"Visipage",url:"https://visipage.ai"},breadcrumb:{"@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://visipage.ai"},{"@type":"ListItem",position:2,name:"Directory",item:"https://visipage.ai/directory"}]}};if(!a?.profiles)return[s];const o={"@context":"https://schema.org","@type":"ItemList",itemListElement:a.profiles.map((i,d)=>({"@type":"ListItem",position:d+1,url:`https://visipage.ai/profile/${i.slug}`,name:i.name}))};return[s,o]},[a?.profiles]);return e.jsxs(e.Fragment,{children:[e.jsx("title",{children:"Professional Directory | Visipage"}),e.jsx("meta",{name:"description",content:"Browse our public directory of AI-optimized professional profiles across various industries. Discover verified experts tailored for search engines and GPT crawlers."}),e.jsx("meta",{name:"robots",content:"index, follow"}),e.jsx("link",{rel:"alternate",hrefLang:"en",href:"https://visipage.ai/directory"}),e.jsx("link",{rel:"alternate",hrefLang:"x-default",href:"https://visipage.ai/directory"}),e.jsx("meta",{property:"og:type",content:"website"}),e.jsx("meta",{property:"og:site_name",content:"Visipage"}),e.jsx("meta",{property:"og:title",content:"Professional Directory | Visipage"}),e.jsx("meta",{property:"og:description",content:"Browse our public directory of AI-optimized professional profiles across various industries. Discover verified experts tailored for search engines and GPT crawlers."}),e.jsx("meta",{property:"og:url",content:"https://visipage.ai/directory"}),e.jsx("meta",{property:"og:image",content:"https://visipage.ai/_cdn/static/visipage-og-image.png"}),e.jsx("meta",{property:"og:image:width",content:"1200"}),e.jsx("meta",{property:"og:image:height",content:"630"}),e.jsx("meta",{name:"twitter:card",content:"summary_large_image"}),e.jsx("meta",{name:"twitter:title",content:"Professional Directory | Visipage"}),e.jsx("meta",{name:"twitter:description",content:"Browse our public directory of AI-optimized professional profiles across various industries. Discover verified experts tailored for search engines and GPT crawlers."}),e.jsx("meta",{name:"twitter:image",content:"https://visipage.ai/_cdn/static/visipage-og-image.png"}),e.jsx($,{data:y}),e.jsxs("div",{className:t.pageWrapper,children:[e.jsx(b,{}),e.jsxs("main",{className:t.main,children:[e.jsxs("section",{className:t.hero,children:[e.jsx("h1",{className:t.title,children:"Professional Directory"}
1),e.jsx("p",{className:t.subtitle,children:"Discover AI-visible professionals across every industry. Search for verified experts or explore by vertical."}),e.jsxs("div",{className:t.searchContainer,children:[e.jsx(j,{className:t.searchIcon,size:20}),e.jsx(C,{type:"search",placeholder:"Search by name, title, or keyword...",className:t.searchInput,value:h,onChange:s=>f(s.target.value),"aria-label":"Search profiles"})]})]}),!n&&e.jsxs("section",{className:t.categoriesSection,children:[e.jsx("h2",{className:t.sectionTitle,children:"Browse by Industry"}),e.jsx("div",{className:t.categoriesGrid,children:x.map(s=>e.jsxs(P,{to:`/directory/${s.slug}`,className:t.categoryCard,children:[e.jsx("h3",{className:t.categoryName,children:s.displayName}),e.jsx("p",{className:t.categoryDesc,children:s.description})]},s.slug))})]}),e.jsxs("section",{className:t.profilesSection,children:[e.jsx("h2",{className:t.sectionTitle,children:n?`Search Results for "${n}"`:"All People"}),!a&&u?e.jsx("div",{className:t.profilesGrid,children:Array.from({length:8}).map((s,o)=>e.jsx(N,{className:t.skeletonCard},o))}):a?.profiles.length===0?e.jsx("div",{className:t.emptyState,children:"No profiles found matching your criteria. Try adjusting your search."}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:`${t.profilesGrid} ${u?t.loadingGrid:""}`,children:a?.profiles.map(s=>e.jsx(D,{...s},s.id))}),a&&a.totalPages>1&&e.jsx("div",{className:t.paginationContainer,children:e.jsx(I,{children:e.jsxs(w,{children:[e.jsx(g,{children:e.jsx(L,{href:`?page=${Math.max(1,r-1)}`,onClick:s=>{s.preventDefault(),m(Math.max(1,r-1))},"aria-disabled":r===1,className:r===1?t.disabledLink:""})}),Array.from({length:Math.min(5,a.totalPages)}).map((s,o)=>{let i=r-2+o;return r<=3?i=o+1:r>=a.totalPages-2&&(i=a.totalPages-4+o),i>0&&i<=a.totalPages?e.jsx(g,{children:e.jsx(k,{href:`?page=${i}`,isActive:i===r,onClick:d=>{d.preventDefault(),m(i)},children:i})},i):null}),e.jsx(g,{children:e.jsx(G,{href:`?page=${Math.min(a.totalPages,r+1)}`,onClick:s=>{s.preventDefault(),m(Math.min(a.totalPages,r+1))},"aria-disabled":r===a.totalPages,className:r===a.totalPages?t.disabledLink:""})})]})})})]})]})]}),e.jsx(S,{})]})]})}export{he 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.