1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4745],{1596:(e,t,i)=>{"use strict";i.r(t),i.d(t,{default:()=>g});var r=i(37876),o=i(14232),n=i(89099),a=i(78379),l=i(36066),c=i(16758),s=i(28505),p=i(71336),m=i(9842);let d="blockDetailCache:";function u(){let e=(0,n.useRouter)(),{slug:t}=e.query,i=(0,m.wo)(t),a=(0,m.Td)(t),u=(0,o.useRef)(void 0);if(void 0===u.current){let e=function(e){if(!e)return null;try{return JSON.parse(sessionStorage.getItem(d+e)||"null")}catch(e){return null}}(i);u.current=e,e&&function(e){if(e)try{sessionStorage.removeItem(d+e)}catch(e){}}(i)}let g=u.current,[T,y]=(0,o.useState)(g?.data||[]),[S,E]=(0,o.useState)(g?.cursor||""),[f,U]=(0,o.useState)(!g),[R,I]=(0,o.useState)(!1),h=(0,o.useRef)({data:T,cursor:S});(0,o.useEffect)(()=>{h.current={data:T,cursor:S}},[T,S]);let L=async()=>{if(i)try{U(!0);let{data:e,nextCursor:t}=await (0,s.A)(i,null,30);y(e||[]),E(t||""),I(!1)}catch(e){console.log({error:e}),I(!1),y([])}finally{U(!1)}},v=async()=>{if(S)try{U(!0);let{data:e,nextCursor:t}=await (0,p.A)(S);y(t=>[...t||[],...e||[]]),E(t||"")}catch(e){console.log({error:e})}finally{I(!1),U(!1)}};return(0,o.useEffect)(()=>{if(e.isReady&&i){if(g)return void requestAnimationFrame(()=>window.scrollTo(0,g.scrollY||0));L()}},[e.isReady,i]),(0,o.useEffect)(()=>{function e(e){let{scrollHeight:t=0,scrollTop:i=0,clientHeight:r=0}=e.target?.documentElement||{};i+r+1200>t&&I(!0)}return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]),(0,o.useEffect)(()=>{R&&S&&!f&&v()},[R]),(0,r.jsxs)("section",{className:"min-h-[80svh] px-[3.15%] pb-12 pt-20 md:pb-16 md:pt-[100px] xl:pb-20",children:[(0,r.jsx)("h1",{className:"mb-5 text-primary text24_700_32",children:a||"Tất cả ná»i dung"}),T?.length>0&&(0,r.jsx)("div",{onClickCapture:()=>{if(i){var e={...h.current,scrollY:window.scrollY};if(i)try{sessionStorage.setItem(d+i,JSON.stringify(e))}catch(e){}}},className:"grid grid-cols-2 gap-x-3 gap-y-6 sm:grid-cols-3 md:grid-cols-4 xl:grid-cols-5 xl:gap-x-5 xl:gap-y-8",children:T.map((e,t)=>(0,r.jsx)(l.A,{...e,hideText:!1,showTime:!1},`${e?.content?.id||e?.id||"block-content"}-${t}`))}),!f&&T?.length<=0&&(0,r.jsxs)("div",{className:"flex min-h-[500px] w-full flex-col items-center justify-center",children:[c.Z,(0,r.jsx)("b",{className:"text-primary",children:"Chưa c\xf3 ná»i dung."}),(0,r.jsx)("p",{className:"text-secondary2",children:"Vui l\xf2ng thá» lại sau má»t thá»i gian"})]})]})}let g=u;u.Layout=a.PE},9842:(e,t,i)=>{"use strict";i.d(t,{Td:()=>a,nF:()=>o,wo:()=>n});let r=/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e,t){return t?`/block/${String(e||"").normalize("NFC").replace(/[^\p{L}\p{N}]+/gu,"-").replace(/^-+|-+$/g,"")||"block"}-${t}`:""}function n(e){let t=Array.isArray(e)?e[0]:e;return t?String(t).match(r)?.[0]||String(t):""}function a(e){let t=Array.isArray(e)?e[0]:e;return t?String(t).replace(r,"").replace(/-+$/g,"").split("-").filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" "):""}},28505:(e,t,i)=>{"use strict";i.d(t,{A:()=>l});var r=i(52639),o=i(79350),n=i(30700);let a=(0,o.J1)` 2 query HomepageBlockContentsByBlockID( 3 $blockID: String! 4 $category: String 5 $pageSize: Int 6 $protocolType: ProtocolType! 7 ) { 8 homepageBlockContentsByBlockID( 9 clientType: WEBSITE 10 blockID: $blockID 11 screenScale: X2 12 category: $category 13 pageSize: $pageSize 14 ) { 15 nextCursor 16 contents { 17 contentType 18 labels 19 imageURL 20 titleArtURL 21 content { 22 id 23 ... on VOD { 24 id 25 contentType 26 title 27 viewCount 28 warningCriteria 29 publicationTimestamp 30 video { 31 playURL(clientType: WEBSITE, protocolType: $protocolType) 32 duration 33 drmEnabled 34 loginRequired 35 drmLicenseToken 36 lastWatchPosition 37 thumbnails { 38 vttURL 39 } 40 } 41 trailer { 42 playURL(clientType: WEBSITE, protocolType: $protocolType) 43 } 44 studioProfile { 45 id 46 title 47 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 48 } 49 categories 50 series { 51 id 52 episodeOffset 53 } 54 } 55 ... on Programme { 56 id 57 startTime 58 stopTime 59 title 60 notificationOn 61 thumbnailURL(screenScale: X2, clientType: WEBSITE) 62 channel { 63 id 64 } 65 } 66 ... on Channel { 67 id 68 title 69 number 70 logoURL(screenScale: X2, clientType: WEBSITE) 71 isVip 72 canCatchUp 73 canStartOver 74 partner 75 labels 76 isFavorite 77 liveImageURL(screenScale: X2, imageName: THUMBNAIL) 78 errorCode 79 video { 80 liveURL(clientType: WEBSITE, protocolType: $protocolType) 81 catchUpURL(clientType: WEBSITE, protocolType: $protocolType) 82 drmEnabled 83 loginRequired 84 } 85 programmes { 86 id 87 startTime 88 stopTime 89 title 90 notificationOn 91 thumbnailURL(clientType: WEBSITE, screenScale: X2) 92 } 93 } 94 ... on Event { 95 id 96 title 97 imageUrl(screenScale: X2, imageName: THUMBNAIL_BIG) 98 startTimestamp 99 duration 100 reminderSet 101 categories 102 errorCode 103 channel { 104 id 105 title 106 number 107 logoURL(screenScale: X2, clientType: WEBSITE) 108 isVip 109 canCatchUp 110 canStartOver 111 partner 112 labels 113 isFavorite 114 liveViewCount 115 errorCode 116 video { 117 liveURL(clientType: WEBSITE, protocolType: $protocolType) 118 catchUpURL(clientType: WEBSITE, protocolType: $protocolType) 119 drmEnabled 120 loginRequired 121 } 122 programmes { 123 id 124 startTime 125 stopTime 126 title 127 notificationOn 128 thumbnailURL(screenScale: X2, clientType: WEBSITE) 129 } 130 } 131 } 132 ... on Series { 133 id 134 title 135 episodeCount 136 viewCount 137 warningCriteria 138 publicationTimestamp 139 trailer { 140 playURL(clientType: WEBSITE, protocolType: $protocolType) 141 thumbnails { 142 vttURL 143 } 144 } 145 currentEpisode { 146 seriesID 147 offset 148 id 149 title 150 imageURL 151 publicationTimestamp 152 viewCount 153 video { 154 duration 155 drmEnabled 156 loginRequired 157 drmLicenseToken 158 lastWatchPosition 159 playURL(clientType: WEBSITE, protocolType: $protocolType) 160 thumbnails { 161 vttURL 162 } 163 } 164 } 165 studioProfile { 166 id 167 title 168 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 169 } 170 categories 171 } 172 ... on StudioProfile { 173 id 174 title 175 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 176 } 177 ... on Collection { 178 id 179 collectionType 180 imageURL(screenScale: X2) 181 title 182 viewCount 183 total 184 studioProfile { 185 id 186 title 187 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 188 } 189 } 190 ... on Episode { 191 id 192 commentCount 193 seriesID 194 offset 195 title 196 imageURL 197 publicationTimestamp 198 viewCount 199 likeCount 200 liked 201 saved 202 commentEnabled 203 warningCriteria 204 errorCode 205 video { 206 playURL(clientType: WEBSITE, protocolType: $protocolType) 207 duration 208 drmEnabled 209 loginRequired 210 drmLicenseToken 211 lastWatchPosition 212 } 213 studioProfile { 214 id 215 title 216 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 217 } 218 shareURL 219 } 220 ... on Playlist { 221 id 222 title 223 imageURL(screenScale: X2) 224 shareURL 225 playlistType 226 errorCode 227 itemCount { 228 vod 229 short 230 genericCollection 231 series 232 } 233 user { 234 id 235 avatarURL(imageName: USER_AVATAR, screenScale: X2) 236 fullName 237 birthDate 238 email 239 gender 240 phoneNumber 241 } 242 } 243 } 244 } 245 } 246 } 247`;async function l(e,t,i=9){let o=(0,n.l)()||"DASH";if(e){let{data:n}=await r.client.query({query:a,variables:{blockID:e,pageSize:i,category:t&&"Tất cả"!==t?t:null,protocolType:o},fetchPolicy:"no-cache"});return{data:n?.homepageBlockContentsByBlockID?.contents||[],nextCursor:n?.homepageBlockContentsByBlockID?.nextCursor}}return{data:[],nextCursor:""}}},55100:(e,t,i)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/block/[slug]",function(){return i(1596)}])},57293:(e,t,i)=>{"use strict";i.d(t,{A:()=>
247o});var r=i(37876);i(14232);let o=function({labels:e,page:t}){if(e?.includes("PREMIUM")){window.innerWidth;let e="";return e="event-featured-miniapp"===t?"/Home/TagPackage/TagPremium.svg":"/Home/TagPackage/TagPremiumSmall.svg",(0,r.jsx)("div",{className:`absolute ${"event-featured-miniapp"===t?"top-3 right-3":"top-1 right-1"} w-auto lg:h-[22px] h-[20px]`,children:(0,r.jsx)("img",{src:e,alt:"Premium",className:"w-full h-full object-cover"})})}return(0,r.jsx)(r.Fragment,{})}},71336:(e,t,i)=>{"use strict";i.d(t,{A:()=>a});var r=i(79350),o=i(52639);let n=(0,r.J1)` 248 query HomepageBlockContents($cursor: String, $pageSize: Int) { 249 homepageBlockContents(clientType: WEBSITE, cursor: $cursor, screenScale: X2, pageSize: $pageSize) { 250 nextCursor 251 contents { 252 contentType 253 labels 254 imageURL 255 titleArtURL 256 content { 257 id 258 ... on VOD { 259 id 260 contentType 261 title 262 viewCount 263 warningCriteria 264 publicationTimestamp 265 description { 266 html 267 } 268 video { 269 playURL(clientType: WEBSITE) 270 duration 271 drmEnabled 272 drmLicenseToken 273 lastWatchPosition 274 thumbnails { 275 vttURL 276 } 277 } 278 trailer { 279 playURL(clientType: WEBSITE) 280 } 281 studioProfile { 282 id 283 title 284 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 285 } 286 ageRating 287 categories 288 series { 289 id 290 episodeOffset 291 } 292 } 293 ... on Programme { 294 id 295 startTime 296 stopTime 297 title 298 notificationOn 299 thumbnailURL(screenScale: X2, clientType: WEBSITE) 300 channel { 301 id 302 title 303 number 304 logoURL(screenScale: X2, clientType: WEBSITE) 305 canCatchUp 306 canStartOver 307 isFavorite 308 liveViewCount 309 partner 310 labels 311 liveImageURL(screenScale: X2, imageName: THUMBNAIL) 312 video { 313 liveURL(clientType: WEBSITE) 314 catchUpURL(clientType: WEBSITE) 315 drmEnabled 316 loginRequired 317 } 318 studioProfile { 319 id 320 title 321 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 322 } 323 } 324 } 325 ... on Channel { 326 id 327 title 328 number 329 logoURL(screenScale: X2, clientType: WEBSITE) 330 isVip 331 canCatchUp 332 canStartOver 333 isFavorite 334 partner 335 labels 336 programmes { 337 title 338 } 339 liveImageURL(screenScale: X2, imageName: THUMBNAIL) 340 errorCode 341 video { 342 liveURL(clientType: WEBSITE) 343 catchUpURL(clientType: WEBSITE) 344 drmEnabled 345 loginRequired 346 } 347 } 348 ... on Event { 349 id 350 title 351 imageUrl(screenScale: X2, imageName: THUMBNAIL_BIG) 352 startTimestamp 353 duration 354 reminderSet 355 isReminded 356 categories 357 description { 358 html 359 } 360 errorCode 361 studioProfile { 362 id 363 title 364 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 365 followerCount 366 isVerified 367 followed 368 shareURL 369 errorCode 370 } 371 channel { 372 id 373 title 374 number 375 logoURL(screenScale: X2, clientType: WEBSITE) 376 isVip 377 canCatchUp 378 canStartOver 379 liveViewCount 380 isFavorite 381 partner 382 labels 383 errorCode 384 video { 385 liveURL(clientType: WEBSITE) 386 catchUpURL(clientType: WEBSITE) 387 drmEnabled 388 loginRequired 389 } 390 programmes { 391 id 392 startTime 393 stopTime 394 title 395 notificationOn 396 thumbnailURL(screenScale: X2, clientType: WEBSITE) 397 } 398 } 399 } 400 ... on Series { 401 id 402 title 403 episodeCount 404 viewCount 405 warningCriteria 406 publicationTimestamp 407 description { 408 html 409 } 410 trailer { 411 playURL(clientType: WEBSITE) 412 thumbnails { 413 vttURL 414 } 415 } 416 currentEpisode { 417 seriesID 418 offset 419 id 420 title 421 imageURL 422 publicationTimestamp 423 viewCount 424 video { 425 duration 426 drmEnabled 427 drmLicenseToken 428 lastWatchPosition 429 playURL(clientType: WEBSITE) 430 431 thumbnails { 432 vttURL 433 } 434 } 435 } 436 studioProfile { 437 id 438 title 439 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 440 } 441 categories 442 ageRating 443 } 444 ... on StudioProfile { 445 id 446 title 447 followed 448 followerCount 449 } 450 ... on Collection { 451 id 452 collectionType 453 imageURL(screenScale: X2) 454 title 455 viewCount 456 total 457 studioProfile { 458 id 459 title 460 profileImageURL(imageName: STUDIO_PROFILE, screenScale: X2) 461 } 462 } 463 } 464 } 465 } 466 } 467`;async function a(e){let{data:t,loading:i,error:r}=await o.client.query({query:n,variables:{pageSize:15,cursor:e},errorPolicy:"ignore",fetchPolicy:"no-cache"});return{loading:i,error:r,data:t?.homepageBlockContents?.contents,nextCursor:t?.homepageBlockContents?.nextCursor}}}},e=>{e.O(0,[4094,5617,636,6593,8792],()=>e(e.s=55100)),_N_E=e.O()}]);
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.