1import{a as E,_ as v}from"./CG5UAfhP.js";import{_ as A}from"./BEREdQ6Q.js";import{_ as L}from"./ZZtwZd9s.js";import{_ as N,a as R}from"./BEbVkMZM.js";import{_ as T}from"./CCNV--eR.js";import{B as V}from"./L2URQU9b.js";import{E as D,ay as F,ah as P,bI as z,M as n,N as a,bJ as G,L as o,P as s,a6 as i,a5 as g,u as t,Y as u,F as b,Z as M,a7 as S,T as f}from"./CdF3t0oV.js";import{g as Z}from"./CyOriLK0.js";import{u as $}from"./lghkdXAa.js";import"./DlAUqK2U.js";import"./D92X5zYB.js";import"./D2HbcKdl.js";import"./DAaiGirh.js";import"./C0k_CvG7.js";const I={class:"flex flex-wrap gap-2"},O={key:0,class:"grid grid-cols-2 gap-3 sm:grid-cols-3 lg:grid-cols-4"},re=D({__name:"index",async setup(U){let r,p;if(!F().public.librivoxEnabled)throw P({status:404});const{data:d,status:m,error:k,refresh:x}=([r,p]=z(()=>G("/api/audiobooks/genres",{getCachedData:Z},"$12ExqC5l9Z")),r=await r,p(),r);return $({title:"Audiobooks by Genre",description:"Browse free public domain audiobooks by genre on Zeno.FM.",breadcrumbs:[V.audiobooks,{name:"Genres",path:"/audiobooks/genres/"}]}),(q,e)=>{const y=v,l=A,h=L,c=R,C=N,B=T,w=E;return o(),n(w,null,{default:a(()=>[s(y,{route:{name:"audiobooks"}},{default:a(()=>[...e[0]||(e[0]=[i("Genres",-1)])]),_:1}),g("div",I,[s(l,{route:{name:"radio-genres"}},{default:a(()=>[...e[1]||(e[1]=[i("Radio",-1)])]),_:1}),s(l,{route:{name:"podcasts-categories"}},{default:a(()=>[...e[2]||(e[2]=[i("Podcasts",-1)])]),_:1}),s(l,{route:{name:"audiobooks-genres"}},{default:a(()=>[...e[3]||(e[3]=[i("Audiobooks",-1)])]),_:1})]),t(m)==="error"||t(k)?(o(),n(h,{key:0,title:"Audiobook genres unavailable",message:"We could not load the LibriVox genre list right now. Try again in a moment.",retry:()=>t(x)()},null,8,["retry"])):(o(),u(b,{key:1},[t(d)?.length?(o(),u("div",O,[(o(!0),u(b,null,M(t(d),_=>(o(),n(C,{key:_,to:{name:"audiobooks-genres-genre",params:{genre:_}},class:"flex items-center gap-2 rounded-lg bg-zeno-gray-light p-4 hover:bg-gray-200"},{default:a(()=>[s(c,{name:"solar:book-2-linear",size:"20",class:"shrink-0","aria-hidden":"true"}),g("span",null,S(_),1)]),_:2},1032,["to"]))),128))])):t(m)!=="pending"?(o(),n(B,{key:1})):f("",!0),t(m)==="pending"?(o(),n(c,{key:2,class:"mx-auto mt-4 block animate-spin",name:"mingcute:loading-3-fill",size:"48",role:"status","aria-label":"Loading genres"})):f("",!0)],64))]),_:1})}}});
1export{re 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.