PageSourceSearch

https://ewagroup.org/assets/ArticlePage-CFgOqUuT.js

js ewagroup.org collected 2026-10-09 17:36:43 UTC 2,720 bytes, 1 lines download raw bytes

1import{j as s,b as l,u as n,r as i}from"./index-D5uQ2R80.js";import{h as m,N as d,F as x}from"./Footer-Bltip0DU.js";import{A as c,p,M as h,r as u}from"./purify.es-gqiLuiEx.js";import{B as g}from"./button-BYQZErvh.js";import{B as j}from"./badge-DeQxk3en.js";import{C as f}from"./clock-CCp1cfOp.js";import{u as N}from"./useDocumentMeta-CKmlCn9v.js";import{S as t}from"./skeleton-D-_DxCBE.js";const b=({article:e,onBack:r})=>s.jsxs("div",{className:"pt-20 pb-16",children:[e.image&&s.jsxs("div",{className:"relative w-full max-w-5xl mx-auto aspect-[21/9] overflow-hidden rounded-b-2xl mb-8",children:[s.jsx("img",{loading:"lazy",src:e.image,alt:e.coverAlt||e.title,className:"w-full h-full object-cover"}),s.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-background/60 via-transparent to-transparent"})]}),s.jsxs("div",{className:"max-w-4xl mx-auto px-4",children:[s.jsxs(g,{variant:"ghost",onClick:r,className:"mb-6 hover:bg-secondary",children:[s.jsx(c,{className:"mr-2 h-4 w-4"})," Back to Articles"]}),s.jsxs("header",{className:"mb-10",children:[s.jsx(j,{className:"mb-4 bg-primary/10 text-primary border-primary/20 text-xs uppercase tracking-wider",children:e.category}),s.jsx("h1",{className:"font-heading text-3xl md:text-4xl font-bold text-foreground mb-4 leading-tight",children:e.title}),s.jsxs("div",{className:"flex flex-wrap items-center gap-3 text-sm text-muted-foreground",children:[s.jsx("span",{children:e.date}),s.jsx("span",{children:"•"}),s.jsx("span",{children:e.author}),e.readTime&&s.jsxs(s.Fragment,{children:[s.jsx("span",{children:"•"}),s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(f,{className:"h-3.5 w-3.5"}),e.readTime]})]})]})]}),s.jsx("article",{className:"prose prose-lg max-w-none prose-headings:font-heading prose-headings:text-foreground prose-a:text-primary",children:e.bodyHtml?s.jsx("div",{dangerouslySetInnerHTML:{__html:p.sanitize(e.bodyHtml)}}):s.jsx(h,{remarkPlugins:[u],children:e.body})})]})]}),M=()=>{const{articleId:e}=l(),r=n(),{data:a,isLoading:o}=m(e);return N({title:a?`${a.title}: EWA Group`:"Articles: EWA Group",description:(a==null?void 0:a.excerpt)??"Analysis and insight from EWA Group.",image:(a==null?void 0:a.image)||void 0}),i.useEffect(()=>{!o&&!a&&r("/articles",{replace:!0})},[o,a,r]),s.jsxs("div",{className:"min-h-screen bg-background",children:[s.jsx(d,{}),o?s.jsxs("div",{className:"max-w-4xl mx-auto px-4 pt-28 pb-16 space-y-6",children:[s.jsx(t,{className:"h-64 w-full rounded-2xl"}),s.jsx(t,{className:"h-8 w-3/4"}),s.jsx(t,{className:"h-4 w-full"}),s.jsx(t,{className:"h-4 w-full"}),s.jsx(t,{className:"h-4 w-2/3"})]}):a?s.jsx(b,{article:a,onBack:()=>r("/articles")}):null,s.jsx(x,{})]})};export{M 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.