// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later
// @source: https://gitlab.com/soapbox-pub/ditto/-/tree/f0a3877c
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{Or as t,bt as n,qi as r}from"./lucide-icons-BdRF0moN.js";import{t as i}from"./jsx-runtime-By8HlURe.js";import{t as a}from"./useAppContext-Ughdk2-Z.js";import{n as o}from"./chunk-62JRHF6Z-yJW_vgm4.js";import{t as s}from"./input-CM5Fnyvy.js";import{t as c}from"./countries-Du6BjHuX.js";import{w as l}from"./index-CYEZWNq6.js";import{t as u}from"./PageHeader-CMi4aeE4.js";var d=e(r(),1),f=i(),p=Object.entries(c).map(([e,{name:t,flag:n}])=>({code:e,name:t,flag:n})).sort((e,t)=>e.name.localeCompare(t.name));function m(){let{config:e}=a(),[r,i]=(0,d.useState)(``);l({title:`World | ${e.appName}`,description:`Browse countries and join the conversation`});let c=(0,d.useMemo)(()=>{if(!r.trim())return p;let e=r.trim().toLowerCase();return p.filter(t=>t.name.toLowerCase().includes(e)||t.code.toLowerCase().includes(e))},[r]);return(0,f.jsxs)(`main`,{className:``,children:[(0,f.jsx)(u,{title:`World`,icon:(0,f.jsx)(t,{className:`size-5`}),backTo:`/`}),(0,f.jsx)(`div`,{className:`px-4 pb-4`,children:(0,f.jsxs)(`div`,{className:`relative`,children:[(0,f.jsx)(n,{className:`absolute left-3 top-1/2 -translate-y-1/2 size-4 text-muted-foreground pointer-events-none`}),(0,f.jsx)(s,{placeholder:`Search countries...`,value:r,onChange:e=>i(e.target.value),className:`pl-9 rounded-full`})]})}),c.length>0?(0,f.jsx)(`div`,{className:`grid grid-cols-3 sm:grid-cols-4 md:grid-cols-5 gap-2 px-4 pb-8`,children:c.map(e=>(0,f.jsxs)(o,{to:`/i/iso3166:${e.code}`,className:`group flex flex-col items-center gap-1.5 rounded-xl p-3 transition-colors hover:bg-secondary/60`,children:[(0,f.jsx)(`span`,{className:`text-4xl sm:text-5xl leading-none select-none transition-transform group-hover:scale-110`,role:`img`,"aria-label":`Flag of ${e.name}`,children:e.flag}),(0,f.jsx)(`span`,{className:`text-xs text-center font-medium text-muted-foreground group-hover:text-foreground transition-colors line-clamp-2 leading-tight`,children:e.name})]},e.code))}):(0,f.jsx)(`div`,{className:`py-16 px-8 text-center`,children:(0,f.jsxs)(`p`,{className:`text-muted-foreground`,children:[`No countries match "`,r,`"`]})})]})}export{m as WorldPage};
// @license-end
