PageSourceSearch

https://hanttrail-8fwxhbgl.manus.space/assets/NewPgbCourseDetail-C15dRcTf.js

js hanttrail-8fwxhbgl.manus.space collected 2026-10-03 05:02:48 UTC 12,962 bytes, 1 lines download raw bytes

1import{aC as u,H as p,j as e,L as n,B as r}from"./index-CqGqwWKp.js";import{B as N}from"./badge-CajhVRbo.js";import{g as w}from"./municipalPrioritySegmentedCourses-DB7MbFrF.js";import{R as d}from"./route-COkx8K1a.js";import{A as P}from"./arrow-left-BstHR7w2.js";import{M as h}from"./map-pin-DifvMV2M.js";import{R as C}from"./ruler-DoQFTYtX.js";import{E as j}from"./external-link-Cv3lCqbB.js";import{S as D}from"./shield-check-47GP0kpx.js";import{B as x}from"./bus-BgMdNYdg.js";import{U as g}from"./utensils-crossed-DQ5uS_vH.js";import{T as f}from"./tent-tree-TDwCB0qI.js";import{P as v}from"./play-Hbmy7Cz5.js";import{C as B}from"./chevron-left-BVmVB8Vs.js";import{C as y}from"./chevron-right-D_p0tWne.js";function z(a){return`https://map.naver.com/p/search/${encodeURIComponent(a)}`}function H(){const{segmentNo:a}=u(),t=Number(a),[,l]=p(),s=w("PGB",t);if(!s)return e.jsxs("main",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:19",className:"min-h-screen bg-muted/20 px-4 py-16 text-center",children:[e.jsx(d,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:20",className:"mx-auto mb-3 text-muted-foreground",size:38}),e.jsx("h1",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:21",className:"text-lg font-bold text-foreground",children:"PGB 세분 구간을 찾을 수 없습니다"}),e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:22",className:"mt-2 text-sm text-muted-foreground",children:"구간안내 목록에서 다시 선택해 주세요."}),e.jsx(n,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:23",href:"/courses?tab=PGB_NEW",children:e.jsx(r,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:23",className:"mt-5",children:"PGB 세분 구간 목록으로"})})]});const m=!1,i=t>1?t-1:void 0,o=t<43?t+1:void 0;return e.jsxs("main",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:33",className:"min-h-screen bg-muted/20 pb-10",children:[e.jsx("header",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:34",className:"sticky top-0 z-10 border-b border-blue-100 bg-background/95 backdrop-blur",children:e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:35",className:"container flex items-center gap-2 py-3",children:[e.jsx("button",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:36","aria-label":"PGB 세분 구간 목록으로",onClick:()=>l("/courses?tab=PGB_NEW"),className:"rounded-lg p-2 text-muted-foreground hover:bg-muted active:scale-95",children:e.jsx(P,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:37",size:20})}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:39",className:"min-w-0",children:[e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:40",className:"text-[11px] font-semibold text-blue-700",children:"PGB 세분 43구간"}),e.jsxs("h1",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:41",className:"truncate text-base font-bold text-foreground",children:[s.name," 상세정보"]})]})]})}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:46",className:"container max-w-2xl space-y-4 py-4",children:[e.jsxs("section",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:47",className:"overflow-hidden rounded-2xl border border-blue-200 bg-gradient-to-br from-blue-700 via-blue-600 to-indigo-600 p-5 text-white",children:[e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:48",className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:49",children:[e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:50",className:"text-xs font-medium text-blue-100",children:"서비스 우선 종료 보급지 기준 · 세분 43구간 체계"}),e.jsx("h2",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:51",className:"mt-1 text-2xl font-bold",children:s.name})]}),e.jsx(N,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:53",className:"border border-white/30 bg-white/15 text-white",children:s.status})]}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:55",className:"mt-5 grid grid-cols-2 gap-3 border-t border-white/20 pt-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/Ne
1wPgbCourseDetail.tsx:56",children:[e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:56",className:"text-[11px] text-blue-100",children:"안내 거리"}),e.jsxs("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:56",className:"mt-0.5 text-xl font-bold",children:["약 ",s.distanceKm.toFixed(2),"km"]})]}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:57",children:[e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:57",className:"text-[11px] text-blue-100",children:"종료 보급지 접근성"}),e.jsxs("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:57",className:"mt-0.5 text-xl font-bold",children:[s.end.accessScore,"/4"]})]})]})]}),e.jsxs("section",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:61",className:"rounded-2xl border border-border bg-card p-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:62",className:"flex items-center gap-2",children:[e.jsx(h,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:62",size:17,className:"text-blue-600"}),e.jsx("h2",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:62",className:"font-bold text-foreground",children:"구간 경계"})]}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:63",className:"mt-4 space-y-3",children:[e.jsx(b,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:64",label:"출발",place:s.start.name}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:65",className:"ml-2 border-l-2 border-dashed border-blue-200 py-1 pl-5 text-xs text-blue-700",children:[e.jsx(C,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:65",size:12,className:"mr-1 inline"}),"약 ",s.distanceKm.toFixed(2),"km"]}),e.jsx(b,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:66",label:"종료 보급지",place:s.end.name})]}),e.jsxs("a",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:68",className:"mt-4 flex min-h-10 items-center justify-center gap-1.5 rounded-lg border border-blue-200 text-xs font-semibold text-blue-700 hover:bg-blue-50",href:z(s.end.name),target:"_blank",rel:"noreferrer",children:["종료 경계 지도에서 확인 ",e.jsx(j,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:69",size:13})]})]}),e.jsxs("section",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:73",className:"rounded-2xl border border-border bg-card p-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:74",className:"flex items-center gap-2",children:[e.jsx(d,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:74",size:17,className:"text-blue-600"}),e.jsx("h2",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:74",className:"font-bold text-foreground",children:"PGB 기존 구간과의 관계"})]}),e.jsxs("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:75",className:"mt-3 text-sm leading-relaxed text-muted-foreground",children:[e.jsx("strong",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:75",className:"text-foreground",children:s.originalCoverage}),"를 세분화한 안내 구간입니다. 길 자체는 PGB 기존 구간과 같고, 구간 나누기만 다릅니다. 기존 구간의 공식 GPX, 따라가기, 완주 인증, 사진, 기록은 변경되지 않습니다."]}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:76",className:"mt-3 flex items-center gap-2 rounded-lg bg-blue-50 px-3 py-2 text-xs text-blue-800",children:[e.jsx(D,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:76",size:15,className:"shrink-0"}),"세분 구간 완주는 기존 구간 완주로 자동 환산하지 않습니다."]})]}),e.jsxs("section",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:79",className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:80",className:"flex items-center gap-2",children:[e.jsx(x,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:80",size:17,className:"text-amber-700"}),e.jsx("h2",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:80",className:"font-bold text-amber-950",children:"교통 · 보급 · 숙박 안내"})]}
1),e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:81",className:"mt-3 text-sm leading-relaxed text-amber-900",children:"종료 보급지는 교통·보급·식당·숙박 접근성을 재점수화해 선택했습니다. 아래 거리는 종료 경계 기준 직선거리이며, 실제 영업·운행·도보 연결은 현장에서 다시 확인합니다."}),e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:82",className:"mt-3 grid grid-cols-2 gap-2 text-xs",children:[e.jsx(c,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:83",label:"교통",value:s.end.distances.transport,icon:e.jsx(x,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:83",size:14,className:"mb-1 text-amber-700"})}),e.jsx(c,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:84",label:"보급",value:s.end.distances.supply,icon:e.jsx(g,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:84",size:14,className:"mb-1 text-amber-700"})}),e.jsx(c,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:85",label:"식당",value:s.end.distances.food,icon:e.jsx(g,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:85",size:14,className:"mb-1 text-amber-700"})}),e.jsx(c,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:86",label:"숙박",value:s.end.distances.lodging,icon:e.jsx(f,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:86",size:14,className:"mb-1 text-amber-700"})})]}),s.end.shiftKm!==0&&e.jsxs("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:88",className:"mt-3 text-xs font-medium text-amber-900",children:["균등 거리 경계에서 ",s.end.shiftKm>0?"+":"",s.end.shiftKm,"km 조정한 서비스 우선 종료 후보입니다."]}),m]}),e.jsxs("section",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:92",className:"rounded-2xl border border-blue-200 bg-blue-50/70 p-4",children:[e.jsx("h2",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:92",className:"font-bold text-blue-950",children:"세분 구간 따라가기 · 완주 인증"}),e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:92",className:"mt-2 text-sm leading-relaxed text-blue-900",children:"이 구간은 PGB 공식길을 접근 거점 기준으로 세분화한 확정 구간입니다. 공식선을 따라 걸으면 세분 구간 전용 완주 인증으로 저장되며, 기존 구간 완주에는 자동 합산되지 않습니다."}),e.jsxs(r,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:92",onClick:()=>l(`/track?trailTag=HANT-PGB-SEGMENTED&segmentNum=${s.segmentNo}&courseName=${encodeURIComponent(s.name)}&returnPath=${encodeURIComponent(`/new-pgb-courses/${s.segmentNo}`)}`),className:"mt-3 w-full bg-blue-700 text-white hover:bg-blue-800",children:[e.jsx(v,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:92",size:16}),"세분 구간 따라가기 시작"]})]}),e.jsxs("nav",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:94",className:"grid grid-cols-2 gap-3 pt-1",children:[i?e.jsx(n,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:95",href:`/new-pgb-courses/${i}`,children:e.jsxs(r,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:95",variant:"outline",className:"w-full justify-start",children:[e.jsx(B,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:95",size:16}),i,"구간"]})}):e.jsx("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:95"}),o?e.jsx(n,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:96",href:`/new-pgb-courses/${o}`,children:e.jsxs(r,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:96",variant:"outline",className:"w-full justify-end",children:[o,"구간",e.jsx(y,{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:96",size:16})]})}):e.jsx("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:96"})]})]})]})}function b({label:a,place:t}){return e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:104",className:"flex items-start gap-3",children:[e.jsx("span",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:104",className:"mt-0.5 rounded-full bg-blue-100 px-2 py-0.5 text-[11px] font-bold text-blue-700",children:a}),e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:104",className:"text-sm font-medium leading-relaxed text-foreground",children:t})]})}function c({label:a,value:t,icon:l}
1){return e.jsxs("div",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:108",className:"rounded-lg border border-amber-200 bg-white/70 p-2.5",children:[l,e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:108",className:"font-medium text-amber-950",children:a}),e.jsx("p",{"data-loc":"client/src/pages/NewPgbCourseDetail.tsx:108",className:"mt-0.5 text-amber-800",children:t==null?"확인 필요":`${t.toFixed(2)}km`})]})}export{H 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.