PageSourceSearch

https://visipage.ai/_assets/ShareableScoreCard-v62czM9Q.js

js visipage.ai collected 2026-10-05 13:14:38 UTC 6,965 bytes, 1 lines download raw bytes

1import{j as e,aA as w,bt as j,S as h,o as f,aE as B,aY as C,s as x,k as y,aK as I,m as T,br as L,cg as S,bc as $,bd as E,t as g,E as G,a5 as A}from"./vendor-BNYS6O0P.js";import{B as u}from"./index-Cz5nqbOF.js";const R="_banner_1a0nw_2",W="_contentWrapper_1a0nw_11",M="_iconWrapper_1a0nw_19",P="_textContent_1a0nw_27",z="_title_1a0nw_31",V="_description_1a0nw_38",D="_actions_1a0nw_45",F="_linkButton_1a0nw_53",O="_verified_1a0nw_64",Y="_icon_1a0nw_19",J="_compactBanner_1a0nw_92",X="_compactText_1a0nw_109",a={banner:R,contentWrapper:W,iconWrapper:M,textContent:P,title:z,description:V,actions:D,linkButton:F,verified:O,icon:Y,compactBanner:J,compactText:X},Le=({mlwVerified:o,mlwProfileUrl:c,variant:n="full",className:i})=>o===!0?n==="compact"?e.jsxs("div",{className:`${a.compactBanner} ${a.verified} ${i||""}`,children:[e.jsx(w,{size:16,className:a.icon}),e.jsx("span",{className:a.compactText,children:"MLW Certified"})]}):e.jsx("div",{className:`${a.banner} ${a.verified} ${i||""}`,children:e.jsxs("div",{className:a.contentWrapper,children:[e.jsx("div",{className:a.iconWrapper,children:e.jsx(w,{size:24,className:a.icon})}),e.jsxs("div",{className:a.textContent,children:[e.jsx("h3",{className:a.title,children:"MLW Certified — Verified"}),e.jsx("p",{className:a.description,children:"This profile is backed by a verified Most Loved Workplace® certification. AI systems like ChatGPT, Perplexity, Gemini, and Google AI Overviews prioritize profiles with verified authority signals."}),e.jsx("div",{className:a.actions,children:c&&e.jsx(u,{asChild:!0,variant:"link",className:a.linkButton,size:"sm",children:e.jsxs("a",{href:c,target:"_blank",rel:"noopener noreferrer",children:["View MLW Certification ",e.jsx(j,{size:14})]})})})]})]})}):null,q=f({platform:y(["ChatGPT","Claude","Perplexity","Grok"]),mentioned:I(),status:y(["checked","skipped","error","unavailable"])}),K=f({name:x().min(1,"Name is required"),title:x().optional().nullable(),overallScore:C().min(0).max(100),platforms:B(q)}),U=async(o,c)=>{const n=K.parse(o),i=await fetch("/_api/analytics/score-card",{method:"POST",body:h.stringify(n),...c,headers:{"Content-Type":"application/json"}});if(!i.ok){const m=await i.text();let l;try{l=h.parse(m)}catch{throw new Error(`API Error: ${i.status} ${i.statusText}`)}throw new Error(l.error)}return h.parse(await i.text())};function H(){return T({mutationFn:o=>U(o)})}const Q="_container_kmeyu_1",Z="_title_kmeyu_16",ee="_previewCard_kmeyu_25",te="_previewTopBar_kmeyu_37",se="_previewContent_kmeyu_43",ae="_previewLeft_kmeyu_51",ne="_gaugeRing_kmeyu_59",ie="_gaugeInner_kmeyu_70",re="_gaugeNumber_kmeyu_80",oe="_gaugePercent_kmeyu_86",ce="_previewLabel_kmeyu_93",le="_previewRight_kmeyu_100",de="_previewName_kmeyu_107",me="_previewTitle_kmeyu_114",pe="_platformsGrid_kmeyu_120",ue="_platformBadge_kmeyu_127",_e="_badgeIcon_kmeyu_137",he="_iconSuccess_kmeyu_141",ge="_iconError_kmeyu_142",ve="_iconNeutral_kmeyu_143",we="_badgeName_kmeyu_145",xe="_previewFooter_kmeyu_151",ye="_footerLabel_kmeyu_159",fe="_footerBrand_kmeyu_167",ke="_brandDot_kmeyu_176",be="_actionsGrid_kmeyu_184",Ne="_actionButton_kmeyu_192",je="_socialButtons_kmeyu_196",Be="_socialBtn_kmeyu_201",Ce="_subtext_kmeyu_205",t={container:Q,title:Z,previewCard:ee,previewTopBar:te,previewContent:se,previewLeft:ae,gaugeRing:ne,gaugeInner:ie,gaugeNumber:re,gaugePercent:oe,previewLabel:ce,previewRight:le,previewName:de,previewTitle:me,platformsGrid:pe,platformBadge:ue,badgeIcon:_e,iconSuccess:he,iconError:ge,iconNeutral:ve,badgeName:we,previewFooter:xe,footerLabel:ye,footerBrand:fe,brandDot:ke,actionsGrid:be,actionButton:Ne,socialButtons:je,socialBtn:Be,subtext:Ce},Se=({personName:o,personTitle:c,overallScore:n,platforms:i})=>{const{mutateAsync:m,isPending:l}=H();let d="var(--error)",p="Invisible";n>70?(d="var(--success)",p="Excellent"):n>=50?(d="var(--info)",p="Good"):n>=26&&(d="var(--warning)",p="Fair");const k=async()=>{try{const s=await m({name:o,title:c,overallScore:n,platforms:i});if(!s.imageBase64)throw new Error("No image generated");const r=document.createElement("a");r.href=s.imageBase64,r.download=`ai-visibility-score-${o.toLowerCase().replace(/\s+/g,"-")}.png`,document.body.appendChild(r),r.click(),document.body.removeChild(r),g.success("Score card downloaded!")}catch(s){(s instanceof Error?s.message:"").includes("Rate limit exceeded")?g.error("You've generated a few of these just now. Please try again in a few minutes."):g.error("Failed to generate image. Please try again.")}},v=`Just checked my AI Visibility Score on @visipage_ai — I scored ${n}%! Are AI agents recommending you? Check yours free → https://visipage.ai`,b=()=>{const s=`https://www.linkedin.com/shareArticle?mini=true&url=https://visipage.ai&title=My%20AI%20Visibility%20Score&summary=${encodeURIComponent(v)}`;window.open(s,"_blank","noopener,noreferrer,width=600,height=600")},N=()=>{const s=`https://twitter.com/intent/tweet?text=${encodeURIComponent(v)}`;window.open(s,"_blank","noopener,noreferrer,width=600,height=600")};return e.jsxs("div",{className:t.container,children:[e.jsx("h3",{className:t.title,children:"Share Your AI Score"}),e.jsxs("div",{className:t.previewCard,children:[e.jsx("div",{className:t.previewTopBar}),e.jsxs("div",{className:t.previewContent,children:[e.jsxs("div",{className:t.previewLeft,children:[e.jsx("div",{className:t.gaugeRing,style:{"--score-color":d,"--score-deg":`${n/100*360}deg`},children:e.jsxs("div",{className:t.gaugeInner,children:[e.jsx("span",{className:t.gaugeNumber,children:n}),e.jsx("span",{className:t.gaugePercent,children:"%"})]})}),e.jsx("div",{className:t.previewLabel,style:{color:d},children:p})]}),e.jsxs("div",{className:t.previewRight,children:[e.jsx("div",{className:t.previewName,children:o}),c&&e.jsx("div",{className:t.previewTitle,children:c}),e.jsx("div",{className:t.platformsGrid,children:i.map(s=>{let r=L,_=t.iconNeutral;return s.status==="checked"&&(s.mentioned?(r=G,_=t.iconSuccess):(r=A,_=t.iconError)),e.jsxs("div",{className:t.platformBadge,children:[e.jsx(r,{className:`${t.badgeIcon} ${_}`,size:14}),e.jsx("span",{className:t.badgeName,children:s.platform})]},s.platform)})})]})]}),e.jsxs("div",{className:t.previewFooter,children:[e.jsx("span",{className:t.footerLabel,children:"AI Visibility Score"}),e.jsxs("div",{className:t.footerBrand,children:[e.jsx("div",{className:t.brandDot}),"visipage.ai"]})]})]}),e.jsxs("div",{className:t.actionsGrid,children:[e.jsxs(u,{variant:"secondary",className:t.actionButton,onClick:k,disabled:l,children:[e.jsx(S,{size:18}),l?"Generating...":"Download Image"]}
1),e.jsxs("div",{className:t.socialButtons,children:[e.jsxs(u,{variant:"outline",className:t.socialBtn,onClick:b,children:[e.jsx($,{size:18}),"LinkedIn"]}),e.jsxs(u,{variant:"outline",className:t.socialBtn,onClick:N,children:[e.jsx(E,{size:18}),"X (Twitter)"]})]})]}),e.jsx("p",{className:t.subtext,children:"Every share helps others discover their AI visibility"})]})};export{Le as M,Se as S};

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.