PageSourceSearch

https://assets.friendhike.com/_nuxt/PXC8Mhb0.js

js friendhike.com collected 2026-10-01 14:25:41 UTC 3,365 bytes, 1 lines download raw bytes

1import{u as w,y as L,S as B,a3 as S,M as E,o as N,a9 as I,A as T,c as h,h as e,t as o,g as s,F as A,C as M,B as O,w as c,m as r,D as $,e as g,q as d,v as x}from"./DwAPguvi.js";const j={class:"min-h-screen bg-fh-ground"},F={class:"max-w-4xl mx-auto px-4 sm:px-6 py-10 sm:py-14"},J={class:"text-center mb-8 sm:mb-10"},P={class:"text-3xl sm:text-4xl font-bold text-gray-900"},V={class:"mt-3 text-base sm:text-lg text-gray-600 max-w-2xl mx-auto"},C={class:"grid grid-cols-1 sm:grid-cols-2 gap-4 sm:gap-6"},D={class:"text-lg sm:text-xl font-semibold text-gray-900"},H={class:"mt-2 text-sm sm:text-base text-gray-600"},R={class:"mt-4 inline-flex items-center gap-1 text-sm font-medium text-emerald-600 dark:text-emerald-300 hover:text-emerald-700 dark:hover:text-emerald-200"},q={class:"mt-8 sm:mt-10 bg-emerald-50 dark:bg-emerald-500/10 rounded-3xl p-6 sm:p-8 text-center"},z={class:"text-xl sm:text-2xl font-semibold text-gray-900"},G={class:"mt-2 text-sm sm:text-base text-gray-600 max-w-2xl mx-auto"},K={class:"mt-5 flex flex-col sm:flex-row items-center justify-center gap-3 sm:gap-5"},Q="https://friendhike.com",X={__name:"index",setup(U){const{t,locale:u}=w(),i=L(),_=B(),{$updateSEOMeta:f,$getSEOMetaForRoute:y}=S(),{track:b}=E();N(()=>{try{b("tool_viewed",{tool:"hub"})}catch{}});const p=d(()=>[{path:"/tools/identify-mountain",name:t("tools.identify.name"),tagline:t("tools.identify.tagline")},{path:"/tools/gpx-viewer",name:t("tools.gpx.name"),tagline:t("tools.gpx.tagline")},{path:"/tools/hiking-time-calculator",name:t("tools.time.name"),tagline:t("tools.time.tagline")},{path:"/tools/hike-difficulty-calculator",name:t("tools.difficulty.name"),tagline:t("tools.difficulty.tagline")},{path:"/tools/hiking-calories-calculator",name:t("tools.calories.name"),tagline:t("tools.calories.tagline")}]),v=d(()=>{const a=p.value.map((l,n)=>({"@type":"ListItem",position:n+1,name:l.name,url:`${Q}${i(l.path)}/`}));return JSON.stringify({"@context":"https://schema.org","@type":"ItemList",numberOfItems:a.length,itemListElement:a}).replace(/</g,"\\u003c")});I(()=>({script:[{key:"tools-itemlist",type:"application/ld+json",children:v.value}]}));const k=d(()=>y("toolsHub",{},u.value));return T(k,a=>{a&&f(a,u.value,_.fullPath)},{immediate:!0}),(a,l)=>{const n=$;return x(),h("div",j,[e("div",F,[e("div",J,[e("h1",P,o(s(t)("tools.title")),1),e("p",V,o(s(t)("tools.subtitle")),1)]),e("div",C,[(x(!0),h(A,null,M(p.value,m=>(x(),O(n,{key:m.path,to:s(i)(m.path),class:"block bg-white rounded-3xl shadow-sm p-6 sm:p-8 hover:shadow-md transition-shadow"},{default:c(()=>[e("h2",D,o(m.name),1),e("p",H,o(m.tagline),1),e("span",R,[r(o(s(t)("tools.openTool"))+" ",1),l[0]||(l[0]=e("span",{"aria-hidden":"true"},"→",-1))])]),_:2},1032,["to"]))),128))]),e("div",q,[e("h2",z,o(s(t)("tools.ctaTitle")),1),e("p",G,o(s(t)("tools.ctaText")),1),e("div",K,[g(n,{to:s(i)("/trails"),class:"inline-flex items-center justify-center bg-emerald-600 hover:bg-emerald-700 text-white rounded-full px-6 py-3 text-sm sm:text-base font-medium transition-colors"},{default:c(()=>[r(o(s(t)("tools.ctaBrowse")),1)]),_:1},8,["to"]),g(n,{to:s(i)("/signin"),class:"text-sm sm:text-base font-medium text-emerald-600 dark:text-emerald-300 hover:text-emerald-700 dark:hover:text-emerald-200 transition-colors"},{default:c(()=>[r(o(s(t)("tools.ctaJoin")),1)]),_:1},8,["to"])])])])])}}};export{X 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.