PageSourceSearch

https://app.janavaidya.com/assets/playbook-BaUepmAl.js

js janavaidya.com collected 2026-10-02 01:34:12 UTC 21,990 bytes, 4 lines download raw bytes

1import{r as v,j as e}from"./react-core-ZGhOPDd5.js";import{c as B,ac as K,n as Y,L as H,d as P,E as q,z as V,X as z,B as I,T as G}from"./index-B1RmW2iz.js";import{u as J,a as Q,b as A}from"./tanstack-dB9xAWBZ.js";import{a as O,H as M,a7 as W}from"./AppShell-BJbqryi5.js";import{T as X}from"./textarea-Bu-CRZAx.js";import{A as Z}from"./arrow-left-D_GpUGfB.js";import{C as $}from"./dialog-BWGRs1UA.js";import{C as ee}from"./chevron-up-C8WQRj-l.js";import{C as te}from"./chevron-down-Dlk9jhEJ.js";import{N as L}from"./notebook-pen-DPS_B9XA.js";import{C as R}from"./copy-B4kUu6hd.js";import"./shared-helpers-D8lIdaSv.js";import"./input-KgcadZjB.js";import"./index-Cip49JTN.js";import"./scroll-area-B7kuf1xS.js";import"./LanguageToggle-CvQUaDOW.js";import"./JANAVAIDYA_new_final_Logo_1779194409565-Doc7Imxs.js";import"./search-BNFm_9S1.js";import"./phone-CaciiwaS.js";import"./tslib.es6-DjMk01cD.js";const ae=[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]],oe=B("video",ae),_=[{id:"stage_1_foundation",number:1,weekLabel:"Week 1",name:"Foundation polish",description:"Get your profile and assets in order BEFORE you take this outside.",tasks:[{id:"t1_marketing_mastery_1",title:"Complete Marketing Mastery I in the Academy",detail:"9 lessons. Hyperlocal ethics, organic-first philosophy, the ego lesson, patient word-of-mouth."},{id:"t2_marketing_mastery_2",title:"Complete Marketing Mastery II in the Academy",detail:"6 lessons on earning by mentoring. The mentor playbook + active-mentee economics."},{id:"t3_profile_polish",title:"Polish your public profile",detail:"High-resolution photo, complete bio, all languages spoken, all areas covered, consultation fee. Patients judge in 2 seconds."},{id:"t4_print_flyers",title:"Print 100 personalised JanaVaidya flyers",detail
1:"Download the doctor-branded template from Profile → Forms & Documents → JanaVaidya Doctor Flyer."},{id:"t5_print_cards",title:"Print 50 small referral cards",detail:"Smaller format designed to sit at a pharmacist's counter. Same QR code, less surface area."}]},{id:"stage_2_hyperlocal",number:2,weekLabel:"Week 2",name:"Hyperlocal distribution",description:"Four days of legwork. Be visible where patients are already looking.",tasks:[{id:"t6_pharmacies",title:"Distribute flyers at 15 pharmacies",detail:"Within your home-visit radius. Stop in, introduce yourself, leave 5 flyers per pharmacy.",acceptsProof:!0},{id:"t7_clinics",title:"Distribute flyers at 5 clinics or hospitals",detail:"No commercial deals — pure visibility. The IMC code does not allow quid pro quo.",acceptsProof:!0},{id:"t8_rwa",title:"Place flyers on 5 RWA notice boards",detail:"Ask the secretary first. Apartment notice boards reach the elderly patients most likely to want a home visit.",acceptsProof:!0},{id:"t9_elderly_care",title:"Visit 5 elderly-care services",detail:"Old-age homes, care agencies. Leave flyers + introduce yourself to the caretaker.",acceptsProof:!0},{id:"t10_wellness",title:"Drop flyers at 3 yoga or wellness centres",detail:"Their members are already thinking about preventive health. Good cross-audience.",acceptsProof:!0},{id:"t11_labs",title:"Visit 2 diagnostic labs",detail:"Leave flyers + chat with reception staff. They handle a lot of phone enquiries.",acceptsProof:!0}]},{id:"stage_3_digital",number:3,weekLabel:"Week 3",name:"Digital presence",description:"Make content. Your patients are on WhatsApp. The script and filming guide are below.",tasks:[{id:"t12_intro_video",title:"Record a 60–90 second introduction video",detail:"Script + filming guide provided. Use the kit on the right side of this task once you tap it open.",acceptsProof:!0},{id:"t13_education_video",title:"Record one health-education video",detail:"Pick one of the 7 IMC-compliant topics in the kit. 60–90 sec, vertical format.",acceptsProof:!0},{id:"t14_whatsapp_status",title:"Share the intro video on your WhatsApp Status",detail:"Most patients will see it through this channel first."},{id:"t15_alumni_group",title:"Post the intro video in your medical college alumni WhatsApp group",detail:"Other doctors are your strongest referrers — they trust their batchmates."},{id:"t16_rwa_groups",title:"Post the intro video in any local RWA or senior-citizen WhatsApp groups you belong to",detail:"Only if you're already a member — don't gatecrash a group to post."}]},{id:"stage_4_network",number:4,weekLabel:"Week 4",name:"Network multiplication",description:"Bring other doctors onto the platform. Every active mentee compounds your income.",tasks:[{id:"t17_wa_batchmates",title:"WhatsApp 5 medical school batchmates with your mentor code",detail:"Personal note matters. Generic forwards get ignored."},{id:"t18_wa_juniors",title:"WhatsApp 3 junior doctors or interns",detail:"Younger doctors are most open to a home-visit practice as a parallel income stream."},{id:"t19_alumni_invite",title:"Post your mentor invite in your medical alumni group",detail:"Once is enough. Don't spam."},{id:"t20_onboard_mentees",title:"Personally onboard 1–2 mentees",detail:"Call them, walk them through signup, answer their questions. This is where you earn their loyalty."},{id:"t21_share_story",title:"Share a short 'how I built this practice' message with your network",detail:"First-person, no fluff. What you tried, what worked, what didn't."}]},{id:"stage_5_maintenance",number:5,weekLabel:"Day 30+",name:"Weekly maintenance rhythm",description:"Small recurring actions that compound. Unlocks after Day 30 of starting the playbook.",isRecurring:!0,tasks:[{id:"t22_mon_content",title:"Monday: post in 1 community group OR message 5 contacts",detail:"Pick whichever feels right for the week."},{id:"t23_wed_reviews",title:"Wednesday: respond to any new patient reviews",detail:"Thank them. Short, genuine, no medical advice in the reply."},{id:"t24_fri_mentees",title:"Friday: check in with each of your mentees",detail
1:"A 2-minute WhatsApp counts. Stay in their head."},{id:"t25_monthly_flyers",title:"Monthly: print + distribute 30 more flyers to fresh locations",detail:"Don't re-cover the same pharmacies. Expand the radius."},{id:"t26_monthly_video",title:"Monthly: record + share one new short video",detail:"Health-education topic, 60–90 sec, vertical. Keep the rhythm."}]}],F=_.filter(o=>!o.isRecurring).reduce((o,t)=>o+t.tasks.length,0),E=[{label:"0–15 sec · Hello",text:"Namaste. I'm Dr. [Your Name]. I'm a home-visit doctor with JanaVaidya, and I see patients across [Your Area] in Bengaluru."},{label:"15–35 sec · Why a home visit",text:"If you have an elderly parent who finds it hard to come to a clinic, a child who's running a fever and shouldn't be moved, or a busy work week that leaves no time for a hospital visit — a doctor coming to your home is often the right answer."},{label:"35–65 sec · What the visit looks like",text:"I bring my bag with [a stethoscope, BP cuff, pulse oximeter, glucometer — whatever you actually carry]. I examine the patient at the bedside, write a prescription on the spot, and upload it digitally so you have it forever. If we need further tests, I refer you to nearby labs. The whole visit takes about 30–45 minutes."},{label:"65–90 sec · Booking",text:"To book me, open JanaVaidya on your phone — it's free to download — and search for me by name, or by area [Your Area]. You can also call JanaVaidya's office number. I see patients [Mon–Sat, between X and Y] in this area."}],se=["Vertical 9:16 format (works on WhatsApp Status, Instagram Reels, YouTube Shorts).","Natural light from a window. Face the window, not with it behind you.","Plain wall behind you, or your own clinic if you have one.","Wear your normal patient-facing attire. White coat optional.","Speak in Kannada first. English version as a follow-up if you want.","No medical jargon. Imagine your grandmother is watching.","Show your face for most of the video; briefly show your bag or stethoscope around the 30-second mark."],re=["When should you call a doctor home for fever?","Home blood pressure monitoring — what the readings actually mean.","Caring for an elderly parent at home after hospital discharge.","Common home-care mistakes when a child has loose motions.","Hydration for senior citizens during summer.","Wound dressing at home — when to seek help.","Diabetes care at home: what your daily routine should look like."],ie=['Claims of being "the best" or "the fastest" in your area.',"Patient testimonials in your marketing (IMC code violation).","Comparative claims against other doctors or hospitals.","Success-rate statistics without published evidence."],C=["doctor","playbook"],ne="t12_intro_video";function Ae(){const o=J(),{data:t,isLoading:h}=Q({queryKey:C,queryFn:()=>P("/api/doctor/playbook")}),{data:d}=K(),l=v.useMemo(()=>{if(!t)return _[0].id;for(const a of _){if(a.isRecurring)continue;if(a.tasks.filter(N=>!t.tasks?.[N.id]?.done).length>0)return a.id}return _[_.length-1].id},[t]),[s,r]=v.useState(null),u=s??new Set([l]);function p(a){const n=new Set(u);n.has(a)?n.delete(a):n.add(a),r(n)}const g=t?Object.values(t.tasks).filter(a=>a.done).length:0,y=Math.round(g/F*100),j=v.useMemo(()=>{if(!t?.started_at)return!1;const a=new Date(t.started_at).getTime();return Date.now()-a>=30*864e5},[t?.started_at]),b=v.useMemo(()=>{if(!t?.started_at)return 30;const a=new Date(t.started_at).getTime(),n=Math.floor((Date.now()-a)/864e5);return Math.max(0,30-n)},[t?.started_at]),w=A({mutationFn:a=>P("/api/doctor/playbook/task",{method:"PATCH",body:JSON.stringify(a),headers:{"Content-Type":"application/json"}}),onSuccess:()=>o.invalidateQueries({queryKey:C})}),x=A({mutationFn:()=>P("/api/doctor/playbook/dismiss",{method:"POST"}),onSuccess:()=>o.invalidateQueries({queryKey:C})}),c=A({mutationFn:()=>P("/api/doctor/playbook/restore",{method:"POST"}),onSuccess:()=>o.invalidateQueries({queryKey:C})});return h||!t?e.jsx(O,{title:"Practice launch playbook",subtitle:"Your 30-day roadmap",children:e.jsx("div",{className:"flex items-center justify-center min-h-[40vh]",children:e.jsx(Y,{className:"h-6 w-6 animate-spin text-muted-foreground"})})}):e.jsx(O,{title:"Practice launch playbook",subtitle:"26 actions to grow your home-visit practice",children:e.jsxs("div",{className:"px-4 sm:px-6 py-4 max-w-2xl mx-auto",children:[e.jsxs(H,{href:"/doctor/dashboard",className:"inline-flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground mb-3",children:[e.jsx(Z,{className:"h-3.5 w-3.5"})," Back to dashboard"]}),e.jsxs("div",{className:"bg-white border border-border/60 rounded-xl p-4 mb-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("span",{className:"text-sm font-semibold",children:[g," of ",F," done"]}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[y,"%"]})]}),e.jsx("div",{className:"h-2 bg-muted rounded-full overflow-hidden mt-2",children:e.jsx("div",{className:"h-full bg-secondary rounded-full transition-all duration-500",style:{width:`${y}%`}})}),t.dismissed_at&&e.jsxs("div",{className:"mt-3 pt-3 border-t border-border/60 flex items-center justify-between gap-2 text-xs text-muted-foreground",children:[e.jsx("span",{children:"Widget hidden from dashboard."}),e.jsx("button",{className:"text-secondary font-medium underline-offset-2 hover:underline",onClick:()=>c.mutate(),disabled:c.isPending,children:"Show on dashboard"})]})]}),e.jsx("div",{className:"space-y-3",children:_.map(a=>{const N=a.isRecurring===!0&&!j;return e.jsx(le,{stage:a,isOpen:!N&&u.has(a.id),isCurrent:a.id===l,locked:N,daysUntilUnlock:b,progress:t.tasks,doctorProfile:d,onToggleStage:()=>!N&&p(a.id),onToggleTask:(f,k)=>w.mutate({task_id:f,done:k}),onSaveNote:(f,k)=>{const i=t.tasks[f];w.mutate({task_id:f,done:i?.done??!1,note:k})},onUpdateProof:(f,k)=>{const i=t.tasks[f];w.mutate({task_id:f,done:i?.done??!1,proof_urls:k})}},a.id)})}),!t.dismissed_at&&e.jsx("div",{className:"mt-6 pt-4 border-t border-border/60 text-center",children:e.jsx("button",{className:"text-xs text-muted-foreground hover:text-foreground",onClick:()=>x.mutate(),disabled:x.isPending,children:"Hide playbook from dashboard"})})]})})}function le({stage:o,isOpen:t,isCurrent:h,locked:d,daysUntilUnlock:l,progress:s,doctorProfile:r,onToggleStage:u,onToggleTask:p,onSaveNote:g,onUpdateProof:y}){const j=o.tasks.filter(c=>s[c.id]?.done).length,b=o.tasks.length,w=j===b&&b>0,x=d?"border-dashed border-border/60 bg-muted/30":h?"border-[1.5px] border-secondary bg-secondary/[0.04]":"border-border/60 bg-white";return e.jsxs("div",{className:`rounded-xl border ${x} overflow-hidden`,children:[e.jsxs("button",{className:"w-full px-4 py-3 flex items-center justify-between gap-3 text-left disabled:cursor-not-allowed",onClick:u,disabled:d,children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-[10px] tracking-wider up
1percase text-muted-foreground font-medium",children:o.weekLabel}),h&&!d&&e.jsx("span",{className:"text-[10px] bg-secondary text-white px-1.5 py-0.5 rounded-full font-medium uppercase tracking-wider",children:"Current"})]}),e.jsx("p",{className:"text-sm font-semibold mt-0.5",children:o.name}),e.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:d?`Unlocks in ${l} ${l===1?"day":"days"}`:`${j} of ${b} done`})]}),e.jsx("div",{className:"shrink-0",children:d?e.jsx(q,{className:"h-4 w-4 text-muted-foreground"}):w?e.jsx("div",{className:"h-6 w-6 rounded-full bg-secondary flex items-center justify-center",children:e.jsx($,{className:"h-3.5 w-3.5 text-white"})}):t?e.jsx(ee,{className:"h-5 w-5 text-muted-foreground"}):e.jsx(te,{className:"h-5 w-5 text-muted-foreground"})})]}),!d&&t&&e.jsxs("div",{className:"border-t border-border/60 px-4 py-3",children:[o.description&&e.jsx("p",{className:"text-xs text-muted-foreground italic mb-3",children:o.description}),e.jsx("div",{children:o.tasks.map((c,a)=>e.jsx(de,{task:c,state:s[c.id],showSeparator:a>0,doctorProfile:r,onToggleDone:n=>p(c.id,n),onSaveNote:n=>g(c.id,n),onUpdateProof:n=>y(c.id,n)},c.id))})]})]})}function de({task:o,state:t,showSeparator:h,doctorProfile:d,onToggleDone:l,onSaveNote:s,onUpdateProof:r}){const u=t?.done===!0,[p,g]=v.useState(!1),[y,j]=v.useState(t?.note??""),[b,w]=v.useState(!1),x=v.useRef(null),{toast:c}=V(),a=t?.proof_urls??[],n=o.id===ne,N=o.acceptsProof===!0;async function f(i){if(i){w(!0);try{const m=localStorage.getItem("jv_token"),S=new FormData;S.append("file",i,i.name||"proof.jpg");const T=await fetch("/api/storage/upload/public",{method:"POST",headers:m?{Authorization:`Bearer ${m}`}:{},body:S});if(!T.ok)throw new Error(`Upload failed (${T.status})`);const{url:U}=await T.json();r([...a,U]),c({title:"Photo added"})}catch(m){c({title:"Upload failed",description:m?.message??"Try again",variant:"destructive"})}finally{w(!1),x.current&&(x.current.value="")}}}function k(i){r(a.filter((m,S)=>S!==i))}return e.jsx("div",{className:`py-2.5 ${h?"border-t border-border/40":""}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("button",{onClick:()=>l(!u),className:`shrink-0 mt-0.5 h-[18px] w-[18px] rounded border-[1.5px] flex items-center justify-center transition-colors ${u?"bg-secondary border-secondary":"border-muted-foreground/40 hover:border-muted-foreground bg-background"}`,"aria-label":u?"Mark not done":"Mark done",children:u&&e.jsx($,{className:"h-3 w-3 text-white"})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:`text-sm leading-snug ${u?"text-muted-foreground line-through":"text-foreground"}`,children:o.title}),o.detail&&p&&e.jsx("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:o.detail}),t?.note&&!p&&e.jsxs("p",{className:"text-xs text-muted-foreground italic mt-1 bg-muted/40 rounded px-2 py-1",children:[e.jsx(L,{className:"inline h-3 w-3 mr-1 align-text-bottom"}),t.note]}),!p&&a.length>0&&e.jsx("div",{className:"flex gap-1.5 mt-2 flex-wrap",children:a.map((i,m)=>e.jsx("img",{src:i,alt:"proof",className:"h-12 w-12 rounded object-cover border border-border"},m))}),p&&e.jsxs("div",{className:"mt-3 space-y-2",children:[n&&e.jsx(ce,{doctorProfile:d}),N&&e.jsxs("div",{children:[e.jsxs("label",{className:"text-[11px] font-medium text-muted-foreground flex items-center gap-1 mb-1",children:[e.jsx(M,{className:"h-3 w-3"})," Proof photos (",a.length,")"]}),a.length>0&&e.jsx("div",{className:"flex gap-1.5 mb-2 flex-wrap",children:a.map((i,m)=>e.jsxs("div",{className:"relative group",children:[e.jsx("img",{src:i,alt:"proof",className:"h-16 w-16 rounded object-cover border border-border"}),e.jsx("button",{onClick:()=>k(m),className:"absolute -top-1 -right-1 bg-destructive text-white rounded-full p-0.5 opacity-0 group-hover:opacity-100 transition-opacity","aria-label":"Remove photo",children:e.jsx(z,{className:"h-3 w-3"})})]},m))}),e.jsx("input",{ref:x,type:"file",accept:"image/*",capture:"environment",className:"hidden",onChange:i=>{const m=i.target.files?.[0];m&&f(m)}}),e.jsx(I,{size:"sm",variant:"outline",className:"text-xs h-7",onClick:()=>x.current?.click(),disabled:b||a.length>=8,children:b?e.jsxs(e.Fragment,{children:[e.jsx(Y,{className:"h-3 w-3 mr-1 animate-spin"})," Uploading…"]}):e.jsxs(e.Fragment,{children:[e.jsx(M,{className:"h-3 w-3 mr-1"})," Add photo"]})}),a.length>=8&&e.jsx("p",{className:"text-[10px] text-muted-foreground mt-1",children:"Maximum 8 photos per task."})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"text-[11px] font-medium text-muted-foreground flex items-center gap-1 mb-1",children:[e.jsx(L,{className:"h-3 w-3"})," Optional note (your own log)"]}),e.jsx(X,{value:y,onChange:i=>j(i.target.value),placeholder:"e.g. Visited Heritage + Athulya; both said they'd share with families.",rows:2,className:"text-xs"}),e.jsxs("div",{className:"flex gap-2 mt-1.5",children:[e.jsx(I,{size:"sm",variant:"outline",className:"text-xs h-7",onClick:()=>{s(y),g(!1)},disabled:y===(t?.note??""),children:"Save note"}),e.jsx(I,{size:"sm",variant:"ghost",className:"text-xs h-7",onClick:()=>{j(t?.note??""),g(!1)},children:"Close"})]})]})]})]}),e.jsx("button",{className:"shrink-0 text-[11px] text-muted-foreground hover:text-foreground",onClick:()=>g(i=>!i),children:p?"Less":"More"})]})})}function D(o,t){if(!t)return o;const d=(t?.display_name??"").replace(/^Dr\.?\s+/i,"").trim(),l=[];t?.local_area&&l.push(t.local_area),t?.city&&!l.includes(t.city)&&l.push(t.city);const s=l.length>0?l.join(", "):t?.home_visit_areas?.split(",")[0]?.trim()??"[Your Area]";return o.replace(/\[Your Name\]/g,d||"[Your Name]").replace(/\[Your Area\]/g,s)}function ce({doctorProfile:o}){const{toast:t}=V(),h=!!o?.display_name;function d(s,r){const u=D(r,o);navigator.clipboard.writeText(u),t({title:`Copied "${s}"`,description:"Paste into your notes app or teleprompter."})}function l(){const s=E.map(r=>`${r.label}
2"${D(r.text,o)}"`).join(`
3
4`);navigator.clipboard.writeText(s),t({title:"Full script copied",description:"Ready to paste."})}return e.jsxs("div",{className:"rounded-lg border border-border/60 bg-muted/20 p-3 space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(oe,{className:"h-4 w-4 text-secondary"}),e.jsx("p",{className:"text-sm font-semibold",children:"Intro video kit"})]}),h&&e.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] bg-secondary/10 text-secondary border border-secondary/30 rounded-full px-2 py-0.5",children:[e.jsx(W,{className:"h-2.5 w-2.5"})," Personalised"]})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[e.jsx("p",{className:"text-[10px] tracking-wider up
4percase font-medium text-muted-foreground",children:"Script template"}),e.jsxs("button",{className:"text-[10px] text-secondary font-medium hover:underline flex items-center gap-0.5",onClick:l,children:[e.jsx(R,{className:"h-2.5 w-2.5"})," Copy all"]})]}),e.jsx("div",{className:"space-y-2",children:E.map(s=>{const r=D(s.text,o);return e.jsxs("div",{className:"text-xs",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("p",{className:"font-medium text-foreground",children:s.label}),e.jsxs("button",{className:"text-[10px] text-muted-foreground hover:text-foreground flex items-center gap-0.5",onClick:()=>d(s.label,s.text),"aria-label":`Copy ${s.label}`,children:[e.jsx(R,{className:"h-2.5 w-2.5"})," Copy"]})]}),e.jsxs("p",{className:"text-muted-foreground italic leading-relaxed mt-0.5",children:['"',r,'"']})]},s.label)})}),!h&&e.jsx("p",{className:"text-[10px] text-muted-foreground mt-2",children:"Fill in your name + area on your profile and the script will auto-fill them here next time."})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[10px] tracking-wider uppercase font-medium text-muted-foreground mb-1.5",children:"Filming guide"}),e.jsx("ul",{className:"text-xs text-muted-foreground space-y-1 list-disc pl-4",children:se.map((s,r)=>e.jsx("li",{children:s},r))})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-[10px] tracking-wider uppercase font-medium text-muted-foreground mb-1.5 flex items-center gap-1",children:[e.jsx(W,{className:"h-3 w-3"})," Education topic ideas (for the second video)"]}),e.jsx("ul",{className:"text-xs text-muted-foreground space-y-1 list-disc pl-4",children:re.map((s,r)=>e.jsx("li",{children:s},r))})]}),e.jsxs("div",{className:"bg-destructive/5 border border-destructive/30 rounded p-2.5",children:[e.jsxs("p",{className:"text-[10px] tracking-wider uppercase font-medium text-destructive mb-1 flex items-center gap-1",children:[e.jsx(G,{className:"h-3 w-3"})," Don't say"]}),e.jsx("ul",{className:"text-xs text-foreground/80 space-y-0.5 list-disc pl-4",children:ie.map((s,r)=>e.jsx("li",{children:s},r))})]})]})}export{Ae 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.