PageSourceSearch

https://petwellhk.com/assets/NGOs-VvXc9Xw_.js

js petwellhk.com collected 2026-10-06 05:22:51 UTC 9,731 bytes, 6 lines download raw bytes

vendor: 4,786 bytes, lines 1-6
1import{r as m,j as e,L as B}from"./react-vendor-BDHNqS4B.js";import{f as C,u as U,R as q,I as Q,b as z,g as W,h as Y,i as Z,j as J,k as X}from"./Header-BkbupWq-.js";import{M as ee,F as se}from"./Footer-CtylQEAH.js";import{C as te}from"./card-U4xgiZnN.js";import{c as ae,Y as re,Z as ne,_ as ie,$ as g,a0 as j,a1 as oe,b as N,u as le,I as ce,B as de}from"./main-m_sUF2N4.js";import{u as me}from"./useNGOs-CzWKW3M_.js";import{u as ue}from"./use-mobile-DOD0qs8p.js";import{u as xe}from"./useSEO-CoArDrdl.js";import{S as pe}from"./search-BSw3vufk.js";import{P as he}from"./phone-B2rvvDkK.js";import{G as fe}from"./type-CVgQCqWZ.js";import{H as ge}from"./heart-DRwCktcb.js";import{U as be}from"./users-DCdt65nH.js";import"./amplify-DYDcjoow.js";import"./chevron-right-CpkQxGj-.js";import"./check-DS0-tR9o.js";import"./tag-D40gy_Nl.js";import"./query-7-WHkg5t.js";import"./textarea-D7qsgB_p.js";import"./reportService-tEzofQZ6.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const ve=ae("Filter",[["polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3",key:"1yg77f"}]]);var b="Tabs",[je,Ue]=re(b,[C]),S=C(),[Ne,y]=je(b),I=m.forwardRef((a,r)=>{const{__scopeTabs:n,value:i,onValueChange:d,defaultValue:u,orientation:t="horizontal",dir:o,activationMode:x="automatic",...p}=a,c=U(o),[l,h]=ne({prop:i,onChange:d,defaultProp:u??"",caller:b});return e.jsx(Ne,{scope:n,baseId:ie(),value:l,onValueChange:h,orientation:t,dir:c,activationMode:x,children:e.jsx(g.div,{dir:c,"data-orientation":t,...p,ref:r})})});I.displayName=b;var R="TabsList",E=m.forwardRef((a,r)=>{const{__scopeTabs:n,loop:i=!0,...d}=a,u=y(R,n),t=S(n);return e.jsx(q,{asChild:!0,...t,orientation:u.orientation,dir:u.dir,loop:i,children:e.jsx(g.div,{role:"tablist","aria-orientation":u.orientation,...d,ref:r})})});E.displayName=R;var k="TabsTrigger",F=m.forwardRef((a,r)=>{const{__scopeTabs:n,value:i,disabled:d=!1,...u}=a,t=y(k,n),o=S(n),x=M(t.baseId,i),p=_(t.baseId,i),c=i===t.value;return e.jsx(Q,{asChild:!0,...o,focusable:!d,active:c,children:e.jsx(g.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":p,"data-state":c?"active":"inactive","data-disabled":d?"":void 0,disabled:d,id:x,...u,ref:r,onMouseDown:j(a.onMouseDown,l=>{!d&&l.button===0&&l.ctrlKey===!1?t.onValueChange(i):l.preventDefault()}),onKeyDown:j(a.onKeyDown,l=>{[" ","Enter"].includes(l.key)&&t.onValueChange(i)}),onFocus:j(a.onFocus,()=>{const l=t.activationMode!=="manual";!c&&!d&&l&&t.onValueChange(i)})})})});F.displayName=k;var P="TabsContent",L=m.forwardRef((a,r)=>{const{__scopeTabs:n,value:i,forceMount:d,children:u,...t}=a,o=y(P,n),x=M(o.baseId,i),p=_(o.baseId,i),c=i===o.value,l=m.useRef(c);return m.useEffect(()=>{const h=requestAnimationFrame(()=>l.current=!1);return()=>cancelAnimationFrame(h)},[]),e.jsx(oe,{present:d||c,children:({present:h})=>e.jsx(g.div,{"data-state":c?"active":"inactive","data-orientation":o.orientation,role:"tabpanel","aria-labelledby":x,hidden:!h,id:p,tabIndex:0,...t,ref:r,style:{...a.style,animationDuration:l.current?"0s":void 0},children:h&&u})})});L.displayName=P;function M(a,r){return`${a}-trigger-${r}`}function _(a,r){return`${a}-content-${r}`}var ye=I,G=E,A=F,O=L;const we=ye,$=m.forwardRef(({className:a,...r},n)=>e.jsx(G,{ref:n,className:N("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",a),...r}));$.displayName=G.displayName;const V=m.forwardRef(({className:a,...r},n)=>e.jsx(A,{ref:n,className:N("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a),...r}));V.displayName=A.displayName;const Te=m.forwardRef(({className:a,...r},n)=>e.jsx(O,{ref:n,className:N("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",a),...r}));Te.displayName=O.displayName;const qe=()=>{var T;const[a,r]=m.useState("all"),[n,i]=m.useState(""),[d,u]=m.useState(!1),{t,i18n:o}=le(),{ngos:x,isLoading:p,error:c}=me(a),l=ue(),h=m.useMemo(()=>({"@context":"https://schema.org","@type":"ItemList",name:"????????",description:"????????????????????",numberOfItems:x.length,itemListElement:x.slice(0,10).map((s,f)=>({"@type":"ListItem",position:f+1,item:{"@type":"NGO",name:o.language==="en"?s.nameEn:s.name,description:o.language==="en"?s.descriptionEn:s.description,address:s.address,telephone:s.phone}}))}),[x,o.language]);
6xe({title:"???????? | ??????????? | PetWell HK",description:"???????????????????????????????????????????????",keywords:"??????,????,????,????,????,????,??NGO,?????,????,??????",canonicalUrl:"https://petwellhk.com/ngos",structuredData:h});const w=x.filter(s=>{if(n){const f=n.toLowerCase(),H=(o.language==="en"?s.nameEn:s.name).toLowerCase(),K=(o.language==="en"?s.descriptionEn:s.description).toLowerCase();if(!H.includes(f)&&!K.includes(f))return!1}return!0}),v=[{value:"all",label:t("ngos.regions.all")},{value:"Kowloon",label:t("ngos.regions.kowloon")},{value:"Hong Kong",label:t("ngos.regions.hongKong")},{value:"New Territories",label:t("ngos.regions.newTerritories")}],D=s=>{r(s),u(!1)};return e.jsxs("div",{className:"min-h-screen flex flex-col",children:[e.jsx(z,{}),e.jsx("main",{className:"flex-1 pt-6 pb-16 bg-gradient-hero",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("section",{className:"text-center mb-12",children:[e.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-4",children:e.jsx("span",{className:"text-primary",children:t("ngos.pageTitle")})}),e.jsx("p",{className:"text-xl text-muted-foreground mb-4",children:t("ngos.subtitle")}),e.jsx("p",{className:"text-base text-muted-foreground",children:t("ngos.description")})]}),e.jsx("div",{className:"max-w-2xl mx-auto mb-6",children:e.jsxs("div",{className:"relative",children:[e.jsx(pe,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 text-muted-foreground w-5 h-5"}),e.jsx(ce,{type:"text",placeholder:t("ngos.searchPlaceholder"),value:n,onChange:s=>i(s.target.value),className:"pl-10"})]})}),!l&&e.jsx("nav",{"aria-label":"????",className:"mb-8",children:e.jsx(we,{defaultValue:"all",className:"mb-8",onValueChange:r,children:e.jsx($,{className:"grid w-full max-w-2xl mx-auto grid-cols-4 mb-8",children:v.map(s=>e.jsx(V,{value:s.value,children:s.label},s.value))})})}),l&&e.jsx("div",{className:"mb-6 flex justify-center",children:e.jsxs(W,{open:d,onOpenChange:u,children:[e.jsx(Y,{asChild:!0,children:e.jsxs(de,{variant:"outline",className:"gap-2",children:[e.jsx(ve,{className:"w-4 h-4"}),((T=v.find(s=>s.value===a))==null?void 0:T.label)||t("ngos.regions.all")]})}),e.jsxs(Z,{side:"left",className:"w-[280px]",children:[e.jsx(J,{children:e.jsx(X,{children:t("ngos.filterByRegion")})}),e.jsx("div",{className:"mt-6 space-y-2",children:v.map(s=>e.jsx("button",{onClick:()=>D(s.value),className:`w-full text-left px-4 py-3 rounded-lg transition-colors ${a===s.value?"bg-primary text-primary-foreground font-medium":"hover:bg-muted"}`,children:s.label},s.value))})]})]})}),!p&&!c&&e.jsx(e.Fragment,{children:e.jsx("section",{"aria-label":"????????",children:e.jsx("div",{className:"grid md:grid-cols-2 lg:grid-cols-3 gap-6",children:w.map(s=>e.jsx("article",{children:e.jsx(B,{to:`/ngos/${s.id}`,children:e.jsx(te,{className:"p-6 h-full hover:shadow-strong transition-shadow cursor-pointer",children:e.jsxs("div",{className:"space-y-4",children:[e.jsxs("header",{children:[e.jsx("h2",{className:"text-xl font-bold mb-2",children:o.language==="en"?s.nameEn:s.name}),s.established&&e.jsxs("p",{className:"text-sm text-muted-foreground",children:[t("ngos.established"),": ",s.established]})]}),e.jsx("p",{className:"text-sm text-muted-foreground line-clamp-3",children:o.language==="en"?s.descriptionEn:s.description}),e.jsxs("address",{className:"flex items-start gap-2 text-muted-foreground not-italic",children:[e.jsx(ee,{className:"w-4 h-4 flex-shrink-0 mt-0.5 text-primary"}),e.jsx("span",{className:"text-xs",children:s.address})]}),e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(he,{className:"w-4 h-4 flex-shrink-0 text-primary"}),e.jsx("a",{href:`tel:${s.phone}`,className:"text-xs hover:text-primary transition-colors",children:s.phone})]}),s.website&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(fe,{className:"w-4 h-4 flex-shrink-0 text-primary"}),e.jsx("a",{href:s.website,target:"_blank",rel:"noopener noreferrer",className:"text-xs hover:text-primary transition-colors truncate",onClick:f=>f.stopPropagation(),children:s.website.replace("https://","")})]}),e.jsxs("div",{className:"pt-3 border-t border-border space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(ge,{className:"w-4 h-4 text-primary"}),e.jsxs("span",{className:"text-muted-foreground",children:[s.donationCampaigns.length," ",t("ngos.activeCampaigns")]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx(be,{className:"w-4 h-4 text-primary"}),e.jsxs("span",{className:"text-muted-foreground",children:[s.volunteerEvents.length," ",t("ngos.volunteerEvents")]})]})]})]})})})},s.id))})})}),!p&&!c&&w.length===0&&e.jsx("div",{className:"text-center py-16",children:e.jsx("p",{className:"text-xl text-muted-foreground",children:t("ngos.noResults")})})]})}),e.jsx(se,{})]})};export{qe 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.