1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardApp-ogf2MEB8.js","assets/index-BBoqvoq_.js","assets/portal-voc.functions-BXvYekaF.js","assets/index-DQig6sn5.js","assets/CalloutInsight-C01IWibb.js","assets/target-B927RRwi.js","assets/trending-up-CZE5ukBC.js","assets/triangle-alert-Bc-MM6DZ.js","assets/lightbulb-8z5M1CSF.js","assets/popover-CIF_SxhH.js","assets/chevron-left-BDAzjStA.js","assets/chevron-right-ChewPgUK.js","assets/index-B4MfZQbH.js","assets/chart-theme-CI91V5gl.js","assets/generateCategoricalChart-D9rcdHHg.js","assets/PolarAngleAxis-CNL9gNu8.js","assets/wprf-september-2026-BfdPsNJu.js","assets/wprf-september-2026-report-context-CmA-EJUl.js","assets/chart-column-D8bHFcNP.js","assets/radio-CdSrNIen.js","assets/refresh-cw-ZQPhrjvN.js","assets/sparkles-BHTXy9DN.js","assets/minus-DkR63meV.js","assets/arrow-right-B8ljt7Yp.js","assets/external-link-C-BkXAVg.js","assets/demo-write-middleware-Dn-Ho4yG.js","assets/quote-Cx4JYwX8.js","assets/history-Cy1TU3yH.js","assets/PieChart-DfaaQ1f7.js","assets/LineChart-BxUoqyWq.js","assets/BarChart-DzcVbBZv.js","assets/client-portal.functions-B18XOxHn.js","assets/download-Cgc9zS72.js","assets/search-Bdjm4xhJ.js","assets/copy-CuilKjh1.js","assets/AreaChart-B_vXfO4A.js","assets/Area-TALL5ZyA.js","assets/grid-3x3-CAh2MeOq.js","assets/circle-check-BDKlHp6R.js","assets/flag-D0cl01Sp.js","assets/book-open-C7oMAwTf.js","assets/earth-DgRojlOb.js","assets/useMutation-CwzTUXIc.js","assets/upload-Baly0nId.js","assets/globe-Bu_A3hI_.js","assets/tv-DFbNORqM.js","assets/landmark-BoyPbns4.js","assets/eye-off-BGVQR4D0.js","assets/plus-Cje_oMfh.js","assets/message-square-DxZxCh9R.js","assets/zap-Dp_ctbBG.js","assets/shield-alert-DxPZGw6x.js","assets/sonner-Davet4ay.js","assets/input-W0wsneHR.js","assets/label-Brdcm3Hy.js","assets/dropdown-menu-DvGBs2QT.js","assets/index-BUns60v-.js","assets/check-DAqQ141J.js","assets/circle-e2NW5BkQ.js","assets/select-C4ZLwNee.js","assets/chevron-up-BrBZRkP0.js","assets/Pricing-CGsMlT4V.js","assets/tier-DMSM73ti.js","assets/useAuthSession-D_Wz_Wdy.js","assets/workspace-selection-DCAFb0cM.js","assets/settings-2-DFNcjIVa.js","assets/date-range-picker-FgWCt0Sf.js","assets/star-
1BZTIWr0r.js","assets/checkbox-Cq7kMkxn.js","assets/skeleton-i0HszCSl.js","assets/cloud-upload-B4fpfImp.js","assets/textarea-dxJBCseH.js","assets/link-2-CYY4Q3z2.js","assets/ConfidenceFeedback-CyoFHMuZ.js","assets/tag-C__nLpvk.js","assets/EcosystemSidebar-CV-lmlmF.js","assets/activity-CLq2QH3Z.js","assets/users-eoymGcJq.js","assets/palette-2OOIdfkQ.js","assets/send-CnIi8v63.js","assets/image-BbCJYC8q.js","assets/trash-2-Bnwvh43g.js","assets/presentation-DAKXS3Nd.js","assets/platforms-Blg5wOHp.js","assets/database-B4r-FmH0.js","assets/clock-nBnbvrTO.js","assets/circle-x-D0cttwWL.js","assets/twitter-B8mI7IM3.js","assets/mail-BKT9zUCv.js","assets/user-BKL1XpMf.js","assets/pencil-BiRlgJpk.js"])))=>i.map(i=>d[i]); 2import{u as R,aL as T,r as b,s as h,aW as I,aX as S,aY as w,aZ as j,j as o,a_ as M,_ as O}from"./index-BBoqvoq_.js";import{getMyAccountType as E}from"./account-type.functions-DIxTnsQb.js";import{n as L}from"./tier-DMSM73ti.js";import{p as N}from"./workspace-selection-DCAFb0cM.js";function B(e){if(e.stay)return{kind:"render-intelligence",reason:"stay=1 escape hatch"};if(e.as)return e.as==="influencer"?{kind:"redirect",to:"/influencers/dashboard",reason:"?as=influencer"}:e.as==="partner"?{kind:"redirect",to:"/partners/dashboard",reason:"?as=partner"}:e.as==="admin"?{kind:"redirect",to:"/admin",reason:"?as=admin"}:{kind:"render-intelligence",reason:`?as=${e.as}`};if(e.isPlatformAdmin)return{kind:"redirect",to:"/command-centre",reason:"platform admin neutral landing"};if(e.isOrgMember)return{kind:"redirect",to:"/portal",reason:"client-org member"};if(!(e.tier==="command"||e.tier==="sovereign"||e.tier==="enterprise")){if(e.accountType==="influencer")return{kind:"redirect",to:"/influencers/dashboard",reason:"unpaid influencer account"};if(e.accountType==="partner")return{kind:"redirect",to:"/partners/dashboard",reason:"unpaid partner account"}}let t=e.defaultLanding??"intelligence";return t==="command"&&(t="intelligence"),t==="narrator"?{kind:"redirect",to:"/narrator",reason:"pinned narrator landing"}:t==="voc"?{kind:"redirect",to:"/dashboard?stay=1§ion=voc",reason:"pinned VoC landing"}:{kind:"render-intelligence",reason:"default intelligence landing"}}const D=b.lazy(()=>O(()=>import("./DashboardApp-ogf2MEB8.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90])));function W(){const e=R(),a=T({from:"/dashboard/"}),[t,s]=b.useState(!1);return b.useEffect(()=>{let l=!0;return(async()=>{try{const{data:g}=await h.auth.getUser(),n=g.user;if(!n){console.info("[dashboard-router] no user; rendering shell"),s(!0);return}const k=I(a);if(S(k)){let r=!1;try{r=!!(await w())?.isAdmin}catch(m){console.error("[dashboard-intent] belt admin check failed â failing closed",m)}let c=!1;if(!r){const{data:m}=await h.from("org_members").select("id").eq("user_id",n.id).limit(1).maybeSingle();c=!!m}const f=j({search:k,isPlatformAdmin:r,isOrgMember:c,isAuthenticated:!0});if(f.kind==="refuse"){if(console.warn("[dashboard-intent] client-side belt refused",{decision:f,isPlatformAdmin:r,isOrgMember:c}),!l)return;e({to:f.to,replace:!0});return}console.info("[dashboard-intent] client-side belt allowed",{decision:f})}if(a.stay==="1"){if(console.info("[dashboard-router] stay=1 escape hatch â rendering Intelligence"),!l)return;s(!0);return}const i=a.as??null;if(i){if(console.info("[dashboard-router] honoring ?as=",{asParam:i,userId:n.id}),i==="influencer"){e({to:"/influencers/dashboard",search:{tab:"profile"},replace:!0});return}if(i==="partner"){e({to:"/partners/dashboard",replace:!0});return}if(i==="admin"){e({to:"/admin",replace:!0});return}s(!0);return}const[x,P,_]=await Promise.all([w().catch(r=>(console.warn("[dashboard-router] checkIsAdmin failed",r),{isAdmin:!1})),(async()=>{const r=n.user_metadata?.account_type;if(r==="influencer"||r==="partner"||r==="subscriber")return{account_type:r};try{return await E()}catch(c){return console.warn("[dashboard-router] getMyAccountType failed",c),{account_type:null}}})(),h.from("profiles").select("default_landing, tier").eq("id",n.id).maybeSingle()]);if(!l)return;const u=!!x?.isAdmin,v=P?.account_type??null,p=L(_.data?.tier)??"pulse",A=_.data?.default_landing??null;console.info("[dashboard-router] context",{userId:n.id,isAdmin:u,accountType:v,tier:p,landing:A});let y=!1;if(!u){const{data:r}=await h.from("org_members").select("id").eq("user_id",n.id).limit(1).maybeSingle();y=!!r}const d=B({isPlatformAdmin:u,isOrgMember:y,accountType:v,tier:p,defaultLanding:A});if(console.info("[dashboard-router] landing decision",{outcome:d,tier:p,isAdmin:u,isOrgMember:y,storedWorkspaceSelection:!N(!0)}),d.kind==="redirect"){if(d.to==="/influencers/dashboard"){e({to:"/influencers/dashboard",search:{tab:"profile"},replace:!0});return}if(d.to==="/dashboard?stay=1§ion=voc"){e({to:"/dashboard",search:{stay:"1",section:"voc"},replace:!0}),s(!0);return}e({to:d.to,replace:!0});return}s(!0)}catch(g){console.warn("[dashboard-router] threw",g),s(!0)}})(),()=>{l=!1}},[e,a.stay,a.as,a.run,a.section]),t?o.jsx(M,{fallback:o.jsx("div",{className:"min-h-screen bg-background"}),children:o.jsx(b.Suspense,{fallback:o.jsx("div",{className:"min-h-screen bg-background"}),children:o.jsx(D,{})})}):o.jsx("div",{className:"min-h-screen bg-background"})}export{W as component};
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.