PageSourceSearch

https://mohammadalqadi.com/assets/ExpertiseDetail-DY_-Nt0s.js

js mohammadalqadi.com collected 2026-10-07 04:13:56 UTC 5,065 bytes, 1 lines download raw bytes

1import{u as j,g as f,r as N,j as e,L as d,B as n,S as b,a as v,m as x,b as y,M as m,X as k,C as p,W as w}from"./index-ldNoJLeA.js";import{A as u}from"./arrow-left-Dr6QCUzg.js";import{C}from"./calendar-BJBQIJUK.js";function E(){const[,g]=j("/expertise/:slug"),l=g?.slug||"",a=f(l),[t,r]=N.useState(null);if(!a)return e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-background",children:e.jsxs("div",{className:"text-center",children:[e.jsx("h1",{className:"text-2xl font-bold text-foreground mb-4",children:"Expertise area not found"}),e.jsx(d,{href:"/",children:e.jsxs(n,{variant:"outline","data-testid":"link-back-home",children:[e.jsx(u,{className:"w-4 h-4 mr-2"}),"Back to Home"]})})]})});const h=a.projects.map(s=>s.country),i=[...new Set(h)],c=t?a.projects.filter(s=>s.country===t):a.projects;return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(b,{title:a.title,description:`Explore Dr. Alqadi's expertise in ${a.title.toLowerCase()} across ${i.length} countries including ${i.slice(0,3).join(", ")}.`,path:`/expertise/${l}`}),e.jsx(v,{name:a.title,description:a.description,path:`/expertise/${l}`}),e.jsxs("div",{className:"bg-foreground text-background relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 opacity-5",children:e.jsx("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle at 2px 2px, currentColor 1px, transparent 0)",backgroundSize:"40px 40px"}})}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8 relative z-10",children:[e.jsx(d,{href:"/",children:e.jsxs(n,{variant:"ghost",className:"text-background/70 hover:text-background mb-8","data-testid":"button-back",children:[e.jsx(u,{className:"w-4 h-4 mr-2"}),"Back to Home"]})}),e.jsxs(x.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.5},children:[e.jsx("h1",{className:"text-3xl md:text-5xl font-bold mb-4",style:{fontFamily:"var(--font-display)"},children:a.title}),e.jsx("p",{className:"text-lg text-background/70 max-w-3xl leading-relaxed",children:a.longDescription}),e.jsx("div",{className:"flex flex-wrap gap-2 mt-6",children:i.map(s=>e.jsxs(y,{variant:"outline",className:"border-background/30 text-background/80 cursor-pointer",onClick:()=>r(t===s?null:s),"data-testid":`badge-country-${s.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx(m,{className:"w-3 h-3 mr-1"}),s]},s))})]})]})]}),e.jsx("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-5 gap-8",children:[e.jsxs("div",{className:"lg:col-span-3 space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4 flex-wrap",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground",style:{fontFamily:"var(--font-display)"},children:t?`Projects in ${t==="Palestine"?"West Bank":t}`:"All Projects"}),t&&e.jsxs(n,{variant:"ghost",size:"sm",onClick:()=>r(null),"data-testid":"button-clear-filter",children:[e.jsx(k,{className:"w-4 h-4 mr-1"}),"Clear filter"]})]}),c.length===0&&e.jsx("p",{className:"text-muted-foreground py-8 text-center",children:"No projects found for this country."}),c.map((s,o)=>e.jsx(x.div,{initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{delay:o*.1,duration:.4},children:e.jsx(p,{className:"p-6 transition-all duration-300","data-testid":`card-project-${o}`,children:e.jsx("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-lg font-bold text-foreground mb-1",children:s.title}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3 mb-3",children:[e.jsxs("span",{className:"flex items-center gap-1 text-sm text-primary font-medium cursor-pointer",onClick:()=>r(t===s.country?null:s.country),children:[e.jsx(m,{className:"w-3.5 h-3.5"}),s.country]}),e.jsxs("span",{className:"flex items-center gap-1 text-sm text-muted-foreground",children:[e.jsx(C,{className:"w-3.5 h-3.5"}),s.year]})]}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:s.description})]})})})},`${s.country}-${s.title}`))]}),e.jsx("div",{className:"lg:col-span-2",children:e.jsxs("div",{className:"sticky top-8",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground mb-4",style:{fontFamily:"var(--font-display)"},children:"Project Locations"}),e.jsx(p,{className:"p-0",children:e.jsx(w,{activeCountry:t,onCountryClick:s=>r(t===s?null:s),className:"h-[350px] rounded-md",compact:!0})}),e.jsx("div",{className:"mt-6 grid grid-cols-2 gap-3",children:i.map(s=>e.jsxs("div",{className:`flex items-center gap-2 p-3 rounded-md cursor-pointer transition-all ${t===s?"bg-primary/10 text-primary":"text-muted-foreground"}`,onClick:()=>r(t===s?null:s),"data-testid":`filter-country-${s.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx("div",{className:`w-2.5 h-2.5 rounded-full ${t===s?"bg-primary":"bg-muted-foreground
1/30"}`}),e.jsx("span",{className:"text-sm font-medium",children:s})]},s))})]})})]})})]})}export{E 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.