PageSourceSearch

https://rideshareguides.com/assets/RouteWorthySubmit-x2w9ixOG.js

js rideshareguides.com collected 2026-10-08 20:47:25 UTC 47,401 bytes, 1 lines download raw bytes

1import{r as a,U as Ye,D as H,dw as Qe,aZ as He,j as e,a as T,l as D,aK as Ke,h as I,m as Fe,S as K,al as X,aL as J,s as Xe,c as Re,R as Je,a3 as Ce,ae as Ze,v as et,aS as tt,F as st,ax as it,b1 as rt,dx as nt}from"./index-Bn97Kz8X.js";import{S as at}from"./SEO-BjAPr8No.js";import{C as Te}from"./camera-CUTKyd6x.js";import{B as Z}from"./badge-check-Ch_7psaO.js";import{V as Ie}from"./video-DO3WmUo6.js";import{C as lt}from"./clock-3-CzVCToOo.js";import{S as ot}from"./store-BWWfihH9.js";import{F as ct}from"./film-29rVbhZY.js";import{C as Be}from"./cloud-upload-D0I5FbXj.js";import{M as dt}from"./message-square-quote-BXPXu7ux.js";const xt={"West Palm Beach":"WPB","Palm Beach":"PB","Fort Lauderdale":"FTL",Miami:"MIA"},Le={WPB:"West Palm Beach",PB:"Palm Beach",FTL:"Fort Lauderdale",MIA:"Miami"},te={"west palm beach":"West Palm Beach",wpb:"West Palm Beach","west-palm-beach":"West Palm Beach","palm beach":"Palm Beach",pb:"Palm Beach","palm-beach":"Palm Beach","fort lauderdale":"Fort Lauderdale",ftl:"Fort Lauderdale","fort-lauderdale":"Fort Lauderdale",miami:"Miami",mia:"Miami"};function G(o){if(!o)return null;const l=o.trim().toLowerCase();return l&&te[l]||null}function mt(o){if(!o)return null;const l=o.trim();return l.length<3||l.length>128||!/^[A-Za-z0-9_-]+$/.test(l)?null:l}function ut(o){if(!o)return null;const l=o.trim();return l.length<2||l.length>120||/[\x00-\x1F\x7F<>]/.test(l)||!/^[\p{L}\p{N}\s'’&.,()!+\-"]+$/u.test(l)?null:l}function pt(){if(typeof window>"u")return{rawRestaurant:null,rawCity:null,rawBizId:null,name:null,city:null,bizId:null,allValid:!1};const o=new URLSearchParams(window.location.search),l=o.get("restaurant"),c=o.get("city"),m=o.get("rsgBizId")||o.get("business_id")||o.get("rsg_biz_id")||o.get("businessId"),r=ut(l),v=G(c),u=mt(m);return{rawRestaurant:l,rawCity:c,rawBizId:m,name:r,city:v,bizId:u,allValid:!!(r&&v&&u)}}const ee={exterior:{step:1,label:"Step 1 • Exterior",title:"Take a shot of the EXTERIOR of the establishment — the storefront/sign so viewers know the place.",desc:"The storefront and sign so viewers know the place.",Icon:st,hint:"5–15 sec • sign + entrance"},interiorFood:{step:2,label:"Step 2 • Inside + Food",title:"Go INSIDE — film the interior and your FOOD — the space, your order, the plating.",desc:"The space, your order, the plating. Keep it steady.",Icon:Te,hint:"10–30 sec • space + order + plating"},critique:{step:3,label:"Step 3 • Critique to camera",title:"Give your CRITIQUE of the visit and experience — talk to camera: taste, portion, value, vibe, service.",desc:"Talk to camera: taste, portion, value, vibe, service.",Icon:dt,hint:"15–45 sec • taste, portion/value, atmosphere, service"}};function ht(o){const l=[o];for(let c=0;c<l.length&&c<6;c+=1){const m=l[c];if(Array.isArray(m))return m;if(!m||typeof m!="object")continue;const r=m;if(r.success===!1)throw new Error("Directory response reported an error");if(Array.isArray(r.listings))return r.listings;for(const v of["data","result","response"]){const u=r[v];u&&typeof u=="object"&&l.push(u)}}return[]}function ft(o){if(!o||typeof o!="object")return null;const l=o,c=String(l.rsg_biz_id||l.rsgBizId||"").trim(),m=String(l.business_name||l.businessName||"").trim();return!c||!m?null:{rsg_biz_id:c.slice(0,128),business_name:m.slice(0,200),city:String(l.city||"").trim().slice(0,100),category:String(l.category||"").trim().slice(0,100)}}function bt(){var m,r,v,u;try{const B=typeof window<"u"?encodeURIComponent(window.location.href):"",S=(u=(v=(r=(m=it)==null?void 0:m.auth)==null?void 0:r.client)==null?void 0:v.options)==null?void 0:u.loginUrl;if(S)return(S+"&from_url="+B).replace("/api","")}catch{}const o=typeof window<"u"?encodeURIComponent(window.location.href):"";return`${"https://www.buildy.ai/api".replace(/\/api\/?$/,"").replace(/\/$/,"")}/auth/app-login?app_id=9xrrufffexrbbkhc2dshz&from_url=${o}`}function Ft(){var ge,we,ve,je,ye,Ne,ze,_e,ke;const[o,l]=a.useState(!1),[c,m]=a.useState(null),[r,v]=a.useState(null),[u,B]=a.useState([]),[S,se]=a.useState(""),[d,L]=a.useState(null),[j,ie]=a.useState([!1,!1,!1]),[p,F]=a.use
1State({exterior:{file:null,url:null,uploading:!1},interiorFood:{file:null,url:null,uploading:!1},critique:{file:null,url:null,uploading:!1}}),[g,re]=a.useState({taste:0,portion:0,atmosphere:0,service:0}),[R,ne]=a.useState(""),[N,ae]=a.useState(!1),[W,le]=a.useState(!1),[De,A]=a.useState(!1),[U,z]=a.useState(null),[x,q]=a.useState(null),[oe,O]=a.useState(null),[y,ce]=a.useState(null),[de,V]=a.useState(null),[h,E]=a.useState(null),[xe,M]=a.useState(!1),[me,Y]=a.useState(null),qe=a.useRef(null),Ee=a.useRef(null),Me=a.useRef(null),$={exterior:qe,interiorFood:Ee,critique:Me};a.useEffect(()=>{(async()=>{try{const t=await Ye.me();m(t);const s=t;let i=null;try{if(s!=null&&s.id){const n=await H.filter({user_id:s.id});n&&n.length>0&&(i=n[0])}}catch{}if(!i)try{const n=String((s==null?void 0:s.email)||"").trim();if(n){const b=n.toLowerCase();let f=await H.filter({email:n});(!f||f.length===0)&&b!==n&&(f=await H.filter({email:b})),f&&f.length>0&&(i=f.find(P=>String(P.email||"").toLowerCase()===b)||f[0])}}catch{}v(i||null);try{const n=await Qe({limit:200}),b=ht(n).map(ft).filter(f=>!!f);B(b)}catch{B([])}}catch{m(null),v(null)}finally{l(!0)}})()},[]);const w=a.useMemo(()=>{if(!r)return null;if(r!=null&&r.city&&te[r.city.trim().toLowerCase()])return te[r.city.trim().toLowerCase()];if(r!=null&&r.city){const t=G(r.city);if(t)return t}if(r!=null&&r.market_code){const t=Le[r.market_code.toUpperCase()];if(t)return t}return null},[r]),C=a.useRef(null),_=a.useRef(!1);a.useEffect(()=>{C.current=pt()},[]),a.useEffect(()=>{if(_.current||!o)return;const t=C.current;if(!t||!!!(t.rawRestaurant||t.rawCity||t.rawBizId)||!t.bizId&&!t.allValid)return;let i=null;if(t.bizId&&u.length>0){const n=t.bizId.toLowerCase();i=u.find(b=>b.rsg_biz_id.toLowerCase()===n)||null}if(i){const n=i.business_name||t.name||"",b=i.city||t.city||w||"",f=G(b)||t.city||w;if(n&&f){L({name:n,rsgBizId:i.rsg_biz_id,city:f}),_.current=!0;return}}if(t.allValid&&t.name&&t.city&&t.bizId){L({name:t.name,rsgBizId:t.bizId,city:t.city}),_.current=!0;return}t.bizId&&u.length===0||t.allValid||(_.current=!0)},[o,u,w]),a.useEffect(()=>{if(!o||!c||_.current&&d||d||C.current&&(C.current.rawRestaurant||C.current.rawCity||C.current.rawBizId)&&!_.current)return;if(!w){E(null),M(!1),Y(null);return}const t=xt[w]||null;if(!t){E(null),M(!1);return}let s=!1;return(async()=>{M(!0),Y(null);try{const i=await He({market_code:t});if(s)return;if(!i)throw new Error("Empty response from live feed");if(i.success===!1)throw new Error(i.error||"Failed to load target");const n=i.target;if(E(n||null),n&&!d){const b=G(n.city)||Le[n.market_code]||w;L({name:n.business_name,rsgBizId:n.business_id,city:b,perk:n.discount_display||n.title||"RSG Rewards today"})}}catch(i){s||(E(null),Y((i==null?void 0:i.message)||"Could not load today's target"))}finally{s||M(!1)}})(),()=>{s=!0}},[o,c,w]);const $e=t=>{L(t),_.current=!0,se("")},ue=a.useMemo(()=>{const t=S.trim().toLowerCase(),s=u;return t?s.filter(i=>(i.business_name||"").toLowerCase().includes(t)||(i.city||"").toLowerCase().includes(t)).slice(0,12):s.slice(0,12)},[u,S]),pe=r?`${r.first_name||""} ${r.last_name||""}`.trim():(c==null?void 0:c.full_name)||(c==null?void 0:c.email)||"",Pe=(r==null?void 0:r.driver_id)||"",Ge=r!=null&&r.driver_id?r.driver_id:c?"Pending — complete your Driver profile in RSG":"Sign in to see your ID",he=r!=null&&r.badges&&Array.isArray(r.badges)&&r.badges.length>0?r.badges[0]:null,fe=w||"No city on file — complete your Driver profile",We=(d==null?void 0:d.city)||w||"",be=g.taste>0&&g.portion>0&&g.atmosphere>0&&g.service>0,Ae=p.exterior.url&&p.interiorFood.url&&p.critique.url,Q=N&&be&&Ae&&d&&R.trim().length>3&&!Object.values(p).some(t=>t.uploading),Ue=async(t,s)=>{if(!s.type.startsWith("video/")){F(i=>({...i,[t]:{...i[t],error:"Please upload a video file (mp4, mov, webm)."}}));return}if(s.size>150*1024*1024){F(i=>({...i,[t]:{...i[t],error:"Keep each clip under 150MB — 10 to 45 seconds is perfect."}}));return}F(i=>({...i,[t]:{file:s,url:i[t].url,uploading:!0,error:void 0}}));try{const{file_url:i}=await rt({file:s});if(!i||!i.startsWith("https://"))throw new Error("Upload returned invali
1d URL");F(n=>({...n,[t]:{file:s,url:i,uploading:!1}}))}catch(i){F(n=>({...n,[t]:{...n[t],uploading:!1,error:i!=null&&i.message?`Upload failed: ${i.message}`:"Upload failed. Check connection and try again — file must be uploaded before submit."}}))}},Oe=t=>{F(i=>({...i,[t]:{file:null,url:null,uploading:!1,error:void 0}}));const s=$[t];s.current&&(s.current.value="")},Ve=async()=>{if(!Q)return;le(!0),z(null),q(null);const t={city:We,restaurant_name:d==null?void 0:d.name,rsg_biz_id:d==null?void 0:d.rsgBizId,exterior_video_url:p.exterior.url,interior_food_video_url:p.interiorFood.url,critique_video_url:p.critique.url,video_url:p.critique.url,video_urls:[p.exterior.url,p.interiorFood.url,p.critique.url],scores:{taste:g.taste,portion:g.portion,atmosphere:g.atmosphere,service:g.service},taste_score:g.taste,portion_score:g.portion,atmosphere_score:g.atmosphere,service_score:g.service,verdict_line:R,verdict:R,commitment_checked:N,disclosure_accepted:N,media_release_accepted:N,filming_checklist:{exterior:j[0],interior_food:j[1],critique:j[2]},source:"route_worthy_submit",member_name:pe,profile_id:Pe||void 0};try{const s=await nt(t);if(!s)throw new Error("No response from intake. Please try again.");if(s.success===!1){const i=s.error||"Submission failed. Please correct and try again.";z(i),s.details&&typeof s.details=="object"&&q(s.details),s.duplicate_review_id&&z(`Duplicate detected — you already submitted this review (${s.duplicate_review_id}).`);return}if(s.error&&!s.success)throw new Error(s.error);if(s.success&&s.review_id)O(s.review_id),V(s.status||s.review_status||"pending_moderation"),ce(s.pipeline||null),A(!0),window.scrollTo({top:0,behavior:"smooth"});else if(s.review_id)O(s.review_id),V(s.status||"pending_moderation"),A(!0);else throw new Error("Unexpected response from server. Please check My Reviews.")}catch(s){const i=(s==null?void 0:s.message)||String(s);try{const n=JSON.parse(i);n.details&&q(n.details),z(n.error||i)}catch{i.includes("401")||i.toLowerCase().includes("auth")?z("Your session expired. Please log in again to submit."):i.toLowerCase().includes("413")||i.toLowerCase().includes("too large")?z("Submission too large — please ensure each clip is under 150MB and uploaded via the upload button."):z(i||"Submission failed. Please try again — your inputs are preserved.")}}finally{le(!1)}};return o?e.jsxs("div",{className:"min-h-screen bg-white text-zinc-900 antialiased selection:bg-[#F45815] selection:text-white",children:[e.jsx(at,{title:"Submit a Review — Route Worthy",description:"RSG members film a real visit in 3 steps, pay for their own meal, and earn Don Points after moderation. Members Helping Members.",url:"https://rideshareguides.com/routeworthy/submit"}),e.jsx("style",{children:"@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:wght@500;600;700;800&family=Barlow+Condensed:wght@700;800&display=swap'); .font-bebas{font-family:'Bebas Neue',sans-serif} .font-barlow-cond{font-family:'Barlow Condensed',sans-serif} .font-barlow{font-family:'Barlow',sans-serif}"}),e.jsx("div",{className:"sticky top-0 z-30 border-b border-zinc-200 bg-white/95 backdrop-blur",children:e.jsxs("div",{className:"mx-auto flex max-w-[1240px] items-center justify-between px-5 py-3 sm:px-8",children:[e.jsxs(D,{to:"/",className:"flex items-center gap-3",children:[e.jsx("span",{className:"inline-flex h-8 w-8 items-center justify-center rounded-full bg-zinc-900 text-[11px] font-black tracking-widest text-white",children:"RSG"}),e.jsx("span",{className:"hidden font-barlow-cond text-[13px] font-extrabold uppercase tracking-[0.16em] text-zinc-900 sm:inline-flex",children:"Rideshare Guides"})]}),e.jsxs("div",{className:"flex items-center gap-2 text-[12px]",children:[e.jsxs(D,{to:"/routeworthy",className:"inline-flex items-center gap-1.5 font-semibold text-zinc-600 hover:text-zinc-900",children:[e.jsx(Ke,{className:"h-3.5 w-3.5"})," Back to Channel"]}),e.jsx("span",{className:"h-3 w-px bg-zinc-200"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-white px-3 py-1 text-[11px] font-bold uppercase tracking-widest",children:[e.jsx("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-[#F45815]"})," The Critic Screen"]})]})]})}),c?De?e.jsx("div",{className:"mx-auto max-w-[760px] px-5 py-12 sm:px-8 sm:py-20",children:e.jsxs(Fe.div,{initial:{opacity:0,y:12}
1,animate:{opacity:1,y:0},className:"rounded-[28px] border border-zinc-200 bg-white p-8 sm:p-12 shadow-[0_24px_60px_-32px_rgba(0,0,0,0.25)]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-[#F45815] text-white shadow",children:e.jsx(K,{className:"h-6 w-6"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] font-extrabold uppercase tracking-[0.16em] text-[#F45815]",children:"Route Worthy • Saved"}),e.jsx("h1",{className:"font-bebas text-[38px] leading-[0.95] sm:text-[48px] text-zinc-900",children:"Review Saved"})]})]}),e.jsx("p",{className:"mt-4 max-w-[560px] font-barlow text-[15px] leading-6 text-zinc-700",children:"Saved and queued for human review. Don Points and badge progress update only after approval. You paid for your own meal — that is what makes this real."}),e.jsxs("div",{className:"mt-6 grid gap-3",children:[oe&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:"inline-flex items-center gap-2 rounded-full border border-zinc-200 bg-white px-3 py-1.5 text-[12px] font-mono font-medium text-zinc-800",children:["Review ID: ",oe]}),de&&e.jsx("span",{className:"inline-flex items-center rounded-full bg-zinc-900 px-2.5 py-1 text-[11px] font-bold uppercase tracking-wide text-white",children:de})]}),(we=(ge=y==null?void 0:y.data)==null?void 0:ge.data)!=null&&we.ai_suggested_queue||(ve=y==null?void 0:y.data)!=null&&ve.ai_suggested_queue?e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-zinc-50 px-3 py-1 text-[11px] font-medium text-zinc-700 w-fit",children:["Pipeline: ",((ye=(je=y.data)==null?void 0:je.data)==null?void 0:ye.ai_suggested_queue)||((Ne=y.data)==null?void 0:Ne.ai_suggested_queue)]}):y?e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-zinc-50 px-3 py-1 text-[11px] font-medium text-zinc-700 w-fit",children:["Pipeline: ",y.ok?"queued":"queued for retry"]}):null,(r==null?void 0:r.driver_id)&&e.jsxs(D,{to:`/pro-driver/${encodeURIComponent(r.driver_id)}`,className:"inline-flex w-fit items-center gap-1.5 rounded-full border border-zinc-200 bg-white px-4 py-2 text-[12px] font-semibold text-zinc-800 hover:bg-zinc-50",children:["View my profile and My Reviews ",e.jsx(X,{className:"h-3.5 w-3.5"})]}),he&&e.jsxs("div",{className:"inline-flex items-center gap-1.5 rounded-full border border-orange-100 bg-orange-50 px-3 py-1 text-[12px] font-semibold text-zinc-800 w-fit",children:[e.jsx(Z,{className:"h-4 w-4 text-[#F45815]"})," Current badge: ",he]})]}),e.jsxs("div",{className:"mt-7 rounded-2xl border border-orange-100 bg-[#FFF7F2] p-4",children:[e.jsx("div",{className:"text-[11px] font-bold uppercase tracking-[0.14em] text-[#F45815]",children:"What happens next"}),e.jsxs("ul",{className:"mt-2 space-y-1.5 text-[13px] leading-5 text-zinc-700 list-disc pl-5",children:[e.jsx("li",{children:"Human moderator reviews your three moments and four scores."}),e.jsx("li",{children:"If approved, Don Points, badge progress, and channel spotlight are applied."}),e.jsx("li",{children:"No points, badge change, or cash at upload — only after approval."})]})]}),e.jsxs("div",{className:"mt-8 flex flex-wrap gap-3",children:[e.jsxs("button",{onClick:()=>{A(!1),O(null),ce(null),V(null),F({exterior:{file:null,url:null,uploading:!1},interiorFood:{file:null,url:null,uploading:!1},critique:{file:null,url:null,uploading:!1}}),ne(""),re({taste:0,portion:0,atmosphere:0,service:0}),ie([!1,!1,!1]),ae(!1),z(null),q(null)},className:"inline-flex h-[44px] items-center justify-center gap-2 rounded-full bg-zinc-900 px-6 text-[14px] font-bold text-white hover:bg-black",children:[e.jsx(Ie,{className:"h-4 w-4"})," Submit another"]}),e.jsxs(D,{to:"/routeworthy",className:"inline-flex h-[44px] items-center justify-center gap-2 rounded-full border border-zinc-200 bg-white px-6 text-[14px] font-semibold hover:bg-zinc-50",children:["Back to Route Worthy ",e.jsx(X,{className:"h-4 w-4"})]})]})]})}):e.jsxs("div",{className:"mx-auto max-w-[1240px] px-5 py-8 sm:px-8 sm:py-12",children:[e.jsxs("div",{className:"mb-8 flex flex-wrap items-end justify-between gap-4",children:[e.jsxs("div",{className:"max-w-[760px]",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"h-px w-8 bg-[#F45815]"}),e.jsx("span",{className:"text-[11px] font-extrabold uppercase tracking-[0.18em] text-[#F45815]",children:"Route Worthy • The Critic Screen"})]}),e.jsx("h1",{className:"mt-3 font-bebas text-[40px] leading-[0.9] tracking-[-0.01em] sm:text-[56px] text-zinc-900",children:"One visit, three moments."}),e.jsx("p",{className:"mt-3 font-barlow text-[15px] leading-6 text-zinc-700 sm:text-[16
1px]",children:"Film a single real visit as three separate clips. Our secure review intake verifies the storefront, your meal and interior, and your spoken critique independently so every Route Worthy review stays honest and checkable."})]}),e.jsxs("div",{className:"rounded-full border border-zinc-200 bg-white px-4 py-2 text-[12px] font-medium text-zinc-700 inline-flex items-center gap-2",children:[e.jsx(Z,{className:"h-4 w-4 text-zinc-900"})," As Seen on Route Worthy badge appears after approval."]})]}),e.jsxs("div",{className:"grid gap-8 lg:grid-cols-[380px_1fr]",children:[e.jsxs("div",{className:"lg:sticky lg:top-[84px] lg:self-start space-y-5",children:[e.jsxs("div",{className:"rounded-[20px] border border-zinc-200 bg-white p-4 sm:p-5 shadow-sm",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[11px] font-extrabold uppercase tracking-[0.16em] text-zinc-500",children:"Filming checklist"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-zinc-900 px-2.5 py-1 text-[10px] font-bold uppercase tracking-widest text-white",children:[e.jsx(lt,{className:"h-3 w-3"})," 60s target"]})]}),e.jsx("div",{className:"mt-4 space-y-3",children:Object.values(ee).map((t,s)=>e.jsxs("label",{className:`group flex cursor-pointer gap-3 rounded-2xl border p-3.5 transition ${j[s]?"border-orange-200 bg-[#FFF7F2]":"border-zinc-200 bg-white hover:border-zinc-300"}`,children:[e.jsx("div",{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full border text-[13px] font-black ${j[s]?"bg-[#F45815] border-[#F45815] text-white":"bg-white border-zinc-200 text-zinc-900"}`,children:t.step}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("div",{className:"text-[13px] font-bold leading-tight text-zinc-900",children:t.title}),e.jsx(t.Icon,{className:`h-4 w-4 shrink-0 ${j[s]?"text-[#F45815]":"text-zinc-400"}`})]}),e.jsx("div",{className:"mt-1 text-[12px] leading-5 text-zinc-600",children:t.desc})]}),e.jsx("input",{type:"checkbox",className:"peer sr-only",checked:j[s],onChange:i=>{const n=[...j];n[s]=i.target.checked,ie(n)}}),e.jsx("div",{className:`mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border transition ${j[s]?"bg-zinc-900 border-zinc-900":"bg-white border-zinc-300 group-hover:border-zinc-400"}`,children:j[s]&&e.jsx(I,{className:"h-3.5 w-3.5 text-white"})})]},t.step))}),e.jsx("div",{className:"mt-4 rounded-xl bg-zinc-50 border border-zinc-100 px-3 py-2 text-[11px] leading-5 text-zinc-700",children:"Each step needs its own clip. This checklist stays visible while you upload."})]}),e.jsxs("div",{className:"rounded-[20px] border border-zinc-200 bg-white p-4 sm:p-5",children:[e.jsx("div",{className:"text-[11px] font-extrabold uppercase tracking-[0.16em] text-zinc-500",children:"Your RSG identity • auto-filled from your profile"}),e.jsxs("div",{className:"mt-4 space-y-3",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-zinc-500",children:"Member name • from your RSG profile"}),e.jsx("div",{className:"mt-1 rounded-full border border-zinc-200 bg-zinc-50 px-3 py-2 text-[14px] font-semibold text-zinc-900",children:pe||"—"})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-zinc-500",children:"RSG Profile ID • from your Driver record"}),e.jsx("div",{className:"mt-1 rounded-full border border-zinc-200 bg-white px-3 py-2 text-[13px] font-mono font-medium text-zinc-900",children:Ge})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-zinc-500",children:"City • from your profile"}),e.jsxs("div",{className:"mt-1 inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-white px-3 py-1.5 text-[13px] font-semibold text-zinc-900",children:[e.jsx(J,{className:"h-3.5 w-3.5"})," ",fe]})]})]}),e.jsxs("div",{className:"mt-4 flex items-center gap-2 rounded-full bg-[#FFF4EE] px-3 py-2 text-[11px] font-semibold text-zinc-700",children:[e.jsx(Z,{className:"h-4 w-4 text-[#F45815]"})," We use your signed-in RSG profile — no manual ID typing."]})]}),e.jsxs("div",{className:"rounded-[20px] border border-orange-200 bg-[#FFF7F2] p-4",children:[e.jsxs("div",{className:"text-[11px] font-bold uppercase tracking-[0.14em] text-[#F45815] flex items-center gap-1.5",children:[e.jsx(K,{className:"h-3.5 w-3.5"})," Trust rules"]}),e.jsxs("ul",{className:"mt-3 space-y-2 text-[12px] leading-5 text-zinc-800 list-disc pl-4",children:[e.jsx("li",{children:"Members always pay for their own meal."}),e.jsx("li",{children:"Honest scoring only — no positive rating is required."}
1),e.jsx("li",{children:"Reward is Don Points after approval plus badges and spotlight."}),e.jsx("li",{children:"No cash, no commission, no Ambassador cut."})]})]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"rounded-[24px] border border-zinc-200 bg-white p-5 sm:p-7 shadow-sm",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsx("h2",{className:"font-barlow-cond text-[18px] font-extrabold tracking-wide uppercase text-zinc-900",children:"Where did you dine?"}),e.jsxs("span",{className:"inline-flex items-center gap-1.5 rounded-full border border-zinc-200 bg-white px-3 py-1 text-[11px] font-bold uppercase tracking-widest text-zinc-700",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-[#F45815] animate-pulse"})," Live Target Feed"]})]}),e.jsx("p",{className:"mt-2 text-[13px] leading-5 text-zinc-700",children:"Your visit defaults to Today's Target Restaurant of the Day for your city from the live RSG Business Directory feed. If no target is posted today, search the Directory below."}),xe?e.jsxs("div",{className:"mt-5 flex items-center gap-2 text-[13px] text-zinc-600",children:[e.jsx(T,{className:"h-4 w-4 animate-spin"})," Loading Today's Target for ",w||"your market","..."]}):h?e.jsx("div",{className:"mt-5 rounded-2xl border border-orange-200 bg-[#FFF7F2] p-4",children:e.jsx("div",{className:"flex items-start justify-between gap-3",children:e.jsxs("div",{className:"flex gap-3 min-w-0",children:[e.jsx("div",{className:"flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-[#F45815] text-white text-[13px] font-black",children:h.business_name[0]}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-[15px] font-bold text-zinc-900",children:h.business_name}),e.jsxs("span",{className:"inline-flex rounded-full border border-orange-200 bg-white px-2 py-0.5 text-[10px] font-bold uppercase tracking-wide text-[#F45815]",children:["Today's Target • ",h.market_code]})]}),e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-[12px] text-zinc-700",children:[((ze=h.listing)==null?void 0:ze.address)&&e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(J,{className:"h-3 w-3"})," ",h.listing.address]}),((_e=h.listing)==null?void 0:_e.category)&&e.jsx("span",{className:"rounded-full border border-orange-200 bg-white px-2 py-0.5 text-[11px]",children:h.listing.category})]}),h.discount_display&&e.jsxs("div",{className:"mt-2 inline-flex items-center gap-1.5 rounded-full bg-white px-2.5 py-1 text-[12px] font-semibold text-zinc-800 ring-1 ring-orange-200",children:[e.jsx(Xe,{className:"h-3.5 w-3.5 text-[#F45815]"})," ",h.discount_display]}),h.title&&h.title!==h.discount_display&&e.jsx("div",{className:"mt-1 text-[11px] text-zinc-600",children:h.title})]})]})})}):me?e.jsxs("div",{className:"mt-5 rounded-2xl border border-zinc-200 bg-white p-4 flex items-start gap-3",children:[e.jsx(Re,{className:"h-4 w-4 text-zinc-500 mt-0.5"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"text-[13px] font-bold text-zinc-900",children:"We couldn't load Today's Target"}),e.jsxs("div",{className:"text-[12px] text-zinc-600",children:[me," — you can still search the RSG Business Directory below."]})]}),e.jsxs("button",{onClick:()=>window.location.reload(),className:"inline-flex h-8 items-center gap-1.5 rounded-full border border-zinc-200 bg-white px-3 text-[12px] font-semibold",children:[e.jsx(Je,{className:"h-3 w-3"})," Retry"]})]}):null,e.jsxs("div",{className:"mt-5 grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("label",{className:"text-[11px] font-bold uppercase tracking-[0.14em] text-zinc-600",children:"Selected restaurant"}),e.jsx("div",{className:"mt-2 flex items-center gap-3 rounded-2xl border border-zinc-200 bg-white px-4 py-3 min-h-[56px]",children:d?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-zinc-900 text-white text-[12px] font-black shrink-0",children:((ke=d.name)==null?void 0:ke[0])||"R"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"text-[15px] font-bold text-zinc-900 truncate",children:d.name}),e.jsxs("div",{className:"text-[12px] text-zinc-600 truncate",children:[d.rsgBizId," • ",d.city,d.perk?` • ${d.perk}`:" • RSG Business Directory"]})]}),e.jsx("button",{onClick:()=>{L(null),_.current=!0},className:"inline-flex h-7 w-7 items-center justify-center rounded-full border border-zinc-200 bg-white hover:bg-zinc-50",children:e.jsx(Ce,{className:"h-3.5 w-3.5"})})]}):e.jsxs("div",{className:"flex items-center gap-2 text-[13px] text-zinc-600",children:[e.jsx(ot,{className:"h-4 w-4"})," No target today, search the real RSG Business Directory below."]})}),!d&&!xe&&!h&&e.jsx("div",{className:"mt-3 rounded-xl border border-dashed border-zinc-200 bg-zinc-50/70 px-4 py-3 text-[12px] leading-5 text-zinc-700",children:w?`No Target Restaurant posted for ${w} today. Coach Carl picks one verified listing per city daily. Search an approved RSG Business Directory listing to submit your honest review — we never show sample targets.`:"No Target Restaurant posted because your Driver profile has no city on file. Complete your Driver profile, or search an approved RSG Business Directory listing below to submit your honest review — we never show sample targets."})]}),e.jsxs("div",{className:"sm:col-span-2",children:[e.jsx("label",{className:"text-[11px] font-bold uppercase tracking-[0.14em] text-zinc-600",children:"Search RSG Business Directory"}),e.jsxs("div",{className:"mt-2 relative",children:[e.jsx("div",{className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-zinc-400",children:e.jsx(Ze,{className:"h-4 w-4"})}),e.jsx("input",{value:S,onChange:t=>se(t.target.value),placeholder:"Search restaurants by name or city",className:"h-[44px] w-full rounded-full border border-zinc-200 bg-white pl-10 pr-12 text-[14px] font-medium text-zinc-900 placeholder:text-zinc-400 focus:border-zinc-400 focus:outline-none focus:ring-0"}),e.jsx("div",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 flex h-8 w-8 items-center justify-center rounded-full bg-zinc-900 text-white",children:e.jsx(X,{className:"h-4 w-4"})})]}),e.jsx(et,{children:S&&e.jsx(Fe.div,{initial:{opacity:0,y:6}
1,animate:{opacity:1,y:0},exit:{opacity:0,y:6},className:"mt-2 max-h-[240px] overflow-auto rounded-2xl border border-zinc-200 bg-white shadow-sm",children:ue.length===0?e.jsx("div",{className:"p-4 text-[13px] text-zinc-600",children:"No approved listings match — try another name."}):ue.map(t=>e.jsxs("button",{onClick:()=>{$e({name:t.business_name,rsgBizId:t.rsg_biz_id,city:t.city})},className:"flex w-full items-center justify-between gap-3 px-4 py-3 text-left hover:bg-zinc-50 border-b border-zinc-100 last:border-0",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[13px] font-bold text-zinc-900 truncate",children:t.business_name}),e.jsxs("div",{className:"text-[11px] text-zinc-600",children:[t.city," • ",t.category||"RSG Directory"]})]}),e.jsx("span",{className:"text-[11px] font-bold uppercase tracking-widest text-[#F45815] shrink-0",children:"Select"})]},t.rsg_biz_id||t.business_name))})})]})]})]}),e.jsxs("div",{className:"rounded-[24px] border border-zinc-200 bg-white p-5 sm:p-7 shadow-sm",children:[e.jsxs("h2",{className:"font-barlow-cond text-[18px] font-extrabold tracking-wide uppercase flex items-center gap-2 text-zinc-900",children:[e.jsx(ct,{className:"h-5 w-5"})," One visit, three moments"]}),e.jsx("p",{className:"mt-2 text-[13px] leading-5 text-zinc-700",children:"Upload each moment separately because our review intake verifies the storefront, meal and interior, and spoken critique independently. One real visit you personally filmed, captured in three required clips."}),e.jsxs("div",{className:"mt-2 inline-flex items-center gap-2 rounded-full bg-zinc-50 border border-zinc-200 px-3 py-1 text-[11px] font-medium text-zinc-700",children:[e.jsx(Ie,{className:"h-3 w-3"})," Each clip max 150MB • mp4, mov, webm"]}),e.jsx("div",{className:"mt-6 grid gap-5",children:Object.keys(ee).map(t=>{var b,f;const s=ee[t],i=p[t],n=!!i.url&&!i.uploading;return e.jsxs("div",{className:`rounded-[18px] border p-4 sm:p-5 transition ${n?"border-zinc-900 bg-zinc-50/60":"border-zinc-200 bg-white"}`,children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"flex gap-3 min-w-0",children:[e.jsx("div",{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-full border text-[13px] font-black ${n?"bg-zinc-900 border-zinc-900 text-white":"bg-white border-zinc-200 text-zinc-900"}`,children:s.step}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full border px-2.5 py-1 text-[10px] font-bold uppercase tracking-widest ${n?"border-zinc-900 bg-zinc-900 text-white":"border-zinc-200 bg-white text-zinc-700"}`,children:[n&&e.jsx(I,{className:"h-3 w-3"})," ",s.label]}),e.jsx("span",{className:"text-[11px] font-medium text-zinc-600 hidden sm:inline",children:s.hint})]}),e.jsx("div",{className:"mt-1.5 text-[13px] font-bold leading-tight text-zinc-900",children:s.title})]})]}),e.jsx(s.Icon,{className:`h-4 w-4 shrink-0 mt-1 ${n?"text-zinc-900":"text-zinc-400"}`})]}),e.jsx("input",{ref:$[t],type:"file",accept:"video/*",className:"hidden",onChange:k=>{var Se;const P=(Se=k.target.files)==null?void 0:Se[0];P&&Ue(t,P)},"aria-label":`Upload ${s.label} video`}),e.jsxs("div",{className:"mt-4",children:[i.url?e.jsxs("div",{className:"flex flex-col items-center sm:flex-row sm:items-start gap-4",children:[e.jsxs("div",{className:"relative shrink-0",children:[e.jsx("div",{className:"mx-auto w-[150px] max-w-[220px] min-w-[132px] sm:w-[200px] overflow-hidden rounded-[14px] border border-zinc-200 bg-zinc-900 shadow-sm",children:e.jsx("video",{src:i.url,controls:!0,className:"w-full aspect-video object-contain bg-zinc-900"})}),e.jsxs("div",{className:"mt-2 flex justify-center gap-1.5",children:[e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-green-600 px-2 py-0.5 text-[10px] font-bold text-white",children:[e.jsx(I,{className:"h-3 w-3"})," Ready"]}),e.jsx("span",{className:"inline-flex items-center rounded-full bg-zinc-900 px-2 py-0.5 text-[10px] font-bold text-white",children:i.file?`${(i.file.size/1024/1024).toFixed(1)}MB`:"uploaded"})]})]}),e.jsxs("div",{className:"min-w-0 flex-1 w-full",children:[e.jsxs("div",{className:"rounded-xl border border-zinc-200 bg-white px-3 py-2.5",children:[e.jsx("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-zinc-500",children:"File"}),e.jsxs("div",{className:"mt-1 flex items-start gap-2",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-[13px] font-semibold text-zinc-900",title:((b=i.file)==null?void 0:b.name)||"clip.mp4",children:((f=i.file)==null?void 0:f.name)||"clip.mp4"}),e.jsx("div",{className:"text-[11px] text-zinc-600 break-all line-clamp-2",children:i.url})]}),e.jsx("span",{className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-zinc-900 text-white",children:e.jsx(I,{className:"h-3.5 w-3.5"})})]})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[e.jsxs("button",{onClick:()=>{var k;return(k=$[t].current)==null?void 0:k.click()},disabled:i.uploading,className:"inline-flex h-8 items-center justify-center rounded-full border border-zinc-200 bg-white px-3 text-[12px] font-semibold text-zinc-700 hover:bg-zinc-50 disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-zinc-900 focus-visible:ring-offset-1",children:[i.uploading?e.jsx(T,{className:"mr-1.5 h-3.5 w-3.5 animate-spin"}):null," Replace"]}),e.jsxs("button",{onClick:()=>Oe(t),className:"inline-flex h-8 items-center justify-center gap-1 rounded-full border border-zinc-200 bg-white px-3 text-[12px] font-semibold text-zinc-600 hover:text-zinc-900 hover:bg-zinc-50",children:[e.jsx(Ce,{className:"h-3.5 w-3.5"})," Remove"]})]}),e.jsx("div",{className:"mt-3 text-[11px] leading-4 text-zinc-600",children:"Preview is intentionally small so your phone screen stays usable. Controls remain ta
1ppable."})]})]}):e.jsxs("button",{onClick:()=>{var k;return(k=$[t].current)==null?void 0:k.click()},disabled:i.uploading,className:"group flex w-full flex-col items-center justify-center gap-2 rounded-[16px] border-2 border-dashed border-zinc-200 bg-zinc-50/70 px-4 py-6 text-center transition hover:border-orange-200 hover:bg-orange-50/40 disabled:opacity-60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-white border border-zinc-200 shadow-sm group-hover:border-orange-200",children:i.uploading?e.jsx(T,{className:"h-5 w-5 animate-spin text-[#F45815]"}):e.jsx(Be,{className:"h-5 w-5 text-zinc-700"})}),e.jsx("div",{className:"text-[13px] font-bold text-zinc-900",children:i.uploading?"Uploading...":`Tap to upload ${s.label}`}),e.jsxs("div",{className:"text-[11px] text-zinc-600 max-w-[260px]",children:["Keep it vertical if you can. ",s.hint,". Max 150MB per file."]}),i.file&&e.jsx("div",{className:"mt-1 max-w-[200px] truncate text-[11px] font-medium text-zinc-600",children:i.file.name})]}),i.error&&e.jsx("div",{className:"mt-2 rounded-full bg-red-50 border border-red-200 px-3 py-1.5 text-[11px] font-medium text-red-700",children:i.error}),x&&x[`${t==="exterior"?"exterior_video_url":t==="interiorFood"?"interior_food_video_url":"critique_video_url"}`]&&e.jsx("div",{className:"mt-2 rounded-full bg-red-50 border border-red-200 px-3 py-1.5 text-[11px] font-medium text-red-700",children:x[`${t==="exterior"?"exterior_video_url":t==="interiorFood"?"interior_food_video_url":"critique_video_url"}`]})]})]},t)})}),e.jsxs("div",{className:"mt-6 rounded-xl bg-[#FFF7F2] border border-orange-200 px-3 py-2.5 flex items-start gap-2 text-[12px] leading-5 text-zinc-800",children:[e.jsx("span",{className:"mt-[2px] inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-white border border-orange-200 text-[11px] font-black text-[#F45815]",children:"!"}),e.jsxs("span",{children:[e.jsx("strong",{children:"All three required:"})," exterior storefront, interior + food, and critique to camera. Submit stays locked until each clip is uploaded plus your meal commitment."]})]})]}),e.jsxs("div",{className:"rounded-[24px] border border-zinc-200 bg-white p-5 sm:p-7 shadow-sm",children:[e.jsx("h2",{className:"font-barlow-cond text-[18px] font-extrabold tracking-wide uppercase text-zinc-900",children:"Diner scorecard"}),e.jsx("p",{className:"mt-2 text-[13px] leading-5 text-zinc-700",children:"Give an honest 1–5 for each. No positive rating is required — this is what THE DON triangulates with your footage. Failing scores are handled by moderation, not as paid placement."}),e.jsx("div",{className:"mt-6 grid gap-4",children:[{key:"taste",label:"Taste",hint:"Flavor, seasoning, execution"},{key:"portion",label:"Portion / Value",hint:"Size for price, worth the route"},{key:"atmosphere",label:"Atmosphere",hint:"Vibe, cleanliness, comfort"},{key:"service",label:"Service",hint:"Friendliness, speed, accuracy"}].map(t=>e.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-2xl border border-zinc-200 bg-white px-4 py-3 sm:px-5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-[13px] font-bold text-zinc-900",children:t.label}),e.jsx("div",{className:"text-[11px] text-zinc-600",children:t.hint})]}),e.jsx("div",{className:"flex items-center gap-1",children:[1,2,3,4,5].map(s=>{const i=g[t.key]>=s;return e.jsx("button",{"aria-label":`Set ${t.label} to ${s}`,onClick:()=>re(n=>({...n,[t.key]:s})),className:`flex h-8 w-8 items-center justify-center rounded-full border transition focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-1 ${i?"bg-[#F45815] border-[#F45815] text-white":"bg-white border-zinc-200 text-zinc-300 hover:border-zinc-300 hover:text-zinc-500"}`,children:e.jsx(tt,{className:`h-4 w-4 ${i?"fill-white":""}`})},s)})})]},t.key))}),x&&(x.taste_score||x.portion_score||x.atmosphere_score||x.service_score)&&e.jsx("div",{className:"mt-3 rounded-xl bg-red-50 border border-red-200 px-3 py-2 text-[11px] text-red-700",children:Object.entries(x).filter(([t])=>t.includes("_score")).map(([t,s])=>e.jsxs("div",{children:["• ",s]},t))})]}),e.jsxs("div",{className:"rounded-[24px] border border-zinc-200 bg-white p-5 sm:p-7 shadow-sm",children:[e.jsx("h2",{className:"font-barlow-cond text-[18px] font-extrabold tracking-wide uppercase text-zinc-900",children:"Your verdict line"}),e.jsx("p",{className:"mt-2 text-[13px] leading-5 text-zinc-700",children:"One honest line that c
1ould run under your clip. Max 120 characters. Keep it balanced — what was worth the route and what was not."}),e.jsxs("div",{className:"mt-4",children:[e.jsx("input",{value:R,onChange:t=>ne(t.target.value.slice(0,120)),placeholder:"e.g. Paid my own way — tacos worth the route, parking tight at lunch",className:"h-[48px] w-full rounded-full border border-zinc-200 bg-white px-5 text-[14px] font-medium text-zinc-900 placeholder:text-zinc-400 focus:border-zinc-900 focus:outline-none"}),e.jsxs("div",{className:"mt-2 flex justify-between text-[11px] text-zinc-600",children:[e.jsx("span",{children:"Members Helping Members — keep it real"}),e.jsxs("span",{children:[R.length,"/120"]})]}),(x==null?void 0:x.verdict_line)&&e.jsx("div",{className:"mt-2 rounded-full bg-red-50 border border-red-200 px-3 py-1.5 text-[11px] font-medium text-red-700",children:x.verdict_line})]})]}),e.jsxs("div",{className:"rounded-[24px] border border-zinc-200 bg-white p-5 sm:p-7 shadow-sm",children:[e.jsxs("label",{className:`flex cursor-pointer gap-3 rounded-2xl border p-4 transition ${N?"border-zinc-900 bg-zinc-50":"border-zinc-200 bg-white hover:border-zinc-300"}`,children:[e.jsx("input",{type:"checkbox",className:"peer sr-only",checked:N,onChange:t=>ae(t.target.checked)}),e.jsx("div",{className:`mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border transition ${N?"bg-zinc-900 border-zinc-900":"bg-white border-zinc-300"}`,children:N&&e.jsx(I,{className:"h-3.5 w-3.5 text-white"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[14px] font-bold leading-tight text-zinc-900",children:"This is a real visit I personally filmed, and I paid for my own meal."}),e.jsx("div",{className:"mt-1 text-[12px] leading-5 text-zinc-700",children:"Required to submit. This is an honest review gate — no comped meal, no free food incentive, no positive rating required. Badge progression and Don Points are never tied to positive ratings."})]})]}),(x==null?void 0:x.commitment_checked)&&e.jsx("div",{className:"mt-3 rounded-xl bg-red-50 border border-red-200 px-3 py-2 text-[11px] font-medium text-red-700",children:x.commitment_checked}),e.jsxs("button",{onClick:Ve,disabled:!Q||W,className:"mt-6 inline-flex h-[50px] w-full items-center justify-center gap-2 rounded-full bg-[#F45815] px-8 text-[15px] font-bold tracking-wide text-white shadow-sm transition hover:bg-[#E04D0F] disabled:opacity-40 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#F45815] focus-visible:ring-offset-2 sm:w-auto sm:min-w-[260px]",children:[W?e.jsx(T,{className:"h-4 w-4 animate-spin"}):e.jsx(Be,{className:"h-4 w-4"}),W?"Submitting to Route Worthy intake...":"Submit my Route Worthy review"]}),(U||x)&&e.jsx("div",{className:"mt-4 rounded-2xl border border-red-200 bg-red-50 p-4",children:e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx(Re,{className:"mt-0.5 h-4 w-4 shrink-0 text-red-600"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"text-[13px] font-bold text-red-800",children:U||"Please fix the issues below — your clips and scores are preserved."}),x&&e.jsx("ul",{className:"mt-2 list-disc pl-4 space-y-1 text-[11px] leading-4 text-red-700",children:Object.entries(x).map(([t,s])=>e.jsxs("li",{children:[e.jsxs("span",{className:"font-semibold",children:[t,":"]})," ",s]},t))})]})]})}),!Q&&!U&&e.jsxs("div",{className:"mt-3 rounded-xl bg-zinc-50 border border-zinc-100 px-3 py-2.5 text-[11px] leading-5 text-zinc-700",children:[e.jsx("div",{className:"font-bold text-zinc-800",children:"To submit you still need:"}),e.jsxs("ul",{className:"mt-1 list-disc pl-4 space-y-0.5",children:[!p.exterior.url&&e.jsx("li",{children:"Exterior clip — Take a shot of the EXTERIOR of the establishment — the storefront/sign so viewers know the place."}),!p.interiorFood.url&&e.jsx("li",{children:"Inside + food clip — Go INSIDE — film the interior and your FOOD — the space, your order, the plating."}),!p.critique.url&&e.jsx("li",{children:"Critique clip — Give your CRITIQUE of the visit and experience — talk to camera: taste, portion, value, vibe, service."}),Object.values(p).some(t=>t.uploading)&&e.jsx("li",{children:"Wait for uploads to finish"}),!be&&e.jsx("li",{children:"Score: taste, portion, atmosphere, service (1–5 each)"}),R.trim().length<=3&&e.jsx("li",{children:"A verdict line (a few words)"}),!d&&e.jsx("li",{children:"Choose a restaurant from the live feed or Directory search"}),!N&&e.jsx("li",{children:"Check the paid-my-own-meal commitment"})]})]}),e.jsxs("div",{className:"mt-4 flex flex-wrap gap-2 text-[11px]",children:[e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-zinc-200 bg-white px-2.5 py-1 font-medium text-zinc-700",children:[e.jsx(K,{className:"h-3 w-3"})," Reviewer rewards: Don Points, badges, spotlight after approval"]}),e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full border border-zinc-200 bg-white px-2.5 py-1 font-medium text-zinc-700",children:[e.jsx(J,{className:"h-3 w-3"})," ",fe]})]})]})]})]})]}):e.jsx("div",{className:"mx-auto max-w-[1240px] px-5 py-16 sm:px-8 sm:py-24",children:e.jsxs("div",{className:"mx-auto max-w-[560px] rounded-[24px] border border-zinc-200 bg-white p-8 shadow-[0_16px_40px_-24px_rgba(0,0,0,0.2)] sm:p-10 text-center",children:[e.jsx("div",{className:"mx-auto mb-5 flex h-12 w-12 items-center justify-center rounded-full bg-orange-50 border border-orange-200",children:e.jsx(Te,{className:"h-6 w-6 text-[#F45815]"})}),e.jsx("div",{className:"inline-flex rounded-full border border-orange-200 bg-orange-50 px-3 py-1 text-[11px] font-bold uppercase tracking-[0.14em] text-[#F45815]",children:"Members Only"}),e.jsx("h1",{className:"mt-4 font-bebas text-[42px] leading-[0.9] text-zinc-900",children:"Join RSG to submit reviews"}),e.jsx("p",{className:"mt-3 font-barlow text-[15px] leading-6 text-zinc-600",children:"Route Worthy reviews are filmed by real RSG members who already paid for their own meal. Log in or create your free RSG profile to get to The Critic Screen, earn Don Points after moderation, and climb badges."}),e.jsx("div",{className:"mt-7 grid gap-2 text-left rounded-2xl border border-zinc-100 bg-zinc-50/70 p-4",children:[{t:"Members Helping Members",d:"You pay for your own meal — keeps it honest and FTC-compliant."},{t:"Points after approval",d:"Don Points and badge progression happen only after human moderation, not at upload."},{t:"Spotlight after approval",d:"Featured reviewers get spotlight on the channel after approval — no cash payout."}].map(t=>e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"mt-0.5 h-5 w-5 shrink-0 rounded-full bg-white border border-zinc-200 flex items-center justify-center",children:e.jsx(I,{className:"h-3 w-3 text-zinc-900"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-[13px] font-bold text-zinc-900",children:t.t}),e.jsx("div",{className:"text-[12px] leading-5 text-zinc-600",children:t.d})]})]},t.t))}),e.jsxs("div",{className:"mt-8 flex flex-col gap-3 sm:flex-row sm:justify-center",children:[e.jsx("a",{href:bt(),className:"inline-flex h-[44px] items-center justify-center rounded-full bg-[#F45815] px-6 text-[14px] font-bold text-white shadow-sm hover:bg-[#
1E04D0F]",children:"Log in to RSG"}),e.jsx(D,{to:"/pro-dashboard",className:"inline-flex h-[44px] items-center justify-center rounded-full border border-zinc-200 bg-white px-6 text-[14px] font-semibold text-zinc-900 hover:bg-zinc-50",children:"Create free profile"})]}),e.jsx("p",{className:"mt-4 text-[11px] text-zinc-500 font-medium",children:"Free members are allowed — no paid tier required to submit."})]})})]}):e.jsx("div",{className:"min-h-screen bg-[#FFFFFF] flex items-center justify-center px-6",children:e.jsxs("div",{className:"flex items-center gap-3 text-zinc-500 text-[13px] font-medium",children:[e.jsx(T,{className:"h-4 w-4 animate-spin"})," Loading your RSG profile..."]})})}export{Ft 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.