PageSourceSearch

https://fictionme.net/n_assets/C1j-cLhC.js

js fictionme.net collected 2026-10-02 05:31:30 UTC 5,571 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DC_ao2QX.js","./Cyps7XMZ.js","./DFygfSMa.js","./D7KWXfGL.js","./DK6nQZsj.js","./FhwToB7e.js","./C-aB4G52.js","./D_Yl9mz2.js"])))=>i.map(i=>d[i]);
2import{X as oe,B as m,c as T,y as ae,ad as ne,d as le,s as ie,a as re,K as ce,N as D,ai as me,aj as S,b as ue,f as F,o as P,g as s,k as a,i as e,p as O,H as c,G as k,ag as pe,h as I,m as de,q as _e,_ as ve}from"#entry";import{_ as fe}from"./DnTmdGrw.js";import{_ as ge}from"./BeWuF5Zm.js";import{_ as xe}from"./CD6Po8Td.js";import{_ as we}from"./BRPrXqXo.js";import{_ as be,a as ke}from"./5fKi6-ka.js";import he from"./DFygfSMa.js";import{u as V}from"./DK6nQZsj.js";import{u as ye}from"./C-aB4G52.js";import{u as Re}from"./BwdN9JHe.js";import{u as Ce}from"./FhwToB7e.js";import{w as Be}from"./BZ8oPinN.js";import{u as Pe,d as Ee,b as E}from"./Dq8nHTqN.js";import"./sX5IReoc.js";import"./CVtBXtVG.js";import"./tIB_RKM6.js";import"./C6SJhmet.js";const Ae="0px 0px 800px 0px",Me="Something went wrong.",$e=(u,n,v)=>{const{requestReviewsPage:f}=V(),{$toast:g}=oe(),p=m([...n.data]),l=m(v),r=m(!1),x=T(()=>l.value<n.meta.last_page),w=async()=>{if(!(!x.value||r.value)){r.value=!0;try{const i=await f(u,l.value+1);p.value.push(...i?.data??[]),l.value+=1}catch{g.warning(Me)}finally{r.value=!1}}};return{reviews:p,lastLoadedPage:l,hasMoreReviews:x,isLoadingMore:r,observeFeedBottom:i=>{let d=null;ae(()=>{i.value&&(d=new IntersectionObserver(h=>{h[0]?.isIntersecting&&w()},{rootMargin:Ae}),d.observe(i.value))}),ne(()=>d?.disconnect())}}},Le=_e(()=>ve(()=>import("./DC_ao2QX.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(u=>u.default||u)),Ne={class:"container py-8 max-md:py-6"},De={class:"page-content m-auto flex w-full max-w-[800px] flex-col gap-8 max-md:gap-6"},Se={class:"flex gap-6 max-md:gap-4"},Fe={class:"flex flex-col gap-3 max-md:gap-2"},Oe={class:"text-3xl font-bold max-md:text-xl"},Ie={class:"grid gap-2 leading-[19px] max-md:text-sm"},Te={class:"font-semibold"},Ve={class:"font-semibold"},ze={class:"font-semibold"},He={class:"flex flex-wrap items-center gap-2"},qe={class:"font-semibold"},Ge={class:"text-3xl font-bold max-md:text-2xl"},je={key:0,class:"flex justify-center py-2"},Ke={class:"sticky bottom-0 bg-[#fefefe] py-4 dark:bg-zinc-950"},ut=le({__name:"reviews",async setup(u){let n,v;const f=ie(),{slug:g}=f.params,p=m([]),{isMobile:l}=re(),{fetchReviewsPage:r}=V(),{trackBlockShownInViewport:x}=ye(),{currentPage:w,assertPageWithinRange:A,addPaginationHeadLinks:i,pageTitleSuffix:d}=Re(),[h,z]=([n,v]=ce(()=>Promise.all([Ce(`/novels/${g}`),r(g,{page:w.value})])),n=await n,v(),n),{data:M,error:H}=h,{data:_,error:q}=z,b=H.value??q.value;if(b)throw D({statusCode:b.statusCode??b.response?.status??500,statusMessage:b.statusMessage??"Server Error"});if(!M.value?.data||!_.value?.meta)throw D({statusCode:404,statusMessage:"Page Not Found"});const t=M.value.data,y=_.value.meta.total;A(_.value.meta.last_page),i(()=>_.value?.meta?.last_page??1);const{reviews:G,lastLoadedPage:j,hasMoreReviews:K,isLoadingMore:U,observeFeedBottom:W}=$e(t.slug,_.value,w.value),X=T(()=>Be(f.path,j.value+1)),$=m(null);W($);const R={placement:me.AllReviewsPage,book_id:t.id},L=m(null);x(L,R,y?S.HasReviews:S.Empty),p.value=[{link:"/genres/all-novels",label:"Novels"},{link:`/books/${t.slug}`,label:t.title},{label:"Reviews"}];const C=`${t.title} Reviews`,B=`Reader reviews and ratings for ${t.title} by ${t.author} on FictionMe.`;return ue({title:()=>C+d.value,description:B,ogTitle:C,ogDescription:B,twitterTitle:C,twitterDescription:B}),Pe([Ee({itemListElement:[E({position:1,name:"Novels",item:"/genres/all-novels"}),E({position:2,name:t.title,item:`/books/${t.slug}`}),E({position:3,name:"Reviews"})]})]),(Ue,o)=>{const J=fe,Q=ge,N=xe,Y=we,Z=be,ee=he,te=ke,se=Le;return P(),F("div",Ne,[s("div",De,[a(J,{breadcrumbs:e(p)},null,8,["breadcrumbs"]),s("div",Se,[a(N,{to:`/books/${e(t).slug}`,class:"flex-none overflow-hidden rounded-lg"},{default:O(()=>[a(Q,{path:e(t).cover_summary_path,url:e(t).cover_summary,alt:`Book cover of “${e(t).title}“ by ${e(t).author}`,quality:80,width:e(l)?124:200,height:e(l)?173:280,format:"webp",class:"max-md:w-[124px]"},null,8,["path","url","alt","width","height"])]),_:1},8,["to"]),s("div",Fe,[s("h1",Oe,c(e(t).title),1),s("ul",Ie,[s("li",null,[o[0]||(o[0]=s("span",{class:"text-[#5C5C5C]"},"Status:",-1)),o[1]||(o[1]=k()),s("span",Te,c(e(t).is_completed?"Completed":"Ongoing"),1)]),s("li",null,[o[2]||(o[2]=s("span",{class:"text-[#5C5C5C]"},"Author:",-1)),o[3]||(o[3]=k()),s("span",Ve,c(e(t).author),1)]),s("li",null,[o[4]||(o[4]=s("span",{class:"text-[#5C5C5C]"},"Views",-1)),o[5]||(o[5]=k()),s("span",ze,c(e(pe)(e(t).views)),1)]),s("li",He,[o[6]||(o[6]=s("span",{class:"text-[#5C5C5C]"},"Ratings",-1)),s("span",qe,c(e(t).rate),1),a(Y,{rating:parseFloat(e(t).rate),size:18},null,8,["rating"])])])])]),s("section",{ref_key:"blockElement",ref:L,class:"flex flex-col gap-4"},[s("h2",Ge,"Reviews ("+c(e(y))+")",1),a(Z,{reviews:e(G),"event-context":R,"is-collapsible":""},null,8,["reviews"]),s("div",{ref_key:"feedBottomElement",ref:$,class:"h-px"},null,512),e(U)?(P(),F("div",je,[a(ee,{name:"fm:circle-spin",class:"animate-spin text-2xl text-primary"})])):I("",!0),e(K)?(P(),de(N,{key:1,to:e(X),rel:"next",class:"self
2-center text-violet-800 dark:text-violet-500"},{default:O(()=>[...o[7]||(o[7]=[k(" Next page ",-1)])]),_:1},8,["to"])):I("",!0)],512),s("div",Ke,[a(te,{"event-context":R,"has-reviews":!!e(y)},null,8,["has-reviews"])])]),a(se,{"book-slug":e(t).slug},null,8,["book-slug"])])}}});export{ut 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.