1import {v as v$1,bB as De,E as EC,D as Dt,ac as YT,a as as,b as ab,Z as Zu,p as pw,ad as Nb,W as WE,g as gg,N as Cb,h as hw,ae as Ab,z as zg}from'./main-EDG6O5MX.js';var v=()=>({redirectUrl:"/admin"});function E(r,o){if(r&1&&(as(0,"p",10),ab(1," Current account: "),as(2,"span",11),ab(3),Zu()()),r&2){let i=o;WE(3),zg(i.email||i.uid);}}var A=class r{authService=v$1(De);static \u0275fac=function(i){return new(i||r)};static \u0275cmp=EC({type:r,selectors:[["app-admin-access-denied"]],decls:28,vars:5,consts:[[1,"min-h-screen","bg-zinc-950","px-5","py-10","text-zinc-100","sm:px-8","lg:px-12"],[1,"mx-auto","max-w-3xl","space-y-8"],[1,"space-y-5","border","border-amber-500/40","bg-amber-950/20","p-6"],[1,"text-sm","uppercase","tracking-[0.3em]","text-amber-200"],[1,"text-3xl","font-semibold","text-zinc-50"],[1,"text-zinc-300"],[1,"text-amber-100"],[1,"flex","flex-wrap","gap-3"],["routerLink","/login",1,"border","border-cyan-400","px-4","py-2","text-sm","font-medium","text-cyan-200","hover:bg-cyan-400","hover:text-zinc-950",3,"queryParams"],["routerLink","/",1,"border","border-zinc-700","px-4","py-2","text-sm","font-medium","text-zinc-200","hover:bg-zinc-800"],[1,"border-t","border-amber-500/20","pt-4","text-sm","text-zinc-400"],[1,"text-zinc-200"]],template:function(i,S){if(i&1&&(as(0,"main",0)(1,"section",1)(2,"section",2)(3,"p",3),ab(4,"Admin Access Required"),Zu(),as(5,"h1",4),ab(6,"This account is signed in but not authorized for admin tools."),Zu(),as(7,"p",5),ab(8," Admin tools require a Firebase Auth custom claim such as "),as(9,"code",6),ab(10,"admin: true"),Zu(),ab(11,", "),as(12,"code",6),ab(13,"cmsAdmin: true"),Zu(),ab(14,", "),as(15,"code",6),ab(16,"roles.contentEditor: true"),Zu(),ab(17,", or "),as(18,"code",6),ab(19,"roles.mediaManager: true"),Zu(),ab(20,". Ask an existing project owner to grant the right role, then sign out and sign back in to refresh your token. "),Zu(),as(21,"div",7)(22,"a",8),ab(23," Sign In Again "),Zu(),as(24,"a",9),ab(25," Back Home "),Zu()(),pw(26,E,4,1,"p",10),Nb(27,"async"),Zu()()()),i&2){let m;WE(22),gg("queryParams",Cb(4,v)),WE(4),hw((m=Ab(27,2,S.authService.user$))?26:-1,m);}},dependencies:[Dt,YT],encapsulation:2,changeDetection:1})};export{A as AdminAccessDeniedComponent};
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.