PageSourceSearch

https://thesaashub.com/assets/StoreAudit-DIotVSb-.js

js thesaashub.com collected 2026-10-06 11:02:28 UTC 18,038 bytes, 40 lines download raw bytes

1import{j as e}from"./ui-vendor-CoYFvwbA.js";import{r as n}from"./react-vendor-SCck3TKl.js";import{H as V,b as X,T as S,Z as ee,C as o,c as i,I as k,B as c,M as se,j as m,k as x,v as j,m as h,F as re,s as p,D as d}from"./index-ClNvF6Go.js";import{A as te,a as ae,b as oe,c as ie}from"./accordion-D9udzJDV.js";import{D as E,b as C,c as A,d as R,e as I}from"./dialog-CGQAmItK.js";import{S as M}from"./store-BYCaeaCz.js";import{M as G}from"./mail-DuK0iQiq.js";import{S as H}from"./share-2-C5BKrAO3.js";import{C as le}from"./copy-DOW3d3pY.js";import{C as y}from"./circle-check-n_2PRIwW.js";import{C as ne}from"./circle-alert-Cb30_g5P.js";import{G as ce}from"./gift-D8jJ-wQP.js";import"./query-vendor-5_ACa-1l.js";function be(){const[l,U]=n.useState(""),[g,$]=n.useState(!1),[a,F]=n.useState(null),[T,z]=n.useState(null),[u,L]=n.useState(""),[_,f]=n.useState(!1),[W,v]=n.useState(!1),[D,Y]=n.useState(247),[B,N]=n.useState(!1);n.useEffect(()=>{(async()=>{const r=new Date;r.setDate(r.getDate()-7);const{data:t}=await p.rpc("get_recent_audits_count",{_since:r.toISOString()});Y(230+(t||17))})()},[]),n.useEffect(()=>{const s=r=>{const t=localStorage.getItem("hasSeenExitPopup");r.clientY<=0&&!t&&(N(!0),localStorage.setItem("hasSeenExitPopup","true"))};return document.addEventListener("mouseleave",s),()=>document.removeEventListener("mouseleave",s)},[]);const O=async()=>{if(!l.trim()){d.error("Please enter a website URL");return}$(!0),F(null);try{const{data:s,error:r}=await p.functions.invoke("analyze-store",{body:{url:l.trim()}});if(r)throw r;if(s.error){d.error(s.error);return}F(s.analysis),z(s.auditId);try{await p.functions.invoke("send-audit-notification",{body:{websiteUrl:l.trim(),overallScore:s.analysis.overallScore}})}catch(t){console.error("Error sending notification:",t)}d.success("Analysis complete!"),f(!0)}catch(s){console.error("Analysis error:",s),d.error("Failed to analyze website. Please try again.")}finally{$(!1)}},q=async()=>{if(!(!u.trim()||!T))try{const{error:s}=await p.from("store_audits").update({user_email:u}).eq("id",T);if(s)throw s;if(await p.from("newsletter_subscriptions").insert({email:u,source:"store_audit",store_url:l}),a)try{await p.functions.invoke("send-audit-notification",{body:{websiteUrl:l.trim(),userEmail:u.trim(),overallScore:a.overallScore}})}catch(r){console.error("Error sending email notification:",r)}d.success("Email saved! You'll receive updates."),f(!1)}catch(s){console.error("Error saving email:",s),d.error("Failed to save email.")}},K=()=>{if(!l)return;const s=encodeURIComponent(l.trim()),r=`${window.location.origin}/store-audit/${s}`;navigator.clipboard.writeText(r),d.success("Shareable link copied to clipboard!"),v(!1)},P=s=>s>=80?"text-green-600":s>=60?"text-yellow-600":"text-red-600",Z=s=>({high:"default",medium:"secondary",low:"outline"})[s]||"outline",J=s=>({low:"default",medium:"secondary",high:"outline"})[s]||"outline",Q=async()=>{if(!a)return;let s=`🔍 STORE AUDIT REPORT
2`;s+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
3
4`,s+=`📌 Store: ${l}
5`,s+=`📊 Overall Score: ${a.overallScore}/100
6
7`,s+=`${a.summary}
8
9`,a.strengths.length>0&&(s+=`✅ STRENGTHS:
10`,s+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11`,a.strengths.forEach((r,t)=>{s+=`${t+1}. ${r}
12`}),s+=`
13`),a.improvements.length>0&&(s+=`⚠️ AREAS FOR IMPROVEMENT:
14`,s+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15`,a.improvements.forEach((r,t)=>{s+=`${t+1}. ${r}
16`}),s+=`
17`),s+=`📋 DETAILED FINDINGS:
18`,s+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
19
20`,a.sections.forEach(r=>{s+=`▸ ${r.name.toUpperCase()} (${r.score}/${r.maxScore})
21`,s+=`${"-".repeat(60)}
22`,r.findings.forEach(t=>{const w=t.result==="pass"?"✓":t.result==="partial"?"◐":"✗",b=t.result==="pass"?"PASS":t.result==="partial"?"PARTIAL":"NEEDS WORK";s+=`
23${w} ${t.check}
24`,s+=`   Status: ${b}
25`,t.evidence&&(s+=`   Finding: ${t.evidence}
26`),t.recommendation&&t.result!=="pass"&&(s+=`   💡 Recommendation: ${t.recommendation}
27`)}),s+=`
28`}),a.topRecommendations.length>0&&(s+=`
29🎯 TOP PRIORITY RECOMMENDATIONS:
30`,s+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
31
32`,a.topRecommendations.forEach((r,t)=>{const w=r.impact==="high"?"🔴":r.impact==="medium"?"🟡":"🟢",b=r.effort==="low"?"⚡":r.effort==="medium"?"⏱️":"⏳";s+=`${t+1}. ${r.title}
33`,s+=`   ${r.description}
34`,s+=`   Impact: ${w} ${r.impact.toUpperCase()} | Effort: ${b} ${r.effort.toUpperCase()}
35`,s+=`   Category: ${r.section}
36
37`})),s+=`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38`,s+=`📈 Generated by TheSaasHub.com Shopify Gold-Standard Site Auditor
39`,s+=`🔗 Get your free audit: thesaashub.com/store-audit
40`;try{await navigator.clipboard.writeText(s),d.success("Report copied! Ready to paste with preserved formatting.")}catch{d.error("Failed to copy report. Please try again.")}};return e.jsxs(e.Fragment,{children:[e.jsxs(V,{children:[e.jsx("title",{children:"Review My Shopify Store - Free Store Feedback & Expert Audit | The SaaS Hub"}),e.jsx("meta",{name:"description",content:"Get honest feedback on your Shopify store! Free AI-powered review covering design, SEO, mobile experience, and conversion optimization. Expert store feedback in minutes."}),e.jsx("meta",{name:"keywords",content:"review my store, shopify store feedback, store review, ecommerce store feedback, shopify store analysis, free store audit"}),e.jsx("meta",{property:"og:title",content:"Review My Shopify Store - Get Free Expert Feedback"}),e.jsx("meta",{property:"og:description",content:"Honest, actionable feedback on your Shopify store. AI-powered review with expert recommendations to boost conversions and sales."})]}),e.jsxs("div",{className:"min-h-screen flex flex-col bg-gradient-to-b from-background to-muted/20",children:[e.jsx(X,{}),e.jsxs("main",{className:"flex-1 container mx-auto px-4 py-12",children:[e.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground mb-8",children:[e.jsx(S,{className:"h-4 w-4 text-primary"}),e.jsxs("p",{className:"text-sm font-medium",children:[e.jsx("span",{className:"text-primary font-bold",children:D})," stores analyzed this week"]})]}),e.jsxs("div",{className:"max-w-4xl mx-auto text-center mb-12",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-primary/10 text-primary px-4 py-2 rounded-full mb-6",children:[e.jsx(ee,{className:"w-4 h-4"}),e.jsx("span",{className:"text-sm font-medium",children:"Free Store Feedback in Minutes"})]}),e.jsx("h1",{className:"text-4xl md:text-5xl font-bold mb-4 bg-clip-text text-transparent bg-gradient-to-r from-primary to-primary/60",children:"Review My Store - Get Expert Shopify Store Feedback"}),e.jsx("p",{className:"text-xl text-muted-foreground mb-8",children:"Want honest feedback on your Shopify store? Get a comprehensive review with actionable recommendations to improve your design, conversions, and customer experience."}),e.jsx(o,{className:"mb-8",children:e.jsxs(i,{className:"pt-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4",children:[e.jsx(k,{type:"url",placeholder:"Paste your store URL here (e.g., yourstore.myshopify.com)",value:l,onChange:s=>U(s.target.value),onKeyDown:s=>s.key==="Enter"&&O(),className:"flex-1",disabled:g}),e.jsx(c,{onClick:O,disabled:g,size:"lg",className:"sm:w-auto",children:g?e.jsxs(e.Fragment,{children:[e.jsx(se,{className:"mr-2 h-4 w-4 animate-spin"}),"Reviewing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(M,{className:"mr-2 h-4 w-4"}),"Review My Store"]})})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-3",children:"No signup required • 100% free feedback • Honest review in 2-3 minutes"})]})})]}),e.jsx(E,{open:_,onOpenChange:f,children:e.jsxs(C,{children:[e.jsxs(A,{children:[e.jsx(R,{children:"Save Your Audit Report"}),e.jsx(I,{children:"Enter your email to receive updates and save your audit report for future reference"})]}),e.jsxs("div",{className:"space-y-4 pt-4",children:[e.jsx(k,{type:"email",placeholder:"[email protected]",value:u,onChange:s=>L(s.target.value)}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(c,{onClick:q,className:"flex-1",children:[e.jsx(G,{className:"mr-2 h-4 w-4"}),"Save Email"]}),e.jsx(c,{variant:"outline",onClick:()=>f(!1),children:"Skip"})]})]})]})}),e.jsx(E,{open:W,onOpenChange:v,children:e.jsxs(C,{children:[e.jsxs(A,{children:[e.jsx(R,{children:"Share Your Audit Report"}),e.jsx(I,{children:"Share this report with your team or stakeholders"})]}),e.jsxs("div",{className:"space-y-4 pt-4",children:[e.jsx(k,{value:l?`${window.location.origin}/store-audit/${encodeURIComponent(l.trim())}`:"",readOnly:!0,className:"text-foreground bg-muted"}),e.jsxs(c,{onClick:K,className:"w-full",children:[e.jsx(H,{className:"mr-2 h-4 w-4"}),"Copy Share Link"]})]})]})}),a&&e.jsxs("div",{id:"audit-report",className:"max-w-6xl mx-auto 
40space-y-8 animate-fade-in",children:[e.jsx(o,{className:"border-2",children:e.jsx(i,{className:"pt-6",children:e.jsxs("div",{className:"flex flex-wrap gap-3 justify-center",children:[e.jsxs(c,{onClick:Q,variant:"default",className:"font-semibold",children:[e.jsx(le,{className:"mr-2 h-4 w-4"}),"Copy Report Text"]}),e.jsxs(c,{onClick:()=>v(!0),variant:"outline",children:[e.jsx(H,{className:"mr-2 h-4 w-4"}),"Share Report"]}),e.jsxs(c,{onClick:()=>f(!0),variant:"outline",children:[e.jsx(G,{className:"mr-2 h-4 w-4"}),"Save via Email"]})]})})}),e.jsxs(o,{className:"border-2 bg-gradient-to-br from-primary/5 to-background",children:[e.jsx(m,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx(x,{className:"text-2xl",children:"Your Store Feedback Summary"}),e.jsx(j,{children:"Here's what we found after reviewing your store"})]}),e.jsxs("div",{className:`text-5xl font-bold ${P(a.overallScore)}`,children:[a.overallScore,e.jsx("span",{className:"text-2xl text-muted-foreground",children:"/100"})]})]})}),e.jsx(i,{children:e.jsx("p",{className:"text-muted-foreground",children:a.summary})})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-6",children:[e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsxs(x,{className:"flex items-center gap-2",children:[e.jsx(y,{className:"w-5 h-5 text-green-600"}),"What We Liked About Your Store"]}),e.jsx(j,{children:"Areas where you're doing great"})]}),e.jsx(i,{children:e.jsx("ul",{className:"space-y-2",children:a.strengths.map((s,r)=>e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-green-600 mt-1",children:"✓"}),e.jsx("span",{children:s})]},r))})})]}),e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsxs(x,{className:"flex items-center gap-2",children:[e.jsx(S,{className:"w-5 h-5 text-orange-600"}),"Our Honest Feedback for Improvement"]}),e.jsx(j,{children:"Quick wins to boost your store performance"})]}),e.jsx(i,{children:e.jsx("ul",{className:"space-y-2",children:a.improvements.map((s,r)=>e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"text-orange-600 mt-1",children:"→"}),e.jsx("span",{children:s})]},r))})})]})]}),e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsx(x,{children:"Detailed Store Feedback by Section"}),e.jsx(j,{children:"In-depth review of 10 key areas of your store"})]}),e.jsx(i,{children:e.jsx(te,{type:"single",collapsible:!0,className:"w-full",children:a.sections.map(s=>e.jsxs(ae,{value:s.key,children:[e.jsx(oe,{children:e.jsxs("div",{className:"flex items-center justify-between w-full pr-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"font-medium",children:s.name}),e.jsxs(h,{variant:"outline",className:"text-xs",children:["Weight: ",s.weight,"%"]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"text-xs text-muted-foreground",children:["Confidence: ",Math.round(s.confidence*100),"%"]}),e.jsxs(h,{className:P(s.score/s.maxScore*100),children:[s.score,"/",s.maxScore]})]})]})}),e.jsx(ie,{children:e.jsx("div",{className:"space-y-3 pt-4",children:s.findings.map((r,t)=>e.jsxs("div",{className:"border-l-2 pl-4 py-2 space-y-1",style:{borderColor:r.result==="pass"?"#22c55e":r.result==="fail"?"#ef4444":r.result==="partial"?"#f59e0b":"#94a3b8"},children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-sm font-medium",children:r.check}),e.jsxs(h,{variant:r.result==="pass"?"default":r.result==="fail"?"destructive":"secondary",className:"text-xs",children:[r.score," pts"]})]}),r.evidence&&e.jsxs("p",{className:"text-xs text-muted-foreground",children:["📌 ",r.evidence]}),r.recommendation&&e.jsxs("p",{className:"text-xs text-blue-600 dark:text-blue-400",children:["💡 ",r.recommendation]})]},t))})})]},s.key))})})]}),e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsxs(x,{className:"flex items-center gap-2",children:[e.jsx(ne,{className:"w-5 h-5"}),"Top Recommendations"]}),e.jsx(j,{children:"Prioritized action items to improve your store performance"})]}),e.jsx(i,{className:"space-y-4",children:a.topRecommendations.map((s,r)=>e.jsxs("div",{className:"border rounded-lg p-4 space-y-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("h4",{className:"font-semibold flex items-center gap-2",children:[e.jsxs("span",{className:"text-primary",children:[r+1,"."]}),s.title]}),e.jsxs("div",{className:"flex gap-2 flex-shrink-0",children:[e.jsxs(h,{variant:Z(s.impact),className:"text-xs",children:[s.impact," impact"]}),e.jsxs(h,{variant:J(s.effort),className:"text-xs",children:[s.effort," effort"]})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.description}),e.jsxs(h,{variant:"outline",className:"text-xs",children:["Section: ",s.section]})]},r))})]}),e.jsx(o,{className:"bg-primary/5 border-primary/20",children:e.jsxs(i,{className:"pt-6 text-center",children:[e.jsx("h3",{className:"text-xl font-semibold mb-2",children:"Need Help Implementing These Changes?"}),e.jsx("p",{className:"text-muted-foreground mb-4",children:"Find the right Shopify apps to optimize your store and boost conversions"}),e.jsx(c,{size:"lg",onClick:()=>window.location.href="/apps",children:"Browse Shopify Apps"})]})}),e.jsx(o,{className:"bg-gradient-to-r from-primary/10 to-primary/5 border-primary/20",children:e.jsxs(i,{className:"pt-6 text-center",children:[e.jsx("p",{className:"text-lg font-semibold mb-2",children:e.jsx("span",{className:"text-primary",children:"Shopify Gold-Standard Site Auditor"})}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Powered by"," ",e.jsx("a",{href:"https://thesaashub.com",className:"text-primary hover:underline font-medium",target:"_blank",rel:"noopener noreferrer",children:"TheSaasHub.com"})]})]})})]}),e.jsx(E,{open:B,onOpenChange:N,children:e.jsxs(C,{className:"sm:max-w-md",children:[e.jsxs(A,{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(ce,{className:"h-6 w-6 text-primary"}),e.jsx(R,{className:"text-xl",children:"Wait! Don't Miss Out!"})]}),e.jsxs(I,{className:"space-y-3 pt-2",children:[e.jsx("p",{className:"text-base font-semibold text-foreground",children:"Get Your FREE Shopify Store Audit + Exclusive Resources:"}),e.jsxs("ul",{className:"space-y-2 text-sm",children:[e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(y,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Free Store Audit"})," - Complete analysis of your Shopify store"]})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(y,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Exclusive Playbook"})," - Proven strategies to grow your sales"]})]}),e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx(y,{className:"h-4 w-4 text-primary mt-0.5 flex-shrink-0"}),e.jsxs("span",{children:[e.jsx("strong",{children:"Top App Picks"})," - Best apps for conversion & retention"]})]})]}),e.jsxs("p",{className:"text-xs text-muted-foreground pt-2",children:["Join ",D,"+ stores that improved their performance this week!"]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 pt-2",children:[e.jsx(c,{onClick:()=>{N(!1),window.scrollTo({top:0,behavior:"smooth"})},className:"w-full",children:"Get My Free Audit Now"}),e.jsx(c,{variant:"ghost",onClick:()=>N(!1),className:"w-full",children:"No thanks, I'll pass"})]})]})}),!a&&!g&&e.jsxs("div",{className:"max-w-5xl mx-auto grid md:grid-cols-3 gap-6 mt-16",children:[e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsx(M,{className:"w-8 h-8 text-primary mb-2"}),e.jsx(x,{children:"Honest Store Review"})]}),e.jsx(i,{children:e.jsx("p",{className:"text-muted-foreground",children:"Get real feedback on your store - we'll tell you what's working and what needs improvement"})})]}),e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsx(S,{className:"w-8 h-8 text-primary mb-2"}),e.jsx(x,{children:"Actionable Feedback"})]}),e.jsx(i,{children:e.jsx("p",{className:"text-muted-foreground",children:"No fluff - just specific recommendations you can implement today to boost conversions"})})]}),e.jsxs(o,{children:[e.jsxs(m,{children:[e.jsx(y,{className:"w-8 h-8 text-primary mb-2"}),e.jsx(x,{children:"Complete Store Analysis"})]}),e.jsx(i,{children:e.jsx("p",{className:"text-muted-foreground",children:"We review 10 key areas including design, mobile UX, SEO, product pages, and checkout"})})]})]})]}),e.jsx(re,{})]})]})}export{be 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.