PageSourceSearch

https://oilnow.gy/assets/people-CMG7IE50.js

js oilnow.gy collected 2026-10-02 07:42:32 UTC 7,501 bytes, 1 lines download raw bytes

1import{r as u,j as e}from"./vendor-clerk-CW4_2MMl.js";import{u as h}from"./people-4QlRUOlS.js";import{S as y}from"./site-footer-mhDU5e8Y.js";import{A as j}from"./site-footer-BZ-gNZJi.js";import{S as N}from"./skeleton-DqQ_WJ0a.js";import{I as k}from"./input-DjiL0aSY.js";import{D as v}from"./directory-header-j_PJt6b1.js";import{d as i,a6 as w}from"./index-BvRH0Ky1.js";import{S as C}from"./search-CUHT-bWd.js";import{U as S}from"./users-DfQNQnqB.js";import{E as T}from"./external-link-COz2iyRy.js";import"./logo-dark-_3Afpb0J.js";import"./article-url-_HFmwpam.js";import"./dropdown-menu-CbgVRjno.js";import"./index-BEA706Du.js";import"./Combination-B4XLLUBl.js";import"./index-Cxsgncl7.js";import"./chevron-right-FjOxgymW.js";import"./check-DDxpiGSP.js";import"./confirm-dialog-eyEDlxN3.js";import"./dialog-BMssFU_6.js";import"./index-DyZ7x75t.js";import"./file-text-cvCviHf6.js";import"./image-O8ZNEwDR.js";import"./message-square-B3kbpL74.js";import"./calendar-days-C7AwDUQi.js";import"./mail-CucW84DZ.js";import"./settings-D2K8S7Ub.js";import"./link-2-BogqTHAA.js";import"./trash-2-C_NL6wxH.js";import"./pencil-0wS7JCcZ.js";import"./user-DPk6VhoE.js";import"./clock-BaSqeJln.js";import"./radio-D1L4sgf3.js";import"./page-heading-BWg4Gum1.js";import"./vendor-editor-Cu-Vhp5u.js";import"./vendor-charts-r3Sr4R8y.js";const E=["Guyana","Trinidad and Tobago","Suriname","Regional","International"],p={Guyana:"bg-green-100 text-green-800 border-green-200 dark:bg-green-900/30 dark:text-green-300 dark:border-green-800","Trinidad and Tobago":"bg-red-100 text-red-800 border-red-200 dark:bg-red-900/30 dark:text-red-300 dark:border-red-800",Suriname:"bg-amber-100 text-amber-800 border-amber-200 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-800",Regional:"bg-sky-100 text-sky-800 border-sky-200 dark:bg-sky-900/30 dark:text-sky-300 dark:border-sky-800",International:"bg-violet-100 text-violet-800 border-violet-200 dark:bg-violet-900/30 dark:text-violet-300 dark:border-violet-800"},L=p,I={Guyana:"bg-green-600 text-white border-green-600 shadow-sm","Trinidad and Tobago":"bg-red-600 text-white border-red-600 shadow-sm",Suriname:"bg-amber-500 text-white border-amber-500 shadow-sm",Regional:"bg-sky-600 text-white border-sky-600 shadow-sm",International:"bg-violet-600 text-white border-violet-600 shadow-sm"};function A(s){return s?p[s]??"bg-muted text-muted-foreground border-border":"bg-muted text-muted-foreground border-border"}function ge(){const{data:s,isLoading:g,isError:b,refetch:f}=h(),[a,l]=u.useState(""),[o,d]=u.useState("all"),n=s??[],m=E.filter(r=>n.some(t=>t.country===r)),c={all:n.length,...Object.fromEntries(m.map(r=>[r,n.filter(t=>t.country===r).length]))},x=n.filter(r=>{if(o!=="all"&&r.country!==o)return!1;if(!a.trim())return!0;const t=a.toLowerCase();return r.name.toLowerCase().includes(t)||(r.title??"").toLowerCase().includes(t)||(r.organisation??"").toLowerCase().includes(t)||(r.country??"").toLowerCase().includes(t)});return e.jsx("div",{className:"min-h-screen bg-muted",children:e.jsxs("div",{className:"min-h-screen bg-background text-foreground font-editorial-body max-w-[1440px] mx-auto border-x border-border shadow-xl",children:[e.jsx(y,{}),e.jsx(v,{title:"Key People",description:"Senior figures, executives, and policymakers shaping the Caribbean and South American energy sector."}),e.jsx("div",{className:"sticky top-14 z-30 bg-background/95 backdrop-blur border-b border-border",children:e.jsxs("div",{className:"max-w-[1400px] mx-auto px-4 sm:px-6 py-3 flex items-center gap-2 overflow-x-auto scrollbar-hide",children:[e.jsxs("button",{onClick:()=>d("all"),className:i("flex-shrink-0 inline-flex items-center gap-1.5 px-4 py-1.5 rounded-full text-sm font-medium border transition-all duration-200",o==="all"?"bg-primary text-primary-foreground border-primary shadow-sm":"bg-muted text-muted-foreground border-border hover:text-foreground hover:border-foreground
1/30"),children:["All",e.jsx("span",{className:i("text-[11px] font-mono",o==="all"?"opacity-80":"opacity-60"),children:c.all})]}),m.map(r=>e.jsxs("button",{onClick:()=>d(r),className:i("flex-shrink-0 inline-flex items-center gap-1.5 px-4 py-1.5 rounded-full text-sm font-medium border transition-all duration-200",o===r?I[r]:L[r]),children:[r,e.jsx("span",{className:"text-[11px] font-mono opacity-70",children:c[r]})]},r))]})}),e.jsxs("div",{className:"max-w-[1200px] mx-auto px-4 sm:px-6 py-10 space-y-6",children:[e.jsxs("div",{className:"relative max-w-sm",children:[e.jsx(C,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(k,{placeholder:"Search by name, role, or country…",value:a,onChange:r=>l(r.target.value),className:"pl-9 pr-9 bg-background"}),a&&e.jsx("button",{onClick:()=>l(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear search",children:e.jsx(w,{className:"h-4 w-4"})})]}),g?e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:Array.from({length:6}).map((r,t)=>e.jsx(N,{className:"h-28 w-full rounded-xl"},t))}):b?e.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center",children:[e.jsx("p",{className:"font-semibold text-foreground",children:"People directory unavailable"}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Please check your connection and try again."}),e.jsx("button",{onClick:()=>f(),className:"mt-5 rounded-lg bg-accent px-5 py-2.5 text-xs font-display font-medium uppercase tracking-widest text-accent-foreground",children:"Try again"})]}):x.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center py-20 text-center",children:[e.jsx(S,{className:"h-12 w-12 text-muted-foreground/30 mb-4"}),e.jsx("p",{className:"font-semibold text-foreground mb-1",children:"No people found"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:a.trim()?`No results for "${a}".`:o!=="all"?`No profiles for ${o} yet.`:"No profiles have been added yet."})]}):e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:x.map(r=>e.jsxs("a",{href:`/people/${r.slug}`,className:"flex items-start gap-4 p-4 rounded-xl border border-border bg-card hover:border-primary/40 hover:shadow-md transition-all group",children:[e.jsx("div",{className:"flex-shrink-0 w-12 h-12 rounded-full overflow-hidden bg-muted border border-border",children:r.photo?.url?e.jsx("img",{src:r.photo.url,alt:r.name,className:"w-full h-full object-cover"}):e.jsx("div",{className:"w-full h-full flex items-center justify-center",children:e.jsx("span",{className:"text-lg font-bold text-muted-foreground/40 select-none",children:r.name.charAt(0).toUpperCase()})})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"font-semibold text-foreground group-hover:text-primary transition-colors text-sm leading-tight truncate",children:r.name}),r.title&&e.jsx("p",{className:"text-xs text-muted-foreground mt-0.5 line-clamp-1",children:r.title}),r.organisation&&e.jsx("p",{className:"text-xs text-muted-foreground/60 mt-0.5 truncate",children:r.organisation}),r.country&&e.jsx("span",{className:i("mt-1.5 inline-block text-[10px] font-bold uppercase tracking-wider px-1.5 py-0.5 rounded-full border",A(r.country)),children:r.country})]}),e.jsx(T,{className:"h-3.5 w-3.5 text-muted-foreground/30 group-hover:text-primary/60 flex-shrink-0 mt-0.5 transition-colors"})]},r.id))})]}),e.jsx(j,{})]})})}export{ge 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.