PageSourceSearch

https://tn-cdn.trangnguyen.edu.vn/assets/NewsAdsBanner-v-D5LBiBxh.js

js trangnguyen.edu.vn collected 2026-09-24 11:18:07 UTC 8,301 bytes, 1 lines download raw bytes

1import{j as e}from"./jsx-runtime-v-CSYJwhbb.js";import{r as m,c as G,R,d as H,L as T}from"./chunk-WWGJGFF6-v-Bn9-2gQr.js";import{h as V}from"./Dialog-v-hbu0SSXY.js";import{S as W}from"./hamburger-menu-v-BzPaCaJl.js";import{e as $,k as Q,l as U}from"./tn-store-v-l8eKr0j3.js";import{D as Y,a as Z,b as z,c as K,d as J}from"./Dialog-v-B_ftH70W.js";import{E as X,a as ee,b as te,c as ne,d as re}from"./EmblaCarousel-v-CS1spli1.js";import{B as _}from"./Button-v-DY5GBi19.js";import{u as se,S as oe}from"./SearchField-v-CQqHOWWb.js";import{I as y}from"./Icon-v-SNrliBJ5.js";import{S as ae}from"./search-v-D8d4feFK.js";import{a as ie,N as le}from"./NotFound-v-DeeOLl56.js";import{S as F}from"./Spinner-v-CI7Ut1u-.js";import{B as p,a as f,c as ce,s as j}from"./layout-footer-v-DHPsMJuE.js";import{C as ue,F as de}from"./center-v-35whLoby.js";import{u as me}from"./QueryClientProvider-v-B8cwh21s.js";import{r as M}from"./data-v-CmVE1AJG.js";import{u as he}from"./useDebounceCallback-v-voeinw7F.js";import{u as ge}from"./auth-v-D-znL3vq.js";import{g as E}from"./image-v-KkE_RjvW.js";import{M as pe,a as xe}from"./Menu-v-gkwD11Ne.js";import{t as fe,c as be}from"./Tabs-v-CGKzVQFd.js";import{H as je}from"./HiddenBySize-v-BNoe3fON.js";const Ne={"thong-bao-quan-trong":"tbqt","hoat-dong-su-kien":"hdsk","thong-tin-huu-ich":"tthi","bang-tin-tong-hop":"btth","cong-van-the-le":"cvtl"},Se={"thong-bao-quan-trong":"Trạng Nguyên Tiếng Việt","hoat-dong-su-kien":"Trạng Nguyên Toàn Tài","thong-tin-huu-ich":"Tin tức Trạng Nguyên","bang-tin-tong-hop":"Chương trình ưu đãi","cong-van-the-le":"Sân chơi Toán học"},k={"thong-bao-quan-trong":"trang-nguyen-tieng-viet","hoat-dong-su-kien":"trang-nguyen-toan-tai","thong-tin-huu-ich":"tin-tuc-trang-nguyen","bang-tin-tong-hop":"chuong-trinh-uu-dai","cong-van-the-le":"san-choi-toan-hoc"},A={"trang-nguyen-tieng-viet":"thong-bao-quan-trong","trang-nguyen-toan-tai":"hoat-dong-su-kien","tin-tuc-trang-nguyen":"thong-tin-huu-ich","chuong-trinh-uu-dai":"bang-tin-tong-hop","san-choi-toan-hoc":"cong-van-the-le"},et=n=>{if(n)return n in Ne?n:A[n]},ye=n=>{if(n){if(n in k)return k[n];if(n in A)return n}},ke=n=>m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24",...n},m.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M13.913 12.851h-3.825a.75.75 0 0 1 0-1.5h3.825a.75.75 0 0 1 0 1.5Zm0 3.9h-3.825a.75.75 0 0 1 0-1.5h3.825a.75.75 0 0 1 0 1.5Zm7.708-7.449L14.093 3.34a3.377 3.377 0 0 0-4.187.002L2.38 9.302a1 1 0 0 0 1.24 1.569l.127-.1v6.806c0 2.1 1.71 3.809 3.814 3.809h8.879a3.816 3.816 0 0 0 3.814-3.809v-6.806l.126.1a1 1 0 0 0 1.241-1.569Z",clipRule:"evenodd"})),ve=({hasFiltered:n,isPending:o,data:r,renderItem:t=()=>null})=>{var l,i,a;return o?e.jsx(ue,{children:e.jsx(F,{})}):n&&(r!=null&&r.pages)&&!((i=(l=r==null?void 0:r.pages[0])==null?void 0:l.data.posts)!=null&&i.length)?e.jsx(ie,{}):e.jsx(e.Fragment,{children:(a=r==null?void 0:r.pages)==null?void 0:a.map((h,c)=>{var u;return e.jsx(p,{children:(u=h.data.posts)==null?void 0:u.map((d,g)=>t(d,g))},c)})})},Ce=(n={})=>{const o=me(),{categoryId:r}=G(),t=["getV5News2Search",M(n)];return $({mutation:{onMutate:async l=>{await o.cancelQueries({queryKey:t});const i=o.getQueryData(t);return o.setQueryData(t,a=>a&&{...a,pages:a.pages.map(c=>{var u;return{...c,data:{posts:(u=c.data.posts)==null?void 0:u.map(d=>d.id===l.data.postId?{...d,isBookmarked:!d.isBookmarked}:d)}}})}),i},onSuccess:()=>{r&&o.setQueryData(t,l=>l&&{...l,pages:l.pages.map(a=>{var c;const h=n.isBookmarked?(c=a.data.posts)==null?void 0:c.filter(u=>u.isBookmarked):a.data.posts;return{...a,data:{posts:h}}})})},onError:(l,i,a)=>{r&&o.setQueryData(t,a)}}})},B=1,P=5,we=(n,o)=>{const r=M(n);return se({queryKey:["getV5News2Search",r],queryFn:({pageParam:t})=>Q({...r,page:t||B,limit:n.limit||P}),initialPageParam:B,enabled:!!(o!=null&&o.enabled),getNextPageParam:(t,l,i)=>{var c,u;const a=Math.ceil(Number((c=t.metadata)==null?void 0:c.total)/P);return Number((u=t.metadata)==null?void 0:u.page)<a?i+1:void 0}})},I=5,Te=()=>{const n=ge(),[o,r]=R.useState(!1),[t,l]=m.useState(""),[i,a]=m.useState([]),h=H(),c=m.useRef(null),u=he(l),{data:d}=U({query:{enabled:o,staleTime:1/0}}),{data:g,isLoading:q,isFetchingNextPage:N,hasNextPage:v,fetchNextPage:C}=we({searchText:t,tagIds:i.join(","),limit:I},{enabled:o&&(!!t||!!i.length)}),{mutate:w}=Ce({searchText:t,tagIds:i.join(","),limit:I}),O=m.useCallback(s=>{w({data:{postId:s}},{onSuccess:()=>{h(`${window.location.pathname}${window.location.search}`,{state:{toogleBookmarkId:s}})}})},[w,h]),D=s=>
1{i.includes(s.id)?a(i.filter(x=>x!==s.id)):a([...i,s.id])},S=m.useCallback(()=>{if(!c.current||!v||N)return;const{scrollTop:s,scrollHeight:x,clientHeight:b}=c.current;s+b>=x-20&&C()},[C,v,N]);return m.useEffect(()=>{o||(l(""),a([]))},[o]),m.useEffect(()=>{const s=c.current;if(s)return s.addEventListener("scroll",S),()=>s.removeEventListener("scroll",S)},[S]),e.jsxs(e.Fragment,{children:[e.jsx(_,{variant:"icon",onPress:()=>r(!0),children:e.jsx(y,{children:e.jsx(ae,{})})}),e.jsx(Y,{isOpen:o,onOpenChange:s=>r(s),children:e.jsx(Z,{children:e.jsx(z,{className:f({maxW:"xl"}),children:e.jsxs(e.Fragment,{children:[e.jsx(K,{children:e.jsx(J,{children:"Tìm kiếm bài viết"})}),e.jsxs(p,{display:"grid",w:"full",overflow:"hidden",children:[e.jsx(p,{p:4,children:e.jsx(oe,{defaultValue:t,onChange:u,label:"Nhập nội dung tìm kiếm"})}),e.jsx(p,{p:4,px:"56px",borderBlock:"1px solid",borderColor:"neutral.950",w:"full",overflow:"hidden",children:e.jsxs(X,{children:[e.jsx(ee,{ml:-2,children:d==null?void 0:d.blog_tag.map(s=>e.jsx(te,{flexBasis:"fit-content",pl:2,children:e.jsx(p,{id:s.id,px:2,py:1,rounded:"8px",bg:i!=null&&i.includes(s.id)?"neutral.800":"neutral.950",w:"fit-content",cursor:"pointer",onClick:()=>D(s),children:s.name})},s.id))}),e.jsx(ne,{left:"-48px !important"}),e.jsx(re,{right:"-48px !important"})]})}),e.jsxs(p,{ref:c,p:4,maxH:"540px",overflowY:"auto",children:[e.jsx(ve,{data:{pages:(g==null?void 0:g.pages)||[],pageParams:(g==null?void 0:g.pageParams)||[]},isPending:q,hasFiltered:!!t||!!i.length,renderItem:s=>{var x,b;return e.jsx(le,{...s,description:"",titleProps:{textStyle:"title.2"},thumbnail:E((x=s.thumbnail)==null?void 0:x.url),thumbnailProps:{aspectRatio:1.5,background:E((b=s.thumbnail)==null?void 0:b.url,{preset:"120x48",blur:!0}),className:f({w:"144px !important",h:"96px"})},onToggleBookmark:n?O:void 0,borderBottom:"1px solid",borderBottomColor:"neutral.950",_last:{borderBottom:"none"}},s.id)}}),N&&e.jsx(de,{justify:"center",py:4,children:e.jsx(F,{})})]})]})]})})})})]})},L=({children:n,isSelected:o=!1,isDisabled:r=!1})=>e.jsxs("div",{className:be({isSelected:o,isDisabled:r}),children:[n,o&&e.jsx("div",{className:f({position:"absolute",inset:"1px",mx:"16px",borderBottomWidth:"2px",borderBottomColor:"red.300",borderBottomStyle:"solid"})})]}),Ee=["thong-bao-quan-trong","cong-van-the-le","hoat-dong-su-kien","thong-tin-huu-ich","bang-tin-tong-hop"],tt=({currentCategoryId:n})=>{const o=ye(n),r=m.useMemo(()=>Ee.map(t=>({slug:t,url:k[t],categoryTitle:Se[t]})),[]);return e.jsxs("nav",{className:ce(fe({orientation:"horizontal"}),f({ml:"120px",lgDown:{ml:"initial"}})),children:[e.jsx(T,{to:"/tin-tuc",children:e.jsx(L,{isSelected:!n,children:e.jsx(y,{children:e.jsx(ke,{})})})}),e.jsx(p,{className:f({display:{base:"none",lg:"flex !important"},flex:1}),children:e.jsx(e.Fragment,{children:r.map(t=>e.jsx(T,{to:`/chuyen-muc/${t.url}`,children:e.jsx(L,{isSelected:o===t.url,children:t.categoryTitle})},t.slug))})}),e.jsx(je,{size:"lg",children:e.jsxs(V,{children:[e.jsx(_,{variant:"icon",children:e.jsx(y,{children:e.jsx(W,{})})}),e.jsx(pe,{popoverClassName:f({p:"8px",borderRadius:"3xl"}),children:r.map(t=>e.jsx(xe,{id:t.url,href:`/chuyen-muc/${t.url}`,children:t.categoryTitle},t.slug))})]})}),e.jsx(Te,{})]})},Be=({horizontalBanner:n,horizontalUrl:o,horizontalAlt:r,verticalBanner:t,verticalUrl:l,verticalAlt:i,inverse:a})=>e.jsxs(e.Fragment,{children:[n&&e.jsx(j.a,{href:o,hideBelow:a?void 0:"md",hideFrom:a?"md":void 0,children:e.jsx(j.img,{src:n,w:"full",alt:r})}),t&&e.jsx(j.a,{href:l,hideBelow:a?"md":void 0,hideFrom:a?void 0:"md",children:e.jsx(j.img,{src:t,w:"full",alt:i})})]}),nt=R.memo(Be);export{Se as C,nt as N,tt as T,ye as a,Ne as b,et as g};

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.