1import"../chunks/CWj6FrbW.js";import"../chunks/K9bMRwDS.js";import{p as Ys,D as Qs,i as Xs,f as h,h as Zs,b as W,u as k,t as y,g as c,j as sa,s as i,c as t,C as n,F as b,v as H,q as u,$ as aa,r as e,n as ea,k as O,o as s,B as P,l as ta,W as gs,a as qs,I as S,K as ra,O as la,A as p,G as va,H as na}from"../chunks/CrZuSITo.js";import{i as ys}from"../chunks/BWXuU_zM.js";var oa=h('<div class="rating-bar-row svelte-135s1hq"><span class="bar-label svelte-135s1hq"> </span> <div class="bar-track svelte-135s1hq"><div class="bar-fill svelte-135s1hq"></div></div> <span class="bar-count svelte-135s1hq"> </span></div>'),ia=h('<div class="alert error svelte-135s1hq"> </div>'),da=h('<div class="alert success svelte-135s1hq"> </div>'),ca=h(`<div class="empty-state svelte-135s1hq"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-135s1hq"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path></svg> <h3 class="svelte-135s1hq">No reviews yet</h3> <p class="svelte-135s1hq">This brand hasn't received any reviews from creators.</p></div>`),pa=h('<img class="reviewer-avatar svelte-135s1hq"/>'),ha=h('<div class="reviewer-avatar placeholder svelte-135s1hq"> </div>'),ua=h('<p class="review-comment svelte-135s1hq"> </p>'),_a=h('<span class="tag svelte-135s1hq"> </span>'),ma=h('<div class="review-tags svelte-135s1hq"></div>'),fa=h('<span class="recommend yes svelte-135s1hq"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-135s1hq"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5"></path></svg> Would recommend</span>'),ga=h('<span class="recommend no svelte-135s1hq"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-135s1hq"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5"></path></svg> Would not recommend</span>'),qa=h('<div class="admin-reply svelte-135s1hq"><div class="reply-header svelte-135s1hq"><span class="reply-label svelte-135s1hq">Brand Reply</span> <span class="reply-date svelte-135s1hq"> </span></div> <p class="reply-text svelte-135s1hq"> </p> <div class="reply-actions svelte-135s1hq"><button class="btn-text svelte-135s1hq">Edit</button> <button class="btn-text danger svelte-135s1hq">Delete</button></div></div>'),ya=h('<div class="reply-form svelte-135s1hq"><textarea placeholder="Write your reply..." rows="3" class="svelte-135s1hq"></textarea> <div class="reply-form-actions svelte-135s1hq"><button class="btn-cancel svelte-135s1hq">Cancel</button> <button class="btn-submit svelte-135s1hq"> </button></div></div>'),ba=h('<button class="btn-reply svelte-135s1hq"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-135s1hq"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6"></path></svg> Reply</button>'),xa=h('<div class="review-card svelte-135s1hq"><div class="review-header svelte-135s1hq"><div class="reviewer-info svelte-135s1hq"><!> <div class="reviewer-details svelte-135s1hq"><span class="reviewer-name svelte-135s1hq"> </span> <span class="reviewer-username svelte-135s1hq"> </span></div></div> <div class="review-meta svelte-135s1hq"><span class="review-rating svelte-135s1hq"> </span> <span class="review-date svelte-135s1hq"> </span></div></div> <!> <!> <div class="review-recommend svelte-135s1hq"><!></div> <!> <!></div>'),ka=h("<a></a>"),wa=h('<div class="pagination svelte-135s1hq"></div>'),Ra=h("<!> <!>",1),Aa=h('<div class="reviews-page svelte-135s1hq"><header class="page-header svelte-135s1hq"><a class="back-link svelte-135s1hq"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-135s1hq"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"></path></svg> </a> <h1 class="svelte-135s1hq">Reviews</h1></header> <div class="stats-card svelte-135s1hq"><div class="rating-overview svelte-135s1hq"><div class="rating-big svelte-135s1hq"><span class="rating-value svelte-135s1hq"> </span> <span class="rating-stars svelte-135s1hq"> </span> <span class="rating-count svelte-135s1hq"> </span></div></div> <div class="rating-bars svelte-135s1hq"></div></div> <!> <!> <div class="reviews-list svelte-135s1hq"><!></div></div>');function Ba(bs,ss){Ys(ss,!1);let o=Qs(ss,"data",8),D=P(null),R=P(""),B=P(!1),j=P(null),E=P(null);function xs(r){return new Date(r).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}
1function as(r){const _=new Date-new Date(r),m=Math.floor(_/(1e3*60*60*24));return m===0?"Today":m===1?"Yesterday":m<7?`${m} days ago`:m<30?`${Math.floor(m/7)} weeks ago`:xs(r)}function es(r){return"â
".repeat(r)+"â".repeat(5-r)}async function ks(r){var d;if(s(R).trim()){p(B,!0),p(j,null);try{const m=await(await fetch(`/apis/v1/admin/brands/${o().brand.id}/reviews/${r}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reply:s(R)})})).json();m.success?(p(E,"Reply posted successfully"),p(D,null),p(R,""),await ys()):p(j,((d=m.error)==null?void 0:d.message)||"Failed to post reply")}catch{p(j,"An error occurred")}finally{p(B,!1)}}}async function ws(r){var d;if(confirm("Are you sure you want to delete this reply?")){p(B,!0),p(j,null);try{const m=await(await fetch(`/apis/v1/admin/brands/${o().brand.id}/reviews/${r}/reply`,{method:"DELETE"})).json();m.success?(p(E,"Reply deleted successfully"),await ys()):p(j,((d=m.error)==null?void 0:d.message)||"Failed to delete reply")}catch{p(j,"An error occurred")}finally{p(B,!1)}}}function ts(r){p(D,r.id),p(R,r.adminReply||"")}function Rs(){p(D,null),p(R,"")}Xs();var V=Aa();Zs(r=>{y(()=>aa.title=`Reviews - ${b(o()),n(()=>o().brand.name)??""} - Admin`)});var z=t(V),G=t(z),As=i(t(G));e(G),ea(2),e(z);var I=i(z,2),J=t(I),rs=t(J),K=t(rs),Ms=t(K,!0);e(K);var U=i(K,2),Cs=t(U,!0);e(U);var ls=i(U,2),js=t(ls);e(ls),e(rs),e(J);var vs=i(J,2);W(vs,4,()=>[5,4,3,2,1],O,(r,d)=>{const _=gs(()=>(b(o()),n(()=>o().stats.ratingDistribution[d]))),m=gs(()=>(b(o()),b(s(_)),n(()=>o().stats.total>0?s(_)/o().stats.total*100:0)));var L=oa(),A=t(L),a=t(A);e(A);var M=i(A,2),T=t(M);e(M);var w=i(M,2),C=t(w,!0);e(w),e(L),y(()=>{u(a,`${d??""} â
`),ta(T,`width: ${s(m)??""}%`),u(C,s(_))}),c(r,L)}),e(vs),e(I);var ns=i(I,2);{var Ds=r=>{var d=ia(),_=t(d,!0);e(d),y(()=>u(_,s(j))),c(r,d)};k(ns,r=>{s(j)&&r(Ds)})}var os=i(ns,2);{var Bs=r=>{var d=da(),_=t(d,!0);e(d),y(()=>u(_,s(E))),c(r,d)};k(os,r=>{s(E)&&r(Bs)})}var is=i(os,2),Ts=t(is);{var $s=r=>{var d=ca();c(r,d)},Ls=r=>{var d=Ra(),_=qs(d);W(_,1,()=>(b(o()),n(()=>o().reviews)),O,(A,a)=>{var M=xa(),T=t(M),w=t(T),C=t(w);{var F=l=>{var v=pa();y(()=>{H(v,"src",(s(a),n(()=>s(a).user.avatar))),H(v,"alt",(s(a),n(()=>s(a).user.fullName)))}),c(l,v)},Y=l=>{var v=ha(),f=t(v,!0);e(v),y(g=>u(f,g),[()=>(s(a),n(()=>{var g;return((g=s(a).user.fullName)==null?void 0:g.charAt(0))||"?"}))]),c(l,v)};k(C,l=>{s(a),n(()=>s(a).user.avatar)?l(F):l(Y,!1)})}var ds=i(C,2),Q=t(ds),Ns=t(Q,!0);e(Q);var cs=i(Q,2),Ps=t(cs);e(cs),e(ds),e(w);var ps=i(w,2),X=t(ps),Ss=t(X,!0);e(X);var hs=i(X,2),Es=t(hs,!0);e(hs),e(ps),e(T);var us=i(T,2);{var Fs=l=>{var v=ua(),f=t(v,!0);e(v),y(()=>u(f,(s(a),n(()=>s(a).comment)))),c(l,v)};k(us,l=>{s(a),n(()=>s(a).comment)&&l(Fs)})}var _s=i(us,2);{var Ws=l=>{var v=ma();W(v,5,()=>(s(a),n(()=>s(a).tags)),O,(f,g)=>{var x=_a(),q=t(x,!0);e(x),y(N=>u(q,N),[()=>(s(g),n(()=>s(g).replace(/_/g," ")))]),c(f,x)}),e(v),c(l,v)};k(_s,l=>{s(a),n(()=>s(a).tags.length>0)&&l(Ws)})}var Z=i(_s,2),Hs=t(Z);{var Os=l=>{var v=fa();c(l,v)},Vs=l=>{var v=ga();c(l,v)};k(Hs,l=>{s(a),n(()=>s(a).wouldRecommend)?l(Os):l(Vs,!1)})}e(Z);var ms=i(Z,2);{var zs=l=>{var v=qa(),f=t(v),g=i(t(f),2),x=t(g,!0);e(g),e(f);var q=i(f,2),N=t(q,!0);e(q);var $=i(q,2),fs=t($),Ks=i(fs,2);e($),e(v),y(Us=>{u(x,Us),u(N,(s(a),n(()=>s(a).adminReply)))},[()=>(s(a),n(()=>as(s(a).adminReplyAt)))]),S("click",fs,()=>ts(s(a))),S("click",Ks,()=>ws(s(a).id)),c(l,v)};k(ms,l=>{s(a),s(D),n(()=>s(a).adminReply&&s(D)!==s(a).id)&&l(zs)})}var Gs=i(ms,2);{var Is=l=>{var v=ya(),f=t(v);ra(f);var g=i(f,2),x=t(g),q=i(x,2),N=t(q,!0);e(q),e(g),e(v),y($=>{q.disabled=$,u(N,s(B)?"Posting...":"Post Reply")},[()=>(s(B),s(R),n(()=>s(B)||!s(R).trim()))]),la(f,()=>s(R),$=>p(R,$)),S("click",x,Rs),S("click",q,()=>ks(s(a).id)),c(l,v)},Js=l=>{var v=va(),f=qs(v);{var g=x=>{var q=ba();S("click",q,()=>ts(s(a))),c(x,q)};k(f,x=>{s(a),n(()=>!s(a).adminReply)&&x(g)},!0)}c(l,v)};k(Gs,l=>{s(D),s(a),n(()=>s(D)===s(a).id)?l(Is):l(Js,!1)})}e(M),y((l,v)=>{u(Ns,(s(a),n(()=>s(a).user.fullName))),u(Ps,`@${s(a),n(()=>s(a).user.username)??""}`),u(Ss,l),u(Es,v)},[()=>(s(a),n(()=>es(s(a).rating))),()=>(s(a),n(()=>as(s(a).createdAt)))]),c(A,M)});var m=i(_,2);{var L=A=>{var a=wa();W(a,5,()=>(b(o()),n(()=>Array(o().pagination.totalPages))),O,(M,T,w)=>{var C=ka();H(C,"href",`?page=${w+1}`);let F;C.textContent=w+1,y(Y=>F=na(C,1,"page-btn svelte-135s1hq",null,F,Y),[()=>({active:o().pagination.page===w+1})]),c(M,C)}),e(a),c(A,a)};k(m,A=>{b(o()),n(()=>o().pagination.totalPages>1)&&A(L)})}c(r,d)};k(Ts,r=>{b(o()),n(()=>o().reviews.length===0)?r($s):r(Ls,!1)})}e(is),e(V),y((r,d)=>{H(G,"href",`/admin/brands/${b(o()),n(()=>o().brand.id)??""}`),u(As,` Back to ${b(o()),n(()=>o().brand.name)??""}`),u(Ms,r),u(Cs,d),u(js,`${b(o()),n(()=>o().stats.total)??""} reviews`)},[()=>(b(o()),n(()=>
1o().stats.averageRating.toFixed(1))),()=>(b(o()),n(()=>es(Math.round(o().stats.averageRating))))]),c(bs,V),sa()}export{Ba 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.