PageSourceSearch

https://hanttrail-8fwxhbgl.manus.space/assets/Challengers-xcSTUToh.js

js hanttrail-8fwxhbgl.manus.space collected 2026-10-03 05:03:27 UTC 6,707 bytes, 1 lines download raw bytes

1import{r as p,s as i,j as e,L as m,U as u}from"./index-CqGqwWKp.js";import{C}from"./chevron-left-BVmVB8Vs.js";import{F as x}from"./flame-Cgtf0GFP.js";import{S as g}from"./search-X9xeeq-b.js";function f(){const[t,d]=p.useState(""),{data:r,isLoading:o}=i.challengers.list.useQuery({}),{data:c}=i.challengers.stats.useQuery(),n=s=>{if(!s)return 0;const a=s.match(/\d+/g);return a?parseInt(a[a.length-1],10):0},l=(r??[]).filter(s=>s.fullName&&s.fullName.trim()!=="").filter(s=>{if(!t.trim())return!0;const a=t.toLowerCase();return s.fullName?.toLowerCase().includes(a)||s.hantNumber?.toLowerCase().includes(a)}).sort((s,a)=>n(a.hantNumber)-n(s.hantNumber)),h=s=>s?new Date(s instanceof Date?s:Number(s)).toLocaleDateString("ko-KR",{year:"2-digit",month:"2-digit",day:"2-digit"}):"-";return e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:50",className:"min-h-screen pb-24 bg-white",children:[e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:52",className:"bg-white border-b border-gray-100",children:e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:53",className:"container py-4",children:[e.jsx(m,{"data-loc":"client/src/pages/Challengers.tsx:54",href:"/",children:e.jsxs("button",{"data-loc":"client/src/pages/Challengers.tsx:55",className:"flex items-center gap-1.5 text-sm text-gray-400 hover:text-gray-600 mb-3 transition-colors",children:[e.jsx(C,{"data-loc":"client/src/pages/Challengers.tsx:56",size:16}),"홈으로"]})}),e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:60",className:"flex items-center gap-3 mb-1",children:[e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:61",className:"w-10 h-10 rounded-full flex items-center justify-center bg-gray-100 border border-gray-200",children:e.jsx(x,{"data-loc":"client/src/pages/Challengers.tsx:62",size:20,className:"text-gray-500"})}),e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:64",children:[e.jsx("h1",{"data-loc":"client/src/pages/Challengers.tsx:65",className:"text-lg font-bold text-gray-800",children:"HANT 한국트레일 도전자"}),e.jsx("p",{"data-loc":"client/src/pages/Challengers.tsx:66",className:"text-xs text-gray-400",children:"HANT 공식 등록 도전자 명단"})]})]}),c&&e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:70",className:"mt-2",children:e.jsxs("span",{"data-loc":"client/src/pages/Challengers.tsx:71",className:"inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs font-medium bg-gray-100 text-gray-500",children:[e.jsx(u,{"data-loc":"client/src/pages/Challengers.tsx:72",size:11}),"총 ",c.total,"명 등록"]})})]})}),e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:81",className:"container py-3",children:e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:82",className:"relative",children:[e.jsx(g,{"data-loc":"client/src/pages/Challengers.tsx:83",size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"}),e.jsx("input",{"data-loc":"client/src/pages/Challengers.tsx:84",type:"text",placeholder:"이름, HANT번호, 지역으로 검색...",value:t,onChange:s=>d(s.target.value),className:"w-full pl-9 pr-4 py-2.5 text-sm rounded-xl text-gray-700 placeholder-gray-400 outline-none bg-gray-50 border border-gray-200 focus:border-gray-300"})]})}),e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:95",className:"container",children:o?e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:97",className:"text-center py-16",children:[e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:98",className:"w-10 h-10 rounded-full border-2 border-gray-200 border-t-gray-400 animate-spin mx-auto mb-3"}),e.jsx("p",{"data-loc":"client/src/pages/Challengers.tsx:99",className:"text-sm text-gray-400",children:"불러오는 중..."})]}):(r??[]).length===0?e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:102",className:"text-center py-16",children:[e.jsx(x,{"data-loc":"client/src/pages/Challengers.tsx:103",size:40,className:"mx-auto text-gray-200 mb-3"}),e.jsx("p",{"data-loc":"client/src/pages/Challengers.tsx:104",className:"text-sm text-gray-400",children:"아직 등록된 도전자가 없습니다."}),e.jsx("p",{"data-loc":"client/src/pages/Challengers.tsx:105",className:"text-xs text-gray-300 mt-1",children:"HANT 등록자 명단에 등록되면 자동 표시됩니다."})]}):l.length===0?e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:108",className:"text-center py-16",children:[e.jsx(g,{"data-loc":"client/src/pages/Challengers.tsx:109",size:36,className:"mx-auto text-gray-200 mb-3"}),e.jsx("p",{"data-loc":"client/src/pages/Challengers.tsx:110",className:"text-sm text-gray-400",children:"검색 ê²°ê
1³¼ê°€ 없습니다."})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:115",className:"grid px-3 py-2 text-xs text-gray-400 border-b border-gray-100 mb-1",style:{gridTemplateColumns:"24px 1fr 100px 60px 56px",gap:"6px"},children:[e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:117",className:"text-right",children:"#"}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:118",children:"이름"}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:119",children:"HANT번호"}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:120",className:"text-center",children:"도전일"}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:121",className:"text-right",children:"지역"})]}),e.jsx("div",{"data-loc":"client/src/pages/Challengers.tsx:123",children:l.map((s,a)=>e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:125",className:"grid items-center px-3 py-2 rounded-lg hover:bg-gray-50 transition-colors border-b border-gray-50",style:{gridTemplateColumns:"24px 1fr 100px 60px 56px",gap:"6px"},children:[e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:130",className:"text-xs text-gray-300 text-right shrink-0",children:a+1}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:131",className:"text-sm font-medium text-gray-800 min-w-0 break-keep",children:s.fullName||"-"}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:132",className:"text-xs font-mono text-gray-500 break-all",children:s.hantNumber||"-"}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:135",className:"text-xs text-gray-400 text-center",children:h(s.challengeDate)}),e.jsx("span",{"data-loc":"client/src/pages/Challengers.tsx:138",className:"text-xs text-gray-400 text-right truncate",children:s.isVisible?"":"(비공개)"})]},s.id))}),e.jsxs("div",{"data-loc":"client/src/pages/Challengers.tsx:144",className:"mt-3 text-xs text-gray-300 text-center pb-4",children:[l.length,"명",t?" (검색 ê²°ê³¼)":""]})]})})]})}export{f 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.