PageSourceSearch

https://tudienav.com/_nuxt/CEparTGl.js

js tudienav.com collected 2026-10-02 01:48:38 UTC 3,305 bytes, 1 lines download raw bytes

1import{_ as g}from"./XfmX3Fr0.js";import{u as _}from"./Cwj1v93E.js";import{_ as v,u as y,g as b,o as n,c as s,a as t,F as f,r as A,l as k,w as T,t as c,k as x,q as h}from"./tzJnjie6.js";const V={class:"font-sans"},w={class:"content container"},L={key:0,class:"loading"},D={key:1,class:"empty"},B={key:2,class:"grid"},C={class:"cover"},K=["src","alt"],N={key:1,class:"cover-placeholder"},H={class:"badge"},I={class:"body"},M={key:0},d="https://tudienav.com",O={__name:"index",setup(S){const{get:p}=_(),r=h([]),l=h(!0),a=`${d}/categories`;y({title:"Danh mục bài viết",meta:[{name:"description",content:"Khám phá tất cả danh mục bài viết học tiếng Anh của TudienAV: ngữ pháp, từ vựng, phát âm và nhiều chủ đề hữu ích khác."},{name:"robots",content:"index, follow"},{property:"og:title",content:"Danh mục bài viết | TudienAV"},{property:"og:description",content:"Khám phá các chủ đề học tiếng Anh được phân loại rõ ràng trên TudienAV – Từ Điển Anh Việt."},{property:"og:type",content:"website"},{property:"og:url",content:a},{name:"twitter:card",content:"summary"},{name:"twitter:title",content:"Danh mục bài viết | TudienAV"},{name:"twitter:description",content:"Khám phá các chủ đề học tiếng Anh được phân loại rõ ràng trên TudienAV."}],link:[{rel:"canonical",href:a}],script:[{type:"application/ld+json",innerHTML:JSON.stringify({"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Trang chủ",item:d},{"@type":"ListItem",position:2,name:"Danh mục bài viết",item:a}]})},{type:"application/ld+json",innerHTML:JSON.stringify({"@context":"https://schema.org","@type":"CollectionPage",name:"Danh mục bài viết | TudienAV",description:"Khám phá tất cả danh mục bài viết học tiếng Anh của TudienAV.",url:a,publisher:{"@type":"Organization",name:"TudienAV",url:d}})}]});async function m(){l.value=!0;try{const o=await p("/categories",{},!1);r.value=o&&(o.items||o.data)||[]}catch(o){console.error("load categories failed",o)}finally{l.value=!1}}return b(m),(o,i)=>{const u=g;return n(),s("div",V,[i[3]||(i[3]=t("section",{class:"hero"},[t("div",{class:"container"},[t("h1",{class:"hero-title"},"Danh mục bài viết"),t("p",{class:"hero-sub"},"Khám phá các chủ đề học tiếng Anh được phân loại rõ ràng, giúp bạn dễ dàng tìm đúng nội dung cần học.")])],-1)),t("section",w,[l.value?(n(),s("div",L,[...i[0]||(i[0]=[t("div",{class:"spinner"},null,-1)])])):r.value.length?(n(),s("div",B,[(n(!0),s(f,null,A(r.value,e=>(n(),k(u,{key:e.id,to:`/categories/${e.slug}`,class:"card"},{default:T(()=>[t("div",C,[e.cover_image?(n(),s("img",{key:0,src:e.cover_image,alt:e.name,loading:"lazy",width:"400",height:"225"},null,8,K)):(n(),s("div",N,[t("span",null,c((e.name||"?").charAt(0).toUpperCase()),1)])),t("span",H,c(e.post_count??0)+" bài viết",1)]),t("div",I,[t("h3",null,c(e.name),1),e.description?(n(),s("p",M,c(e.description),1)):x("",!0),i[2]||(i[2]=t("span",{class:"read-more"},"Xem danh mục →",-1))])]),_:2},1032,["to"]))),128))])):(n(),s("div",D,[...i[1]||(i[1]=[t("p",null,"Chưa có danh mục nào",-1)])]))])])}}},E=v(O,[["__scopeId","data-v-e827a3b4"]]);export{E 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.