PageSourceSearch

https://www.stmirren.com/assets/news._-CDP9LOPm.js

js stmirren.com collected 2026-10-02 10:07:39 UTC 35,219 bytes, 51 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ArticleMarkdown-DVMtOVqI.js","assets/jsx-runtime-DUAcabCT.js","assets/sanitize-html-CPA3Scqb.js","assets/lib-CCfW8nkQ.js","assets/react-6OGjdfot.js"])))=>i.map(i=>d[i]);
2import{i as e,t}from"./jsx-runtime-DUAcabCT.js";import{t as n}from"./react-6OGjdfot.js";import{s as r}from"./redirect-5dYPHiJ4.js";import{n as i}from"./crest-DRTiLoPF.js";import{n as a}from"./client-BCi_4hAL.js";import{w as o}from"./Footer-Cz-rgqDo.js";import{D as s,E as c,T as l,t as u}from"./index-JsV2kkne.js";import{n as d,t as f}from"./sanitize-html-CPA3Scqb.js";import{n as p,t as m}from"./lib-CCfW8nkQ.js";import{t as h}from"./PageShell-CdyovR2v.js";var g=t(),_=[{label:`Shots`,pick:e=>e.shots},{label:`Shots on target`,pick:e=>e.shotsOnTarget},{label:`Expected goals (xG)`,pick:e=>e.expectedGoals,fmt:e=>e.toFixed(2)},{label:`Big chances`,pick:e=>e.bigChances},{label:`Corners`,pick:e=>e.corners},{label:`Touches in final third`,pick:e=>e.touchesFinalThird},{label:`Saves`,pick:e=>e.saves},{label:`Offsides`,pick:e=>e.offsides},{label:`Fouls`,pick:e=>e.fouls},{label:`Yellow cards`,pick:e=>e.yellowCards},{label:`Red cards`,pick:e=>e.redCards}];function v(e,t){let n=e+t;return n<=0?50:Math.round(e/n*100)}function y({stats:e}){let{home:t,away:n}=e,r=_.map(e=>({label:e.label,h:e.pick(t),a:e.pick(n),fmt:e.fmt})).filter(e=>(e.h??0)!==0||(e.a??0)!==0),i=t.possession??null,a=n.possession??(i===null?null:100-i);return(0,g.jsxs)(`section`,{className:`my-12`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-3 mb-5`,children:[(0,g.jsx)(`span`,{className:`h-[2px] w-8 bg-saints-red`}),(0,g.jsx)(`h2`,{className:`font-display font-black uppercase tracking-[0.25em] text-[11px] lg:text-xs text-ink`,children:`Match Stats`}),(0,g.jsx)(`span`,{className:`text-[10px] uppercase tracking-[0.2em] text-ink/40`,children:`Powered by Opta`})]}),(0,g.jsxs)(`div`,{className:`border-2 border-ink bg-ink text-bone`,children:[(0,g.jsxs)(`div`,{className:`px-5 py-5 border-b border-white/10`,children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,g.jsx)(`span`,{className:`flex-1 font-display font-bold uppercase tracking-tight text-sm sm:text-base text-right`,children:t.name}),(0,g.jsxs)(`span`,{className:`font-display font-black text-2xl sm:text-3xl px-4 whitespace-nowrap text-saints-red`,children:[t.score,` – `,n.score]}),(0,g.jsx)(`span`,{className:`flex-1 font-display font-bold uppercase tracking-tight text-sm sm:text-base`,children:n.name})]}),(0,g.jsx)(`p`,{className:`mt-2 text-center text-[10px] uppercase tracking-[0.2em] text-bone/50`,children:[e.competition,e.venue,e.htScore?`HT ${e.htScore}`:null].filter(Boolean).join(` · `)})]}),i!==null&&a!==null&&(0,g.jsxs)(`div`,{className:`px-5 py-5 border-b border-white/10`,children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between text-[11px] uppercase tracking-[0.2em] text-bone/60`,children:[(0,g.jsxs)(`span`,{children:[i,`%`]}),(0,g.jsx)(`span`,{children:`Possession`}),(0,g.jsxs)(`span`,{children:[a,`%`]})]}),(0,g.jsxs)(`div`,{className:`mt-2 h-3 w-full bg-white/10 overflow-hidden flex`,children:[(0,g.jsx)(`div`,{className:`h-full bg-saints-red`,style:{width:`${i}%`}}),(0,g.jsx)(`div`,{className:`h-full bg-bone/70`,style:{width:`${a}%`}})]})]}),(0,g.jsx)(`div`,{className:`px-5 py-4 space-y-4`,children:r.map(e=>{let t=e.h??0,n=e.a??0,r=v(t,n);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between text-[11px] uppercase tracking-[0.15em]`,children:[(0,g.jsx)(`span`,{className:`font-display font-bold text-bone w-12 text-left`,children:e.fmt?e.fmt(t):t}),(0,g.jsx)(`span`,{className:`text-bone/60 text-center flex-1`,children:e.label}),(0,g.jsx)(`span`,{className:`font-display font-bold text-bone w-12 text-right`,children:e.fmt?e.fmt(n):n})]}),(0,g.jsxs)(`div`,{className:`mt-1.5 flex h-1.5 w-full gap-[2px]`,children:[(0,g.jsx)(`div`,{className:`flex-1 bg-white/10 flex justify-end`,children:(0,g.jsx)(`div`,{className:`h-full bg-saints-red`,style:{width:`${r}%`}})}),(0,g.jsx)(`div`,{className:`flex-1 bg-white/10`,children:(0,g.jsx)(`div`,{className:`h-full bg-bone/70`,style:{width:`${100-r}%`}})})]})]},e.label)})}),(t.formation||n.formation)&&(0,g.jsxs)(`div`,{className:`px-5 py-3 border-t border-white/10 flex justify-between text-[10px] uppercase tracking-[0.2em] text-bone/50`,children:[(0,g.jsx)(`span`,{children:t.formation?`Formation ${t.formation}`:``}),(0,g.jsx)(`span`,{children:n.formation?`Formation ${n.formation}`:``})]})]})]})}var b=e(n(),1);function x(e){return e.trim().toLowerCase()}function S(e,t){let n=new Map,r=(e,t)=>{if(!e)return;let r=x(e),i=n.get(r);i?i.push(t):n.set(r,[t])};for(let n of e)if(n.side===t)if(n.kind===`goal`){let e=n.detail===`OG`;r(n.player,{icon:`⚽`,minute:n.minute,title:e?`Own goal`:n.detail===`PG`?`Goal (penalty)`:`Goal`}),n.secondary&&r(n.secondary,{icon:`🅰`,minute:n.minute,title:`Assist`})}else if(n.kind===`card`){let e=n.detail===`RC`||n.detail===`Y2C`;r(n.player,{icon:e?`🟥`:`🟨`,minute:n.minute,title:n.detail===`Y2C`?`Second yellow`:e?`Red card`:`Yellow card`})}else r(n.player,{icon:`▲`,minute:n.minute,title:`Substituted on`}),r(n.secondary,{icon:`▼`,minute:n.minute,title:`Substituted off`});return n}function C({marks:e}){return e.length===0?null:(0,g.jsx)(`span`,{className:`ml-auto pl-2 flex items-center gap-1.5 shrink-0`,children:e.map((e,t)=>(0,g.jsxs)(`span`,{title:`${e.title}${e.minute===null?``:` ${e.minute}'`}`,className:`inline-flex items-baseline gap-0.5 text-[11px] leading-none`,children:[(0,g.jsx)(`span`,{className:e.icon===`▲`?`text-[9px] text-emerald-600`:e.icon===`▼`?`text-[9px] text-saints-red`:``,children:e.icon}),e.minute!==null&&(0,g.jsxs)(`span`,{className:`tabular-nums text-ink/50 text-[10px]`,children:[e.minute,`'`]})]},t))})}function w(e){let t=e.stats;if(!t)return[];let n=e=>t[e]!==void 0,r=e=>t[e]??0,i=[],a=(e,t)=>{t!==null&&i.push({label:e,value:t})},o=e=>n(e)?String(Math.round(r(e))):null;return a(`Minutes`,o(`minsPlayed`)),a(`Goals`,o(`goals`)),a(`Assists`,o(`goalAssist`)),a(`Shots`,o(`totalScoringAtt`)),a(`On target`,o(`ontargetScoringAtt`)),a(`Chances created`,o(`bigChanceCreated`)),a(`Passe
2s`,n(`totalPass`)?`${Math.round(r(`accuratePass`))}/${Math.round(r(`totalPass`))}${r(`totalPass`)?` (${Math.round(r(`accuratePass`)/r(`totalPass`)*100)}%)`:``}`:null),a(`Touches`,o(`touches`)),a(`Dribbles`,n(`totalContest`)?`${Math.round(r(`wonContest`))}/${Math.round(r(`totalContest`))}`:null),a(`Duels won`,n(`duelWon`)?`${Math.round(r(`duelWon`))}/${Math.round(r(`duelWon`)+r(`duelLost`))}`:null),a(`Aerials won`,n(`aerialWon`)?`${Math.round(r(`aerialWon`))}/${Math.round(r(`aerialWon`)+r(`aerialLost`))}`:null),a(`Tackles won`,n(`totalTackle`)?`${Math.round(r(`wonTackle`))}/${Math.round(r(`totalTackle`))}`:null),a(`Interceptions`,o(`interception`)),a(`Clearances`,o(`totalClearance`)),a(`Blocks`,o(`outfielderBlock`)),a(`Recoveries`,o(`ballRecovery`)),a(`Possession lost`,o(`possLostAll`)),a(`Saves`,o(`saves`)),a(`Goals conceded`,o(`goalsConceded`)),a(`Fouls conceded`,o(`fkFoulLost`)),a(`Fouls won`,o(`fkFoulWon`)),a(`Offsides`,o(`totalOffside`)),i}function T({p:e,marks:t}){let[n,r]=(0,b.useState)(!1),i=w(e),a=i.length>0,o=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`span`,{className:`font-display font-bold text-[11px] text-saints-red w-6 shrink-0 tabular-nums`,children:e.shirtNumber??``}),(0,g.jsxs)(`span`,{className:`text-sm text-ink truncate flex-1 min-w-0`,children:[e.name,e.captain&&(0,g.jsx)(`span`,{className:`ml-1 text-[10px] text-ink/50`,children:`(C)`})]}),(0,g.jsx)(C,{marks:t}),a&&(0,g.jsx)(`span`,{"aria-hidden":!0,className:`ml-1 shrink-0 text-[9px] text-ink/40 transition-transform ${n?`rotate-180`:``}`,children:`▼`})]});return(0,g.jsxs)(`li`,{className:`border-b border-ink/10 last:border-b-0`,children:[a?(0,g.jsx)(`button`,{type:`button`,onClick:()=>r(e=>!e),"aria-expanded":n,className:`w-full flex items-baseline gap-2 py-1 text-left hover:bg-ink/5`,children:o}):(0,g.jsx)(`div`,{className:`flex items-baseline gap-2 py-1`,children:o}),a&&n&&(0,g.jsx)(`dl`,{className:`mb-2 ml-6 grid grid-cols-2 gap-x-4 border-l-2 border-saints-red/40 pl-3`,children:i.map(e=>(0,g.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 py-[3px]`,children:[(0,g.jsx)(`dt`,{className:`text-[10px] uppercase tracking-[0.12em] text-ink/50`,children:e.label}),(0,g.jsx)(`dd`,{className:`font-display font-bold text-[11px] text-ink tabular-nums`,children:e.value})]},e.label))})]})}function E({team:e,events:t,side:n}){let r=S(t,n),i=e=>r.get(x(e.name))??[],a=e.subs.filter(e=>i(e).length>0),o=e.subs.filter(e=>i(e).length===0);return(0,g.jsxs)(`div`,{children:[(0,g.jsxs)(`div`,{className:`mb-2 pb-2 border-b-2 border-ink`,children:[(0,g.jsx)(`p`,{className:`font-display font-black uppercase tracking-tight text-sm text-ink`,children:e.name}),e.formation&&(0,g.jsxs)(`p`,{className:`text-[10px] uppercase tracking-[0.2em] text-ink/50`,children:[`Formation `,e.formation]})]}),(0,g.jsx)(`ul`,{children:e.starters.map(e=>(0,g.jsx)(T,{p:e,marks:i(e)},`s-${e.id}`))}),e.subs.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`p`,{className:`mt-3 mb-1 text-[10px] uppercase tracking-[0.2em] text-ink/50`,children:`Substitutes`}),(0,g.jsx)(`ul`,{children:a.map(e=>(0,g.jsx)(T,{p:e,marks:i(e)},`b-${e.id}`))}),o.length>0&&(0,g.jsx)(`ul`,{className:`opacity-60`,children:o.map(e=>(0,g.jsx)(T,{p:e,marks:[]},`u-${e.id}`))})]})]})}function D({stats:e}){if(!e.lineups)return null;let t=e.events??[];return(0,g.jsxs)(`section`,{className:`my-12`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-3 mb-4`,children:[(0,g.jsx)(`span`,{className:`h-[2px] w-8 bg-saints-red`}),(0,g.jsx)(`h3`,{className:`font-display font-black uppercase tracking-[0.25em] text-[11px] lg:text-xs text-ink`,children:`Line-ups`})]}),(0,g.jsxs)(`div`,{className:`border-2 border-ink bg-bone px-5 py-5 grid gap-8 md:grid-cols-2`,children:[(0,g.jsx)(E,{team:e.lineups.home,events:t,side:`home`}),(0,g.jsx)(E,{team:e.lineups.away,events:t,side:`away`})]}),(0,g.jsxs)(`p`,{className:`mt-2 flex flex-wrap gap-x-4 gap-y-1 text-[10px] uppercase tracking-[0.15em] text-ink/50`,children:[(0,g.jsx)(`span`,{children:`⚽ Goal`}),(0,g.jsx)(`span`,{children:`🅰 Assist`}),(0,g.jsx)(`span`,{children:`🟨 Yellow`}),(0,g.jsx)(`span`,{children:`🟥 Red`}),(0,g.jsx)(`span`,{className:`text-emerald-600`,children:`▲ On`}),(0,g.jsx)(`span`,{className:`text-saints-red`,children:`▼ Off`})]})]})}var O=(0,b.lazy)(()=>a(()=>import(`./ArticleMarkdown-DVMtOVqI.js`),__vite__mapDeps([0,1,2,3,4]))),k=class extends b.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(){}render(){return this.state.failed?this.props.fallback:this.props.children}};function A(e,t){return e?e.includes(`/api/public/news-image/`)?`${e}${e.includes(`?`)?`&`:`?`}w=${t}&q=78&v=2`:e:``}function j(e){try{let t=new URL(e);if(t.hostname.includes(`youtu.be`))return t.pathname.slice(1)||null;if(t.searchParams.get(`v`))return t.searchParams.get(`v`);let n=t.pathname.match(/\/(embed|shorts)\/([\w-]{6,})/);return n?n[2]:null}catch{return null}}function M(e){return new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`long`,year:`numeric`})}function N(e){let t=new Date(e);return{day:t.toLocaleDateString(`en-GB`,{day:`2-digit`}),mon:t.toLocaleDateString(`en-GB`,{month:`short`}).toUpperCase(),year:t.toLocaleDateString(`en-GB`,{year:`numeric`}),weekday:t.toLocaleDateString(`en-GB`,{weekday:`long`}).toUpperCase()}}function P(e){if(!e)return 1;let t=e.replace(/[#>
2*_`!\[\]()]/g,` `).split(/\s+/).filter(Boolean).length;return Math.max(1,Math.round(t/220))}function F(){let{_splat:e}=u.useParams(),t=String(e??``),{data:n,isLoading:a,error:_}=o({queryKey:[`news-article`,t],queryFn:()=>c(t)}),{data:v}=o({queryKey:[`news-other`,t],queryFn:()=>s({limit:12})}),{data:x}=o({queryKey:[`news-adjacent`,t],queryFn:()=>l(n.published_at),enabled:!!n?.published_at});if(a)return(0,g.jsx)(h,{children:(0,g.jsx)(`div`,{className:`mx-auto max-w-3xl px-6 py-24 text-sm text-ink/50 bg-white`,children:`Loading…`})});if(_)throw _;if(!n)throw r();let S=n.category?.name??`Saints News`,C=M(n.published_at),w=N(n.published_at),T=n.author_name??`Saints Newsroom`,E=P(n.body),F=Math.min(10,Math.max(4,E+2)),z=(v??[]).filter(e=>e.slug!==t).slice(0,F);return(0,g.jsx)(h,{children:(0,g.jsx)(`div`,{className:`programme-bg w-full py-8 lg:py-14 px-3 lg:px-6`,children:(0,g.jsxs)(`article`,{className:`programme mx-auto max-w-[1300px] bg-bone text-ink shadow-[0_30px_60px_-20px_rgba(0,0,0,0.5)]`,children:[(0,g.jsxs)(`div`,{className:`bg-ink text-bone`,children:[(0,g.jsxs)(`div`,{className:`flex items-stretch border-b border-bone/20`,children:[(0,g.jsxs)(`div`,{className:`px-5 lg:px-8 py-3 border-r border-bone/20 flex items-center gap-3`,children:[(0,g.jsx)(`div`,{className:`w-2.5 h-2.5 bg-saints-red rotate-45`}),(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.35em] text-[10px] lg:text-xs`,children:`The Saints Programme`})]}),(0,g.jsxs)(`div`,{className:`hidden lg:flex items-center px-5 py-3 border-r border-bone/20 font-display uppercase tracking-[0.25em] text-[10px] text-bone/70`,children:[w.weekday,`, `,w.day,` `,w.mon,` `,w.year]}),(0,g.jsx)(`div`,{className:`ml-auto px-5 lg:px-8 py-3 flex items-center gap-3 bg-saints-red`,children:(0,g.jsxs)(`span`,{className:`font-display font-bold uppercase tracking-[0.3em] text-[10px] lg:text-xs`,children:[`★ `,S]})})]}),(0,g.jsx)(`div`,{className:`paisley-band h-3`})]}),(0,g.jsxs)(`header`,{className:`bg-ink text-bone`,children:[(0,g.jsxs)(`div`,{className:`relative overflow-hidden`,children:[n.hero_image_url?(0,g.jsx)(`img`,{src:A(n.hero_image_url,1600),alt:n.title,className:`block w-full aspect-[2/1] object-cover`}):(0,g.jsx)(`div`,{className:`w-full aspect-[2/1] diagonal-stripes opacity-40`}),(0,g.jsx)(`div`,{className:`absolute inset-0 pointer-events-none mix-blend-multiply opacity-20`,style:{backgroundImage:`radial-gradient(rgba(0,0,0,0.9) 1px, transparent 1.4px)`,backgroundSize:`5px 5px`}})]}),(0,g.jsxs)(`div`,{className:`relative overflow-hidden bg-ink text-bone border-t-4 border-saints-red`,children:[(0,g.jsx)(`div`,{className:`absolute inset-0 pointer-events-none bg-gradient-to-br from-bone/[0.08] via-trans
2parent to-saints-red/10`}),(0,g.jsx)(`div`,{className:`absolute inset-0 pointer-events-none opacity-[0.08]`,style:{backgroundImage:`radial-gradient(rgba(255,255,255,0.9) 1px, transparent 1.4px)`,backgroundSize:`6px 6px`}}),(0,g.jsx)(`div`,{"aria-hidden":!0,className:`absolute -right-6 -bottom-12 font-display font-black leading-none select-none pointer-events-none opacity-[0.07] text-bone text-[10rem] md:text-[16rem] lg:text-[20rem] uppercase tracking-tighter`,children:`Saints`}),(0,g.jsxs)(`div`,{className:`relative z-10 p-6 md:p-10 lg:p-14`,children:[(0,g.jsxs)(`div`,{className:`inline-flex items-center gap-3 mb-5`,children:[(0,g.jsx)(`div`,{className:`h-[2px] w-10 bg-saints-red`}),(0,g.jsxs)(`span`,{className:`font-display font-bold uppercase tracking-[0.4em] text-[10px] lg:text-xs text-bone/70`,children:[w.day,` `,w.mon,` `,w.year,` · Paisley`]}),(0,g.jsx)(`div`,{className:`h-[2px] w-10 bg-saints-red`})]}),(0,g.jsx)(`h1`,{className:`font-display font-black uppercase leading-[0.92] tracking-tight text-bone text-4xl md:text-5xl lg:text-6xl xl:text-7xl max-w-5xl`,children:n.title}),n.excerpt&&(0,g.jsx)(`p`,{className:`mt-6 max-w-3xl font-display font-bold uppercase tracking-widest text-sm lg:text-base text-bone/80`,children:n.excerpt})]})]})]}),(0,g.jsxs)(`div`,{className:`bg-bone border-y-2 border-ink grid grid-cols-1 md:grid-cols-3 divide-x-0 md:divide-x-2 divide-ink/10`,children:[(0,g.jsx)(I,{label:`Filed`,value:C}),(0,g.jsx)(I,{label:`Words by`,value:T}),(0,g.jsx)(I,{label:`Reading`,value:`${E} min`,accent:!0})]}),(0,g.jsx)(V,{title:n.title}),(0,g.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-12 gap-0`,children:[(0,g.jsxs)(`div`,{className:`lg:col-span-9 p-6 md:p-10 lg:p-16 bg-bone min-w-0 relative lg:border-r-2 lg:border-ink`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-4 mb-8 lg:mb-12`,children:[(0,g.jsx)(`span`,{className:`font-display font-black uppercase text-saints-red tracking-[0.3em] text-xs`,children:`◆◆◆ Feature`}),(0,g.jsx)(`div`,{className:`flex-1 h-[1px] bg-ink/30`}),(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.3em] text-[10px] text-ink/50`,children:`Saints Programme`})]}),(0,g.jsx)(`div`,{className:`programme-prose text-ink
3                  prose prose-lg max-w-none
4                  
5                  prose-headings:font-display prose-headings:uppercase prose-headings:tracking-tight prose-headings:text-ink prose-headings:break-after-avoid
6                  prose-p:my-5 prose-p:text-[16px] prose-p:leading-[1.75]
7                  prose-a:text-saints-red prose-a:font-bold prose-a:no-underline hover:prose-a:underline prose-a:underline-offset-4
8                  prose-strong:text-ink prose-strong:font-bold
9                  prose-blockquote:not-italic prose-blockquote:bg-ink prose-blockquote:text-bone
10                  prose-blockquote:p-7 lg:prose-blockquote:p-8
11                  prose-blockquote:border-0 prose-blockquote:border-l-[6px] prose-blockquote:border-saints-red
12                  prose-blockquote:font-display prose-blockquote:uppercase prose-blockquote:tracking-tight
13                  prose-blockquote:text-xl prose-blockquote:leading-tight
14                  prose-blockquote:break-inside-avoid
15                  prose-blockquote:[&>p]:before:content-none prose-blockquote:[&>p]:after:content-none
16                  prose-img:w-full prose-img:my-8 prose-img:break-inside-avoid prose-img:border-2 prose-img:border-ink
17                  prose-hr:my-10 prose-hr:border-ink
18                  prose-li:my-1`,children:n.body&&(/^\s*</.test(n.body)?(0,g.jsx)(`div`,{dangerouslySetInnerHTML:{__html:f(n.body)}}):(0,g.jsx)(k,{fallback:(0,g.jsx)(p,{rehypePlugins:[m,d],children:n.body}),children:(0,g.jsx)(b.Suspense,{fallback:(0,g.jsx)(p,{rehypePlugins:[m,d],children:n.body}),children:(0,g.jsx)(O,{body:n.body})})}))}),n.opta_stats&&(0,g.jsx)(D,{stats:n.opta_stats}),n.quote_text&&(0,g.jsxs)(`figure`,{className:`my-12 relative bg-ink text-bone border-l-[6px] border-saints-red p-7 lg:p-10`,children:[(0,g.jsx)(`div`,{"aria-hidden":!0,className:`absolute -top-6 left-6 font-display font-black text-saints-red text-[6rem] leading-none select-none`,children:`“`}),(0,g.jsx)(`blockquote`,{className:`relative font-display uppercase tracking-tight text-xl lg:text-2xl leading-tight`,children:n.quote_text}),n.quote_attribution&&(0,g.jsxs)(`figcaption`,{className:`mt-5 flex items-center gap-3`,children:[(0,g.jsx)(`div`,{className:`h-[2px] w-8 bg-saints-red`}),(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.3em] text-[10px] lg:text-xs text-bone/80`,children:n.quote_attribution})]})]}),n.gallery_images?.length>0&&(n.gallery_layout===`inline`?(0,g.jsx)(R,{images:n.gallery_images}):(0,g.jsx)(B,{images:n.gallery_images})),n.opta_stats&&(0,g.jsx)(y,{stats:n.opta_stats}),n.youtube_links?.length>0&&(0,g.jsxs)(`div`,{className:`my-12 space-y-6`,children:[(0,g.jsx)(L,{label:`Watch`}),n.youtube_links.map((e,t)=>{let n=j(e);return n?(0,g.jsx)(`div`,{className:`relative w-full aspect-video border-2 border-ink bg-ink`,children:(0,g.jsx)(`iframe`,{src:`https://www.youtube.com/embed/${n}`,title:`Video ${t+1}`,className:`absolute inset-0 w-full h-full`,loading:`lazy`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share`,allowFullScreen:!0})},e+t):null})]}),n.attachments?.length>0&&(0,g.jsxs)(`div`,{className:`my-12`,children:[(0,g.jsx)(L,{label:`Downloads`}),(0,g.jsx)(`div`,{className:`grid grid-cols-1 sm:grid-cols-2 gap-3`,children:n.attachments.map((e,t)=>(0,g.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`group flex items-center gap-4 border-2 border-ink bg-bone hover:bg-ink hover:text-bone transition-colors p-4`,children:[(0,g.jsx)(`span`,{className:`font-display font-black text-saints-red text-2xl group-hover:text-bone`,children:`PDF`}),(0,g.jsx)(`span`,{className:`flex-1 min-w-0 font-display font-bold uppercase tracking-tight text-sm truncate`,children:e.name}),(0,g.jsx)(`span`,{className:`font-display font-bold text-lg`,children:`↓`})]},e.url+t))})]}),(0,g.jsx)(`style`,{children:`
19                .programme-prose > p:first-of-type::first-letter,
20                .programme-prose > div:first-child > p:first-of-type:first-child::first-letter,
21                .programme-prose > div:first-child > div:first-child > p:first-of-type:first-child::first-letter {
22                  font-family: var(--font-display);
23                  color: var(--saints-red);
24                  font-weight: 900;
25                  font-size: 5.5rem;
26                  line-height: 0.82;
27                  float: left;
28                  margin-right: 0.6rem;
29                  margin-top: 0.35rem;
30                  padding: 0.25rem 0.5rem 0 0.25rem;
31                  text-transform: uppercase;
32                  background: var(--ink);
33                  color: var(--bone);
34                  box-shadow: 6px 6px 0 var(--saints-red);
35                }
36                .programme-prose { font-family: var(--font-sans); }
37                .programme-prose blockquote { font-family: var(--font-display); }
38                .programme-bg {
39                  background-color: #2b2b2b;
40                  background-image:
41                    radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
42                    radial-gradient(rgba(0,0,0,0.4) 1px, transparent 1px);
43                  background-size: 6px 6px, 18px 18px;
44                  background-position: 0 0, 3px 3px;
45                }
46                .programme {
47                  background-image:
48                    radial-gradient(rgba(0,0,0,0.025) 1px, transparent 1.2px);
49                  background-size: 3px 3px;
50                }
51              `}),(0,g.jsxs)(`div`,{className:`mt-14 flex items-center gap-4`,children:[(0,g.jsx)(`div`,{className:`h-[2px] flex-1 bg-ink`}),(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`w-2 h-2 bg-ink rotate-45`}),(0,g.jsx)(`img`,{src:`/badges/st-mirren.png`,alt:`Saints badge`,className:`w-5 h-5 object-contain`}),(0,g.jsx)(`div`,{className:`w-2 h-2 bg-ink rotate-45`})]}),(0,g.jsx)(`div`,{className:`h-[2px] flex-1 bg-ink`})]}),(0,g.jsx)(`p`,{className:`mt-6 text-center font-display font-black uppercase tracking-[0.5em] text-xs text-ink/70`,children:`— End of Despatch —`}),(0,g.jsxs)(`div`,{className:`mt-14 border-t-2 border-ink pt-8 flex flex-col md:flex-row justify-between items-start md:items-center gap-6`,children:[(0,g.jsxs)(`div`,{children:[(0,g.jsx)(`div`,{className:`font-display font-black uppercase tracking-[0.3em] text-saints-red text-xs`,children:`The Saints Programme`}),(0,g.jsxs)(`div`,{className:`font-display uppercase tracking-[0.2em] text-[10px] text-ink/60 mt-1`,children:[w.day,` `,w.mon,` `,w.year,` · Paisley`]})]}),(0,g.jsxs)(`div`,{className:`flex gap-3 items-center`,children:[x?.prev?(0,g.jsx)(i,{to:`/news/$`,params:{_splat:String(x.prev.slug).replace(/^\/+/,``)},className:`group w-12 h-12 border-2 border-ink flex items-center justify-center hover:bg-ink hover:text-bone transition-colors text-lg`,"aria-label":`Previous article: ${x.prev.title}`,title:x.prev.title,children:`←`}):(0,g.jsx)(`span`,{className:`w-12 h-12 border-2 border-ink/20 flex items-center justify-center text-ink/20 text-lg cursor-not-allowed`,"aria-hidden":`true`,children:`←`}),x?.next?(0,g.jsx)(i,{to:`/news/$`,params:{_splat:String(x.next.slug).replace(/^\/+/,``)},className:`w-12 h-12 border-2 border-ink flex items-center justify-center bg-saints-red text-bone hover:bg-ink transition-colors text-lg`,"aria-label":`Next article: ${x.next.title}`,title:x.next.title,children:`→`}):(0,g.jsx)(`span`,{className:`w-12 h-12 border-2 border-ink/20 flex items-center justify-center text-ink/20 text-lg cursor-not-allowed`,"aria-hidden":`true`,children:`→`})]})]})]}),(0,g.jsx)(`aside`,{className:`lg:col-span-3 bg-bone border-t-2 lg:border-t-0 border-ink p-6 lg:p-8`,children:(0,g.jsxs)(`div`,{className:`sticky top-6`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-3 mb-5`,children:[(0,g.jsx)(`div`,{className:`w-2 h-2 bg-saints-red rotate-45`}),(0,g.jsx)(`h2`,{className:`font-display font-black uppercase tracking-[0.25em] text-xs text-ink`,children:`In Other News`})]}),(0,g.jsx)(`div`,{className:`h-[3px] bg-ink mb-5 relative`,children:(0,g.jsx)(`div`,{className:`absolute left-0 top-0 h-full w-12 bg-saints-red`})}),(0,g.jsx)(`ul`,{className:`space-y-5`,children:z.map(e=>(0,g.jsx)(`li`,{className:`group`,children:(0,g.jsxs)(i,{to:`/news/$`,params:{_splat:String(e.slug).replace(/^\/+/,``)},className:`flex gap-3 items-start`,children:[(0,g.jsx)(`div`,{className:`relative shrink-0 overflow-hidden border-2 border-ink bg-ink`,style:{width:`5rem`,height:`3.75rem`},children:e.hero_image_url?(0,g.jsx)(`img`,{src:A(e.hero_image_url,240),alt:e.title,width:240,height:180,decoding:`async`,className:`block object-cover transition-transform duration-300 group-hover:scale-105`,style:{position:`absolute`,top:0,left:0,width:`100%`,height:`100%`}}):(0,g.jsx)(`div`,{className:`diagonal-stripes opacity-40`,style:{position:`absolute`,top:0,left:0,width:`100%`,height:`100%`}})}),(0,g.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[e.category?.name&&(0,g.jsx)(`div`,{className:`text-[9px] font-display font-bold uppercase tracking-[0.25em] text-saints-red mb-1`,children:e.category.name}),(0,g.jsx)(`h3`,{className:`font-display font-bold uppercase leading-[1.15] tracking-tight text-[13px] text-ink group-hover:text-saints-red transition-colors`,children:e.title})]})]})},e.id))}),(0,g.jsx)(`div`,{className:`paisley-band h-3 mt-8`}),(0,g.jsx)(i,{to:`/news`,className:`mt-5 inline-flex items-center gap-2 text-[11px] font-display font-bold uppercase tracking-[0.3em] text-ink hover:text-saints-red transition-colors`,children:`← Back to Newsstand`})]})})]}),(0,g.jsxs)(`div`,{className:`bg-ink text-bone`,children:[(0,g.jsx)(`div`,{className:`paisley-band h-3`}),(0,g.jsxs)(`div`,{className:`flex items-center justify-between px-6 lg:px-10 py-4 flex-wrap gap-3`,children:[(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.35em] text-[10px] text-bone/70`,children:`St. Mirren Football Club · Est. 1877`}),(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.35em] text-[10px] text-saints-red`,children:`★ OUR TOWN OU
51R TEAM · COYS ★`})]})]})]})})})}function I({label:e,value:t,accent:n}){return(0,g.jsxs)(`div`,{className:`px-4 lg:px-6 py-4 ${n?`bg-saints-red text-bone`:``}`,children:[(0,g.jsx)(`div`,{className:`text-[10px] font-display font-bold uppercase tracking-[0.3em] ${n?`text-bone/80`:`text-ink/50`}`,children:e}),(0,g.jsx)(`div`,{className:`mt-1 font-display font-black uppercase tracking-tight text-sm lg:text-base truncate`,children:t})]})}function L({label:e}){return(0,g.jsxs)(`div`,{className:`flex items-center gap-4 mb-5`,children:[(0,g.jsxs)(`span`,{className:`font-display font-black uppercase text-saints-red tracking-[0.3em] text-xs`,children:[`◆ `,e]}),(0,g.jsx)(`div`,{className:`flex-1 h-[1px] bg-ink/30`})]})}function R({images:e}){return(0,g.jsx)(`div`,{className:`my-8 space-y-4`,children:e.map((e,t)=>(0,g.jsx)(`img`,{src:A(e,1200),alt:``,loading:`lazy`,className:`block w-full h-auto border-2 border-ink bg-ink`},e+t))})}function z({src:e,index:t}){let n=A(e,600),[r,i]=(0,b.useState)(!1),a={position:`absolute`,top:0,left:0,width:`100%`,height:`100%`};return(0,g.jsx)(`div`,{className:`relative w-full overflow-hidden`,style:{paddingBottom:`100%`},children:r?(0,g.jsxs)(`div`,{className:`grid place-items-center bg-ink text-bone/60 text-xs font-display uppercase tracking-widest`,style:a,children:[`Image `,t+1]}):(0,g.jsx)(`img`,{src:n,alt:``,width:600,height:600,decoding:`async`,onError:()=>i(!0),className:`block object-cover transition-transform duration-300 group-hover:scale-105`,style:a})})}function B({images:e}){let[t,n]=(0,b.useState)(null),r={position:`fixed`,top:0,right:0,bottom:0,left:0},i={position:`absolute`,display:`block`,width:`3rem`,height:`3rem`,lineHeight:`2.75rem`,textAlign:`center`};return(0,b.useEffect)(()=>{if(t===null)return;function r(t){t.key===`Escape`&&n(null),t.key===`ArrowRight`&&n(t=>t===null?null:(t+1)%e.length),t.key===`ArrowLeft`&&n(t=>t===null?null:(t-1+e.length)%e.length)}return window.addEventListener(`keydown`,r),document.body.style.overflow=`hidden`,()=>{window.removeEventListener(`keydown`,r),document.body.style.overflow=``}},[t,e.length]),(0,g.jsxs)(`div`,{className:`my-12`,children:[(0,g.jsx)(L,{label:`Gallery`}),(0,g.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-2`,children:e.map((e,t)=>(0,g.jsx)(`button`,{type:`button`,onClick:()=>n(t),className:`group relative overflow-hidden border-2 border-ink bg-ink`,"aria-label":`Open image ${t+1}`,children:(0,g.jsx)(z,{src:e,index:t})},e+t))}),t!==null&&(0,g.jsxs)(`div`,{className:`z-[60]`,style:{...r,background:`rgba(0,0,0,0.95)`,padding:`1rem`,textAlign:`center`,whiteSpace:`nowrap`,overflow:`auto`},onClick:()=>n(null),role:`dialog`,"aria-modal":`true`,children:[(0,g.jsx)(`span`,{style:{display:`inline-block`,height:`100%`,verticalAlign:`middle`},"aria-hidden":`true`}),(0,g.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),n(null)},className:`text-bone text-2xl border border-bone/30 hover:bg-bone/10`,style:{...i,top:`1rem`,right:`1rem`,width:`2.5rem`,height:`2.5rem`,lineHeight:`2.25rem`,zIndex:2},"aria-label":`Close`,children:`✕`}),(0,g.jsx)(`button`,{type:`button`,onClick:r=>{r.stopPropagation(),n((t-1+e.length)%e.length)},className:`text-bone text-3xl border border-bone/30 hover:bg-bone/10`,style:{...i,left:`1rem`,top:`50%`,marginTop:`-1.5rem`,zIndex:2},"aria-label":`Previous`,children:`‹`}),(0,g.jsx)(`img`,{src:A(e[t],1200),alt:``,onClick:e=>e.stopPropagation(),className:`border-2 border-bone/20`,style:{display:`inline-block`,verticalAlign:`middle`,maxWidth:`92%`,maxHeight:`90%`,width:`auto`,height:`auto`,whiteSpace:`normal`}}),(0,g.jsx)(`button`,{type:`button`,onClick:r=>{r.stopPropagation(),n((t+1)%e.length)},className:`text-bone text-3xl border border-bone/30 hover:bg-bone/10`,style:{...i,right:`1rem`,top:`50%`,marginTop:`-1.5rem`,zIndex:2},"aria-label":`Next`,children:`›`}),(0,g.jsxs)(`div`,{className:`font-display font-bold uppercase tracking-[0.3em] text-[10px] text-bone/70`,style:{position:`absolute`,bottom:`1rem`,left:0,width:`100%`,textAlign:`center`},children:[t+1,` / `,e.length]})]})]})}function V({title:e}){let[t,n]=(0,b.useState)(``),[r,i]=(0,b.useState)(!1);(0,b.useEffect)(()=>{n(window.location.href)},[]);let a=encodeURIComponent,o=t,s=e,c=[{name:`X`,href:`https://twitter.com/intent/tweet?text=${a(s)}&url=${a(o)}`,svg:(0,g.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})},{name:`Facebook`,href:`https://www.facebook.com/sharer/sharer.php?u=${a(o)}`,svg:(0,g.jsx)(`path`,{d:`M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z`})},{name:`WhatsApp`,href:`https://wa.me/?text=${a(s+` `+o)}`,svg:(0,g.jsx)(`path`,{d:`M.057 24l1.687-6.163c-1.041-1.804-1.588-3.849-1.587-5.946.003-6.556 5.338-11.891 11.893-11.891 3.181.001 6.167 1.24 8.413 3.488 2.245 2.248 3.481 5.236 3.48 8.414-.003 6.557-5.338 11.892-11.893 11.892-1.99-.001-3.951-.5-5.688-1.448L.057 24zm6.597-3.807c1.676.995 3.276 1.591 5.392 1.592 5.448 0 9.886-4.434 9.889-9.885.002-5.462-4.415-9.89-9.881-9.892-5.452 0-9.887 4.434-9.889 9.884-.001 2.225.651 3.891 1.746 5.634l-.999 3.648 3.742-.981zm11.387-5.464c-.074-.124-.272-.198-.57-.347-.297-.149-1.758-.868-2.031-.967-.272-.099-.47-.149-.669.149-.198.297-.768.967-.941 1.165-.173.198-.347.223-.644.074-.297-.149-1.255-.462-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.297-.347.446-.521.151-.172.2-.296.3-.495.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51l-.57-.01c-.198 0-.52.074-.792.372s-1.04 1.016-1.04 2.479 1.065 2.876 1.213 3.074c.149.198 2.095 3.2 5.076 4.487.71.306 1.263.489 1.694.626.712.226 1.36.194 1.872.118.571-.085 1.758-.719 2.006-1.413.248-.695.248-1.29.173-1.414z`})},{name:`LinkedIn`,href:`https://www.linkedin.com/sharing/share-offsite/?url=${a(o)}`,svg:(0,g.jsx)(`path`,{d:`M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.063 2.063 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z`})},{name:`Email`,href:`mailto:?subject=${a(s)}&body=${a(o)}`,svg:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,he
51ight:`14`,rx:`1.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`}),(0,g.jsx)(`path`,{d:`M3 6.5l9 6 9-6`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})]})}];async function l(){try{await navigator.clipboard.writeText(o),i(!0),setTimeout(()=>i(!1),1800)}catch{}}return(0,g.jsxs)(`div`,{className:`bg-ink text-bone border-b-2 border-saints-red px-4 lg:px-6 py-3 flex items-center gap-3 flex-wrap`,children:[(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.3em] text-[10px] text-bone/60`,children:`Share`}),(0,g.jsx)(`div`,{className:`h-3 w-px bg-bone/20`}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[c.map(e=>(0,g.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Share on ${e.name}`,className:`w-8 h-8 grid place-items-center border border-bone/20 hover:bg-saints-red hover:border-saints-red transition-colors`,children:(0,g.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,className:`w-3.5 h-3.5`,children:e.svg})},e.name)),(0,g.jsx)(`button`,{type:`button`,onClick:l,"aria-label":`Copy link`,className:`w-8 h-8 grid place-items-center border border-bone/20 hover:bg-saints-red hover:border-saints-red transition-colors`,children:(0,g.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,className:`w-3.5 h-3.5`,children:[(0,g.jsx)(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`,ry:`2`}),(0,g.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]})})]}),r&&(0,g.jsx)(`span`,{className:`font-display font-bold uppercase tracking-[0.2em] text-[10px] text-saints-red`,children:`Link copied`})]})}export{F as component};

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.