PageSourceSearch

https://100greatbooks.com/assets/PodcastEpisode-qKWN0rU-.js

js 100greatbooks.com collected 2026-10-09 22:03:57 UTC 5,977 bytes, 1 lines download raw bytes

1import{D as k,_ as i,al as _,j as e,N as c,L as p,F as h,S as C,ah as t,ap as L}from"./index-CgATW1b_.js";import{C as E}from"./card-CxPkOzgf.js";import{slugify as P}from"./Podcast-yEFsJ2m9.js";import{C as B}from"./chevron-left-pP6n9qaj.js";import{S as O}from"./share-2-D3b9QG65.js";import{E as R}from"./external-link-CjqO0M6O.js";import{R as x}from"./rss-B1lUcQ0k.js";import"./play-Mg_sH5oy.js";const z={classics:"Classics",business:"Business",modern:"Modern Fiction",kids:"Kids",science:"Science",history:"History",philosophy:"Philosophy",biography:"Biography",growth:"Growth","life-changing":"Life-Changing",longevity:"Longevity"};function U(){const{slug:a}=k(),[s,u]=i.useState(null),[f,d]=i.useState(!0),[m,g]=i.useState(!1);if(i.useEffect(()=>{a&&(async()=>{d(!0);const l=new Date().toISOString().slice(0,10),{data:S}=await _.from("podcast_queue").select("id,title,author,year,category,description,audio_url,script,podcast_date").eq("status","published").not("audio_url","is",null).lte("podcast_date",l).order("podcast_date",{ascending:!1}).limit(1e3),v=(S??[]).find(w=>P(w.title)===a);u(v??null),d(!1)})()},[a]),f)return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(c,{}),e.jsx("div",{className:"text-center text-muted-foreground py-24",children:"Loading episode…"})]});if(!s)return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(c,{}),e.jsxs("main",{className:"max-w-3xl mx-auto px-4 py-24 text-center",children:[e.jsx("h1",{className:"font-serif text-3xl mb-4",children:"Episode not found"}),e.jsx(p,{to:"/podcast",className:"underline underline-offset-4",children:"Back to all episodes"})]}),e.jsx(h,{})]});const j=new Date(s.podcast_date).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"}),o=`https://100greatbooks.com/podcast/${a}`,n=`${s.description} A two-host discussion of "${s.title}" by ${s.author}.`,b=async()=>{if(navigator.share)try{await navigator.share({title:s.title,text:n,url:o})}catch{}else await navigator.clipboard.writeText(o),L.success("Link copied")},y={"@context":"https://schema.org","@type":"PodcastEpisode",name:s.title,description:n,datePublished:s.podcast_date,url:o,associatedMedia:{"@type":"MediaObject",contentUrl:s.audio_url,encodingFormat:"audio/mpeg"},partOfSeries:{"@type":"PodcastSeries",name:"100 Great Books",url:"https://100greatbooks.com/podcast",webFeed:"https://100greatbooks.com/podcast.xml"}},r=s.script??"",N=r.length>1200?r.slice(0,1200)+"…":r;return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(C,{title:`${s.title} by ${s.author} | 100 Great Books Podcast`,description:n,canonical:o}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(y)}}),e.jsx(c,{}),e.jsxs("main",{className:"max-w-3xl mx-auto px-4 sm:px-6 py-10",children:[e.jsxs(p,{to:"/podcast",className:"inline-flex items-center text-sm text-muted-foreground hover:text-foreground mb-6",children:[e.jsx(B,{className:"h-4 w-4"})," All episodes"]}),e.jsxs("article",{children:[e.jsxs("div",{className:"text-xs uppercase tracking-[0.2em] text-muted-foreground mb-3",children:[z[s.category]??s.category," · ",j]}),e.jsx("h1",{className:"font-serif text-4xl sm:text-5xl text-foreground leading-tight",children:s.title}),e.jsxs("p",{className:"font-serif text-lg text-muted-foreground mt-2",children:["by ",s.author,s.year?` · ${s.year}`:""]}),s.audio_url&&e.jsxs("div",{className:"my-8 p-5 border-y-2 border-foreground",children:[e.jsx("audio",{controls:!0,preload:"metadata",className:"w-full",src:s.audio_url,children:"Your browser does not support the audio element."}),e.jsxs("div",{className:"flex flex-wrap gap-2 mt-4",children:[e.jsxs(t,{variant:"outline",size:"sm",onClick:b,children:[e.jsx(O,{className:"h-4 w-4 mr-2"})," Share"]}),e.jsx(t,{variant:"outline",size:"sm",asChild:!0,children:e.jsxs("a",{href:s.audio_url,target:"_blank",rel:"noopener noreferrer",children:[e.jsx(R,{className:"h-4 w-4 mr-2"})," Open audio"]})}),e.jsx(t,{variant:"outline",size:"sm",asChild:!0,children:e.jsxs("a",{href:"/podcast.xml",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(x,{className:"h-4 w-4 mr-2"})," Subscribe (RSS)"]})})]})]}),e.jsxs("section",{className:"prose-editorial",children:[e.jsx("h2",{className:"font-serif text-2xl mt-8 mb-3",children:"About this episode"}),e.jsx("p",{className:"font-serif text-lg text-foreground leading-relaxed",children:s.description})]}),r&&e.jsxs("section",{className:"mt-10 pt-8 border-t border-border",children:[e.jsx("h2",{className:"font-serif text-2xl mb-3",children:"Transcript"}
1),e.jsx("div",{className:"font-serif text-foreground/90 whitespace-pre-wrap leading-relaxed",children:m?r:N}),r.length>1200&&e.jsx(t,{variant:"ghost",size:"sm",onClick:()=>g(l=>!l),className:"mt-3",children:m?"Show less":"Read full transcript"})]}),e.jsxs(E,{className:"mt-12 p-6 border-2 border-foreground",children:[e.jsx("div",{className:"text-xs uppercase tracking-widest text-muted-foreground mb-1",children:"Never miss an episode"}),e.jsx("h3",{className:"font-serif text-2xl text-foreground mb-2",children:"Subscribe on your favorite app"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"Same RSS feed powers Spotify, Apple Podcasts, Overcast, Pocket Casts, and more."}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx(t,{variant:"outline",size:"sm",asChild:!0,children:e.jsx("a",{href:"https://open.spotify.com/search/100%20Great%20Books",target:"_blank",rel:"noopener noreferrer",children:"Spotify"})}),e.jsx(t,{variant:"outline",size:"sm",asChild:!0,children:e.jsx("a",{href:"https://podcasts.apple.com/search?term=100%20Great%20Books",target:"_blank",rel:"noopener noreferrer",children:"Apple Podcasts"})}),e.jsx(t,{variant:"outline",size:"sm",asChild:!0,children:e.jsxs("a",{href:"/podcast.xml",target:"_blank",rel:"noopener noreferrer",children:[e.jsx(x,{className:"h-4 w-4 mr-2"})," RSS feed"]})})]})]})]})]}),e.jsx(h,{})]})}export{U 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.