@vendure/admin-ui-plugin 2.0.0-next.12 → 2.0.0-next.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/admin-ui/{239.68785500c3346bfc.js → 239.ca7af610928bd44b.js} +2 -2
- package/lib/admin-ui/{239.68785500c3346bfc.js.map → 239.ca7af610928bd44b.js.map} +1 -1
- package/lib/admin-ui/{26.f714c21768111b4f.js → 26.762a61e2d3e37e33.js} +2 -2
- package/lib/admin-ui/{26.f714c21768111b4f.js.map → 26.762a61e2d3e37e33.js.map} +1 -1
- package/lib/admin-ui/{316.f5c3548835a302f3.js → 316.fbaa08dea0a8bad5.js} +2 -2
- package/lib/admin-ui/{316.f5c3548835a302f3.js.map → 316.fbaa08dea0a8bad5.js.map} +1 -1
- package/lib/admin-ui/{356.d5ab46db919a9f0b.js → 356.0ff226e8c9164ae6.js} +2 -2
- package/lib/admin-ui/{356.d5ab46db919a9f0b.js.map → 356.0ff226e8c9164ae6.js.map} +1 -1
- package/lib/admin-ui/3rdpartylicenses.txt +23 -0
- package/lib/admin-ui/{504.1e0ba4990f5d7f56.js → 504.40693d5cedca9d79.js} +2 -2
- package/lib/admin-ui/{504.1e0ba4990f5d7f56.js.map → 504.40693d5cedca9d79.js.map} +1 -1
- package/lib/admin-ui/{600.33754aa49984ab73.js → 600.fa2fa923a1a62838.js} +2 -2
- package/lib/admin-ui/{600.33754aa49984ab73.js.map → 600.fa2fa923a1a62838.js.map} +1 -1
- package/lib/admin-ui/{625.00b1380b31501047.js → 625.ed9ce3bf64237de8.js} +2 -2
- package/lib/admin-ui/{625.00b1380b31501047.js.map → 625.ed9ce3bf64237de8.js.map} +1 -1
- package/lib/admin-ui/{849.a5b2f52c180a376b.js → 849.21d37348d17a9559.js} +2 -2
- package/lib/admin-ui/{849.a5b2f52c180a376b.js.map → 849.21d37348d17a9559.js.map} +1 -1
- package/lib/admin-ui/index.html +1 -1
- package/lib/admin-ui/main.5b576260330cb630.js +2777 -0
- package/lib/admin-ui/main.5b576260330cb630.js.map +1 -0
- package/lib/admin-ui/runtime.6ba91bceea486bae.js +2 -0
- package/lib/admin-ui/{runtime.c3853db7e86bc9e7.js.map → runtime.6ba91bceea486bae.js.map} +1 -1
- package/package.json +4 -4
- package/lib/admin-ui/main.ecd7bd3b4c1715b7.js +0 -2777
- package/lib/admin-ui/main.ecd7bd3b4c1715b7.js.map +0 -1
- package/lib/admin-ui/runtime.c3853db7e86bc9e7.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkvendure_admin=self.webpackChunkvendure_admin||[]).push([[625],{2625:(T,u,r)=>{r.r(u),r.d(u,{LoginComponent:()=>c,LoginGuard:()=>l,LoginModule:()=>p,loginRoutes:()=>h});var i=r(
|
|
2
|
-
//# sourceMappingURL=625.
|
|
1
|
+
"use strict";(self.webpackChunkvendure_admin=self.webpackChunkvendure_admin||[]).push([[625],{2625:(T,u,r)=>{r.r(u),r.d(u,{LoginComponent:()=>c,LoginGuard:()=>l,LoginModule:()=>p,loginRoutes:()=>h});var i=r(8102),e=r(3184),m=r(9720),s=r(587),g=r(2748),f=r(6362),v=r(7890),C=r(7514);function M(o,t){1&o&&(e.TgZ(0,"span"),e._uU(1,"vendure"),e.qZA())}function x(o,t){1&o&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function b(o,t){if(1&o&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,x,2,0,"span",4),e.qZA()),2&o){const n=e.oxw();e.xp6(1),e.hij("",n.brand," "),e.xp6(1),e.Q6J("ngIf",!n.hideVendureBranding||!n.hideVersion)}}function _(o,t){1&o&&(e.TgZ(0,"span"),e._uU(1,"vendure"),e.qZA())}function y(o,t){if(1&o&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&o){const n=e.oxw();e.xp6(1),e.hij("v",n.version,"")}}class c{constructor(t,n){this.authService=t,this.router=n,this.username="",this.password="",this.rememberMe=!1,this.version=i.s5M,this.brand=(0,i.hq7)().brand,this.hideVendureBranding=(0,i.hq7)().hideVendureBranding,this.hideVersion=(0,i.hq7)().hideVersion}logIn(){this.errorMessage=void 0,this.authService.logIn(this.username,this.password,this.rememberMe).subscribe(t=>{switch(t.__typename){case"CurrentUser":const n=this.getRedirectRoute();this.router.navigateByUrl(n||"/");break;case"InvalidCredentialsError":case"NativeAuthStrategyError":this.errorMessage=t.message}})}getRedirectRoute(){let t;const n=new RegExp(`${i.ONw}=(.*)`);try{const a=window.location.search.match(n);a&&1<a.length&&(t=atob(decodeURIComponent(a[1])))}catch(a){}return t}}c.\u0275fac=function(t){return new(t||c)(e.Y36(i.e80),e.Y36(m.F0))},c.\u0275cmp=e.Xpm({type:c,selectors:[["vdr-login"]],decls:26,vars:25,consts:[[1,"login-wrapper"],[1,"login"],[1,"title"],["src","assets/logo-300px.png"],[4,"ngIf"],[1,"login-group"],["type","text","name","username","id","login_username",1,"username",3,"ngModel","placeholder","ngModelChange"],["name","password","type","password","id","login_password",1,"password",3,"ngModel","placeholder","ngModelChange"],[1,"login-error",3,"clrAlertType","clrAlertClosable"],[1,"alert-text"],["type","checkbox","clrCheckbox","","id","rememberme","name","rememberme",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled","click"],[1,"version"]],template:function(t,n){1&t&&(e.TgZ(0,"div",0)(1,"form",1)(2,"label",2),e._UZ(3,"img",3),e.YNc(4,M,2,0,"span",4),e.qZA(),e.TgZ(5,"div",5)(6,"input",6),e.NdJ("ngModelChange",function(d){return n.username=d}),e.ALo(7,"translate"),e.qZA(),e.TgZ(8,"input",7),e.NdJ("ngModelChange",function(d){return n.password=d}),e.ALo(9,"translate"),e.qZA(),e.TgZ(10,"clr-alert",8)(11,"clr-alert-item")(12,"span",9),e._uU(13),e.qZA()()(),e.TgZ(14,"clr-checkbox-wrapper")(15,"input",10),e.NdJ("ngModelChange",function(d){return n.rememberMe=d}),e.qZA(),e.TgZ(16,"label"),e._uU(17),e.ALo(18,"translate"),e.qZA()(),e.TgZ(19,"button",11),e.NdJ("click",function(){return n.logIn()}),e._uU(20),e.ALo(21,"translate"),e.qZA()(),e.TgZ(22,"div",12),e.YNc(23,b,3,2,"span",4),e.YNc(24,_,2,0,"span",4),e.YNc(25,y,2,1,"span",4),e.qZA()()()),2&t&&(e.xp6(4),e.Q6J("ngIf",!n.hideVendureBranding),e.xp6(2),e.Q6J("ngModel",n.username)("placeholder",e.lcZ(7,17,"common.username")),e.xp6(2),e.Q6J("ngModel",n.password)("placeholder",e.lcZ(9,19,"common.password")),e.xp6(2),e.ekj("visible",n.errorMessage),e.Q6J("clrAlertType","danger")("clrAlertClosable",!1),e.xp6(3),e.hij(" ",n.errorMessage," "),e.xp6(2),e.Q6J("ngModel",n.rememberMe),e.xp6(2),e.Oqu(e.lcZ(18,21,"common.remember-me")),e.xp6(2),e.Q6J("disabled",!n.username||!n.password),e.xp6(1),e.hij(" ",e.lcZ(21,23,"common.login")," "),e.xp6(3),e.Q6J("ngIf",n.brand),e.xp6(1),e.Q6J("ngIf",!n.hideVendureBranding),e.xp6(1),e.Q6J("ngIf",!n.hideVersion))},directives:[s._Y,s.JL,s.F,g.MgK,f.O5,v.y,s.Fj,s.JJ,s.On,g.TIm,g.CyW,g.I9z,g.PEh,s.Wl,g.KKC],pipes:[C.X$],styles:[".login-wrapper[_ngcontent-%COMP%]{background-image:linear-gradient(135deg,var(--color-login-gradient-top),var(--color-login-gradient-bottom)),var(--login-page-bg);background-blend-mode:screen;background-repeat:repeat;background-size:auto;background-position:initial;justify-content:center}@media screen and (max-width: 768px){.login-wrapper[_ngcontent-%COMP%]{justify-content:center;background-color:transparent}.login-wrapper[_ngcontent-%COMP%] .login[_ngcontent-%COMP%]{margin:20px;padding:24px}}.login[_ngcontent-%COMP%]{margin:5vh 0;border-radius:6px;min-height:90vh;max-height:800px}.title[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:8vh}.title[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;width:150px}.title[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding-top:12px;font-weight:700;color:var(--color-primary-500);font-size:38px}.version[_ngcontent-%COMP%]{flex:1;display:flex;align-items:flex-end;justify-content:center;color:var(--color-grey-300)}.version[_ngcontent-%COMP%] span[_ngcontent-%COMP%] + span[_ngcontent-%COMP%]{margin-left:5px}.login-error[_ngcontent-%COMP%]{max-height:0;overflow:hidden}.login-error.visible[_ngcontent-%COMP%]{max-height:46px;transition:max-height .2s;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;animation-delay:.2s;transform:translate(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}"]});var Z=r(635);class l{constructor(t,n){this.router=t,this.authService=n}canActivate(t){return this.authService.checkAuthenticatedStatus().pipe((0,Z.U)(n=>(n&&this.router.navigate(["/"]),!n)))}}l.\u0275fac=function(t){return new(t||l)(e.LFG(m.F0),e.LFG(i.e80))},l.\u0275prov=e.Yz7({token:l,factory:l.\u0275fac,providedIn:"root"});const h=[{path:"",component:c,pathMatch:"full",canActivate:[l]}];class p{}p.\u0275fac=function(t){return new(t||p)},p.\u0275mod=e.oAB({type:p}),p.\u0275inj=e.cJS({imports:[[i.m81,m.Bz.forChild(h)]]})}}]);
|
|
2
|
+
//# sourceMappingURL=625.ed9ce3bf64237de8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"gTAIYA,gBAAmCA,mBAAOA,+BA8CVA,gBAAmDA,aAACA,kCAApFA,gBAAoBA,SAAYA,wBAA2DA,8BAAvEA,+BAAmBA,qFACvCA,gBAAmCA,mBAAOA,kCAC1CA,gBAA2BA,SAAcA,8BAAdA,kCC3ChC,QAUHC,YAAoBC,EAAkCC,GAAlCC,mBAAkCA,cATtDA,cAAW,GACXA,cAAW,GACXA,iBAAa,EACbA,aAAUC,MAEVD,YAAQ,WAAeE,MACvBF,4BAAsBC,SAAeE,oBACrCH,oBAAcC,SAAeG,YAI7BC,QACIL,KAAKM,kBAAe,EACpBN,KAAKO,YAAYF,MAAML,KAAKQ,SAAUR,KAAKS,SAAUT,KAAKU,YAAYC,UAAUb,IAC5E,OAAQA,EAAOc,gBACN,cACD,MAAMb,EAAWC,KAAKa,mBACtBb,KAAKc,OAAOC,cAAchB,GAAsB,KAChD,UACC,8BACA,0BACDC,KAAKM,aAAeR,EAAOkB,WAUnCH,mBACJ,IAAIf,EACJ,MAAMC,EAAK,IAAIkB,OAAO,GAAGhB,cACzB,IACI,MAAMiB,EAAkBC,OAAOC,SAASC,OAAOC,MAAMvB,GACjDmB,GAAmB,EAAIA,EAAgBK,SACvCzB,EAAa0B,KAAKC,mBAAmBP,EAAgB,YAEpDA,IAGT,OAAOpB,yCA3CF4B,GAAc9B,mDAAd8B,EAAcC,qpBDT3B/B,iBAA2B,WAA3BA,CAA2B,aAGfA,iBACAA,wBACJA,QACAA,iBAAyB,aAMjBA,6EALJA,QAQAA,mBAKIA,6EALJA,QAQAA,wBAAoH,oBAApHA,CAAoH,aAGxGA,UACJA,YAGRA,iCAAsB,eAMdA,0DALJA,QAOAA,kBAAOA,gCAAsCA,UAEjDA,sBAGIA,gCAASG,YAGTH,gCACJA,UAEJA,mBACIA,yBACAA,yBACAA,yBACJA,mBAjDWA,8CAQHA,qCAAsB,6CAQtBA,qCAAsB,6CAGuCA,yCAAtDA,+BAAyB,uBAGxBA,uCAUJA,uCAEGA,kDAMPA,oDAEAA,oDAIGA,+BACAA,8CACAA,mvDExCZ,QACHC,YAAoBC,EAAwBC,GAAxBC,cAAwBA,mBAE5C4B,YAAY9B,GACR,OAAOE,KAAKO,YAAYsB,2BAA2BC,QAC/CC,KAAIhC,IACIA,GACAC,KAAKc,OAAOkB,SAAS,CAAC,OAElBjC,4CATXkC,GAAUrC,qDAAVqC,EAAUC,QAAVD,EAAU,qBAFP,SCLT,MAAME,EAAsB,CAC/B,CACIC,KAAM,GACNC,UAAWX,EACXY,UAAW,OACXV,YAAa,CAACK,KCEf,+CAAMM,4DAJA,CAACtC,MAAcuC,cAAsBL","names":["e","constructor","t","n","this","i","brand","hideVendureBranding","hideVersion","logIn","errorMessage","authService","username","password","rememberMe","subscribe","__typename","getRedirectRoute","router","navigateByUrl","message","RegExp","a","window","location","search","match","length","atob","decodeURIComponent","c","selectors","canActivate","checkAuthenticatedStatus","pipe","Z","navigate","l","factory","h","path","component","pathMatch","p","m"],"sources":["./src/lib/login/src/components/login/login.component.html","./src/lib/login/src/components/login/login.component.ts","./src/lib/login/src/providers/login.guard.ts","./src/lib/login/src/login.routes.ts","./src/lib/login/src/login.module.ts"],"sourcesContent":["<div class=\"login-wrapper\">\r\n <form class=\"login\">\r\n <label class=\"title\">\r\n <img src=\"assets/logo-300px.png\" />\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n </label>\r\n <div class=\"login-group\">\r\n <input\r\n class=\"username\"\r\n type=\"text\"\r\n name=\"username\"\r\n id=\"login_username\"\r\n [(ngModel)]=\"username\"\r\n [placeholder]=\"'common.username' | translate\"\r\n />\r\n <input\r\n class=\"password\"\r\n name=\"password\"\r\n type=\"password\"\r\n id=\"login_password\"\r\n [(ngModel)]=\"password\"\r\n [placeholder]=\"'common.password' | translate\"\r\n />\r\n <clr-alert [clrAlertType]=\"'danger'\" [clrAlertClosable]=\"false\" [class.visible]=\"errorMessage\" class=\"login-error\">\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ errorMessage }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n id=\"rememberme\"\r\n name=\"rememberme\"\r\n [(ngModel)]=\"rememberMe\"\r\n />\r\n <label>{{ 'common.remember-me' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n (click)=\"logIn()\"\r\n [disabled]=\"!username || !password\"\r\n >\r\n {{ 'common.login' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"version\">\r\n <span *ngIf=\"brand\">{{ brand }} <span *ngIf=\"!hideVendureBranding || !hideVersion\">-</span></span>\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n <span *ngIf=\"!hideVersion\">v{{ version }}</span>\r\n </div>\r\n </form>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ADMIN_UI_VERSION, AuthService, AUTH_REDIRECT_PARAM, getAppConfig } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent {\r\n username = '';\r\n password = '';\r\n rememberMe = false;\r\n version = ADMIN_UI_VERSION;\r\n errorMessage: string | undefined;\r\n brand = getAppConfig().brand;\r\n hideVendureBranding = getAppConfig().hideVendureBranding;\r\n hideVersion = getAppConfig().hideVersion;\r\n\r\n constructor(private authService: AuthService, private router: Router) {}\r\n\r\n logIn(): void {\r\n this.errorMessage = undefined;\r\n this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => {\r\n switch (result.__typename) {\r\n case 'CurrentUser':\r\n const redirect = this.getRedirectRoute();\r\n this.router.navigateByUrl(redirect ? redirect : '/');\r\n break;\r\n case 'InvalidCredentialsError':\r\n case 'NativeAuthStrategyError':\r\n this.errorMessage = result.message;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Attempts to read a redirect param from the current url and parse it into a\r\n * route from which the user was redirected after a 401 error.\r\n */\r\n private getRedirectRoute(): string | undefined {\r\n let redirectTo: string | undefined;\r\n const re = new RegExp(`${AUTH_REDIRECT_PARAM}=(.*)`);\r\n try {\r\n const redirectToParam = window.location.search.match(re);\r\n if (redirectToParam && 1 < redirectToParam.length) {\r\n redirectTo = atob(decodeURIComponent(redirectToParam[1]));\r\n }\r\n } catch (e: any) {\r\n // ignore\r\n }\r\n return redirectTo;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\r\nimport { AuthService } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n/**\r\n * This guard prevents loggen-in users from navigating to the login screen.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoginGuard implements CanActivate {\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean> {\r\n return this.authService.checkAuthenticatedStatus().pipe(\r\n map(authenticated => {\r\n if (authenticated) {\r\n this.router.navigate(['/']);\r\n }\r\n return !authenticated;\r\n }),\r\n );\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LoginGuard } from './providers/login.guard';\r\n\r\nexport const loginRoutes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n pathMatch: 'full',\r\n canActivate: [LoginGuard],\r\n },\r\n];\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@vendure/admin-ui/core';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { loginRoutes } from './login.routes';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule.forChild(loginRoutes)],\r\n exports: [],\r\n declarations: [LoginComponent],\r\n})\r\nexport class LoginModule {}\r\n"],"sourceRoot":"webpack:///","file":"625.
|
|
1
|
+
{"version":3,"mappings":"gTAIYA,gBAAmCA,mBAAOA,+BA8CVA,gBAAmDA,aAACA,kCAApFA,gBAAoBA,SAAYA,wBAA2DA,8BAAvEA,+BAAmBA,qFACvCA,gBAAmCA,mBAAOA,kCAC1CA,gBAA2BA,SAAcA,8BAAdA,kCC3ChC,QAUHC,YAAoBC,EAAkCC,GAAlCC,mBAAkCA,cATtDA,cAAW,GACXA,cAAW,GACXA,iBAAa,EACbA,aAAUC,MAEVD,YAAQ,WAAeE,MACvBF,4BAAsBC,SAAeE,oBACrCH,oBAAcC,SAAeG,YAI7BC,QACIL,KAAKM,kBAAe,EACpBN,KAAKO,YAAYF,MAAML,KAAKQ,SAAUR,KAAKS,SAAUT,KAAKU,YAAYC,UAAUb,IAC5E,OAAQA,EAAOc,gBACN,cACD,MAAMb,EAAWC,KAAKa,mBACtBb,KAAKc,OAAOC,cAAchB,GAAsB,KAChD,UACC,8BACA,0BACDC,KAAKM,aAAeR,EAAOkB,WAUnCH,mBACJ,IAAIf,EACJ,MAAMC,EAAK,IAAIkB,OAAO,GAAGhB,cACzB,IACI,MAAMiB,EAAkBC,OAAOC,SAASC,OAAOC,MAAMvB,GACjDmB,GAAmB,EAAIA,EAAgBK,SACvCzB,EAAa0B,KAAKC,mBAAmBP,EAAgB,YAEpDA,IAGT,OAAOpB,yCA3CF4B,GAAc9B,mDAAd8B,EAAcC,qpBDT3B/B,iBAA2B,WAA3BA,CAA2B,aAGfA,iBACAA,wBACJA,QACAA,iBAAyB,aAMjBA,6EALJA,QAQAA,mBAKIA,6EALJA,QAQAA,wBAAoH,oBAApHA,CAAoH,aAGxGA,UACJA,YAGRA,iCAAsB,eAMdA,0DALJA,QAOAA,kBAAOA,gCAAsCA,UAEjDA,sBAGIA,gCAASG,YAGTH,gCACJA,UAEJA,mBACIA,yBACAA,yBACAA,yBACJA,mBAjDWA,8CAQHA,qCAAsB,6CAQtBA,qCAAsB,6CAGuCA,yCAAtDA,+BAAyB,uBAGxBA,uCAUJA,uCAEGA,kDAMPA,oDAEAA,oDAIGA,+BACAA,8CACAA,mvDExCZ,QACHC,YAAoBC,EAAwBC,GAAxBC,cAAwBA,mBAE5C4B,YAAY9B,GACR,OAAOE,KAAKO,YAAYsB,2BAA2BC,QAC/CC,KAAIhC,IACIA,GACAC,KAAKc,OAAOkB,SAAS,CAAC,OAElBjC,4CATXkC,GAAUrC,qDAAVqC,EAAUC,QAAVD,EAAU,qBAFP,SCLT,MAAME,EAAsB,CAC/B,CACIC,KAAM,GACNC,UAAWX,EACXY,UAAW,OACXV,YAAa,CAACK,KCEf,+CAAMM,4DAJA,CAACtC,MAAcuC,cAAsBL","names":["e","constructor","t","n","this","i","brand","hideVendureBranding","hideVersion","logIn","errorMessage","authService","username","password","rememberMe","subscribe","__typename","getRedirectRoute","router","navigateByUrl","message","RegExp","a","window","location","search","match","length","atob","decodeURIComponent","c","selectors","canActivate","checkAuthenticatedStatus","pipe","Z","navigate","l","factory","h","path","component","pathMatch","p","m"],"sources":["./src/lib/login/src/components/login/login.component.html","./src/lib/login/src/components/login/login.component.ts","./src/lib/login/src/providers/login.guard.ts","./src/lib/login/src/login.routes.ts","./src/lib/login/src/login.module.ts"],"sourcesContent":["<div class=\"login-wrapper\">\r\n <form class=\"login\">\r\n <label class=\"title\">\r\n <img src=\"assets/logo-300px.png\" />\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n </label>\r\n <div class=\"login-group\">\r\n <input\r\n class=\"username\"\r\n type=\"text\"\r\n name=\"username\"\r\n id=\"login_username\"\r\n [(ngModel)]=\"username\"\r\n [placeholder]=\"'common.username' | translate\"\r\n />\r\n <input\r\n class=\"password\"\r\n name=\"password\"\r\n type=\"password\"\r\n id=\"login_password\"\r\n [(ngModel)]=\"password\"\r\n [placeholder]=\"'common.password' | translate\"\r\n />\r\n <clr-alert [clrAlertType]=\"'danger'\" [clrAlertClosable]=\"false\" [class.visible]=\"errorMessage\" class=\"login-error\">\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ errorMessage }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n id=\"rememberme\"\r\n name=\"rememberme\"\r\n [(ngModel)]=\"rememberMe\"\r\n />\r\n <label>{{ 'common.remember-me' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n (click)=\"logIn()\"\r\n [disabled]=\"!username || !password\"\r\n >\r\n {{ 'common.login' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"version\">\r\n <span *ngIf=\"brand\">{{ brand }} <span *ngIf=\"!hideVendureBranding || !hideVersion\">-</span></span>\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n <span *ngIf=\"!hideVersion\">v{{ version }}</span>\r\n </div>\r\n </form>\r\n</div>\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ADMIN_UI_VERSION, AuthService, AUTH_REDIRECT_PARAM, getAppConfig } from '@vendure/admin-ui/core';\r\n\r\n@Component({\r\n selector: 'vdr-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss'],\r\n})\r\nexport class LoginComponent {\r\n username = '';\r\n password = '';\r\n rememberMe = false;\r\n version = ADMIN_UI_VERSION;\r\n errorMessage: string | undefined;\r\n brand = getAppConfig().brand;\r\n hideVendureBranding = getAppConfig().hideVendureBranding;\r\n hideVersion = getAppConfig().hideVersion;\r\n\r\n constructor(private authService: AuthService, private router: Router) {}\r\n\r\n logIn(): void {\r\n this.errorMessage = undefined;\r\n this.authService.logIn(this.username, this.password, this.rememberMe).subscribe(result => {\r\n switch (result.__typename) {\r\n case 'CurrentUser':\r\n const redirect = this.getRedirectRoute();\r\n this.router.navigateByUrl(redirect ? redirect : '/');\r\n break;\r\n case 'InvalidCredentialsError':\r\n case 'NativeAuthStrategyError':\r\n this.errorMessage = result.message;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Attempts to read a redirect param from the current url and parse it into a\r\n * route from which the user was redirected after a 401 error.\r\n */\r\n private getRedirectRoute(): string | undefined {\r\n let redirectTo: string | undefined;\r\n const re = new RegExp(`${AUTH_REDIRECT_PARAM}=(.*)`);\r\n try {\r\n const redirectToParam = window.location.search.match(re);\r\n if (redirectToParam && 1 < redirectToParam.length) {\r\n redirectTo = atob(decodeURIComponent(redirectToParam[1]));\r\n }\r\n } catch (e: any) {\r\n // ignore\r\n }\r\n return redirectTo;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';\r\nimport { AuthService } from '@vendure/admin-ui/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n/**\r\n * This guard prevents loggen-in users from navigating to the login screen.\r\n */\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoginGuard implements CanActivate {\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable<boolean> {\r\n return this.authService.checkAuthenticatedStatus().pipe(\r\n map(authenticated => {\r\n if (authenticated) {\r\n this.router.navigate(['/']);\r\n }\r\n return !authenticated;\r\n }),\r\n );\r\n }\r\n}\r\n","import { Routes } from '@angular/router';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { LoginGuard } from './providers/login.guard';\r\n\r\nexport const loginRoutes: Routes = [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n pathMatch: 'full',\r\n canActivate: [LoginGuard],\r\n },\r\n];\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@vendure/admin-ui/core';\r\n\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { loginRoutes } from './login.routes';\r\n\r\n@NgModule({\r\n imports: [SharedModule, RouterModule.forChild(loginRoutes)],\r\n exports: [],\r\n declarations: [LoginComponent],\r\n})\r\nexport class LoginModule {}\r\n"],"sourceRoot":"webpack:///","file":"625.ed9ce3bf64237de8.js"}
|