1import{Q as W}from"./QLinearProgress-CvaPhIJu.js";import{u as G,r as v,s as J,c as Y,i as o,v as i,l as r,m as e,q as l,x as u,y as X,Q as Z,z as j,k as d,A as m,j as y,B as x,F as h,C as b,D as f,E,p as g,G as V,H as ee}from"./index-DZz7VK_z.js";import{Q as C}from"./QImg-B-JHm6ia.js";import{Q as se}from"./QChip-HTYHMIEL.js";import{Q as O}from"./QTd-DFm68I_9.js";import{Q as te}from"./QTable-COzLDOgY.js";import{u as le}from"./use-quasar-BATrEdh5.js";import{g as ae,a as oe}from"./socialMediaHelper-DavEcRt9.js";import{_ as ne}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{u as ie}from"./vue-i18n.runtime-C7CuMe3x.js";import"./QList-DJZDUnV5.js";import"./QMarkupTable-D6PLiWOm.js";import"./QSelect-CVJ3cYVz.js";import"./QItemSection-BqKSwZU0.js";import"./QMenu-CHFiGacG.js";import"./position-engine-0pDXOTqP.js";import"./format-CoaQEihs.js";const re={class:"row justify-center q-pa-lg"},de={key:0,class:"col-12 col-md-10 col-lg-8"},ce={key:0,class:"q-mt-lg"},ue={class:"text-center"},me={class:"text-body2 text-weight-medium"},pe={class:"text-caption text-grey-7"},ge={class:"text-center q-mb-lg"},ve={class:"q-mb-sm"},ye={class:"q-mb-md"},he={key:1,class:"col-12"},be={class:"row page-grid full-height",style:{"max-width":"1200px",padding:"30px 20px",margin:"0 auto"}},fe={class:"col-12 q-my-lg"},_e={class:"text-center q-mb-lg"},we={class:"q-mb-sm"},xe={class:"q-mb-sm"},qe={class:"text-grey-7"},ke={class:"col-12"},$e={class:"row"},Ce={class:"col-12 col-md-4 flex flex-center"},Ae={key:2,style:{padding:"20px",background:"#f5f5f5","border-radius":"8px","text-align":"center",color:"#666",width:"200px",height:"200px",display:"flex","align-items":"center","justify-content":"center"}},Me={class:"col-12 col-md-8"},Se={key:2,style:{padding:"20px",background:"#f5f5f5","border-radius":"8px","text-align":"center",color:"#666",height:"400px",display:"flex","align-items":"center","justify-content":"center"}},ze={key:0,class:"col-12 col-md-6"},Qe={class:"q-mb-lg"},Be={class:"q-mb-sm"},Fe={class:"q-mb-lg"},Pe={class:"q-mb-sm"},Ie={key:0,class:"q-mb-lg"},Ne={class:"q-mb-sm"},Te={key:1,class:"q-mb-lg"},We={class:"q-mb-sm"},je={key:2,class:"q-mb-lg"},Ee={class:"q-mb-sm"},Ve={key:3,class:"q-mb-lg"},Oe={class:"q-mb-sm"},De={key:4,class:"q-mb-lg"},Le={class:"q-mb-sm"},Ke={class:"row q-col-gutter-xs"},Re={class:"row q-pa-sm",style:{"border-bottom":"1px solid #e0e0e0"}},He={class:"col-6"},Ue={class:"row items-center"},Ge={class:"text-weight-medium"},Je={class:"text-caption text-grey-6 q-ml-sm"},Ye={class:"col-6"},Xe={key:0,class:"text-caption text-grey-7"},Ze={key:1,class:"text-caption text-grey-7"},es={key:2,class:"text-caption text-grey-7"},ss={key:3,class:"text-caption text-grey-7"},ts={key:4,class:"text-caption text-grey-7"},ls={key:5,class:"text-caption text-grey-7"},as={class:"q-mb-none"},os={key:1,class:"col-12 col-md-6"},ns={class:"row"},is={class:"col-12 flex items-center"},rs={class:"row q-col-gutter-sm",style:{width:"100%"}},ds={class:"text-caption"},cs={class:"q-mb-lg"},us={class:"text-uppercase"},ms={class:"q-mb-lg"},ps={class:"q-mb-lg"},gs={class:"q-mb-lg"},vs={class:"row"},ys={class:"col-12"},hs={key:2,class:"col-12 text-center q-mt-lg"},bs={__name:"DemoPage",setup(fs){const z=le(),Q=G(),{locale:B}=ie(),q=v(""),$=v(!1),a=v(null),D=v(null),_=v(0),k=v(""),F=v(""),L={columns:[{name:"keyword",label:"Keyword",field:"keyword",align:"left"},{name:"competition",label:"Competition",field:"competition",align:"left"},{name:"averageMonthlySearch",label:"Average Monthly Search",field:"averageMonthlySearch",align:"left"},{name:"actions",label:"",align:"right"}],rows:[]},P=J(()=>a.value?.lighthouse?[{name:"Performance",score:a.value.lighthouse.performance||0}
1,{name:"Accessibility",score:a.value.lighthouse.accessibility||0},{name:"Best Practices",score:a.value.lighthouse.bestPractices||0}]:[]),A=async()=>{try{$.value=!0;const t=await fetch("/api/demo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({website:q.value,lang:F.value||B.value})});if(!t.ok)throw new Error("Failed to start website analysis");const n=t.body.getReader(),s=new TextDecoder;let p="";for(;;){const{done:M,value:I}=await n.read();if(M)break;p+=s.decode(I,{stream:!0});const N=p.split(` 2 3`);p=N.pop();for(const T of N)if(T.startsWith("data: ")){const S=T.slice(6);if(S.trim())try{const c=JSON.parse(S);if(c.error)throw new Error(c.error);c.complete?(console.log("Complete data received:",c.data),a.value={website:c.data.website||{},mainContent:c.data.website?.mainContent||{},screenshot:c.data.website?.screenshot||null,logo:c.data.website?.logo||null,analysis:c.data.analysis||{},socialMediaAnalysis:{successful:c.data.socialMedia||[]},lighthouse:c.data.lighthouse||{},keywords:c.data.keywords||[]},console.log("Result value set:",a.value),_.value=100,k.value="Analysis complete!",z.notify({type:"positive",message:"Website analysis complete!",timeout:2e3})):(_.value=c.progress||0,k.value=c.message||"Analyzing...",console.log(`Progress: ${c.message} (${c.progress}%)`))}catch(c){console.warn("Error parsing upstream data:",c.message),console.warn("Malformed data:",S)}}}}catch(t){console.error(t),z.notify({type:"negative",message:t.message||"Error analyzing website",timeout:5e3})}finally{$.value=!1,a.value||(_.value=0,k.value="")}},K=()=>{a.value=null,D.value=null,q.value="",_.value=0,k.value=""},R=t=>t>=90?"text-green":t>=70?"text-orange":"text-red",H=t=>t>=90?"green":t>=70?"orange":"red",U=t=>{const n=t?.replace("#","")||"000000",s=parseInt(n.substring(0,2),16),p=parseInt(n.substring(2,4),16),M=parseInt(n.substring(4,6),16);return(.299*s+.587*p+.114*M)/255>.5?"#000000":"#FFFFFF"},w=t=>t?t>=1e6?(t/1e6).toFixed(1)+"M":t>=1e3?(t/1e3).toFixed(1)+"K":t.toString():"0";return Y(()=>{q.value=Q.query.website,F.value=B.value,Q.query.website&&A()}),(t,n)=>(o(),i("div",re,[a.value?u("",!0):(o(),i("div",de,[$.value?(o(),i("div",ce,[r(W,{class:"q-mb-sm",value:_.value/100,color:"primary",size:"8px"},null,8,["value"]),e("div",ue,[e("div",me,l(t.$t(k.value)),1),e("div",pe,l(Math.round(_.value))+"%",1)])])):u("",!0),e("div",ge,[e("h1",ve,l(t.$t("demo.analyzeWebsite")),1),e("h5",ye,l(t.$t("demo.enterWebsiteUrl")),1),r(Z,{modelValue:q.value,"onUpdate:modelValue":n[0]||(n[0]=s=>q.value=s),label:t.$t("demo.websiteLabel"),dense:"","label-color":"black",outlined:"",onKeyup:X(A,["enter"]),style:{"max-width":"500px",margin:"0 auto"}},null,8,["modelValue","label"]),r(j,{class:"q-mt-lg btn btn-primary",label:t.$t("demo.analyzeWebsite"),onClick:A,loading:$.value,size:"lg"},null,8,["label","loading"])])])),a.value?(o(),i("div",he,[e("div",be,[e("div",fe,[e("div",_e,[e("h1",we,l(t.$t("demo.analysisComplete")),1),e("h2",xe,l(t.$t("demo.hereIsWhatWeFound")),1),e("h5",qe,l(t.$t("demo.reviewYourAnalysis")),1)])]),e("div",ke,[r(x,{class:"full-height",flat:"",bordered:""},{default:d(()=>[r(m,null,{default:d(()=>[e("div",$e,[e("div",Ce,[a.value?.logo?(o(),y(C,{key:0,src:`${a.value.logo}`,style:{"max-width":"200px"},fit:"contain"},null,8,["src"])):a.value?.mainContent?.logo?.url?(o(),y(C,{key:1,src:`${a.value.mainContent.logo.url}`,style:{"max-width":"200px"},fit:"contain"},null,8,["src"])):(o(),i("div",Ae,l(t.$t("demo.noLogoFound")),1))]),e("div",Me,[a.value?.screenshot?(o(),y(C,{key:0,src:`${a.value.screenshot}`,fit:"contain"},null,8,["src"])):a.value?.mainContent?.screenshot?(o(),y(C,{key:1,src:`${a.value.mainContent.screenshot}`,fit:"contain"},null,8,["src"])):(o(),i("div",Se,l(t.$t("demo.noScreenshotAvailable")),1))])])]),_:1})]),_:1})]),a.value?.analysis?(o(),i("div",ze,[r(x,{class:"q-mb-lg",flat:"",bordered:""},{default:d(()=>[r(m,{class:"bg-primary text-black q-pa-md"},{default:d(()=>[e("h3",null,l(t.$t("demo.businessOverview")),1)]),_:1}),r(m,null,{default:d(()=>[e("div",Qe,[e("h6",Be,l(t.$t("demo.companyWebsiteName")),1),e("p",null,l(a.value.analysis.companyName||t.$t("demo.noCompanyName")),1)]),e("div",Fe,[e("h6",Pe,l(t.$t("demo.businessOverview")),1),e("p",null,l(a.value.analysis.businessOverview||t.$t("demo.noBusinessOverview")),1)]),a.value.analysis.targetAudience?.businessType?(o(),i("div",Ie,[e("h6",Ne,l(t.$t("demo.businessType")),1),e("p",null,l(a.value.analysis.targetAudience.businessType||t.$t("demo.noBusinessType")),1)])):u("",!0),a.value.analysis.businessModel?(o(),i("div",Te,[e("h6",We,l(t.$t("demo.businessModel")),1),e("p",null,l(a.value.analysis.businessModel||t.$t("demo.noBusinessModel")),1)])):u("",!0),n[1]||(n[1]=e("hr",null,null,-1)),a.value.analysis.targetAudience.primary?(o(),i("div",je,[e("h6",Ee,l(t.$t("demo.targetAudience")),1),e("p",null,l(a.value.analysis.targetAudience.primary),1)])):u("",!0),a.value.analysis.targetAudience.demographics?(o(),i("div",Ve,[e("h6",Oe,l(t.$t("demo.demographics")),1),e("p",null,l(a.value.analysis.targetAudience.demographics),1)])):u("",!0),n[2]||(n[2]=e("hr",null,null,-1)),a.value.analysis.overallAssessment?(o(),i("div",De,[e
3("h6",Le,l(t.$t("demo.overallAssessment")),1),e("p",null,l(a.value.analysis.overallAssessment),1)])):u("",!0)]),_:1})]),_:1}),r(x,{flat:"",bordered:""},{default:d(()=>[r(m,{class:"q-pa-md bg-primary"},{default:d(()=>[...n[3]||(n[3]=[e("h3",null,"Social Media",-1)])]),_:1}),a.value?.socialMediaAnalysis?.successful?.length>0?(o(),y(m,{key:0,class:"q-pa-sm"},{default:d(()=>[e("div",Ke,[(o(!0),i(h,null,b(a.value.socialMediaAnalysis.successful,(s,p)=>(o(),i("div",{class:"col-12",key:s.url||p},[e("div",Re,[e("div",He,[e("div",Ue,[r(f,{class:"q-mr-sm",name:E(oe)(s.platform),size:"24px",color:E(ae)(s.platform)},null,8,["name","color"]),e("span",Ge,l(s.platform),1)]),e("div",Je,l(s.url),1)]),e("div",Ye,[s.metrics.followers?(o(),i("div",Xe,[r(f,{name:"people",size:"16px"}),g(l(w(s.metrics.followers))+" Followers",1)])):u("",!0),s.metrics.likes?(o(),i("div",Ze,[r(f,{name:"favorite",size:"16px"}),g(l(w(s.metrics.likes))+" Likes",1)])):u("",!0),s.metrics.posts?(o(),i("div",es,[r(f,{name:"post_add",size:"16px"}),g(l(w(s.metrics.posts))+" Posts",1)])):u("",!0),s.metrics.subscribers?(o(),i("div",ss,[r(f,{name:"subscriptions",size:"16px"}),g(l(w(s.metrics.subscribers))+" Subscribers",1)])):u("",!0),s.metrics.views?(o(),i("div",ts,[r(f,{name:"visibility",size:"16px"}),g(l(w(s.metrics.views))+" Views",1)])):u("",!0),s.metrics.engagement?(o(),i("div",ls,[r(f,{name:"trending_up",size:"16px"}),g(l(w(s.metrics.engagement))+" Engagement",1)])):u("",!0)])])]))),128))])]),_:1})):(o(),y(m,{key:1,class:"q-pa-sm"},{default:d(()=>[...n[4]||(n[4]=[e("div",{class:"text-center text-grey-6"},"No social media accounts found",-1)])]),_:1})),r(m,{class:"q-pa-sm"},{default:d(()=>[n[5]||(n[5]=e("h6",null,"Assessment",-1)),e("p",null,l(a.value.analysis.socialMediaPresence.assessment),1)]),_:1}),r(m,{class:"q-pa-sm"},{default:d(()=>[n[6]||(n[6]=e("h6",null,"Recommendations",-1)),e("ol",as,[(o(!0),i(h,null,b(a.value.analysis.socialMediaPresence.recommendations,(s,p)=>(o(),i("li",{key:p},l(s),1))),128))])]),_:1})]),_:1})])):u("",!0),a.value?.lighthouse&&P.value.length>0?(o(),i("div",os,[r(x,{class:"q-mb-lg",flat:"",bordered:""},{default:d(()=>[r(m,{class:"bg-primary q-pa-md"},{default:d(()=>[...n[7]||(n[7]=[e("h3",null,"Website Performance",-1)])]),_:1}),r(m,{class:"q-pa-md"},{default:d(()=>[e("div",ns,[e("div",is,[e("div",rs,[(o(!0),i(h,null,b(P.value,s=>(o(),i("div",{class:"col-4 text-center",key:s.name},[e("b",{class:V(["text-h4",R(s.score)])},l(s.score),3),e("div",ds,l(s.name),1),r(W,{class:"q-mt-xs",value:s.score/100,color:H(s.score),size:"4px"},null,8,["value","color"])]))),128))])])])]),_:1})]),_:1}),r(x,{class:"q-mb-lg",flat:"",bordered:""},{default:d(()=>[r(m,{class:"q-pa-md bg-primary"},{default:d(()=>[...n[8]||(n[8]=[e("h3",null,"Branding",-1)])]),_:1}),r(m,null,{default:d(()=>[e("div",cs,[n[9]||(n[9]=e("div",{class:"flex justify-between items-center"},[e("h6",{class:"q-mb-sm"},"Brand Colors")],-1)),e("div",null,[(o(!0),i(h,null,b(a.value.website.brandColors,(s,p)=>(o(),y(se,{key:s,style:ee(`background:${s.hex||"#000000"}; border:solid 1px black; color:${U(s.hex)};`)},{default:d(()=>[e("span",us,l(s.hex),1)]),_:2},1032,["style"]))),128))])]),e("div",ms,[n[10]||(n[10]=e("div",{class:"flex justify-between items-center"},[e("h6",{class:"q-mb-sm"},"Brand Aesthetics")],-1)),(o(!0),i(h,null,b(a.value.analysis.branding.aesthetic,(s,p)=>(o(),i("span",{class:"text-body1 q-mr-lg",key:s},[e("span",null,l(s),1)]))),128))]),e("div",ps,[e("div",null,[n[11]||(n[11]=e("div",{class:"flex justify-between items-center"},[e("h6",{class:"q-mb-sm"},"Brand Tone")],-1)),(o(!0),i(h,null,b(a.value.analysis.branding.tone,(s,p)=>(o(),i("span",{class:"text-body1 q-mr-lg",key:s},[e("span",null,l(s),1)]))),128))])]),e("div",gs,[e("div",null,[n[12]||(n[12]=e("div",{class:"flex justify-between items-center"},[e("h6",{class:"q-mb-sm"},"Brand Values")],-1)),(o(!0),i(h,null,b(a.value.analysis.branding.values,(s,p)=>(o(),i("span",{class:"text-body1 q-mr-lg",key:s},[e("span",null,l(s),1)]))),128))])])]),_:1})]),_:1}),r(x,{class:"q-mt-lg",flat:"",bordered:""},{default:d(()=>[r(m,{class:"bg-primary q-pa-md"},{default:d(()=>[...n[13]||(n[13]=[e("h3",null,"Keywords",-1)])]),_:1}),r(m,null,{default:d(()=>[e("div",vs,[e("div",ys,[r(te,{"rows-per-page-options":[0],columns:L.columns,rows:a.value.keywords,"row-key":"keyword",flat:"",style:{width:"100%"}},{body:d(s=>[e("tr",null,[r(O,null,{default:d(()=>[g(l(s.row.keyword),1)]),_:2},1024),e("td",null,[e("span",{class:V(["competition-status",[s.row.competition=="LOW"?"competition-low":"",s.row.competition=="MEDIUM"?"competition-med":"",s.row.competition=="HIGH"?"competition-high":""]])},l(s.row.competition?s.row.competition:"-"),3)]),r(O,null,{default:d(()=>[g(l(s.row.averageMonthlySearch),1)]),_:2},1024)])]),_:1},8,["columns","rows"])])])]),_:1})]),_:1})])):u("",!0),a.value?(o(),i("div",hs,[r(j,{label:t.$t("demo.analyzeAnother"),onClick:K,color:"secondary",outline:""},null,8,["label"])])):u("",!0)])])):u("",!0)]))}},Ts=ne(bs,[["__scopeId","data-v-b4275ef4"]]);export{Ts 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.