PageSourceSearch

https://nomadcoder.ai/chunk-J7TKOAWX.js

js nomadcoder.ai collected 2026-10-05 12:51:31 UTC 3,250 bytes, 1 lines download raw bytes

1import{a as O}from"./chunk-MBG3KDLF.js";import{a as N}from"./chunk-46QQANRT.js";import{a as q}from"./chunk-BJCSK3HU.js";import{a as I,c as A}from"./chunk-F4U6BI36.js";import"./chunk-MKPGXLU3.js";import{a as w,c as D,d as F}from"./chunk-EJZN4YPJ.js";import{a as M}from"./chunk-GTNWINO6.js";import"./chunk-5G2M5KKC.js";import{a as E}from"./chunk-MOT2TO6I.js";import"./chunk-MGOEHGW5.js";import{o as L}from"./chunk-UZWJ6FRS.js";import{$b as R,Ab as p,Bb as l,Cb as i,Db as T,Lb as B,Nb as s,Pa as a,V as o,Xb as g,Zb as c,db as b,fc as m,gc as S,kb as v,pb as x,q as f,qb as h,rb as P,rc as y,ub as u,va as _,vb as d,yb as k,zb as C}from"./chunk-OGPK5ZED.js";var j=()=>[import("./chunk-63BSM4EP.js").then(e=>e.BlogListing)],U=()=>[],G=()=>({category:null}),H=e=>({category:e}),W=(e,r)=>r.id;function z(e,r){if(e&1&&(l(0,"a",5),c(1),i()),e&2){let t=s().$implicit,n=s(2);g("btn-dark",n.categoryParam()===t.slug)("btn-outline-dark",n.categoryParam()!==t.slug),p("routerLink",m(7,U))("queryParams",S(8,H,t.slug)),a(),R(" ",t.name," ")}}function J(e,r){if(e&1&&u(0,z,2,10,"a",6),e&2){let t=r.$implicit;d(t.slug?0:-1)}}function K(e,r){if(e&1&&(l(0,"div",4)(1,"a",5),c(2," All "),i(),k(3,J,1,1,null,null,W),i()),e&2){let t=s();a(),g("btn-dark",!t.categoryParam())("btn-outline-dark",t.categoryParam()),p("routerLink",m(6,U))("queryParams",m(7,G)),a(2),C(t.categories())}}function Q(e,r){if(e&1&&T(0,"app-blog-listing",7),e&2){let t=s();p("posts",t.posts())}}var $=class e{blogLoader=o(q);blogTaxonomy=o(O);seo=o(M);router=o(D);route=o(w);authService=o(A);platformId=o(_);categoryParam=N(this.route.queryParamMap.pipe(f(r=>r.get("category")??void 0)));postsResource=this.blogLoader.getPosts(!1,this.categoryParam);categoriesResource=this.blogTaxonomy.getCategories();categories=y(()=>this.categoriesResource.status()==="resolved"?this.categoriesResource.value():[]);posts=y(()=>this.postsResource.status()==="resolved"?this.postsResource.value():[]);constructor(){this.seo.setPageMeta({title:"Articles | nomadcoder",description:"Read articles on Angular, TypeScript, career growth, and developer community.",canonicalUrl:`${E.siteUrl}/articles`})}writeBlog(){if(!this.authService.activeUser().id){L(this.platformId)&&localStorage.setItem(I,"/article/write"),this.router.navigate(["/login"]);return}this.router.navigate(["/article/write"])}static \u0275fac=function(t){return new(t||e)};static \u0275cmp=b({type:e,selectors:[["app-blogs"]],decls:10,vars:1,consts:[[1,"container","my-4"],[1,"d-flex","flex-wrap","justify-content-between","align-items-center","gap-3","mb-4"],[1,"section-title","left","nmc-dark-grey","mb-0"],["type","button",1,"btn","btn-danger","br-0","px-4","py-2",3,"click"],[1,"d-flex","flex-wrap","gap-2","mb-4"],[1,"btn","rounded-pill","px-4","py-1",3,"routerLink","queryParams"],[1,"btn","rounded-pill","px-4","py-1",3,"routerLink","queryParams","btn-dark","btn-outline-dark"],[3,"posts"]],template:function(t,n){t&1&&(l(0,"div",0)(1,"div",1)(2,"h2",2),c(3,"Articles"),i(),l(4,"button",3),B("click",function(){return n.writeBlog()}),c(5," Write "),i()(),u(6,K,5,8,"div",4),i(),v(7,Q,1,1),x(8,7,j,null,null,null,null,null,null,1),P(),h()),t&2&&(a(6),d(n.categories().length>0?6:-1))},dependencies:[F],encapsulation:2})};export{$ as Blogs};

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.