1import{r as l,j as e,D as k,o as A,aD as R,ad as w,al as q,b4 as M,C as v,aO as S,p as T,B as x,A as C,y as I,z as r,aC as U,bg as H,ba as P,W as _,a3 as $,bh as K,b5 as V,bi as Q}from"./index-DgD-XLBZ.js";import{R as z}from"./rocket-BiygCzu4.js";import{C as Z}from"./clipboard-check-Ew3gTS3R.js";const b={requests:"/guide/guide_requests.png",makerApp:"/guide/guide_maker_app.png",messages:"/guide/guide_messages.png",buildReview:"/guide/guide_build_review.png",dashboard:"/guide/guide_dashboard.png"};function j({imageKey:a,src:n,label:s}){const[c,o]=l.useState(!1),[t,d]=l.useState(!1);return c||!n?e.jsxs("div",{className:"rounded-xl border-2 border-dashed border-gray-300 bg-gray-50 p-6 text-center","data-testid":`placeholder-${a}`,children:[e.jsx(Q,{className:"w-8 h-8 text-gray-300 mx-auto mb-2"}),e.jsx("p",{className:"text-sm font-medium text-gray-400",children:s}),e.jsx("p",{className:"text-xs text-gray-300 mt-1",children:"Screenshot coming soon"})]}):e.jsxs("div",{className:"rounded-xl border border-gray-200 overflow-hidden bg-white shadow-sm","data-testid":`screenshot-${a}`,children:[!t&&e.jsx("div",{className:"h-40 flex items-center justify-center bg-gray-50",children:e.jsx("div",{className:"animate-pulse text-gray-300 text-sm",children:"Loading..."})}),e.jsx("img",{src:n,alt:s,className:`w-full h-auto ${t?"":"hidden"}`,onLoad:()=>d(!0),onError:()=>o(!0)}),e.jsx("div",{className:"px-3 py-1.5 bg-gray-50 border-t border-gray-100",children:e.jsx("p",{className:"text-xs text-gray-500 text-center",children:s})})]})}const f="makegood-admin-onboarding-completed",i=[{id:"welcome",title:"Welcome to the MakeGood Admin Team!",icon:z,color:"emerald"},{id:"daily-priorities",title:"Your Daily Priorities",icon:Z,color:"blue"},{id:"new-requests",title:"Managing New Requests",icon:w,color:"orange"},{id:"maker-approvals",title:"Maker Approvals",icon:q,color:"purple"},{id:"messages",title:"Admin Messages",icon:M,color:"blue"},{id:"build-review",title:"Build Quality Review",icon:v,color:"green"},{id:"next-steps",title:"You're Ready!",icon:S,color:"amber"}];function se({adminId:a,onNavigateToTab:n,eventOnly:s}){const[c,o]=l.useState(!1),[t,d]=l.useState(0);l.useEffect(()=>{if(s||!a)return;if(!localStorage.getItem(`${f}-${a}`)){localStorage.setItem(`${f}-${a}`,"true");const y=setTimeout(()=>o(!0),800);return()=>clearTimeout(y)}},[a,s]),l.useEffect(()=>{if(!s)return;const h=()=>{d(0),o(!0)};return window.addEventListener("open-admin-guide",h),()=>window.removeEventListener("open-admin-guide",h)},[s]);const g=()=>{a&&localStorage.setItem(`${f}-${a}`,"true"),o(!1),d(0)},p=()=>{g()},u=l.useRef(null),W=()=>{t<i.length-1&&d(t+1)},L=()=>{t>0&&d(t-1)};l.useEffect(()=>{u.current?.scrollTo({top:0,behavior:"auto"})},[t]);const N=i[t];return e.jsx(k,{open:c,onOpenChange:h=>{h||p()},children:e.jsxs(A,{ref:u,className:"max-w-2xl max-h-[90vh] overflow-y-auto p-0 gap-0 rounded-2xl","data-testid":"dialog-admin-onboarding",children:[e.jsx("div",{className:"bg-gradient-to-r from-emerald-600 to-teal-600 p-6 rounded-t-2xl",children:e.jsxs(R,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-white/20 rounded-xl",children:e.jsx(N.icon,{className:"w-6 h-6 text-white"})}),e.jsxs("div",{children:[e.jsx(T,{className:"text-white text-xl font-bold","data-testid":"title-onboarding-step",children:N.title}),e.jsxs("p",{className:"text-white/70 text-sm mt-1",children:["Step ",t+1," of ",i.length]})]})]}),e.jsx("div",{className:"flex gap-1.5 mt-4",children:i.map((h,y)=>e.jsx("div",{className:`h-1.5 flex-1 rounded-full transition-colors ${y<=t?"bg-white":"bg-white/30"}`},y))})]})}),e.jsxs("div",{className:"p-6 space-y-4",children:[t===0&&e.jsx(E,{}),t===1&&e.jsx(D,{}),t===2&&e.jsx(G,{}),t===3&&e.jsx(F,{}),t===4&&e.jsx(B,{}),t===5&&e.jsx(Y,{}),t===6&&e.jsx(O,{onNavigateToTab:n,onClose:g})]}),e.jsxs("div",{className:"flex items-center justify-between p-6 pt-0",children:[e.jsx("div",{children:t>0&&e.jsxs(x,{variant:"outline",onClick:L,className:"rounded-xl gap-2","data-testid":"button-onboarding-prev",children:[e.jsx(C,{className:"w-4 h-4"})," Back"]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{variant:"ghost",onClick:p,className:"rounded-xl text-gray-500","data-testid":"button-onboarding-skip",children:t===i.length-1?"Close":"Skip Guide"}),t<i.length-1&&e.jsxs(x,{onClick:W,className:"rounded-xl gap-2 bg-emerald-600 hover:bg-emerald-700","data-testid":"button-onboarding-next",children:["Next ",e.jsx(I,{className:"w-4 h-4"})]})]})]})]})})}function E(){return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-gray-700 text-base leading-relaxed",children:"Thank y
1ou for joining the MakeGood admin team! You play a crucial role in connecting families who need mobility devices for their children with volunteer makers who build them."}),e.jsxs("div",{className:"bg-emerald-50 rounded-xl p-5 border border-emerald-200 space-y-3",children:[e.jsx("h4",{className:"font-bold text-emerald-800 text-base",children:"As an admin, you help with three main things:"}),e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-1.5 bg-orange-100 rounded-lg",children:e.jsx(w,{className:"w-4 h-4 text-orange-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-gray-800",children:"Review new device requests"}),e.jsx("p",{className:"text-sm text-gray-600",children:"Check that family requests have proper measurements and details, then approve them so makers can see and claim them."})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-1.5 bg-purple-100 rounded-lg",children:e.jsx(q,{className:"w-4 h-4 text-purple-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-gray-800",children:"Vet and approve makers"}),e.jsx("p",{className:"text-sm text-gray-600",children:"Review maker applications and test prints to make sure they can produce quality builds."})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-1.5 bg-blue-100 rounded-lg",children:e.jsx(M,{className:"w-4 h-4 text-blue-600"})}),e.jsxs("div",{children:[e.jsx("p",{className:"font-semibold text-gray-800",children:"Monitor and manage messages"}),e.jsx("p",{className:"text-sm text-gray-600",children:"Use Admin Messages to track conversations, mark messages as read, highlight urgent items, and leave notes for other admins."})]})]})]})]}),e.jsx("div",{className:"bg-blue-50 rounded-xl p-4 border border-blue-200",children:e.jsxs("p",{className:"text-sm text-blue-800",children:[e.jsx("strong",{children:"How this works:"})," Families don't have accounts â they access their request via a unique tracking link sent by email. Makers log in and see requests on a map. You're the bridge making sure everything runs smoothly."]})})]})}function D(){return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-gray-700 text-base leading-relaxed",children:"This is your Admin Dashboard. Let's walk through the key areas you'll use every day:"}),e.jsx(j,{imageKey:"dashboard",src:b.dashboard,label:"Admin Dashboard â your home base"}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Navigation Tabs (top bar)"}),e.jsxs("p",{className:"text-sm text-gray-600",children:["The tab bar is ",e.jsx("strong",{children:"fully customizable"})," â you can drag tabs to reorder them and use the gear icon to show or hide any tab. The core tabs you'll use most are:"]}),e.jsxs("div",{className:"text-sm text-gray-600 space-y-1.5 mt-2",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Requests"}),' â View and manage all device requests from families. Filter by status, search by ID or name, and click "View" to see full details.']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Makers"})," â Review maker applications, approve new makers, track their builds, and manage their profiles."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Admin Messages"})," â Your focused inbox showing only conversations where an admin is involved (admin-maker and admin-family). Features read tracking, highlighting, admin notes, and quick links to related requests and makers."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Gallery"})," â Manage the public gallery of completed build photos. Add or remove photos, and track family consent."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"All Messages"})," â See every conversation on the platform, including maker-to-family and maker-to-maker threads you're not part of. Useful for monitoring overall communication."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Forum"})," â The community discussion board. As an admin you can pin threads, lock or unlock discussions, merge threads, ban users, and review the moderation log."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Team Chat is retired."})," Use the existing Request Edit location flag to review location mismatches."]})]}),e.jsx("div",{className:"text-sm text-gray-600 mt-2",children:e.jsxs("p",{children:[e.jsx("strong",{children:'Under "More":'})," Maker Stats, Web Stats, Email Stats, Donations, Builds, Partners, Rewards, Training, Workflow Guide, Email Tests, Release Notes, Forum, Design Hub, and (for Super Admins) Finance, Accounts, Admin Management, API Status, SMS, System Logs, Outreach tools, and more."]})}),e.jsxs("p",{className:"text-sm text-gray-600 mt-2",children:["Your daily work mostly lives in ",e.jsx("strong",{children:"Requests"}),", ",e.jsx("strong",{children:"Makers"}),", and ",e.jsx("strong",{children:"Admin Messages"}),". Pin those tabs to the visible bar so they're always one click away."]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Status Filter Pills"}),e.jsx("p",{className:"text-sm text-gray-600",children:"On the Requests tab, the colored pills at the top let you quickly filter by status. Each pill shows a count so you can see at a glance what needs attention:"}),e.jsxs("div",{className:"grid sm:grid-cols-2 gap-2 text-sm",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-amber-100 text-amber-700 text-xs",children:"New Requests"}),e.jsx("span",{className:"text-gray-600",children:"Families waiting for review"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-blue-100 text-blue-700 text-xs",children:"Imported"}),e.jsx("span",{className:"text-gray-600",children:"Imported requests to review"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-green-100 text-green-700 text-xs",children:"Open for Maker"}),e.jsx("span",{className:"text-gray-600",children:"Approved, waiting for a maker"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-purple-100 text-purple-700 text-xs",children:"In Progress"}),e.jsx("span",{className:"text-gray-600",children:"A maker is building the device"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-orange-100 text-orange-700 text-xs",children:"Build Quality Review"}),e.jsx("span",{className:"text-gray-600",children:"Maker submitted â your review needed"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-emerald-100 text-emerald-700 text-xs",children:"Build Approved"}),e.jsx("span",{className:"text-gray-600",children:"Ready for delivery/pickup"})]})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-2",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Request Table"}),e.jsxs("p",{className:"text-sm text-gray-600",children:["The main table shows each request with its number, status, family name, assigned maker, zip code, kit info, country, photos, and when it was submitted. Click ",e.jsx("strong",{children:'"View"'})," on any row to open the full request details. You can sort by any column and use the search box to find a specific request by ID or name."]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Your Daily Checklist"}),e.jsx(m,{number:1,title:"Check for new requests",description:'Click the "New Requests" pill. These are families waiting for their request to be reviewed and approved.',urgency:"high",tab:"Requests tab â New Requests filter"}),e.jsx(m,{number:2,title:"Review pending maker applications",description:'Switch to the Makers tab and filter by "Awaiting Approval". Review their Everything Tester print in PETG and approve or send feedback.',urgency:"high",tab:"Makers tab â Awaiting Approval filter"}),e.jsx(m,{number:3,title:"Check messages",description:"Open the Admin Messages tab to see if any families or makers need a response. Look for unread threads (purple badges), urgent messages (star icon), and admin notes (amber sticky note) left by other admins.",urgency:"medium",tab:"Admin Messages tab"}),e.jsx(m,{number:4,title:"Review completed builds",description:'Click the "Build Quality Review" pill. Makers have submitted their finished build photos for your qual
1ity check before delivery.',urgency:"medium",tab:"Requests tab â Build Quality Review filter"}),e.jsx(m,{number:5,title:"Check for independent builds",description:"If the Builds tab has a red number badge, a maker has submitted an independent build for approval. You'll also get an email the moment one comes in, but the badge makes sure nothing slips past if you miss the email.",urgency:"medium",tab:"More â Builds tab (red badge = pending)"}),e.jsx(m,{number:6,title:"Check the Forum for flagged content",description:"Scan the Forum tab for any locked discussions, reports, or community questions that need admin attention. You can pin important threads, merge duplicates, lock off-topic posts, and ban rule-breaking users â all from the Forum tab.",urgency:"low",tab:"More â Forum tab"})]}),e.jsx("div",{className:"bg-amber-50 rounded-xl p-4 border border-amber-200",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(U,{className:"w-4 h-4 text-amber-600 mt-0.5 flex-shrink-0"}),e.jsxs("p",{className:"text-sm text-amber-800",children:[e.jsx("strong",{children:"Response time goal:"})," Try to review new requests within 24-48 hours. Families are often anxious and a quick response makes a big difference."]})]})})]})}function m({number:a,title:n,description:s,urgency:c,tab:o}){const t={high:"bg-red-100 text-red-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-green-100 text-green-700"},d={high:"High Priority",medium:"Daily Check",low:"When Available"};return e.jsxs("div",{className:"flex items-start gap-3 p-3 rounded-xl bg-gray-50 border border-gray-100",children:[e.jsx(r,{className:"bg-emerald-100 text-emerald-700 mt-0.5 flex-shrink-0",children:a}),e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:n}),e.jsx(r,{className:`text-xs ${t[c]}`,children:d[c]})]}),e.jsx("p",{className:"text-sm text-gray-600 mt-1",children:s}),e.jsxs("p",{className:"text-xs text-gray-400 mt-1",children:["Where to find it: ",o]})]})]})}function G(){return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-700 text-base leading-relaxed",children:['Clicking on a request row or the "View" link opens the ',e.jsx("strong",{children:"Edit Device Request"})," screen. This is where you review and manage each request:"]}),e.jsx(j,{imageKey:"requests",src:b.requests,label:"Edit Device Request â review all family details"}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"What you see on this screen:"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Current Status"}),' â The yellow dropdown at the top shows the request status (e.g. "Pending Review"). You can change the status here.']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Section tabs"})," â Below the status you'll see tabs for ",e.jsx("strong",{children:"Details"}),", ",e.jsx("strong",{children:"Location"}),", ",e.jsx("strong",{children:"Delivery"}),", ",e.jsx("strong",{children:"Build"}),", ",e.jsx("strong",{children:"Photos"}),", ",e.jsx("strong",{children:"Messages"}),", ",e.jsx("strong",{children:"Reviews"}),", ",e.jsx("strong",{children:"Activity"}),", and ",e.jsx("strong",{children:"Outreach"}),". The Messages tab shows a count badge if there are messages."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Family details"})," â Parent/guardian name, email, phone, child name, child age, device type, preferred color, and any notes or special requests from the family."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Measurements A, B, C"})," â These are optional. If a maker needs them later, they can message the family through the platform."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Kit Assignment"})," â If a donated kit is available, you can assign it to this request from the dropdown."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Requester Tracking Link"})," â Opens the family's tracking page where they can follow the progress of their request."]})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Action buttons at the bottom:"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-green-100 text-green-700 text-xs",children:"Approve Request"}),e.jsx("span",{children:"Makes the request visible to makers on the map so they can claim it"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-orange-100 text-orange-700 text-xs",children:"Review Rejected"}),e.jsx("span",{children:"If the request needs changes or doesn't qualify"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-red-100 text-red-700 text-xs",children:"Delete"}),e.jsx("span",{children:"Remove the request entirely (use carefully)"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-indigo-100 text-indigo-700 text-xs",children:"Save Changes"}),e.jsx("span",{children:"Save any edits you've made to the details without changing the status"})]})]})]}),e.jsx("div",{className:"bg-blue-50 rounded-xl p-4 border border-blue-200",children:e.jsxs("p",{className:"text-sm text-blue-800",children:[e.jsx("strong",{children:"What happens when you approve:"})," The request appears on the community map. Makers nearby get an email notification. When a maker claims the build, the family is notified automatically."]})})]})}function F(){return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-700 text-base leading-relaxed",children:["Go to the ",e.jsx("strong",{children:"Makers tab"})," and filter by ",e.jsx("strong",{children:'"Awaiting Approval"'}),". Clicking on a maker opens their application card:"]}),e.jsx(j,{imageKey:"makerApp",src:b.makerApp,label:"Maker application card â review before approving"}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"What you see on this card:"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Maker info"})," â Name, shop/business name, email, and their unique Maker ID at the top. The ",e.jsx("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-xs font-medium bg-amber-100 text-amber-700",children:"Pending"})," badge shows they're waiting for your review."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Submitted date & wait time"}),` â Shows when they applied and how long they've been waiting (e.g. "Pending for: 21d 14h").`]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Details row"})," â Location, country, skill level, materials they use, and their estimated build time (ETA)."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Tags"}),' â Shows if they accept kits and what printer they use (e.g. "Accepts Kits", "Bambu Lab").']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Test Print Photos"}),` â The yellow section is the most important part. If they've uploaded photos of their Everything Tester print in PETG, review the quality here. If it says "No photos", they haven't uploaded yet.`]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Review Notes"})," â Add any internal notes about this application for other admins to see."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Messages"}),' â You can message the maker directly from here using the "New Message" button.']})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Action buttons at the bottom:"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-green-100 text-green-700 text-xs",children:"Approve Maker"}),e.jsx("span",{children:"If their Everything Tester in PETG looks good, approve them. They'll appear on the map and get a wel
1come email."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-red-100 text-red-700 text-xs",children:"Reject"}),e.jsx("span",{children:"Include feedback so they know what to improve. They can reapply."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-blue-100 text-blue-700 text-xs",children:"Send Reminder"}),e.jsx("span",{children:"If no test prints uploaded yet, this emails them links to the test print models and their dashboard."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-gray-100 text-gray-600 text-xs",children:"Delete Maker"}),e.jsx("span",{children:"Remove the application entirely (use carefully)."})]})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsxs("h4",{className:"font-semibold text-gray-800 flex items-center gap-2",children:[e.jsx(v,{className:"w-4 h-4 text-purple-600"})," Reading the photo status badges"]}),e.jsx("p",{className:"text-sm text-gray-600",children:"Each pending maker row shows a badge in the test prints column that tells you exactly where they stand:"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-blue-100 text-blue-700 text-xs font-semibold whitespace-nowrap",children:"New â no photos yet"}),e.jsx("span",{className:"text-gray-600",children:"Applied in the last 3 days. Give them a little time before following up."})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(r,{className:"bg-amber-100 text-amber-800 text-xs font-semibold whitespace-nowrap",children:"Waiting on photos"}),e.jsx("span",{className:"text-gray-600",children:`Applied 3+ days ago and still hasn't uploaded test prints. This one may need a nudge â use the "Send Reminder" button.`})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(r,{className:"bg-green-100 text-green-800 text-xs whitespace-nowrap",children:[e.jsx(v,{className:"w-3 h-3 mr-1 inline"})," 2 photos"]}),e.jsx("span",{className:"text-gray-600",children:"Photos are ready â open the application and review them."})]})]})]}),e.jsx("div",{className:"bg-emerald-50 rounded-xl p-4 border border-emerald-200",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(H,{className:"w-4 h-4 text-emerald-600 mt-0.5 flex-shrink-0"}),e.jsxs("p",{className:"text-sm text-emerald-800",children:[e.jsx("strong",{children:"You'll get an email automatically"})," the first time a pending maker uploads their test print photos. You don't have to keep checking back â just wait for the notification, then click the link to go straight to their application."]})]})}),e.jsx("div",{className:"bg-blue-50 rounded-xl p-4 border border-blue-200",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(P,{className:"w-4 h-4 text-blue-600 mt-0.5 flex-shrink-0"}),e.jsxs("p",{className:"text-sm text-blue-800",children:[e.jsx("strong",{children:"Quick approval tip:"})," If the Everything Tester print in PETG looks clean with good layer lines, smooth overhangs, and no warping â go ahead and approve. You can also upload test print photos on behalf of the maker if they send them to you directly."]})]})})]})}function B(){return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-700 text-base leading-relaxed",children:["The ",e.jsx("strong",{children:"Admin Messages"})," tab is your focused inbox â it only shows conversations where an admin is involved (admin-to-maker and admin-to-family). This is where you'll spend most of your messaging time."]}),e.jsx(j,{imageKey:"messages",src:b.messages,label:"Admin Messages â your focused inbox for admin conversations"}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Layout â Split Pane"}),e.jsx("div",{className:"space-y-2 text-sm text-gray-600",children:e.jsxs("p",{children:["The screen is divided into two panels: a ",e.jsx("strong",{children:"conversation list"})," on the left and a ",e.jsx("strong",{children:"chat view"})," on the right. Click any conversation on the left to open it on the right."]})})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Left Panel â Conversation List"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Sort control"}),' â The dropdown next to "Admin Inbox" lets you sort by ',e.jsx("strong",{children:"Newest"}),", ",e.jsx("strong",{children:"Oldest"}),", or ",e.jsx("strong",{children:"Waiting Longest"})," (conversations waiting longest for an admin reply)."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Search"})," â Type in the search box to filter conversations by name, request number, or content."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Filter pills"})," â Quick filters across the top: ",e.jsx("strong",{children:"All"}),", ",e.jsx("strong",{children:"Unread"}),", ",e.jsx("strong",{children:"Awaiting"}),", ",e.jsx("strong",{children:"Urgent"}),", ",e.jsx("strong",{children:"Read"}),", and ",e.jsx("strong",{children:"Flagged"}),". Each shows a count."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Conversation entries"})," â Each row shows the contact name (maker handle or child name + request number), a preview of the last message, how long ago it was sent, and status icons on the right:"]}),e.jsxs("ul",{className:"list-disc list-inside ml-2 space-y-1",children:[e.jsxs("li",{children:[e.jsx("span",{className:"text-red-500 font-medium",children:"Red flag icon + red left border"})," â the conversation contains an AI-flagged message. Needs your attention."]}),e.jsxs("li",{children:[e.jsx("span",{className:"text-amber-500 font-medium",children:"Sticky note icon"})," â an admin has left a note on this thread. The row also gets an amber left border and tinted background."]}),e.jsxs("li",{children:[e.jsx("span",{className:"text-yellow-500 font-medium",children:"Star icon"})," â the conversation has a highlighted/urgent message."]}),e.jsxs("li",{children:[e.jsx("span",{className:"text-orange-500 font-medium",children:"Phone icon"})," â a highlighted message requires a phone call."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Purple count badge"})," â number of unread (unacknowledged) messages."]}),e.jsxs("li",{children:[e.jsx("span",{className:"text-green-500 font-medium",children:"Double checkmark"})," â all messages in the thread have been read."]})]})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Right Panel â Chat Header"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsx("p",{children:`At the top of the chat view you'll see the contact name and conversation type (e.g. "Direct" for maker messages). To the right are action buttons:`}),e.jsxs("p",{children:[e.jsx("strong",{children:"View Note / Add Note"}),' â Opens or creates a post-it note for this conversation. When a note exists, the button turns amber and says "View Note".']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Request #"})," â Opens the admin request detail dialog (only shown for request-based conversations)."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Build Story"})," â Opens the public build story page in a new tab (for request-based conversations)."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Maker"})," â Opens the maker detail dialog (shown when a maker is part of the conversation)."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Mark All Read / Mark Unread"}),' â Acknowledges (or un-acknowledges) all messages in the thread at once. The green button changes to a gray "Mark Unread" button once everything is read.']})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Right Panel â Message Bubbles"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("p",{children:['Messages appear in a chat-style layout with date separators (e.g. "Monday, March 2, 2026"). Incoming messages appear on the left, admin replies on the right in ',e.jsx("span",{className:"text-indigo-600 font-medium",children:"indigo bubbles"}),"."]}),e.jsxs("p",{children:["Each message shows the ",e.jsx("strong",{children:"sender name"})," (color-coded: ",e.jsx("span",{className:"text-emerald-600 font-medium",children:"green"})," for family, ",e.jsx("span",{className:"text-purple-600 font-medium",children:"purple"})," for maker), the ",e.jsx("strong",{children:"timestamp"}),", and an ",e.jsx("strong",{children:"SMS badge"})," if the message came via text."]}),e.jsxs("p",{children:["Messages can include ",e.jsx("strong",{children:"photo attachments"})," displayed inline below the text (e.g. QR codes, build photos)."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"URGENT badge"}),' â When a message is highlighted, a yellow bar appears at the bottom of the bubble showing "URGENT" with who flagged it. If it requires a call, a phone icon appears. If the admin added a highlight note, it shows next to the star.']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Admin notes"})," â Notes appear as ",e.jsx("span",{className:"text-amber-600 font-medium",children:"amber post-it cards"})," below the message bubble, showing a sticky note icon, the note text, the admin who wrote it, and the date. Click the pencil icon to edit, or hover over the message and click the sticky note icon to add/edit/remove notes."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Read indicator"}),' â Below each incoming message, a small green eye icon and admin name shows who acknowledged it (e.g. "Scott").']})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Hover Actions (on each message)"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsx("p",{children:"Hover over any message to reveal action buttons:"}),e.jsxs("p",{children:[e.jsx("strong",{children:"Read / Unread"})," â Mark individual messages as read (acknowledged) or unread. Shows who read it with a green checkmark."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Translate"})," â Instantly translate the message to English if it's in another language."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Highlight"}),' â Flag the message as urgent for Super Admin attention. Opens a form where you can add a note explaining why and check "Requires call" if a phone call is needed.']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Admin Note"})," â Leave a post-it note on this specific message for other admins. Notes persist and are visible to all admins."]})]})]}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"Reply Area (bottom)"}),e.jsx("div",{className:"space-y-2 text-sm text-gray-600",children:e.jsxs("p",{children:["At the bottom of the chat view, type your reply and click ",e.jsx("strong",{children:"Send"}),". For maker direct messages, you can also add a ",e.jsx("strong",{children:"subject line"}),". You can attach ",e.jsx("strong",{children:"photos"})," to your reply using the camera button. A character counter helps you stay within message limits."]})})]}),e.jsxs("div",{className:"bg-indigo-50 rounded-xl p-4 border border-indigo-200",children:[e.jsx("h4",{className:"font-semibold text-indigo-800 mb
1-1",children:"Admin Messages vs All Messages:"}),e.jsxs("p",{className:"text-sm text-indigo-700",children:[e.jsx("strong",{children:"Admin Messages"})," shows only conversations involving an admin (your focused inbox). ",e.jsx("strong",{children:"All Messages"})," (the other tab) shows every conversation on the platform, including maker-to-family threads. Use Admin Messages for your daily work, and All Messages when you need to monitor broader communication."]})]}),e.jsxs("div",{className:"bg-red-50 rounded-xl p-4 border border-red-200 space-y-3",children:[e.jsxs("h4",{className:"font-semibold text-red-800 flex items-center gap-2",children:[e.jsx(_,{className:"w-4 h-4"})," AI-Flagged Messages"]}),e.jsx("p",{className:"text-sm text-red-700",children:"The platform automatically scans every incoming message with AI. If something looks concerning â like a user trying to share personal contact info outside the platform, inappropriate language, or other policy issues â the message gets flagged for your review."}),e.jsxs("div",{className:"space-y-2 text-sm text-red-700",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"How to spot them:"})," Flagged conversations have a red left border and a small flag icon in the conversation list. Use the ",e.jsx("strong",{children:"Flagged"})," filter pill to see only those conversations."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"In the message thread:"}),` The flagged message shows a red banner directly below it with the AI's reason (e.g. "Possible contact info sharing outside the platform").`]}),e.jsxs("p",{children:[e.jsx("strong",{children:"If it's a real concern:"})," Read the message and the context, then decide how to respond. You may want to message the user to remind them to keep communication on the platform."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"If it's a false alarm:"})," Click the ",e.jsx("strong",{children:'"Clear"'})," button on the red banner to dismiss the flag. The conversation will lose its red indicator immediately, and your name is logged so there's an audit trail."]})]})]}),e.jsxs("div",{className:"bg-amber-50 rounded-xl p-4 border border-amber-200",children:[e.jsx("h4",{className:"font-semibold text-amber-800 mb-1",children:"When to step in:"}),e.jsxs("ul",{className:"text-sm text-amber-700 space-y-1 list-disc list-inside",children:[e.jsx("li",{children:"A family hasn't responded to their maker's questions"}),e.jsx("li",{children:"A maker is unresponsive on an active build"}),e.jsx("li",{children:"There's a dispute or misunderstanding between parties"}),e.jsx("li",{children:"A family needs help with measurements or drop-off details"}),e.jsx("li",{children:"You see an urgent (highlighted) or flagged message needing attention"}),e.jsx("li",{children:"Another admin left a post-it note asking for help"})]}),e.jsxs("p",{className:"text-sm text-amber-700 mt-3",children:["You can reach out via ",e.jsx("strong",{children:"platform message"}),", ",e.jsx("strong",{children:"email"}),", or ",e.jsx("strong",{children:"phone call"})," â whichever is most appropriate for the situation. For urgent or time-sensitive matters, a direct phone call is often the fastest way to resolve things."]})]}),e.jsxs("div",{className:"bg-blue-50 rounded-xl p-4 border border-blue-200",children:[e.jsx("h4",{className:"font-semibold text-blue-800 mb-1",children:"Phone call script:"}),e.jsx("p",{className:"text-sm text-blue-700 italic",children:`"Hi, this is [your name] â I'm a volunteer admin with MakeGood 3D Mobility. I'm reaching out about [your child's device request / your build / etc.]. Do you have a moment to chat?"`}),e.jsx("p",{className:"text-sm text-blue-600 mt-2",children:"Keep it friendly and brief. Introduce yourself as a volunteer, reference the specific request or build, and let them know why you're calling."})]}),e.jsx("div",{className:"bg-green-50 rounded-xl p-4 border border-green-200",children:e.jsxs("p",{className:"text-sm text-green-800",children:[e.jsx("strong",{children:"Privacy note:"})," Platform messages keep contact info private between families and makers. When you reach out by email or phone as an admin, that's fine â but don't share a family's or maker's personal contact info
1with each other."]})})]})}function Y(){return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-700 text-base leading-relaxed",children:["Once a build is approved, you should always check the ",e.jsx("strong",{children:"Photos tab"})," on the request. This is where all the maker's build photos live, and where you manage what appears in the public gallery."]}),e.jsx(j,{imageKey:"buildReview",src:b.buildReview,label:"Photos tab â review build photos and add to gallery"}),e.jsxs("div",{className:"bg-white rounded-xl p-4 border border-gray-200 space-y-3",children:[e.jsx("h4",{className:"font-semibold text-gray-800",children:"What you see on the Photos tab:"}),e.jsxs("div",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("p",{children:[e.jsx("strong",{children:"Photo count"}),' â The header shows "Photos (3)" or however many photos are uploaded for this request.']}),e.jsxs("p",{children:[e.jsx("strong",{children:"Each photo card"}),' â Shows the image thumbnail, who uploaded it (e.g. "Maker: Unknown Maker"), the upload date, and three radio options:']}),e.jsxs("div",{className:"ml-4 space-y-1",children:[e.jsxs("p",{children:["⢠",e.jsx("strong",{children:"Gallery"})," â Marks this photo for display in the public gallery on the website"]}),e.jsxs("p",{children:["⢠",e.jsx("strong",{children:"Featured"})," â Makes it the featured/hero photo for this build story"]}),e.jsxs("p",{children:["⢠",e.jsx("strong",{children:"Story Page"})," â Includes it on the family's build story page"]})]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Delete button"})," â The red trash icon on the right removes a photo."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Export ZIP"})," â Downloads all photos for this request as a zip file."]}),e.jsxs("p",{children:[e.jsx("strong",{children:"Upload Photos/Videos"})," â You can upload additional photos on behalf of the maker or family."]})]})]}),e.jsx("div",{className:"bg-green-50 rounded-xl p-4 border border-green-200",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx($,{className:"w-5 h-5 text-green-600 mt-0.5 flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-green-800 mb-1",children:"Gallery consent"}),e.jsxs("p",{className:"text-sm text-green-700",children:["Look for the green banner at the bottom: ",e.jsx("strong",{children:'"Family has consented to gallery display"'}),`. If this is present, you should mark the best photos as "Gallery" so they appear on the public site. If the family hasn't consented, don't add photos to the gallery.`]})]})]})}),e.jsx("div",{className:"bg-blue-50 rounded-xl p-4 border border-blue-200",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx(P,{className:"w-4 h-4 text-blue-600 mt-0.5 flex-shrink-0"}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-blue-800 mb-1",children:"After approving a build:"}),e.jsxs("ol",{className:"text-sm text-blue-700 space-y-1 list-decimal list-inside",children:[e.jsxs("li",{children:["Go to the ",e.jsx("strong",{children:"Photos tab"})," on the request"]}),e.jsx("li",{children:"Review all uploaded photos for quality"}),e.jsxs("li",{children:["If the family has consented, check ",e.jsx("strong",{children:'"Gallery"'})," on the best photos"]}),e.jsxs("li",{children:["Pick one standout photo and mark it as ",e.jsx("strong",{children:'"Featured"'})]}),e.jsxs("li",{children:["Click ",e.jsx("strong",{children:'"Save Changes"'})," at the bottom"]})]})]})]})}),e.jsx("div",{className:"bg-amber-50 rounded-xl p-4 border border-amber-200",children:e.jsxs("p",{className:"text-sm text-amber-800",children:[e.jsx("strong",{children:"Important:"})," Build photos should always be added to the gallery when the family has given consent. This is how we showcase completed builds and inspire new families to request devices."]})})]})}function O({onNavigateToTab:a,onClose:n}){return e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-gray-700 text-base leading-relaxed",children:"You're all set to start helping families and makers! Here are some resources to keep handy:"}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("button",{onClick:()=>{n(),a("training")},className:"w-full flex items-start gap-3 p-4 rounded-xl bg-emerald-50 border border-emerald-200 hover:bg-emerald-100 transition-colors text-left","data-testid":"button-goto-training",children:[e.jsx("div",{className:"p-2 bg-emerald-200 rounded-lg",children:e.jsx(K,{className:"w-5 h-5 text-emerald-700"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-emerald-800",children:"Training Guide"}),e.jsx("p",{className:"text-sm text-emerald-700",children:"In-depth reference covering kit funding, partners, gallery management, rewards, and more. Great for when you encounter something new."})]})]}),e.jsxs("button",{onClick:()=>{n(),a("workflow-guide")},className:"w-full flex items-start gap-3 p-4 rounded-xl bg-blue-50 border border-blue-200 hover:bg-blue-100 transition-colors text-left","data-testid":"button-goto-workflow",children:[e.jsx("div",{className:"p-2 bg-blue-200 rounded-lg",children:e.jsx(V,{className:"w-5 h-5 text-blue-700"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-blue-800",children:"Workflow Guide"}),e.jsx("p",{className:"text-sm text-blue-700",children:"Detailed status flows, email reference tables, and technical documentation. You can export it as a Word document for offline reference."})]})]}),e.jsxs("button",{onClick:()=>{n(),a("release-notes")},className:"w-full flex items-start gap-3 p-4 rounded-xl bg-purple-50 border border-purple-200 hover:bg-purple-100 transition-colors text-left","data-testid":"button-goto-release-notes",children:[e.jsx("div",{className:"p-2 bg-purple-200 rounded-lg",children:e.jsx(w,{className:"w-5 h-5 text-purple-700"})}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-purple-800",children:"Release Notes"}),e.jsx("p",{className:"text-sm text-purple-700",children:"Stay up to date with new features and changes to the platform."})]})]})]}),e.jsxs("div",{className:"bg-amber-50 rounded-xl p-4 border border-amber-200 text-center",children:[e.jsx(S,{className:"w-6 h-6 text-amber-500 mx-auto mb-2"}),e.jsx("p",{className:"text-sm text-amber-800 font-medium",children:"You can always revisit this guide from the Training tab. Thank y
1ou for helping families in need!"})]})]})}function te({onClose:a,onNavigateToTab:n}){const[s,c]=l.useState(0),o=l.useRef(null),t=()=>{s<i.length-1&&c(s+1)},d=()=>{s>0&&c(s-1)};l.useEffect(()=>{o.current?.scrollTo({top:0,behavior:"auto"})},[s]);const g=i[s];return e.jsx(k,{open:!0,onOpenChange:p=>{p||a()},children:e.jsxs(A,{ref:o,className:"max-w-2xl max-h-[90vh] overflow-y-auto p-0 gap-0 rounded-2xl","data-testid":"dialog-admin-onboarding-replay",children:[e.jsx("div",{className:"bg-gradient-to-r from-emerald-600 to-teal-600 p-6 rounded-t-2xl",children:e.jsxs(R,{children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 bg-white/20 rounded-xl",children:e.jsx(g.icon,{className:"w-6 h-6 text-white"})}),e.jsxs("div",{children:[e.jsx(T,{className:"text-white text-xl font-bold",children:g.title}),e.jsxs("p",{className:"text-white/70 text-sm mt-1",children:["Step ",s+1," of ",i.length]})]})]}),e.jsx("div",{className:"flex gap-1.5 mt-4",children:i.map((p,u)=>e.jsx("div",{className:`h-1.5 flex-1 rounded-full transition-colors ${u<=s?"bg-white":"bg-white/30"}`},u))})]})}),e.jsxs("div",{className:"p-6 space-y-4",children:[s===0&&e.jsx(E,{}),s===1&&e.jsx(D,{}),s===2&&e.jsx(G,{}),s===3&&e.jsx(F,{}),s===4&&e.jsx(B,{}),s===5&&e.jsx(Y,{}),s===6&&e.jsx(O,{onNavigateToTab:n||(()=>{}),onClose:a})]}),e.jsxs("div",{className:"flex items-center justify-between p-6 pt-0",children:[e.jsx("div",{children:s>0&&e.jsxs(x,{variant:"outline",onClick:d,className:"rounded-xl gap-2",children:[e.jsx(C,{className:"w-4 h-4"})," Back"]})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(x,{variant:"ghost",onClick:a,className:"rounded-xl text-gray-500",children:s===i.length-1?"Close":"Close Guide"}),s<i.length-1&&e.jsxs(x,{onClick:t,className:"rounded-xl gap-2 bg-emerald-600 hover:bg-emerald-700",children:["Next ",e.jsx(I,{className:"w-4 h-4"})]})]})]})]})})}export{te as AdminOnboardingGuideReplay,se 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.