PageSourceSearch

https://thefluxtrain.com/_nuxt/B-HMX8aL.js

js thefluxtrain.com collected 2026-10-07 20:13:59 UTC 21,476 bytes, 2 lines download raw bytes

1import{_ as ee}from"./DVPAmUMD.js";import{_ as te}from"./DuhOYp2E.js";import{_ as se}from"./ByX2s1YW.js";import{f as z,aA as o,L as l,N as t,ax as p,c as U,aD as i,aG as m,w as I,d as b,an as re,K as ae,M as T,ao as v,bB as O,bX as E,aE as le,aB as W,aH as M,aU as A,aQ as oe,cu as ie}from"./Dx8NNHmV.js";import{_ as ne}from"./Dxk_W9_h.js";import{T as de}from"./B2jZRxkv.js";import"./DEGN-jtx.js";import"./DtnSy53i.js";import"./t9vDk52f.js";import"./Bg1Ya47c.js";import"./B7bihM86.js";import"./D1KErToc.js";import"./BstbYvQo.js";import"./CFOp7w1W.js";import"./BJr4OGJf.js";import"./C8ruwEVX.js";import"./BuEjqNdV.js";import"./DPOZimAV.js";import"./DFn-1Q9V.js";import"./Cw9HF3yx.js";import"./CrrGeNQU.js";import"./DlAUqK2U.js";import"./C65AGUD7.js";import"./Bm4mc-yX.js";import"./BZrWr4mv.js";import"./BjLBLW-G.js";import"./9aRPTW-S.js";const ce={class:"space-y-3"},ue={class:"grid gap-5 lg:grid-cols-2"},ge={class:"space-y-2 min-w-0"},pe={class:"rounded-xl bg-[#e4dcd4] dark:bg-slate-800/90 p-3 max-w-[340px]"},me={class:"rounded-lg overflow-hidden shadow-md bg-white dark:bg-slate-900 ring-1 ring-black/10 dark:ring-white/10"},ye={key:0,class:"max-h-[9.5rem] bg-gradient-to-b from-gray-50 to-gray-100 dark:from-slate-800 dark:to-slate-900 overflow-hidden"},_e=["src"],xe={class:"px-2.5 py-2 space-y-1"},fe={class:"text-[11px] text-sky-700 dark:text-sky-400 font-medium truncate"},he={class:"text-[13px] font-semibold text-gray-900 dark:text-gray-50 line-clamp-2 leading-snug"},be={class:"text-[12px] text-gray-600 dark:text-gray-300 line-clamp-3 leading-snug"},ve={class:"space-y-2 min-w-0"},ke={class:"text-xs font-semibold text-gray-600 flex flex-wrap items-center gap-x-2"},we={key:0,class:"font-mono font-normal text-[10px] text-gray-400"},Ue={class:"rounded-2xl border border-gray-200 dark:border-slate-600 overflow-hidden bg-white dark:bg-slate-900 max-w-md shadow-sm"},$e={class:"aspect-[2/1] max-h-52 bg-gray-100 dark:bg-slate-800"},Se=["src"],Ce={class:"px-3 py-2.5 border-t border-gray-100 dark:border-slate-700 space-y-0.5"},Te={class:"text-[13px] text-gray-500 truncate"},Le={class:"text-[15px] font-semibold text-gray-900 dark:text-gray-50 line-clamp-2"},Re={class:"text-[13px] text-gray-600 dark:text-gray-300 line-clamp-2"},je={key:1,class:"flex gap-3 p-3"},Pe=["src"],Me={class:"min-w-0 flex-1 space-y-1"},Ve={class:"text-[13px] text-gray-500 truncate"},Oe={class:"text-[15px] font-semibold text-gray-900 dark:text-gray-50 line-clamp-2 leading-tight"},Ee={class:"text-[13px] text-gray-600 dark:text-gray-300 line-clamp-2"},Ae={key:2,class:"px-3 py-3 space-y-1"},De={class:"text-[13px] text-gray-500 truncate"},Ne={class:"text-[15px] font-semibold text-gray-900 dark:text-gray-50 line-clamp-2"},Be={class:"text-[13px] text-gray-600 dark:text-gray-300 line-clamp-4"},Fe=z({__name:"ShareLinkPreviewMocks",props:{pageUrl:{},seo:{}},setup(L){const h=L,k=U(()=>{try{return new URL(h.pageUrl).hostname}catch{return h.pageUrl}}),y=U(()=>{const g=h.seo;return{title:g.og_title||g.title||"No title detected",description:g.og_description||g.description||"",image:g.og_image||g.twitter_image||null}}),a=U(()=>{const g=h.seo;return{title:g.twitter_title||g.og_title||g.title||y.value.title,description:g.twitter_description||g.og_description||g.description||y.value.description,image:g.twitter_image||g.og_image||y.value.image}}),$=U(()=>String(h.seo.twitter_card||"").toLowerCase().trim()==="summary_large_image");return(g,_)=>(l(),o("div",ce,[_[2]||(_[2]=t("p",{class:"text-xs text-gray-500 leading-relaxed border-b border-gray-100 pb-3"}," Share preview is an approximation from the page’s Open Graph / Twitter tags. WhatsApp, X, Slack, LinkedIn, and others each cache and crop differently. ",-1)),t("div",ue,[t("div",ge,[_[0]||(_[0]=t("p",{class:"text-xs font-semibold text-gray-600"}," WhatsApp · iMessage · Facebook ",-1)),t("div",pe,[t("div",me,[y.value.image?(l(),o("div",ye,[t("img",{src:y.value.image,alt:"",class:"w-full max-h-[9.5rem] object-cover object-top",loading:"lazy"},null,8,_e)])):p("",!0),t("div",xe,[t("p",fe,i(k.value),1),t("p",he,i(y.value.title),1),t("p",be,i(y.value.description||"—"),1)])])])]),t("div",ve,[t("p",ke,[_[1]||(_[1]=t("span",null,"X (Twitter)",-1)),L.seo.twitter_card?(l(),o("span",we,i(L.seo.twitter_card),1)):p("",!0)]),t("div",Ue,[$.value&&a.value.image?(l(),o(m,{key:0},[t("div",$e,[t("img",{src:a.value.image,alt:"",class:"w-full h-full object-cover object-center",loading:"lazy"},null,8,Se)]),t("div",Ce,[t("p",Te,i(k.value),1),t("p",Le,i(a.value.title),
11),t("p",Re,i(a.value.description||"—"),1)])],64)):a.value.image?(l(),o("div",je,[t("img",{src:a.value.image,alt:"",class:"w-[4.25rem] h-[4.25rem] rounded-xl object-cover shrink-0 bg-gray-100 dark:bg-slate-800",loading:"lazy"},null,8,Pe),t("div",Me,[t("p",Ve,i(k.value),1),t("p",Oe,i(a.value.title),1),t("p",Ee,i(a.value.description||"—"),1)])])):(l(),o("div",Ae,[t("p",De,i(k.value),1),t("p",Ne,i(a.value.title),1),t("p",Be,i(a.value.description||"—"),1)]))])])])]))}}),Ie=Object.assign(Fe,{__name:"ToolsShareLinkPreviewMocks"}),We={class:"space-y-4"},ze={class:"max-w-2xl space-y-1"},Ge={class:"flex flex-wrap gap-6 items-end"},He={class:"flex flex-wrap gap-3 items-center"},Xe={class:"space-y-1"},qe={class:"flex flex-wrap gap-3"},Je={key:0,class:"space-y-6"},Ke={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},Qe={class:"text-lg font-semibold text-gray-900"},Ye={class:"flex flex-wrap items-center gap-2 shrink-0"},Ze={class:"inline-flex rounded-lg border border-gray-200 bg-gray-50 p-0.5 gap-0.5",role:"group","aria-label":"Columns per row"},et=["title","aria-label","aria-pressed","onClick"],tt={class:"flex h-6 w-9 items-end justify-center gap-0.5","aria-hidden":"true"},st={class:"px-4 py-2 bg-gray-50 border-b border-gray-100 flex flex-wrap items-center gap-2 justify-between"},rt={class:"text-sm font-mono text-gray-800 break-all"},at={key:0,class:"border-b border-gray-200 bg-white px-4 py-4 space-y-4 text-sm"},lt={class:"grid gap-x-4 gap-y-2 sm:grid-cols-[minmax(7rem,auto)_1fr] pt-2 border-t border-gray-100"},ot={class:"text-gray-900 font-mono text-xs"},it={class:"text-gray-900 font-medium"},nt={class:"text-gray-800 leading-relaxed"},dt={class:"text-gray-700 text-xs leading-relaxed"},ct={class:"break-all"},ut=["href"],gt={class:"text-gray-800 font-mono text-xs"},pt={key:0,class:"space-y-2 pt-2 border-t border-gray-100"},mt={class:"grid gap-x-4 gap-y-2 sm:grid-cols-[minmax(7rem,auto)_1fr]"},yt={class:"text-gray-900"},_t={class:"text-gray-800 leading-relaxed"},xt={class:"space-y-1"},ft=["href"],ht=["src"],bt={key:1,class:"space-y-2 pt-2 border-t border-gray-100"},vt={class:"grid gap-x-4 gap-y-2 sm:grid-cols-[minmax(7rem,auto)_1fr]"},kt={class:"text-gray-900 font-mono text-xs"},wt={class:"text-gray-900"},Ut={class:"text-gray-800 leading-relaxed"},$t={class:"space-y-1"},St=["href"],Ct=["src"],Tt={key:2,class:"space-y-2 pt-2 border-t border-gray-100"},Lt={class:"space-y-1.5 text-xs"},Rt={class:"font-mono text-gray-600 shrink-0"},jt=["href"],Pt={class:"p-4 min-h-[120px] flex items-center justify-center bg-gray-100/60"},Mt={key:0,class:"flex items-center gap-2 text-gray-600"},Vt={key:1,class:"text-sm text-red-600 text-center px-4"},Ot=["src","alt"],Et={key:3,class:"text-sm text-gray-500"},D="custom",cs=z({__name:"url-screenshots",setup(L){const h=[{value:"m-compact",label:"Mobile · Compact Android (360 × 800)",w:360,h:800},{value:"m-se",label:"Mobile · Small / iPhone SE (375 × 667)",w:375,h:667},{value:"m-standard",label:"Mobile · Standard / iPhone 14 (390 × 844)",w:390,h:844},{value:"m-large",label:"Mobile · Large / Pixel-class (412 × 915)",w:412,h:915},{value:"t-portrait",label:"Tablet · Portrait (768 × 1024)",w:768,h:1024},{value:"t-ipad-11",label:"Tablet · iPad 11″ portrait (834 × 1194)",w:834,h:1194},{value:"t-ipad-129",label:"Tablet · Large portrait (1024 × 1366)",w:1024,h:1366},{value:"d-hd",label:"Desktop · HD / 720p (1280 × 720)",w:1280,h:720},{value:"d-wxga",label:"Desktop · Laptop WXGA (1366 × 768)",w:1366,h:768},{value:"d-fhd",label:"Desktop · Full HD (1920 × 1080)",w:1920,h:1080},{value:"d-qhd",label:"Desktop · QHD / 1440p (2560 × 1440)",w:2560,h:1440}],k=U(()=>[{value:D,label:"Custom — width & height below"},...h.map(({value:r,label:e})=>({value:r,label:e}))]),y=b(""),a=b([]),$=b(!1),g=b(!1),_=b(1280),w=b(720),R=b("d-hd"),S=b(!1),j=b(1),G=[{cols:1,label:"1 column"},{cols:2,label:"2 columns"},{cols:3,label:"3 columns"},{cols:4,label:"4 columns"}],H=U(()=>{switch(j.value){case 1:return"grid grid-cols-1 gap-6";case 2:return"grid grid-cols-1 md:grid-cols-2 gap-6";case 3:return"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6";case 4:return"grid grid-cols-1 sm:grid-cols-2 xl:grid-cols-4 gap-6";default:return"grid grid-cols-1 gap-6"}});let V=!1;I(R,r=>{if(r===D)return;const e=h.find(n=>n.value===r);e&&(V=!0,_.value=e.w,w.value=e.h,queueMicrotask(()=>{V=!1}))}),I([_,w],()=>{if(V)return;const r=h.find(e=>e.w===_.value&&e.h===w.value);R.value=r?.value??D});function N(r){const e=r.trim();if(!e)return null;try{const n=/\w+:\/\//.test(e)?e:`https://${e}`;return new URL(n).toString()}catch{return null}}function B(){return String(Math.floor(1e4+Math.random()*9e4))}function F(){for(const r of a.value)r.previewUrl&&URL.revokeObjectURL(r.previewUrl)}function X(r,e){const n=atob(r),c=new Uint8Array(n.length);for(let u=0;u<n.length;u++)c[u]=n.charCodeAt(u);
1return new Blob([c],{type:e})}function q(r){if(!r||typeof r!="object")return null;const e=r,n=Array.isArray(e.hreflang_links)?e.hreflang_links:[];return{title:typeof e.title=="string"?e.title:null,description:typeof e.description=="string"?e.description:null,keywords:typeof e.keywords=="string"?e.keywords:null,canonical_url:typeof e.canonical_url=="string"?e.canonical_url:null,robots:typeof e.robots=="string"?e.robots:null,og_title:typeof e.og_title=="string"?e.og_title:null,og_description:typeof e.og_description=="string"?e.og_description:null,og_image:typeof e.og_image=="string"?e.og_image:null,twitter_card:typeof e.twitter_card=="string"?e.twitter_card:null,twitter_title:typeof e.twitter_title=="string"?e.twitter_title:null,twitter_description:typeof e.twitter_description=="string"?e.twitter_description:null,twitter_image:typeof e.twitter_image=="string"?e.twitter_image:null,html_lang:typeof e.html_lang=="string"?e.html_lang:null,hreflang_links:n.filter(c=>!!c&&typeof c=="object").map(c=>({hreflang:typeof c.hreflang=="string"?c.hreflang:"",href:typeof c.href=="string"?c.href:""})).filter(c=>c.hreflang&&c.href)}}async function J(r){if((r.headers.get("content-type")??"").includes("application/json"))try{const n=await r.json(),c=n?.error?.message,u=typeof n?.detail=="string"?n.detail:void 0;return c??u??r.statusText}catch{return r.statusText}return r.statusText}async function K(r){const e=a.value[r];if(!e)return;const n=e.previewUrl;n&&URL.revokeObjectURL(n),a.value[r]={...e,status:"loading",previewUrl:null,error:null,seo:null};const c=`${ie}/api/v1/tools/screenshot`;try{const u=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e.url,full_page:$.value,preset_consent:g.value,include_metadata:!0,viewport_width:_.value,viewport_height:w.value})});if(!u.ok){const C=await J(u);a.value[r]={...a.value[r],status:"error",previewUrl:null,seo:null,error:C||`Request failed (${u.status})`};return}if(!(u.headers.get("content-type")??"").includes("application/json")){a.value[r]={...a.value[r],status:"error",previewUrl:null,seo:null,error:"Expected JSON response with SEO metadata"};return}let x;try{x=await u.json()}catch{a.value[r]={...a.value[r],status:"error",previewUrl:null,seo:null,error:"Invalid JSON response"};return}const P=typeof x.image_base64=="string"?x.image_base64:"",s=typeof x.image_mime_type=="string"?x.image_mime_type:"image/png",f=q(x.seo);if(!P||!f){a.value[r]={...a.value[r],status:"error",previewUrl:null,seo:null,error:"Missing image or SEO payload"};return}try{const C=X(P,s),Z=URL.createObjectURL(C);a.value[r]={...a.value[r],status:"done",previewUrl:Z,seo:f,error:null}}catch{a.value[r]={...a.value[r],status:"error",previewUrl:null,seo:null,error:"Failed to decode screenshot image"}}}catch(u){const d=u instanceof Error?u.message:"Network error";a.value[r]={...a.value[r],status:"error",previewUrl:null,seo:null,error:d}}}async function Q(){const r=y.value.split(/\r?\n/).map(N).filter(d=>d!==null),e=y.value.split(/\r?\n/).map(d=>d.trim()).filter(d=>d.length>0&&N(d)===null),n=r.map(d=>({id:B(),url:d,status:"idle",previewUrl:null,error:null,seo:null}));for(const d of e)n.push({id:B(),url:d,status:"error",previewUrl:null,error:"Invalid URL",seo:null});if(n.length===0)return;const c=n.length;a.value=[...n,...a.value];const u=a.value.map((d,x)=>({r:d,i:x})).filter(({r:d,i:x})=>x<c&&d.status!=="error");
1if(u.length!==0){S.value=!0;try{for(const{i:d}of u)await K(d)}finally{S.value=!1}}}function Y(){F(),a.value=[]}return re(()=>F()),(r,e)=>{const n=ee,c=te,u=se,d=le,x=ne,P=oe;return l(),ae(de,{slug:"url-screenshots","max-width":"6xl"},{default:T(()=>[e[32]||(e[32]=t("p",{class:"text-sm text-gray-500 mb-6"}," Paste URLs (one per line). Each run adds results at the top with screenshots plus title, meta tags, Open Graph, Twitter cards, canonical, robots, and hreflang. Use Clear results to remove previews from memory. ",-1)),v(x,{class:"mb-8"},{default:T(()=>[t("div",We,[t("div",null,[e[6]||(e[6]=t("label",{class:"block text-sm font-medium text-gray-700 mb-1"},"URLs",-1)),O(t("textarea",{"onUpdate:modelValue":e[0]||(e[0]=s=>y.value=s),rows:"8",class:"w-full rounded-lg border border-gray-300 px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:`https://example.com
2https://another-site.org/page`},null,512),[[E,y.value]])]),t("div",ze,[v(c,{label:"Viewport preset"},{default:T(()=>[v(n,{modelValue:R.value,"onUpdate:modelValue":e[1]||(e[1]=s=>R.value=s),items:k.value,"value-key":"value","label-key":"label",class:"w-full"},null,8,["modelValue","items"])]),_:1}),e[7]||(e[7]=t("p",{class:"text-xs text-gray-500"}," Pick a mobile, tablet, or desktop template to fill width and height; adjust the numbers anytime. ",-1))]),t("div",Ge,[t("div",He,[e[8]||(e[8]=t("span",{class:"text-sm font-medium text-gray-700"},"Width × height (px)",-1)),O(t("input",{"onUpdate:modelValue":e[2]||(e[2]=s=>_.value=s),type:"number",min:"320",max:"3840",class:"w-24 rounded border border-gray-300 px-2 py-1 text-sm"},null,512),[[E,_.value,void 0,{number:!0}]]),e[9]||(e[9]=t("span",{class:"text-gray-400"},"×",-1)),O(t("input",{"onUpdate:modelValue":e[3]||(e[3]=s=>w.value=s),type:"number",min:"240",max:"2160",class:"w-24 rounded border border-gray-300 px-2 py-1 text-sm"},null,512),[[E,w.value,void 0,{number:!0}]])]),v(u,{modelValue:$.value,"onUpdate:modelValue":e[4]||(e[4]=s=>$.value=s),label:"Full page (scroll)"},null,8,["modelValue"])]),t("div",Xe,[v(u,{modelValue:g.value,"onUpdate:modelValue":e[5]||(e[5]=s=>g.value=s),label:"Preset consent cookies (hide common CMP banners)"},null,8,["modelValue"]),e[10]||(e[10]=t("p",{class:"text-xs text-gray-500 max-w-2xl"}," When off, navigation matches a normal first visit. When on, we seed typical consent cookies and local storage before loading — best-effort; many sites still show custom banners. ",-1))]),t("div",qe,[v(d,{color:"primary",loading:S.value,disabled:S.value||!y.value.trim(),onClick:Q},{default:T(()=>[...e[11]||(e[11]=[W(" Capture screenshots ",-1)])]),_:1},8,["loading","disabled"]),v(d,{variant:"outline",color:"neutral",disabled:S.value||a.value.length===0,onClick:Y},{default:T(()=>[...e[12]||(e[12]=[W(" Clear results ",-1)])]),_:1},8,["disabled"])])])]),_:1}),a.value.length>0?(l(),o("div",Je,[t("div",Ke,[t("h2",Qe," Results ("+i(a.value.length)+") ",1),t("div",Ye,[e[13]||(e[13]=t("span",{class:"text-xs font-medium text-gray-500 whitespace-nowrap"},"Result layout",-1)),t("div",Ze,[(l(),o(m,null,M(G,s=>t("button",{key:s.cols,type:"button",class:A(["rounded-md px-2 py-1.5 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",j.value===s.cols?"bg-white text-blue-600 shadow-sm ring-1 ring-gray-200/80":"text-gray-500 hover:bg-gray-100 hover:text-gray-800"]),title:s.label,"aria-label":s.label,"aria-pressed":j.value===s.cols,onClick:f=>j.value=s.cols},[t("span",tt,[(l(!0),o(m,null,M(s.cols,f=>(l(),o("span",{key:f,class:"h-full min-h-[14px] flex-1 min-w-[4px] max-w-[14px] rounded-sm bg-current opacity-90"}))),128))])],10,et)),64))])])]),t("div",{class:A(H.value)},[(l(!0),o(m,null,M(a.value,s=>(l(),o("div",{key:s.id,class:"min-w-0 border border-gray-200 rounded-lg overflow-hidden bg-white shadow-sm"},[t("div",st,[t("span",rt,i(s.url),1),t("span",{class:A(["text-xs font-medium uppercase shrink-0",{"text-amber-600":s.status==="loading","text-green-600":s.status==="done","text-red-600":s.status==="error","text-gray-500":s.status==="idle"}])},i(s.status),3)]),s.status==="done"&&s.seo?(l(),o("div",at,[e[30]||(e[30]=t("h3",{class:"text-xs font-semibold uppercase tracking-wide text-gray-500"}," Title, description & SEO ",-1)),v(Ie,{"page-url":s.url,seo:s.seo},null,8,["page-url","seo"]),t("dl",lt,[s.seo.html_lang?(l(),o(m,{key:0},[e[14]||(e[14]=t("dt",{class:"text-gray-500 shrink-0"}
2," HTML lang ",-1)),t("dd",ot,i(s.seo.html_lang),1)],64)):p("",!0),s.seo.title?(l(),o(m,{key:1},[e[15]||(e[15]=t("dt",{class:"text-gray-500 shrink-0"}," Title ",-1)),t("dd",it,i(s.seo.title),1)],64)):p("",!0),s.seo.description?(l(),o(m,{key:2},[e[16]||(e[16]=t("dt",{class:"text-gray-500 shrink-0 align-top pt-0.5"}," Meta description ",-1)),t("dd",nt,i(s.seo.description),1)],64)):p("",!0),s.seo.keywords?(l(),o(m,{key:3},[e[17]||(e[17]=t("dt",{class:"text-gray-500 shrink-0 align-top pt-0.5"}," Keywords ",-1)),t("dd",dt,i(s.seo.keywords),1)],64)):p("",!0),s.seo.canonical_url?(l(),o(m,{key:4},[e[18]||(e[18]=t("dt",{class:"text-gray-500 shrink-0"}," Canonical ",-1)),t("dd",ct,[t("a",{href:s.seo.canonical_url,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 hover:underline text-xs"},i(s.seo.canonical_url),9,ut)])],64)):p("",!0),s.seo.robots?(l(),o(m,{key:5},[e[19]||(e[19]=t("dt",{class:"text-gray-500 shrink-0"}," Robots ",-1)),t("dd",gt,i(s.seo.robots),1)],64)):p("",!0)]),s.seo.og_title||s.seo.og_description||s.seo.og_image?(l(),o("div",pt,[e[23]||(e[23]=t("h4",{class:"text-xs font-semibold text-gray-600"}," Open Graph ",-1)),t("dl",mt,[s.seo.og_title?(l(),o(m,{key:0},[e[20]||(e[20]=t("dt",{class:"text-gray-500 shrink-0"}," og:title ",-1)),t("dd",yt,i(s.seo.og_title),1)],64)):p("",!0),s.seo.og_description?(l(),o(m,{key:1},[e[21]||(e[21]=t("dt",{class:"text-gray-500 shrink-0 align-top pt-0.5"}," og:description ",-1)),t("dd",_t,i(s.seo.og_description),1)],64)):p("",!0),s.seo.og_image?(l(),o(m,{key:2},[e[22]||(e[22]=t("dt",{class:"text-gray-500 shrink-0 align-top pt-0.5"}," og:image ",-1)),t("dd",xt,[t("a",{href:s.seo.og_image,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 hover:underline text-xs break-all block"},i(s.seo.og_image),9,ft),t("img",{src:s.seo.og_image,alt:"",class:"max-h-28 max-w-full rounded border border-gray-200 object-contain bg-gray-50",loading:"lazy"},null,8,ht)])],64)):p("",!0)])])):p("",!0),s.seo.twitter_card||s.seo.twitter_title||s.seo.twitter_description||s.seo.twitter_image?(l(),o("div",bt,[e[28]||(e[28]=t("h4",{class:"text-xs font-semibold text-gray-600"}," Twitter / X cards ",-1)),t("dl",vt,[s.seo.twitter_card?(l(),o(m,{key:0},[e[24]||(e[24]=t("dt",{class:"text-gray-500 shrink-0"}," twitter:card ",-1)),t("dd",kt,i(s.seo.twitter_card),1)],64)):p("",!0),s.seo.twitter_title?(l(),o(m,{key:1},[e[25]||(e[25]=t("dt",{class:"text-gray-500 shrink-0"}," twitter:title ",-1)),t("dd",wt,i(s.seo.twitter_title),1)],64)):p("",!0),s.seo.twitter_description?(l(),o(m,{key:2},[e[26]||(e[26]=t("dt",{class:"text-gray-500 shrink-0 align-top pt-0.5"}," twitter:description ",-1)),t("dd",Ut,i(s.seo.twitter_description),1)],64)):p("",!0),s.seo.twitter_image?(l(),o(m,{key:3},[e[27]||(e[27]=t("dt",{class:"text-gray-500 shrink-0 align-top pt-0.5"}," twitter:image ",-1)),t("dd",$t,[t("a",{href:s.seo.twitter_image,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 hover:underline text-xs break-all block"},i(s.seo.twitter_image),9,St),t("img",{src:s.seo.twitter_image,alt:"",class:"max-h-28 max-w-full rounded border border-gray-200 object-contain bg-gray-50",loading:"lazy"},null,8,Ct)])],64)):p("",!0)])])):p("",!0),s.seo.hreflang_links?.length?(l(),o("div",Tt,[e[29]||(e[29]=t("h4",{class:"text-xs font-semibold text-gray-600"}," hreflang alternates ",-1)),t("ul",Lt,[(l(!0),o(m,null,M(s.seo.hreflang_links,(f,C)=>(l(),o("li",{key:`${f.hreflang}-${C}`,class:"flex flex-wrap gap-x-2 gap-y-1"},[t("span",Rt,i(f.hreflang),1),t("a",{href:f.href,target:"_blank",rel:"noopener noreferrer",class:"text-blue-600 hover:underline break-all"},i(f.href),9,jt)]))),128))])])):p("",!0)])):p("",!0),t("div",Pt,[s.status==="loading"?(l(),o("div",Mt,[v(P,{name:"i-heroicons-arrow-path",class:"w-6 h-6 animate-spin"}),e[31]||(e[31]=t("span",{class:"text-sm"},"Rendering…",-1))])):s.status==="error"?(l(),o("p",Vt,i(s.error),1)):s.previewUrl?(l(),o("img",{key:2,src:s.previewUrl,alt:s.seo?.title?`Preview: ${s.seo.title}`:`Screenshot of ${s.url}`,class:"max-w-full h-auto rounded shadow border border-gray-200"},null,8,Ot)):(l(),o("p",Et," Pending "))])]))),128))],2)])):p("",!0)]),_:1})}}});
2export{cs 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.