Help
RSS
API
Feed
Maltego
Contact
Domain > asaplearn.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-11-23
172.67.144.113
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Sun, 23 Nov 2025 18:33:39 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflarecf-cache-status: DYNAMICNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sIRNJlM27VZ23f5vzySS1fDIjU1sHCcrV74C338thcj1HNlP3PxpryGGza162DR%2FUSdPKBQaqHhHs%2FKCV%2FXzE%2F1xCaJgZ61lkk6e7}}CF-RAY: 9a32c190cfa5f896-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen>head> meta charsetutf-8> meta http-equivx-ua-compatible contentieedge> title>Homepage/title> meta namerobots contentindex, follow> meta propertyog:title contentSimple and easy online learning with asaplearn.org> meta namekeywords contentactionAid, afv, asaplearn, digital innovation, e learning, learn online, dion> meta namedescription contentasaplearn.org is a modern and advanced online learning platform, providing a variety of courses to improve your knowledge and skills.> meta nameauthor contentDigital Innovation> meta nameviewport contentwidthdevice-width, initial-scale1, shrink-to-fitno> !-- Favicon --> link relshortcut icon typeimage/x-icon href/favicon_actionAid.ico> !-- CSS --> link href/template/histudy/assets/css/vendor/bootstrap.min.css relstylesheet /> link href/template/histudy/assets/css/vendor/slick.css relstylesheet /> link href/template/histudy/assets/css/vendor/slick-theme.css relstylesheet /> link href/template/histudy/assets/css/plugins/sal.css relstylesheet /> link href/template/histudy/assets/css/plugins/feather.css relstylesheet /> link href/template/histudy/assets/css/plugins/fontawesome.min.css relstylesheet /> link href/template/histudy/assets/css/plugins/poppins.css relstylesheet /> link href/template/histudy/assets/css/plugins/swiper.css relstylesheet /> link href/template/histudy/assets/css/plugins/magnify.css relstylesheet /> link href/template/histudy/assets/css/plugins/odometer.css relstylesheet /> link href/template/histudy/assets/css/plugins/animation.css relstylesheet /> link href/template/histudy/assets/css/plugins/bootstrap-select.min.css relstylesheet /> link href/template/histudy/assets/css/plugins/jquery-ui.css relstylesheet /> link href/template/histudy/assets/css/plugins/magnigy-popup.min.css relstylesheet /> link href/template/histudy/assets/css/plugins/plyr.css relstylesheet /> link href/template/histudy/assets/css/plugins/preloader.css relstylesheet /> link href/template/histudy/assets/css/style.css relstylesheet /> !-- Google Identity Services --> script srchttps://accounts.google.com/gsi/client async defer>/script> !-- jQuery JS --> script src/template/histudy/assets/js/vendor/jquery.js>/script> !-- Sweet Alert --> script srchttps://cdn.jsdelivr.net/npm/sweetalert2@11.7.5/dist/sweetalert2.all.min.js>/script> link hrefhttps://cdn.jsdelivr.net/npm/sweetalert2@11.7.5/dist/sweetalert2.min.css relstylesheet> !-- Confetti --> script srchttps://cdn.jsdelivr.net/npm/canvas-confetti@1.6.0/dist/confetti.browser.min.js>/script> !-- Moment --> script src/assets/js/moment-with-locales.js>/script> script> moment.locale(en); //Setup locale vi /script> style> .swal2-cancel { background: #fff !important; color: var(--Black, #000) !important; } .form-control:focus { box-shadow: unset; } .text-primary { color: #ED1C24 !important; } @font-face { font-family: NVN Auxilia; src: url(/ActionAid/Fonts/NVN Auxilia/NVNAuxilia-Regular.ttf) format(truetype); font-weight: normal; font-style: normal; } @font-face { font-family: Montserrat; src: url(/ActionAid/Fonts/montserrat/static/montserrat-regular.ttf) format(truetype); font-weight: normal; font-style: normal; } @font-face { font-family: UTM-ViceroyJF; src: url(/ActionAid/Fonts/UTM-ViceroyJF/UTM-ViceroyJF.ttf) format(truetype); font-weight: normal; font-style: normal; } @font-face { font-family: My Everything; src: url(/ActionAid/Fonts/My-Everything/My-Everything-TRIAL.ttf) format(truetype); font-weight: normal; font-style: normal; } /******************************************* Common css */ /* :-webkit-autofill, :-webkit-autofill:hover, :-webkit-autofill:focus { -webkit-box-shadow: 0 0 0px 1000px rgb(0 0 0 / 0%) inset !important; transition: background-color 5000s ease-in-out 0s; }*/ .splide__pagination__page { border-radius: 0 !important; background: var(--black-60, rgba(0, 0, 0, 0.50)) !important; width: 10px !important; height: 10px !important; } .swal2-styled.swal2-confirm:focus { box-shadow: unset !important; } .gap10 { gap: 10px;} .line-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } #section-most-popular-course .rbt-author-info { align-items: center; justify-content: space-between; width: 100%; } .imgCoursePopular { /*height: 244px !important;*/ aspect-ratio: 355/244; object-position: center; } .bg-color-aid { background: var(--Background, #EFEFEF); } .rbt-card { border-radius: 0; padding: 20px; } .imgCoursePopular { border-radius: 0 !important; } .rbt-review .rating { gap: 10px; } .rbt-card .rbt-card-body { padding-top: 20px; } .rbt-round-btn i { font-size: 20px; } .rbt-round-btn { width: unset; height: unset; } .rbt-card-title a { color: var(--Black, #000) !important; font-family: NVN Auxilia; font-size: 20px; font-style: normal; font-weight: 700; line-height: normal; width: 100%; display: block } .rbt-meta li { color: var(--Black, #000) !important; font-family: NVN Auxilia; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; margin-bottom: 0; } .rbt-card-text { color: var(--Black, #000) !important; font-family: NVN Auxilia; font-size: 18px; font-style: normal; font-weight: 400; line-height: normal; } .rbt-author-meta .rbt-author-info a { color: var(--Black, #000) !important; font-family: NVN Auxilia; font-size: 16px; font-style: normal; font-weight: 700; line-height: normal; } .rbt-author-meta .rbt-author-info a:hover { color: var(--Red, #ED1C24) !important; } .rbt-card .rbt-card-body .rbt-card-title a:hover { color: var(--Red, #ED1C24) !important; } .rbt-card.variation-02 { border-radius: 0; } .rbt-card.variation-02 .rbt-card-body { padding: 20px; } .splide__pagination__page.is-active { width: 20px !important; height: 10px !important; background: var(--Red, #ED1C24) !important; } .form-group.focused { -webkit-box-shadow: 0 0 0px 1000px rgb(0 0 0 / 0%) inset !important; transition: background-color 5000s ease-in-out 0s; } .input-autofill { margin-top: 10px; } .rbt-btn.btn-md { width: max-content; } h1, .h1 { line-height: 1.29; } .user-photo { aspect-ratio: 1; object-fit: cover; } /******************************************* SweetAlert css */ .swal2-popup { width: 44em !important; } .swal2-html-container .list-error { text-align: left; } .swal2-title { font-size: 3em !important; } .swal2-html-container { font-size: 1.5em !important; } .swal2-popup .swal2-styled.swal2-confirm, .swal2-popup .swal2-styled.swal2-deny, .swal2-popup .swal2-styled.swal2-cancel { font-size: 1.5em !important; } .swal2-styled.swal2-cancel { font-size: 1.5em; } /******************************************* Loading css */ #loading { width: 100vw; height: 100vh; position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; background: rgb(0 0 0 / 70%); visibility: hidden; } #loading.show { visibility: visible; } .lds-ring { display: inline-block; position: relative; width: 80px; height: 80px; } .lds-ring div { box-sizing: border-box; display: block; position: absolute; width: 64px; height: 64px; margin: 8px; border: 8px solid #ED1C24; border-radius: 50%; animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite; border-color: #ED1C24 transparent transparent transparent; } .lds-ring div:nth-child(1) { animation-delay: -0.45s; } .lds-ring div:nth-child(2) { animation-delay: -0.3s; } .lds-ring div:nth-child(3) { animation-delay: -0.15s; } @keyframes lds-ring { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Confetti css */ .button-wrapper canvas, .confetti { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); pointer-events: none; z-index: 9999999; } /style> style> /*POST Page*/ .skeleton-post { background: #eee; background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%); border-radius: 5px; background-size: 200% 100%; animation: 1.5s skeleton-post-loading linear infinite; } @keyframes skeleton-post-loading { to { background-position-x: -200%; } } .skeleton-post-img { width: 100%; height: 100%; max-height: 250px; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-post-title-text { width: 100%; height: 4rem; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-post-text { width: 100%; height: 1rem; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-post-card { height: 415px; width: 100%; } .post-description-line-clamp { display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } /*End Post page*/ /*feedback*/ .skeleton_feedback { background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%); border-radius: 5px; background-size: 200% 100%; /*animation: 1.5s shine linear infinite;*/ animation: skeleton-loading-feedback 1.5s linear infinite; } .skeleton { background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%); border-radius: 5px; background-size: 200% 100%; animation: skeleton-loading-feedback 1.5s linear infinite; } @keyframes skeleton-loading-feedback { to { background-position-x: -200%; } } .skeleton-text_feedback { width: 100%; height: 1.25rem; margin-bottom: 0.75rem; border-radius: 0.25rem; } .skeleton-text__body_feedback { width: 75%; } .skeleton-info_feedback { width: 50%; } .skeleton-rating_feedback { width: 30%; } .skeleton-header-1_feedback { width: 30%; } .skeleton-header-2_feedback { width: 40%; } /*end feedback*/ /*CourseCategory*/ .image-skeleton-loading, .title-skeleton-loading, .read-more-skeleton-loading { background: #eee; background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%); border-radius: 5px; background-size: 200% 100%; animation: 1.5s shine linear infinite; } .title-skeleton-loading { height: 20px; margin-bottom: 5px; } .read-more-skeleton-loading { height: 20px; } .image-skeleton-loading { height: 80px; width: 80px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } @keyframes shine { to { background-position-x: -200%; } } /*EndCourseCategory*/ /*Cart Side bar*/ .btn-add-to-cart { cursor: pointer; } .product-content-cartSidebar { padding-right: 40px; } .title-cartSidebar { margin-bottom: 0px !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .current-price-cartSidebar { font-size: 14px; font-weight: 700; } .price-cartSidebar { margin-left: 5px; font-size: 12px; font-weight: 500; text-decoration: line-through; opacity: 0.4; } /*End Cart Side bar*/ /*PostDetail*/ .btnViewMorePostCommentChildren { cursor: pointer !important; } .skeleton-postComment-img { border-radius: 100%; width: 58px; padding: 4px; height: 58px; border: 2px solid var(--primary-opacity); } .skeleton-postComment-text { width: 23vw; } .skeleton-postComment-timeSpentWidth { width: 17vw; } .skeleton-postComment-authorName { width: 100%; height: 2rem; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-postComment-timeSpent { width: 100%; height: 1rem; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-postComment-commentInner { width: 100% !important; } .postCommentReplyUserName { color: var(--color-primary) !important; } .postCommentReplyMarginLeft-75 { margin-left: 75px; } .postCommentReplyMarginLeft-150 { margin-left: 150px; } .postContentBreadCrumb-Width-100 { width: 100% !important; } /*EndPostDetail*/ /*Search*/ .rbt-card .rbt-card-img a img.imgCourseInSearch { /*height: 178px ;*/ object-position: center; aspect-ratio: 93/64; } #topPostList .rbt-card.variation-02 .rbt-card-img a img { aspect-ratio: 415/246; object-position: center; } #list-post .rbt-card.variation-02 .rbt-card-img a img { aspect-ratio: 410/243; object-position: center; } .search-card-img { flex-basis: 25% !important; } .search-card-body { flex-basis: 75% !important; } /*EndSearch*/ /*PostList*/ .post-description-line-clamp-4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; } .rbt-tag-list a.choosed { background: var(--color-primary); color: var(--color-white); } .skeleton-postList-img { width: 100%; height: 100%; max-height: 150px; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-postList-timeSpent { width: 25%; height: 1rem; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-postList-publishedTime { width: 75%; height: 1rem; margin-bottom: 0.5rem; border-radius: 0.25rem; } .skeleton-noti-img { height: 65px; width: 65px; border-radius: 50%; } .skeleton-noti-text { height: 25px; border-radius: 6px; } .skeleton-noti-title { height: 35px; border-radius: 6px; } .justify-between { justify-content: space-between; } .view-all { padding: 16px 28px; justify-content: center; align-items: center; gap: 10px; border: 1px solid var(--Border, #D8D4CE); color: var(--Black, #000) !important; font-family: NVN Auxilia; font-size: 18px; font-style: normal; font-weight: 400; line-height: normal; width: fit-content; display: inline-block; } .view-all:hover { background: var(--color-primary); color: #fff !important; } .actionaid-carret { width: 24px; height: 24px; } .aligns-center { align-items: center; } .align-center { align-items: center; } @media screen and (max-width: 768px) { .view-all { padding: 8px 14px; } } /*EndPostList*/ /* swalfire */ .swal2-container.swal2-center > .swal2-popup { border-radius: 0px; max-width: 500px; width: 100%; padding: 30px; } .swal2-icon { display: none !important; } .swal2-container.swal2-center > .swal2-popup .swal2-title { color: var(--Black, #000); text-align: center; font-size: 24px; font-style: normal; font-weight: 700; line-height: normal; } .swal2-container.swal2-center > .swal2-popup .swal2-html-container { color: var(--Black, #000); text-align: center; font-size: 18px; font-style: normal; font-weight: 400; line-height: normal; margin: 20px 0px; } .swal2-container.swal2-center > .swal2-popup .swal2-actions { width: 100% !important; } .swal2-container.swal2-center > .swal2-popup .swal2-actions button { width: 100% !important; display: flex; padding: 20px 28px; justify-content: center; align-items: center; gap: 10px; align-self: stretch; font-size: 18px; font-style: normal; font-weight: 400; line-height: normal; border-radius: 0px; } .swal2-container.swal2-center > .swal2-popup .swal2-actions button.swal2-confirm{ background: var(--Red, #ED1C24); } ..swal2-styled.swal2-confirm:focus { box-shadow: none !important; } /* swalfire end */ /style> link hrefhttps://cdn.jsdelivr.net/gh/kartik-v/bootstrap-star-rating@4.0.7/css/star-rating.css mediaall relstylesheet typetext/css /> !-- optionally if you need to use a theme, then include the theme file as mentioned below --> link hrefhttps://cdn.jsdelivr.net/gh/kartik-v/bootstrap-star-rating@4.0.7/themes/krajee-svg/theme.css mediaall relstylesheet typetext/css /> /head>body classrbt-header-sticky> !-- pre loader area start --> div idsplash-screen> div idloading-center> div idloading-center-absolute> div classloading-content> img classloading-logo-text src/actionaid/images/logo/logo_actionaid-large.png altLearnify logo> div classloading-stroke> /div> /div> /div> /div> /div> !-- pre loader area end --> !-- Start Header Area --> link href/actionaid/css/shared/_header_actionaid.css?vAsLfK6E1jIVpHPZbfovIqDI5svMpTvNJUe6k0C9bK5c relstylesheet />div classheader-pc> header classcontainer-fluid sticky idnavbar-sticky> div classcontainer d-flex justify-space-between header-sticky header-component> div classd-flex gap24 header-left aligns-center> a href/homepage classheader-link-active> Home /a> a href/about-us class> About Us /a> div classhd-course-actionAid> a classcourse-drop-show href/courses class> Courses /a> div classcourse-drop> /div> /div> div classhd-blog-actionAid> a classblog-drop-show href/post class>One Planet Earth/a> div classblog-drop> a href/post/news classblog-drop-link>News/a> div classblog-dropdown sub-menu> a classblog-drop-link>Publications/a> div classsub-drop-down> a href/post/publications classsub-drop-link>Publications/a> a href/post/useful-reports classsub-drop-link>Useful reports/a> /div> /div> a href/post/stories classblog-drop-link>Stories/a> a href/post/Videos classblog-drop-link>Videos/a> /div> /div> a href/contact class> Contact /a> /div> div classheader-right d-flex gap20 aligns-center> a classheader-icon search-trigger-active idsearchTrigger > svg xmlnshttp://www.w3.org/2000/svg width21 height20 viewBox0 0 21 20 fillnone> path dM19.0767 18.9583C18.9184 18.9583 18.76 18.9 18.635 18.775L16.9684 17.1083C16.7267 16.8666 16.7267 16.4666 16.9684 16.225C17.21 15.9833 17.61 15.9833 17.8517 16.225L19.5184 17.8916C19.76 18.1333 19.76 18.5333 19.5184 18.775C19.3934 18.9 19.235 18.9583 19.0767 18.9583Z fillblack /> path dM10.3263 18.125C5.618 18.125 1.78467 14.2916 1.78467 9.58329C1.78467 4.87496 5.618 1.04163 10.3263 1.04163C15.0347 1.04163 18.868 4.87496 18.868 9.58329C18.868 14.2916 15.0347 18.125 10.3263 18.125ZM10.3263 2.29163C6.30133 2.29163 3.03467 5.56663 3.03467 9.58329C3.03467 13.6 6.30133 16.875 10.3263 16.875C14.3513 16.875 17.618 13.6 17.618 9.58329C17.618 5.56663 14.3513 2.29163 10.3263 2.29163Z fillblack /> /svg> /a> a classheader-icon notification-component p-relative idnotification-toggle> svg xmlnshttp://www.w3.org/2000/svg width21 height20 viewBox0 0 21 20 fillnone> path fill-ruleevenodd clip-ruleevenodd dM10.9085 18.75H10.9069C9.9727 18.7492 9.08854 18.3375 8.41768 17.59C8.18685 17.3342 8.20768 16.9383 8.46435 16.7083C8.72101 16.4767 9.11604 16.4975 9.34687 16.755C9.77854 17.2358 10.3327 17.5 10.9077 17.5H10.9085C11.486 17.5 12.0427 17.2358 12.4752 16.7542C12.7069 16.4983 13.1019 16.4775 13.3577 16.7083C13.6144 16.9392 13.6352 17.335 13.4044 17.5908C12.731 18.3383 11.8452 18.75 10.9085 18.75Z fillblack /> path fill-ruleevenodd clip-ruleevenodd dM10.949 2.08337C8.03651 2.08337 6.00651 4.36504 6.00651 6.41254C6.00651 8.14504 5.52568 8.94587 5.10068 9.65254C4.75984 10.22 4.49068 10.6684 4.49068 11.6425C4.62984 13.2142 5.66734 14.04 10.949 14.04C16.2015 14.04 17.2715 13.1775 17.4098 11.5884C17.4073 10.6684 17.1382 10.22 16.7973 9.65254C16.3723 8.94587 15.8915 8.14504 15.8915 6.41254C15.8915 4.36504 13.8615 2.08337 10.949 2.08337ZM10.949 15.29C7.05234 15.29 3.53068 15.015 3.24318 11.6959C3.24068 10.3225 3.65984 9.62421 4.02984 9.00921C4.40401 8.38587 4.75651 7.79837 4.75651 6.41254C4.75651 3.71837 7.24484 0.833374 10.949 0.833374C14.6532 0.833374 17.1415 3.71837 17.1415 6.41254C17.1415 7.79837 17.494 8.38587 17.8682 9.00921C18.2382 9.62421 18.6573 10.3225 18.6573 11.6425C18.3665 15.015 14.8457 15.29 10.949 15.29Z fillblack /> /svg> div classnotification-count> /div> /a> div classnotification-prop hidden> div classnotification-list> ul classnav nav-tabs idmyTab roletablist stylepadding: 24px 30px 24px 30px> li classnav-item rolepresentation> button classp20 nav-link active idnoti-all-tab data-bs-toggletab data-bs-target#list-all-notification typebutton roletab>All/button> /li> li classnav-item rolepresentation stylemargin-left:24px> button classp20 nav-link idnoti-unread-tab data-bs-toggletab data-bs-target#list-unread-notification typebutton roletab>Unread/button> /li> /ul> div classtab-content idmyTabContent> div classtab-pane fade show active idlist-all-notification roletabpanel> /div> div classtab-pane fade idlist-unread-notification roletabpanel>/div> /div> /div> a href/tai-khoan/thong-bao-cua-toi classview-all styletext-align: center; width: 100%; border: 0;>View more/a> /div> ul classrbt-dropdown-menu switcher-language> li classhas-child-menu> a href# classcurrentLanguageMenu> /a> ul classsub-menu listLanguageMenu id> li> a href#> div classme-2 stylewidth: 25px;> svg xmlnshttp://www.w3.org/2000/svg idflag-icons-vn viewBox0 0 640 480> defs> clipPath idvn-a> path fill-opacity.7 dM-85.3 0h682.6v512H-85.3z>/path> /clipPath> /defs> g fill-ruleevenodd clip-pathurl(#vn-a) transformtranslate(80)scale(.9375)> path fill#da251d dM-128 0h768v512h-768z>/path> path fill#ff0 dM349.6 381 260 314.3l-89 67.3L204 272l-89-67.7 110.1-1 34.2-109.4L294 203l110.1.1-88.5 68.4 33.9 109.6z>/path> /g> /svg> /div> span classmenu-item>Việt Nam/span> /a> /li> li> a href#> div classme-2 stylewidth: 25px;> svg xmlnshttp://www.w3.org/2000/svg idflag-icons-vn viewBox0 0 640 480> defs> clipPath idvn-a> path fill-opacity.7 dM-85.3 0h682.6v512H-85.3z>/path> /clipPath> /defs> g fill-ruleevenodd clip-pathurl(#vn-a) transformtranslate(80)scale(.9375)> path fill#da251d dM-128 0h768v512h-768z>/path> path fill#ff0 dM349.6 381 260 314.3l-89 67.3L204 272l-89-67.7 110.1-1 34.2-109.4L294 203l110.1.1-88.5 68.4 33.9 109.6z>/path> /g> /svg> /div> span classmenu-item>Việt Nam/span> /a> /li> /ul> /li> /ul> div classline-space>/div> a classbtn-signin href/sign-in> span data-textSign in>Sign in/span> /a> div classgap20 user-component align-center p-relative> img classuser-photo /> p classusername mw-120>/p> div classlist-menu-user> div classmenu-user-photo d-flex gap20> img classuser-photo /> p classusername>/p> /div> div classd-flex gap5 flex-column list-menu-append> /div> button classbtn-logOut> p>Sign out/p> svg xmlnshttp://www.w3.org/2000/svg width20 height21 viewBox0 0 20 21 fillnone> g clip-pathurl(#clip0_32_4393)> path dM15.75 0.500169H4.25C3.13419 0.49017 2.06 0.923292 1.2632 1.70447C0.466401 2.48565 0.012096 3.55105 0 4.66684L0 7.16684C0 7.38785 0.0877974 7.59981 0.244078 7.75609C0.400358 7.91237 0.61232 8.00017 0.833333 8.00017C1.05435 8.00017 1.26631 7.91237 1.42259 7.75609C1.57887 7.59981 1.66667 7.38785 1.66667 7.16684V4.66684C1.67851 3.993 1.95713 3.35137 2.44143 2.8827C2.92572 2.41403 3.57614 2.15658 4.25 2.16684H15.75C16.4239 2.15658 17.0743 2.41403 17.5586 2.8827C18.0429 3.35137 18.3215 3.993 18.3333 4.66684V16.3335C18.3215 17.0073 18.0429 17.649 17.5586 18.1176C17.0743 18.5863 16.4239 18.8438 15.75 18.8335H4.25C3.57614 18.8438 2.92572 18.5863 2.44143 18.1176C1.95713 17.649 1.67851 17.0073 1.66667 16.3335V13.8335C1.66667 13.6125 1.57887 13.4005 1.42259 13.2442C1.26631 13.088 1.05435 13.0002 0.833333 13.0002C0.61232 13.0002 0.400358 13.088 0.244078 13.2442C0.0877974 13.4005 0 13.6125 0 13.8335L0 16.3335C0.012096 17.4493 0.466401 18.5147 1.2632 19.2959C2.06 20.077 3.13419 20.5102 4.25 20.5002H15.75C16.8658 20.5102 17.94 20.077 18.7368 19.2959C19.5336 18.5147 19.9879 17.4493 20 16.3335V4.66684C19.9879 3.55105 19.5336 2.48565 18.7368 1.70447C17.94 0.923292 16.8658 0.49017 15.75 0.500169Z fill#ED1C24 /> path dM2.5 10.4989C2.5 10.7199 2.5878 10.9318 2.74408 11.0881C2.90036 11.2444 3.11232 11.3322 3.33333 11.3322L14.3233 11.3072L10.7208 14.9097C10.6412 14.9866 10.5778 15.0785 10.5341 15.1802C10.4904 15.2819 10.4674 15.3912 10.4665 15.5019C10.4655 15.6125 10.4866 15.7223 10.5285 15.8247C10.5704 15.9271 10.6323 16.0201 10.7105 16.0984C10.7887 16.1766 10.8818 16.2385 10.9842 16.2804C11.0866 16.3223 11.1964 16.3434 11.307 16.3424C11.4177 16.3415 11.527 16.3185 11.6287 16.2748C11.7303 16.2311 11.8223 16.1676 11.8992 16.088L15.7208 12.2664C16.1895 11.7976 16.4528 11.1618 16.4528 10.4989C16.4528 9.83596 16.1895 9.20019 15.7208 8.73137L11.9008 4.90971C11.7437 4.75791 11.5332 4.67391 11.3147 4.67581C11.0962 4.67771 10.8872 4.76535 10.7327 4.91986C10.5781 5.07437 10.4905 5.28338 10.4886 5.50187C10.4867 5.72037 10.5707 5.93087 10.7225 6.08804L14.2742 9.64054L3.33333 9.66554C3.11232 9.66554 2.90036 9.75334 2.74408 9.90962C2.5878 10.0659 2.5 10.2779 2.5 10.4989Z fill#ED1C24 /> /g> defs> clipPath idclip0_32_4393> rect width20 height20 fillwhite transformtranslate(0 0.5) /> /clipPath> /defs> /svg> /button> /div> /div> div classline-space>/div> a target_blank hrefhttps://actionaid.org/>img classheader-logo-actionAid src/actionaid/images/shared/header/logo-actionaid.png />/a> a target_blank hrefhttps://afv.vn/>img classheader-logo-afv src/actionaid/images/shared/header/logo-afv.png stylemargin-top: 1px />/a> /div> /div> /header> !-- Start Search Dropdown --> div classrbt-search-dropdown> div classcontainer> div classrow> div classcol-lg-12> form action# idformSearchCourseAndPost> input typetext placeholderSearch for courses, articles,... (minimum 3 characters) idinputSearchCourseAndPost> div classsubmit-btn> a classrbt-btn btn-gradient btn-md href# idbtnSearchCourseAndPost>Search/a> /div> /form> /div> /div> div classrbt-separator-mid mgtb20> hr classrbt-separator m-0 stylebackground: #D8D4CE;> /div> div classrow g-4 pb--60 idlistTopCousre> div classcol-lg-12> div classsection-title> h5 classsearch-list-top-course>Our top courses/h5> /div> /div> /div> /div> /div> !-- End Search Dropdown --> div styleheight: 84px;>/div>/div>div classheader-mobile sticky> div classheader-mobile-component> div classmobile-left-toggle> svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone> g clip-pathurl(#clip0_935_26730)> path dM24 10.5H0V13.5H24V10.5Z fillblack /> path dM24 3.5H0V6.5H24V3.5Z fillblack /> path dM24 17.5H0V20.5H24V17.5Z fillblack /> /g> defs> clipPath idclip0_935_26730> rect width24 height24 fillwhite /> /clipPath> /defs> /svg> /div> div classmobile-right> div classline-space>/div> a href#>img classheader-logo-actionAid src/actionaid/images/shared/header/logo-actionaid.png />/a> a href#> img classheader-logo-afv src/actionaid/images/shared/header/Logo-afv.png /> /a> /div> /div>/div>script> //SVG const svgOverview `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_488)> path dM18.7376 9.1461L10.0001 14.3894L1.26264 9.1461C1.07312 9.03239 0.846194 8.99862 0.631777 9.05223C0.417361 9.10583 0.23302 9.24242 0.119309 9.43194C0.00559714 9.62146 -0.0281709 9.84838 0.0254333 10.0628C0.0790374 10.2772 0.215623 10.4616 0.405142 10.5753L9.57181 16.0753C9.70142 16.1531 9.84977 16.1943 10.001 16.1943C10.1522 16.1943 10.3005 16.1531 10.4301 16.0753L19.5968 10.5753C19.7863 10.4616 19.9229 10.2772 19.9765 10.0628C20.0301 9.84838 19.9964 9.62146 19.8826 9.43194C19.7689 9.24242 19.5846 9.10583 19.3702 9.05223C19.1558 8.99862 18.9288 9.03239 18.7393 9.1461H18.7376Z fillblack/> path dM18.7377 12.9527L10.0002 18.1953L1.2627 12.9527C1.16886 12.8964 1.06485 12.8592 0.956605 12.8431C0.848361 12.827 0.738004 12.8323 0.631836 12.8589C0.525668 12.8854 0.425767 12.9326 0.337837 12.9978C0.249908 13.0629 0.175672 13.1447 0.119367 13.2386C0.063063 13.3324 0.0257933 13.4364 0.00968614 13.5447C-0.00642103 13.6529 -0.00105025 13.7633 0.0254918 13.8694C0.079096 14.0839 0.215681 14.2682 0.405201 14.3819L9.57187 19.8819C9.70148 19.9598 9.84983 20.0009 10.001 20.0009C10.1522 20.0009 10.3006 19.9598 10.4302 19.8819L19.5969 14.3819C19.7864 14.2682 19.923 14.0839 19.9766 13.8694C20.0302 13.655 19.9964 13.4281 19.8827 13.2386C19.769 13.0491 19.5847 12.9125 19.3702 12.8589C19.1558 12.8053 18.9289 12.839 18.7394 12.9527H18.7377Z fillblack/> path dM9.99992 12.3107C9.5504 12.3105 9.10941 12.1881 8.72409 11.9566L0.404086 6.96405C0.280876 6.88996 0.178928 6.78526 0.108153 6.66012C0.0373783 6.53498 0.000183105 6.39365 0.000183105 6.24988C0.000183105 6.10612 0.0373783 5.96479 0.108153 5.83965C0.178928 5.71451 0.280876 5.6098 0.404086 5.53572L8.72409 0.543217C9.1094 0.311741 9.55042 0.189453 9.99992 0.189453C10.4494 0.189453 10.8904 0.311741 11.2758 0.543217L19.5958 5.53572C19.719 5.6098 19.8209 5.71451 19.8917 5.83965C19.9625 5.96479 19.9997 6.10612 19.9997 6.24988C19.9997 6.39365 19.9625 6.53498 19.8917 6.66012C19.8209 6.78526 19.719 6.88996 19.5958 6.96405L11.2758 11.9566C10.8904 12.1881 10.4494 12.3105 9.99992 12.3107ZM2.45325 6.24988L9.58325 10.5274C9.70918 10.6027 9.85318 10.6425 9.99992 10.6425C10.1467 10.6425 10.2907 10.6027 10.4166 10.5274L17.5466 6.24988L10.4166 1.97238C10.2907 1.89705 10.1467 1.85727 9.99992 1.85727C9.85318 1.85727 9.70918 1.89705 9.58325 1.97238L2.45325 6.24988Z fillblack/> /g> defs> clipPath idclip0_1133_488> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgRegisteredCourses `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_495)> path dM15.8333 18.3346H4.16667C3.062 18.3333 2.00296 17.8939 1.22185 17.1128C0.440735 16.3317 0.00132321 15.2726 0 14.168L0 5.83464C0.00132321 4.72997 0.440735 3.67093 1.22185 2.88982C2.00296 2.1087 3.062 1.66929 4.16667 1.66797H15.8333C16.938 1.66929 17.997 2.1087 18.7782 2.88982C19.5593 3.67093 19.9987 4.72997 20 5.83464V14.168C19.9987 15.2726 19.5593 16.3317 18.7782 17.1128C17.997 17.8939 16.938 18.3333 15.8333 18.3346ZM4.16667 3.33464C3.50363 3.33464 2.86774 3.59803 2.3989 4.06687C1.93006 4.53571 1.66667 5.17159 1.66667 5.83464V14.168C1.66667 14.831 1.93006 15.4669 2.3989 15.9357C2.86774 16.4046 3.50363 16.668 4.16667 16.668H15.8333C16.4964 16.668 17.1323 16.4046 17.6011 15.9357C18.0699 15.4669 18.3333 14.831 18.3333 14.168V5.83464C18.3333 5.17159 18.0699 4.53571 17.6011 4.06687C17.1323 3.59803 16.4964 3.33464 15.8333 3.33464H4.16667Z fillblack/> path dM15.8332 10.8346H9.16652C8.94551 10.8346 8.73355 10.7468 8.57727 10.5906C8.42099 10.4343 8.33319 10.2223 8.33319 10.0013C8.33319 9.78029 8.42099 9.56833 8.57727 9.41205C8.73355 9.25577 8.94551 9.16797 9.16652 9.16797H15.8332C16.0542 9.16797 16.2662 9.25577 16.4224 9.41205C16.5787 9.56833 16.6665 9.78029 16.6665 10.0013C16.6665 10.2223 16.5787 10.4343 16.4224 10.5906C16.2662 10.7468 16.0542 10.8346 15.8332 10.8346Z fillblack/> path dM5.83337 10.8346H4.16671C3.94569 10.8346 3.73373 10.7468 3.57745 10.5906C3.42117 10.4343 3.33337 10.2223 3.33337 10.0013C3.33337 9.78029 3.42117 9.56833 3.57745 9.41205C3.73373 9.25577 3.94569 9.16797 4.16671 9.16797H5.83337C6.05438 9.16797 6.26634 9.25577 6.42262 9.41205C6.5789 9.56833 6.6667 9.78029 6.6667 10.0013C6.6667 10.2223 6.5789 10.4343 6.42262 10.5906C6.26634 10.7468 6.05438 10.8346 5.83337 10.8346Z fillblack/> path dM10.8334 14.9987H4.16671C3.94569 14.9987 3.73373 14.9109 3.57745 14.7546C3.42117 14.5983 3.33337 14.3864 3.33337 14.1654C3.33337 13.9444 3.42117 13.7324 3.57745 13.5761C3.73373 13.4198 3.94569 13.332 4.16671 13.332H10.8334C11.0544 13.332 11.2663 13.4198 11.4226 13.5761C11.5789 13.7324 11.6667 13.9444 11.6667 14.1654C11.6667 14.3864 11.5789 14.5983 11.4226 14.7546C11.2663 14.9109 11.0544 14.9987 10.8334 14.9987Z fillblack/> path dM15.8332 14.9987H14.1665C13.9455 14.9987 13.7335 14.9109 13.5773 14.7546C13.421 14.5983 13.3332 14.3864 13.3332 14.1654C13.3332 13.9444 13.421 13.7324 13.5773 13.5761C13.7335 13.4198 13.9455 13.332 14.1665 13.332H15.8332C16.0542 13.332 16.2662 13.4198 16.4224 13.5761C16.5787 13.7324 16.6665 13.9444 16.6665 14.1654C16.6665 14.3864 16.5787 14.5983 16.4224 14.7546C16.2662 14.9109 16.0542 14.9987 15.8332 14.9987Z fillblack/> /g> defs> clipPath idclip0_1133_495> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgFavoriteCourse `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_504)> path dM16.7809 20C16.4726 19.9992 16.1676 19.9372 15.8834 19.8178C15.5992 19.6984 15.3414 19.5238 15.1251 19.3042L10.0001 14.2092L4.87508 19.3075C4.54594 19.6414 4.12382 19.8685 3.66376 19.959C3.2037 20.0495 2.72704 19.9993 2.29592 19.815C1.86051 19.6399 1.48804 19.3375 1.22713 18.9474C0.966225 18.5573 0.829014 18.0976 0.833416 17.6283V4.16667C0.833416 3.0616 1.2724 2.00179 2.0538 1.22039C2.83521 0.438987 3.89501 0 5.00008 0L15.0001 0C15.5473 0 16.0891 0.107774 16.5946 0.317169C17.1001 0.526563 17.5595 0.833478 17.9464 1.22039C18.3333 1.6073 18.6402 2.06663 18.8496 2.57215C19.059 3.07768 19.1667 3.61949 19.1667 4.16667V17.6283C19.1714 18.0972 19.0347 18.5567 18.7744 18.9467C18.5141 19.3368 18.1424 19.6393 17.7076 19.815C17.4141 19.9377 17.099 20.0006 16.7809 20ZM5.00008 1.66667C4.33704 1.66667 3.70116 1.93006 3.23232 2.3989C2.76347 2.86774 2.50008 3.50363 2.50008 4.16667V17.6283C2.49978 17.7672 2.54064 17.903 2.6175 18.0187C2.69436 18.1343 2.80377 18.2246 2.93191 18.2781C3.06005 18.3316 3.20117 18.3459 3.33745 18.3193C3.47373 18.2926 3.59905 18.2262 3.69758 18.1283L9.41675 12.4442C9.57288 12.289 9.78409 12.2018 10.0042 12.2018C10.2244 12.2018 10.4356 12.289 10.5917 12.4442L16.3043 18.1267C16.4028 18.2245 16.5281 18.291 16.6644 18.3176C16.8007 18.3443 16.9418 18.33 17.0699 18.2765C17.1981 18.2229 17.3075 18.1327 17.3843 18.017C17.4612 17.9014 17.5021 17.7655 17.5018 17.6267V4.16667C17.5018 3.50363 17.2384 2.86774 16.7695 2.3989C16.3007 1.93006 15.6648 1.66667 15.0018 1.66667H5.00008Z fillblack/> /g> defs> clipPath idclip0_1133_504> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgReview `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_509)> path dM19.8632 7.32821C19.6927 6.78563 19.3522 6.31231 18.8919 5.97824C18.4316 5.64418 17.8761 5.4671 17.3074 5.47321H13.6665L12.5607 2.02655C12.3868 1.48401 12.0451 1.01073 11.5848 0.674935C11.1246 0.339144 10.5696 0.158203 9.99986 0.158203C9.43013 0.158203 8.87513 0.339144 8.41488 0.674935C7.95463 1.01073 7.61292 1.48401 7.43902 2.02655L6.33319 5.47321H2.69236C2.12548 5.47402 1.57335 5.65395 1.11484 5.9873C0.656329 6.32065 0.31489 6.79037 0.13929 7.32937C-0.0363094 7.86837 -0.0370866 8.44907 0.137069 8.98854C0.311225 9.52801 0.651406 9.99864 1.10902 10.3332L4.07236 12.4999L2.94569 15.989C2.76362 16.5302 2.76131 17.1157 2.93911 17.6583C3.11692 18.2009 3.46531 18.6714 3.93236 18.9999C4.3914 19.3389 4.94768 19.5205 5.51832 19.5176C6.08895 19.5148 6.64339 19.3276 7.09902 18.984L9.99986 16.849L12.9015 18.9816C13.3597 19.3186 13.913 19.5017 14.4818 19.5044C15.0506 19.5072 15.6057 19.3295 16.0672 18.997C16.5286 18.6644 16.8728 18.1941 17.0501 17.6536C17.2274 17.1131 17.2288 16.5304 17.054 15.989L15.9274 12.4999L18.894 10.3332C19.3569 10.0028 19.701 9.53221 19.8756 8.991C20.0501 8.44979 20.0458 7.86676 19.8632 7.32821ZM17.9107 8.98738L14.4574 11.5115C14.3155 11.615 14.21 11.7607 14.1558 11.9277C14.1016 12.0947 14.1016 12.2745 14.1557 12.4415L15.4682 16.4999C15.5346 16.7057 15.534 16.9273 15.4666 17.1328C15.3991 17.3383 15.2682 17.5171 15.0927 17.6435C14.9172 17.7699 14.7062 17.8375 14.4899 17.8363C14.2736 17.8352 14.0632 17.7656 13.889 17.6374L10.4932 15.1374C10.3502 15.0323 10.1773 14.9757 9.99986 14.9757C9.82239 14.9757 9.64955 15.0323 9.50652 15.1374L6.11069 17.6374C5.93659 17.7673 5.72564 17.8384 5.50841 17.8404C5.29118 17.8424 5.07897 17.7751 4.90255 17.6483C4.72612 17.5216 4.59465 17.3419 4.52719 17.1355C4.45973 16.929 4.45978 16.7063 4.52736 16.4999L5.84402 12.4415C5.89812 12.2745 5.89808 12.0947 5.84391 11.9277C5.78973 11.7607 5.6842 11.615 5.54236 11.5115L2.08902 8.98738C1.91511 8.86004 1.78588 8.681 1.71981 8.47583C1.65373 8.27067 1.65418 8.04986 1.72109 7.84496C1.78801 7.64006 1.91796 7.46155 2.09239 7.33493C2.26682 7.2083 2.47681 7.14003 2.69236 7.13988H6.94236C7.11878 7.13988 7.29066 7.08387 7.43323 6.97994C7.5758 6.87601 7.6817 6.72951 7.73569 6.56155L9.02736 2.53571C9.09366 2.3297 9.22362 2.15004 9.39852 2.02259C9.57343 1.89514 9.78427 1.82647 10.0007 1.82647C10.2171 1.82647 10.4279 1.89514 10.6029 2.02259C10.7778 2.15004 10.9077 2.3297 10.974 2.53571L12.2657 6.56155C12.3197 6.72951 12.4256 6.87601 12.5681 6.97994C12.7107 7.08387 12.8826 7.13988 13.059 7.13988H17.309C17.5246 7.14003 17.7346 7.2083 17.909 7.33493C18.0834 7.46155 18.2134 7.64006 18.2803 7.84496C18.3472 8.04986 18.3476 8.27067 18.2816 8.47583C18.2155 8.681 18.0863 8.86004 17.9124 8.98738H17.9107Z fillblack/> /g> defs> clipPath idclip0_1133_509> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgTestHistory `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_514)> path dM18.3016 10.7292C18.1409 12.629 17.3355 14.4168 16.019 15.796C14.7025 17.1752 12.9541 18.0628 11.0637 18.3116C9.17341 18.5604 7.25483 18.1555 5.62629 17.1639C3.99776 16.1724 2.75717 14.6539 2.11035 12.8603C1.46353 11.0667 1.44935 9.10592 2.07017 7.30319C2.69099 5.50046 3.90949 3.96416 5.52351 2.94917C7.13754 1.93419 9.05007 1.50153 10.9438 1.72298C12.8375 1.94443 14.5986 2.80668 15.9349 4.16667H13.3333C13.1123 4.16667 12.9003 4.25446 12.744 4.41074C12.5877 4.56703 12.4999 4.77899 12.4999 5C12.4999 5.22101 12.5877 5.43298 12.744 5.58926C12.9003 5.74554 13.1123 5.83333 13.3333 5.83333H16.7858C17.1961 5.83311 17.5896 5.67 17.8798 5.37984C18.1699 5.08967 18.3331 4.69619 18.3333 4.28583V0.833333C18.3333 0.61232 18.2455 0.400358 18.0892 0.244078C17.9329 0.0877974 17.721 0 17.4999 0V0C17.2789 0 17.067 0.0877974 16.9107 0.244078C16.7544 0.400358 16.6666 0.61232 16.6666 0.833333V2.565C14.9905 1.06727 12.8582 0.178736 10.6145 0.0430927C8.37082 -0.092551 6.14698 0.532631 4.30265 1.81753C2.45832 3.10242 1.10135 4.9719 0.451197 7.1236C-0.198953 9.27529 -0.104263 11.5834 0.719953 13.6746C1.54417 15.7658 3.04972 17.5179 4.99309 18.6474C6.93647 19.7769 9.20405 20.2178 11.4291 19.8988C13.6541 19.5798 15.7065 18.5196 17.2543 16.8896C18.8021 15.2597 19.7548 13.1552 19.9583 10.9167C19.969 10.8006 19.9555 10.6836 19.9186 10.5731C19.8816 10.4625 19.822 10.3609 19.7436 10.2747C19.6652 10.1884 19.5697 10.1195 19.4632 10.0722C19.3567 10.0249 19.2415 10.0003 19.1249 10C18.9216 9.99755 18.7247 10.0709 18.5725 10.2057C18.4203 10.3404 18.3237 10.5271 18.3016 10.7292Z fillblack/> /g> defs> clipPath idclip0_1133_514> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgCertificate `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_519)> path dM18.5084 0.7825C18.2042 0.2925 17.6775 0 17.1009 0H14.5934C13.315 0 12.1692 0.711667 11.6042 1.85833L10.0534 5.0025C10.0359 5.0025 10.0184 5 10.0009 5C9.98919 5 9.97836 5.00167 9.96669 5.00167L8.41586 1.85833C7.85003 0.711667 6.70503 0 5.42669 0H2.91919C2.34253 0 1.81586 0.2925 1.51086 0.7825C1.20669 1.2725 1.17753 1.87417 1.43253 2.39167L4.12586 7.8525C3.1117 9.13167 2.50086 10.745 2.50086 12.5008C2.50086 16.6358 5.86586 20.0008 10.0009 20.0008C14.1359 20.0008 17.5009 16.6358 17.5009 12.5008C17.5009 10.7517 16.8942 9.145 15.8867 7.8675L18.5875 2.3925C18.8434 1.875 18.8134 1.27333 18.5092 0.783333L18.5084 0.7825ZM5.42586 1.66667C6.06503 1.66667 6.63753 2.0225 6.92003 2.59583L8.21586 5.22333C7.16253 5.48167 6.19586 5.96 5.36919 6.61167L2.91836 1.66667H5.42586ZM10 18.3333C6.78336 18.3333 4.16669 15.7167 4.16669 12.5C4.16669 9.45 6.52086 6.94333 9.50753 6.69167C9.50836 6.69167 9.50919 6.69167 9.51086 6.69167C9.67253 6.67833 9.83586 6.66667 10.0009 6.66667C13.2175 6.66667 15.8342 9.28333 15.8342 12.5C15.8342 15.7167 13.2175 18.3333 10.0009 18.3333H10ZM14.6417 6.62083C13.8167 5.9675 12.8517 5.48833 11.8 5.2275L13.0984 2.59583C13.3809 2.0225 13.9534 1.66667 14.5925 1.66667L17.0925 1.65417L14.6417 6.62083ZM13.4642 12.0083C13.4642 12.3092 13.255 12.5625 13.015 12.6958L11.7734 13.3858L12.3242 14.8883C12.4309 15.1792 12.3342 15.5058 12.0867 15.6925C11.8334 15.8833 11.4842 15.8808 11.2342 15.6867L9.99919 14.7317L8.76419 15.6867C8.51336 15.88 8.1642 15.8825 7.9117 15.6925C7.6642 15.5058 7.56753 15.18 7.67419 14.8883L8.22503 13.3858L6.98336 12.6958C6.74336 12.5625 6.53419 12.3092 6.53419 12.0083C6.53419 11.7533 6.75586 11.4717 7.11419 11.4717H8.89753L9.37003 9.65917C9.44503 9.37167 9.70253 9.17167 9.99919 9.16667C10.295 9.1725 10.5534 9.37167 10.6284 9.65917L11.1009 11.4717H12.8842C13.2425 11.4717 13.4642 11.7525 13.4642 12.0083Z fillblack/> /g> defs> clipPath idclip0_1133_519> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgProfile `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_524)> path dM10 10C10.9889 10 11.9556 9.70676 12.7779 9.15735C13.6001 8.60794 14.241 7.82705 14.6194 6.91342C14.9978 5.99979 15.0969 4.99446 14.9039 4.02455C14.711 3.05465 14.2348 2.16373 13.5355 1.46447C12.8363 0.765206 11.9454 0.289002 10.9755 0.0960758C10.0055 -0.0968503 9.00021 0.00216643 8.08658 0.380605C7.17295 0.759043 6.39206 1.39991 5.84265 2.22215C5.29324 3.0444 5 4.0111 5 5C5.00132 6.32568 5.52853 7.59668 6.46593 8.53407C7.40332 9.47147 8.67432 9.99868 10 10ZM10 1.66667C10.6593 1.66667 11.3037 1.86217 11.8519 2.22844C12.4001 2.59471 12.8273 3.1153 13.0796 3.72439C13.3319 4.33348 13.3979 5.0037 13.2693 5.6503C13.1407 6.29691 12.8232 6.89085 12.357 7.35703C11.8908 7.8232 11.2969 8.14067 10.6503 8.26929C10.0037 8.3979 9.33348 8.33189 8.72439 8.0796C8.1153 7.82731 7.59471 7.40007 7.22844 6.8519C6.86216 6.30374 6.66667 5.65927 6.66667 5C6.66667 4.11595 7.01786 3.2681 7.64298 2.64298C8.2681 2.01786 9.11595 1.66667 10 1.66667Z fillblack/> path dM10 11.668C8.01155 11.6702 6.10518 12.4611 4.69914 13.8671C3.29309 15.2731 2.50221 17.1795 2.5 19.168C2.5 19.389 2.5878 19.6009 2.74408 19.7572C2.90036 19.9135 3.11232 20.0013 3.33333 20.0013C3.55435 20.0013 3.76631 19.9135 3.92259 19.7572C4.07887 19.6009 4.16667 19.389 4.16667 19.168C4.16667 17.6209 4.78125 16.1371 5.87521 15.0432C6.96917 13.9492 8.4529 13.3346 10 13.3346C11.5471 13.3346 13.0308 13.9492 14.1248 15.0432C15.2188 16.1371 15.8333 17.6209 15.8333 19.168C15.8333 19.389 15.9211 19.6009 16.0774 19.7572C16.2337 19.9135 16.4457 20.0013 16.6667 20.0013C16.8877 20.0013 17.0996 19.9135 17.2559 19.7572C17.4122 19.6009 17.5 19.389 17.5 19.168C17.4978 17.1795 16.7069 15.2731 15.3009 13.8671C13.8948 12.4611 11.9884 11.6702 10 11.668Z fillblack/> /g> defs> clipPath idclip0_1133_524> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgNotification `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_530)> path dM18.7958 11.3851L17.2124 5.6884C16.7483 4.01951 15.7397 2.55364 14.3469 1.52379C12.954 0.493945 11.2569 -0.0407771 9.52531 0.00462298C7.79369 0.0500231 6.12693 0.67294 4.78998 1.77436C3.45302 2.87578 2.52259 4.39249 2.14659 6.0834L0.920757 11.5959C0.785353 12.205 0.788484 12.8368 0.929918 13.4445C1.07135 14.0522 1.34748 14.6205 1.73791 15.1072C2.12834 15.5939 2.62311 15.9868 3.18568 16.2567C3.74826 16.5266 4.36428 16.6668 4.98826 16.6667H5.91659C6.10785 17.6086 6.61887 18.4555 7.36304 19.0637C8.10722 19.672 9.03879 20.0042 9.99992 20.0042C10.9611 20.0042 11.8926 19.672 12.6368 19.0637C13.381 18.4555 13.892 17.6086 14.0833 16.6667H14.7816C15.4239 16.6668 16.0576 16.5183 16.6331 16.2329C17.2085 15.9476 17.7102 15.533 18.0989 15.0216C18.4877 14.5103 18.7529 13.9159 18.8739 13.2851C18.9949 12.6543 18.9685 12.004 18.7966 11.3851H18.7958ZM9.99992 18.3334C9.48471 18.3313 8.98273 18.17 8.56267 17.8717C8.14262 17.5733 7.82499 17.1525 7.65326 16.6667H12.3466C12.1749 17.1525 11.8572 17.5733 11.4372 17.8717C11.0171 18.17 10.5151 18.3313 9.99992 18.3334ZM16.7716 14.0126C16.5394 14.3206 16.2385 14.5703 15.8929 14.7417C15.5473 14.9131 15.1665 15.0016 14.7808 15.0001H4.98826C4.61391 15 4.24436 14.9159 3.90687 14.7539C3.56939 14.5919 3.2726 14.3562 3.03839 14.0641C2.80419 13.7721 2.63856 13.4312 2.55373 13.0666C2.46889 12.702 2.46702 12.323 2.54826 11.9576L3.77326 6.44423C4.06855 5.11607 4.79935 3.92474 5.84947 3.05961C6.89959 2.19448 8.20878 1.70521 9.5689 1.66958C10.929 1.63395 12.262 2.054 13.356 2.86296C14.45 3.67192 15.2422 4.82336 15.6066 6.13423L17.1899 11.8309C17.2945 12.202 17.3112 12.5925 17.2386 12.9712C17.166 13.3499 17.0061 13.7064 16.7716 14.0126Z fillblack/> /g> defs> clipPath idclip0_1133_530> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const svgSetting `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> g clip-pathurl(#clip0_1133_540)> path dM10.0001 6.66797C9.34081 6.66797 8.69635 6.86347 8.14818 7.22974C7.60002 7.59601 7.17278 8.1166 6.92048 8.72569C6.66819 9.33478 6.60218 10.005 6.7308 10.6516C6.85942 11.2982 7.17689 11.8921 7.64306 12.3583C8.10924 12.8245 8.70318 13.142 9.34978 13.2706C9.99639 13.3992 10.6666 13.3332 11.2757 13.0809C11.8848 12.8286 12.4054 12.4014 12.7716 11.8532C13.1379 11.305 13.3334 10.6606 13.3334 10.0013C13.3334 9.11725 12.9822 8.2694 12.3571 7.64428C11.732 7.01916 10.8841 6.66797 10.0001 6.66797ZM10.0001 11.668C9.67045 11.668 9.34822 11.5702 9.07413 11.3871C8.80005 11.2039 8.58643 10.9437 8.46028 10.6391C8.33414 10.3346 8.30113 9.99945 8.36544 9.67615C8.42975 9.35285 8.58848 9.05588 8.82157 8.82279C9.05466 8.5897 9.35163 8.43097 9.67493 8.36666C9.99823 8.30235 10.3333 8.33536 10.6379 8.4615C10.9424 8.58765 11.2027 8.80127 11.3859 9.07535C11.569 9.34943 11.6668 9.67167 11.6668 10.0013C11.6668 10.4433 11.4912 10.8673 11.1786 11.1798C10.866 11.4924 10.4421 11.668 10.0001 11.668Z fillblack/> path dM17.745 11.5833L17.375 11.37C17.5416 10.4637 17.5416 9.53463 17.375 8.62833L17.745 8.415C18.0296 8.25085 18.279 8.03226 18.479 7.77172C18.6791 7.51118 18.8259 7.21378 18.911 6.89651C18.9961 6.57925 19.0179 6.24832 18.9751 5.92263C18.9324 5.59694 18.8259 5.28286 18.6617 4.99833C18.4976 4.7138 18.279 4.46439 18.0184 4.26434C17.7579 4.06428 17.4605 3.91751 17.1432 3.83239C16.826 3.74726 16.495 3.72547 16.1693 3.76824C15.8436 3.81101 15.5296 3.91751 15.245 4.08167L14.8742 4.29583C14.1738 3.69743 13.3689 3.23354 12.5 2.9275V2.5C12.5 1.83696 12.2366 1.20107 11.7678 0.732233C11.299 0.263392 10.6631 0 10 0C9.337 0 8.70111 0.263392 8.23227 0.732233C7.76343 1.20107 7.50004 1.83696 7.50004 2.5V2.9275C6.63119 3.23464 5.82658 3.69967 5.1267 4.29917L4.7542 4.08333C4.17957 3.75181 3.49677 3.66214 2.85602 3.83405C2.21527 4.00596 1.66906 4.42536 1.33754 5C1.00602 5.57464 0.916346 6.25743 1.08825 6.89818C1.26016 7.53893 1.67957 8.08515 2.2542 8.41667L2.6242 8.63C2.45763 9.5363 2.45763 10.4654 2.6242 11.3717L2.2542 11.585C1.67957 11.9165 1.26016 12.4627 1.08825 13.1035C0.916346 13.7442 1.00602 14.427 1.33754 15.0017C1.66906 15.5763 2.21527 15.9957 2.85602 16.1676C3.49677 16.3395 4.17957 16.2499 4.7542 15.9183L5.12504 15.7042C5.82567 16.3027 6.63085 16.7666 7.50004 17.0725V17.5C7.50004 18.163 7.76343 18.7989 8.23227 19.2678C8.70111 19.7366 9.337 20 10 20C10.6631 20 11.299 19.7366 11.7678 19.2678C12.2366 18.7989 12.5 18.163 12.5 17.5V17.0725C13.3689 16.7654 14.1735 16.3003 14.8734 15.7008L15.2459 15.9158C15.8205 16.2474 16.5033 16.337 17.1441 16.1651C17.7848 15.9932 18.331 15.5738 18.6625 14.9992C18.9941 14.4245 19.0837 13.7417 18.9118 13.101C18.7399 12.4602 18.3205 11.914 17.7459 11.5825L17.745 11.5833ZM15.6217 8.43667C15.9039 9.45922 15.9039 10.5391 15.6217 11.5617C15.5724 11.7396 15.5837 11.9289 15.6537 12.0998C15.7236 12.2707 15.8484 12.4135 16.0084 12.5058L16.9117 13.0275C17.1032 13.138 17.243 13.3201 17.3003 13.5336C17.3575 13.7472 17.3276 13.9747 17.2171 14.1663C17.1066 14.3578 16.9246 14.4975 16.711 14.5548C16.4974 14.6121 16.2699 14.5822 16.0784 14.4717L15.1734 13.9483C15.0133 13.8556 14.8269 13.8188 14.6436 13.8437C14.4603 13.8686 14.2904 13.9538 14.1609 14.0858C13.4191 14.843 12.4847 15.3833 11.4584 15.6483C11.2792 15.6944 11.1205 15.7987 11.0072 15.9449C10.8939 16.0911 10.8324 16.2709 10.8325 16.4558V17.5C10.8325 17.721 10.7447 17.933 10.5885 18.0893C10.4322 18.2455 10.2202 18.3333 9.9992 18.3333C9.77819 18.3333 9.56623 18.2455 9.40995 18.0893C9.25367 17.933 9.16587 17.721 9.16587 17.5V16.4567C9.16596 16.2717 9.10451 16.092 8.99121 15.9458C8.8779 15.7996 8.71918 15.6952 8.54004 15.6492C7.51366 15.3831 6.57948 14.8416 5.83837 14.0833C5.70881 13.9513 5.53898 13.8661 5.35567 13.8412C5.17235 13.8163 4.98596 13.8531 4.82587 13.9458L3.92254 14.4683C3.82773 14.5239 3.72286 14.5602 3.61397 14.5751C3.50509 14.59 3.39433 14.5832 3.28808 14.5551C3.18183 14.527 3.08219 14.4782 2.99489 14.4114C2.90759 14.3446 2.83435 14.2613 2.7794 14.1661C2.72445 14.0709 2.68887 13.9658 2.6747 13.8568C2.66053 13.7479 2.66807 13.6372 2.69686 13.5311C2.72566 13.425 2.77515 13.3257 2.84248 13.2389C2.90981 13.152 2.99366 13.0793 3.0892 13.025L3.99254 12.5033C4.15249 12.411 4.27726 12.2682 4.34725 12.0973C4.41724 11.9264 4.42848 11.7371 4.3792 11.5592C4.097 10.5366 4.097 9.45672 4.3792 8.43417C4.42759 8.25657 4.41582 8.06795 4.34571 7.89774C4.27561 7.72754 4.15113 7.58534 3.9917 7.49333L3.08837 6.97167C2.89686 6.86116 2.75709 6.6791 2.69982 6.46555C2.64254 6.25199 2.67245 6.02442 2.78295 5.83292C2.89346 5.64141 3.07552 5.50164 3.28907 5.44437C3.50263 5.38709 3.73019 5.41699 3.9217 5.5275L4.8267 6.05083C4.98635 6.14376 5.17235 6.18101 5.35548 6.15672C5.5386 6.13244 5.70846 6.048 5.83837 5.91667C6.58011 5.15945 7.51456 4.61918 8.54087 4.35417C8.72056 4.30797 8.8797 4.20313 8.99306 4.05625C9.10643 3.90938 9.16754 3.72887 9.1667 3.54333V2.5C9.1667 2.27899 9.2545 2.06702 9.41078 1.91074C9.56706 1.75446 9.77902 1.66667 10 1.66667C10.2211 1.66667 10.433 1.75446 10.5893 1.91074C10.7456 2.06702 10.8334 2.27899 10.8334 2.5V3.54333C10.8333 3.7283 10.8947 3.90804 11.008 4.05423C11.1213 4.20043 11.2801 4.30478 11.4592 4.35083C12.4859 4.61679 13.4204 5.15824 14.1617 5.91667C14.2913 6.04872 14.4611 6.13391 14.6444 6.15881C14.8277 6.1837 15.0141 6.14689 15.1742 6.05417L16.0775 5.53167C16.1723 5.47609 16.2772 5.43981 16.3861 5.42492C16.495 5.41003 16.6057 5.41683 16.712 5.44492C16.8182 5.47301 16.9179 5.52184 17.0052 5.58859C17.0925 5.65535 17.1657 5.73872 17.2207 5.83389C17.2756 5.92907 17.3112 6.03417 17.3254 6.14316C17.3395 6.25214 17.332 6.36285 17.3032 6.46891C17.2744 6.57497 17.2249 6.67429 17.1576 6.76114C17.0903 6.848 17.0064 6.92068 16.9109 6.975L16.0075 7.49667C15.8484 7.58892 15.7243 7.73123 15.6545 7.90141C15.5847 8.07159 15.5732 8.26008 15.6217 8.4375V8.43667Z fillblack/> /g> defs> clipPath idclip0_1133_540> rect width20 height20 fillwhite/> /clipPath> /defs> /svg>` const localizer_header { title_warning: Warning, swal_find_course: Please enter a minimum of 3 characters. }/script>script typetext/javascript> var seperatorMenu hr classmt--5 mb--5 mx-0 w-100>; var mainMenu // li>a href/account/overview>+ svgOverview + span>Overview/span>/a>/li>, // li>a href/account/registered-courses >+ svgRegisteredCourses +/i>span>Registered Courses/span>/a>/li>, // li>a href/account/favorite-course >+ svgFavoriteCourse +span>Favourite Courses/span>/a>/li>, // li>a href/account/review >+ svgReview +span>Review/span>/a>/li>, // li>a href/account/test-history >+ svgTestHistory +span>Test History/span>/a>/li>, // li>a href/account/certificate >+ svgCertificate +span>Certificate/span>/a>/li>, li>a href/account/overview>+ svgOverview + span>Overview/span>/a>/li>, li>a href/account/registered-courses >+ svgRegisteredCourses +/i>span>Registered Courses/span>/a>/li>, li>a href/account/favorite-courses >+ svgFavoriteCourse +span>Favourite Courses/span>/a>/li>, li>a href/account/review >+ svgReview +span>Review/span>/a>/li>, li>a href/account/test-history >+ svgTestHistory +span>Test History/span>/a>/li>, li>a href/account/certificate >+ svgCertificate +span>Certificate/span>/a>/li>, var additionalSubMenu li>a href/account/khoa-hoc-cua-toi >i classfeather-monitor>/i>span>My Courses/span>/a>/li>, li>a href/account/thong-bao >i classfeather-volume-2>/i>span>Notifications/span>/a>/li>, li>a href/account/bai-kiem-tra>i classfeather-message-square>/i>span>Test/span>/a>/li>, li>a href/account/bai-tap>i classfeather-list>/i>span>Exercise/span>/a>/li>, var footerSubMenu li>a href/account/profile >+ svgProfile +span>Profile/span>/a>/li>, li>a href/account/notifications >+ svgNotification +span>Notifications/span>/a>/li>, //li>a href/account/event>i classfeather-calendar>/i>span>Event/span>/a>/li>, li>a href/account/setting >+ svgSetting +span>Setting/span>/a>/li>, // li>a href#! classsign-out>i classfeather-log-out>/i>span>Sign out/span>/a>/li>, $(document).ready(function () { $(document).ready(function () { $(#notification-toggle).click(function () { $(.notification-prop).toggle(); // Hiển thị/ẩn khi click FE_MANAGE.getRecentNotification(); }); $(.notification-prop).mouseleave(function () { $(this).hide(); // Ẩn khi di chuột ra ngoài }); }); loadMenuLanguage(); $(.list-menu-append).html(); // gọi hàm kiểm tra đã đăng nhập chưa var isSignedIn checkSignedInUser(); if (isSignedIn) { // render info của user đã đăng nhập var user JSON.parse(localStorage.currentLoggedInUserELearning); $(.user-photo).attr(src, (user.photo ! null && user.photo.trim().length > 0) ? user.photo : /assets/media/images/avatar2.png); $(.username).text(user.displayName); $(#user-display).text(user.displayName); $(.btn-signin).hide(); $(.mobile-btn-signin).hide(); $(.notification-component).css(display, flex); $(.user-component).css(display, flex); $(.mobile-user-component).css(display, flex); // render header menu theo account type if (user.accountTypeId 1003) { $(.list-menu-append).append(`p classsubmenu-text>System/p>`) var subMenu mainMenu.concat(seperatorMenu + `p classsubmenu-text>Account/p>`, footerSubMenu); $.each(subMenu, function (index, item) { $(.list-menu-append).append(item) }) } else { $(.list-menu-append).append(`p classsubmenu-text>System/p>`) var subMenu mainMenu.concat(seperatorMenu + `p classsubmenu-text>Account/p>`, footerSubMenu); $.each(subMenu, function (index, item) { $(.list-menu-append).append(item) }) } } loadTopCourseInSearch(); $(#searchTrigger).click(function () { setTimeout(function () { $(#inputSearchCourseAndPost).focus(); }, 100); // Thay đổi thời gian delay nếu cần }); }) $(document).on(click, .li-item-language, function (e) { e.preventDefault(); let lang $(this).attr(data-value); setCookie(systemConfig.defaultCultureName, lang, 365); localStorage.setItem(selectedLanguage, lang); localStorage.setItem(currentLanguage, lang); window.location.reload(); }) /** * check đã đăng nhập hay chưa */ function checkSignedInUser() { if (localStorage.currentLoggedInUserELearning) { $(#btn-signin a).hide(); $(.btn-signin a).hide(); $(.user-hover a, .user-hover .inner).remove(d-none); return true; } else { $(#btn-signin a).show(); $(.btn-signin a).show(); $(.user-hover a, .user-hover .inner).addClass(d-none); return false; } } /** * sự kiện đăng xuất */ $(.list-menu-user).on(click, .btn-logOut, function () { localStorage.removeItem(currentLoggedInUserELearning); localStorage.removeItem(voucherValue); window.location.href /homepage; }) var courseCategoryData ; var listCourseChild ; var listCourseRoot ; function loadDataCourseCategory() { //debugger; $.ajax({ url: /coursecategory/api/getlistcoursecategoryshowonmenu, type: GET, async: true, contentType: application/json, success: function (response) { //console.log(response) var data response.resources; //console.log(data); courseCategoryData data; //lấy tất cả các phần tử cha (parentId null) listCourseRoot data.filter(x > x.parentId null); //lấy tất cả các phần tử con (parentId ! null) listCourseChild data.filter(x > x.parentId ! null); var listCourse ; var listCourseOnMoblie ; var courseTabContent $(.course_onShow).html(); listCourseRoot.sort((a, b) > a.id - b.id); listCourseRoot.forEach(function (item, index) { $(.course-drop).append(`a href/course-categories/${item.seoAlias}/${item.id} classcourse-drop-link>${item.name}/a>`) console.log(course-categories) listCourse + li classvertical-nav-item data-targetdata-course- + item.id + >a href/course-categories/ + item.seoAlias + / + item.id + > + item.name + /a>/li>; listCourseOnMoblie + `li classvertical-nav-item data-targetdata-course-${item.id}>a href/course-categories/${item.seoAlias}/${item.id} >span>${item.name}/span>/a>`; //filter lấy những phần tử con theo rootId lấy từ treeIds var listChild listCourseChild.filter(x > x.treeIds.split(_)0 item.id); //nếu listChild lớn hơn 0 if (listChild.length > 0) { //for Mobile listCourseOnMoblie + ` div classvartical-nav-content-menu-wrapper> div classvartical-nav-content-menu> ul classrbt-vertical-nav-list-wrapper>`; listChild.forEach(function (itemChild) { listCourseOnMoblie + `li>a href/course-categories/${itemChild.seoAlias}/${itemChild.id}>span>${itemChild.name}/span>/a>/li>`; }) listCourseOnMoblie + `/ul>/div>/div>/li>`; //kiểm tra nếu listChild lớn hơn listRoot thì chia thành 2 cột if (listChild.length > listCourseRoot.length) { courseTabContent + `div classrbt-vertical-inner tab-content iddata-course-${item.id}> div classrbt-vertical-single> div classrow>`; courseTabContent + `div classcol-lg-6 col-sm-6 col-6> div classvartical-nav-content-menu> ul classrbt-vertical-nav-list-wrapper>`; //Lặp list child từ 0 đến 1/2 for (let i 0; i listChild.length / 2; i++) { courseTabContent + `li>a href/course-categories/${listChildi.seoAlias}/${listChildi.id}>${listChildi.name}/a>/li>` } courseTabContent + `/ul>/div>/div>`; courseTabContent + `div classcol-lg-6 col-sm-6 col-6> div classvartical-nav-content-menu> ul classrbt-vertical-nav-list-wrapper>`; //lặp listchild từ 1/2 đến hết for (let i listChild.length / 2; i listChild.length; i++) { courseTabContent + `li>a href/course-categories/${listChildi.seoAlias}/${listChildi.id}>${listChildi.name}/a>/li>` } courseTabContent + `/ul>/div>/div>/div>/div>/div>`; } //kiểm tra nếu listChild nhỏ hơn hoặc bằng listRoot thì chia thành 1 cột else { courseTabContent + `div classrbt-vertical-inner tab-content iddata-course-${item.id}> div classrbt-vertical-single> div classrow> div classcol-lg-12 col-sm-12 col-12> div classvartical-nav-content-menu> ul classrbt-vertical-nav-list-wrapper>`; //lặp phần tử con để add vào tab content listChild.forEach(function (itemChild) { courseTabContent + `li>a href/course-categories/${itemChild.seoAlias}/${itemChild.id}>${itemChild.name}/a>/li>` }) courseTabContent + `/ul>/div>/div>/div>/div>/div>`; } } //nếu listChild 0 thì hiển thị nội dung không có dữ liệu else { courseTabContent + `div classrbt-vertical-inner tab-content iddata-course-${item.id}> div classrbt-vertical-single> div classrow> div classcol-lg-12> div classvartical-nav-content-menu> ul classrbt-vertical-nav-list-wrapper> li>a href#!>/a>/li> /ul> /div> /div> /div> /div> /div>`; //listCourseOnMoblie + `ul classrbt-vertical-nav-list-wrapper>li>a href#!>Chưa có danh mục nào thuộc danh mục này/a>/li>/ul>/li>`; } }); //thay thế html $(.course_onShow).html(listCourse); $(.course_onShow_moblie).html(listCourseOnMoblie); $(.content-course_by-category).html(courseTabContent); //appendDataToTabContent(); //sự kiện khi hover vào danh mục cha $(.course_onShow .vertical-nav-item).on(mouseover, function () { $(.rbt-vertical-inner).hide(); $(.vertical-nav-item).removeClass(active); $(this).addClass(active); $(.content-course_by-category .tab-content).hide(); var target $(this).attr(data-target); $(# + target).fadeIn(); }); //sự kiện click menu moblie var windowWidth $(window).width(); if (windowWidth 1200) { $(.rbt-side-offcanvas-activation).on(click, function () { $(.rbt-offcanvas-side-menu).addClass(active-offcanvas) }) $(.rbt-close-offcanvas).on(click, function () { $(.rbt-offcanvas-side-menu).removeClass(active-offcanvas) }) $(.rbt-offcanvas-side-menu).on(click, function (e) { e.target this && $(.rbt-offcanvas-side-menu).removeClass(active-offcanvas); }); $(.rbt-vertical-nav-list-wrapper .vertical-nav-item a).on(click, function (e) { if (e.target.closest(span) null) { e.preventDefault(); $(this).siblings(.vartical-nav-content-menu-wrapper).toggleClass(active).slideToggle(400); $(this).toggleClass(active) } }) } //active parent menu đầu tiên $(.course_onShow .vertical-nav-item).first().addClass(active); var targetData $(.course_onShow .vertical-nav-item).first().attr(data-target); $(# + targetData).fadeIn(); } }) } if (localStorage.listCourseAddCartSidebar) { $(.rbt-cart-count).html(JSON.parse(localStorage.listCourseAddCartSidebar).length.toString()); } //load top course in search function loadTopCourseInSearch() { $.ajax({ url: /course/api/topcourseonhomepage, type: GET, async: true, contentType: application/json, success: function (response) { $(#listTopCousre).append(response); }, error: function (res) { } }) } //search course, post $(#btnSearchCourseAndPost).on(click, function () { if ($(#inputSearchCourseAndPost).val().length > 3) { $(#btnSearchCourseAndPost).attr(target, _blank); $(#btnSearchCourseAndPost).attr(href, /search?keyword + $(#inputSearchCourseAndPost).val()); } else { $(#btnSearchCourseAndPost).attr(target, ); $(#btnSearchCourseAndPost).attr(href, #!); Swal.fire({ icon: warning, title: localizer_header.title_warning, html: localizer_header.swal_find_course, focusConfirm: true, allowEnterKey: true }); } }) $(#inputSearchCourseAndPost).on(keypress, function (e) { let key e.which; if (key 13) { if ($(#inputSearchCourseAndPost).val().length > 3) { window.open(/search?keyword + $(#inputSearchCourseAndPost).val(), _blank).focus(); } else { Swal.fire({ icon: warning, title: localizer_header.title_warning, html: localizer_header.swal_find_course, focusConfirm: true, allowEnterKey: true }); } } }) $(#formSearchCourseAndPost).on(submit, function (e) { e.preventDefault(); }) //function appendDataToTabContent() { // listCourseChild.forEach(function (item, index) { // var rootId item.treeIds.split(_)0; // var content `li>a href/danh-muc/${item.seoAlias}/${item.id}>${item.name}/a>/li>`; // $(#data-course- + rootId + ul).append(content); // }) //} //Load current language menu //load list language menu function loadMenuLanguage() { //default let content ; let contentCurrentCulture ; languages.forEach(function (item) { content + ` li classli-item-language data-value${item.code}> a href# classitem-languague ${currentLanguage item.code ? active : } data-value${item.code}> div classme-2 stylewidth: 37.5px; height: 25px> ${item.icon} /div> span classmenu-item>${item.name}/span> /a> /li>` if (currentLanguage item.code) { contentCurrentCulture `div classme-2 stylewidth: 37.5px; height: 25px> ${item.icon} /div>` } }) $(.currentLanguageMenu).html(contentCurrentCulture); // $(#currentLanguageMenuMobile).html(contentCurrentCulture); $(.listLanguageMenu).html(content); } $(.mobile-left-toggle).on(click, function(){ $(.popup-mobile-menu).addClass(active); })/script>/partial> !-- End Header Area --> !-- Mobile Menu Section --> style> .rbt-btn-close { display: flex; justify-content: flex-end; } .close-button { display: flex; padding: 10px; justify-content: center; align-items: center; gap: 10px; border-radius: 99px; background: var(--Background, #EFEFEF); } .list-menu-mobile { display: flex; flex-direction: column; gap: 20px; } .mobile-action-head { display: flex; gap: 20px; flex-direction: column; } .mobile-space { width: 1px; height: 20px; background: var(--Background, #EFEFEF); } .mobile-space-column { width: 100%; height: 1px; flex-shrink: 0; background: var(--Border, #D8D4CE); } .mobile-btn-signin { display: flex; padding: 14px 28px; justify-content: center; align-items: center; gap: 10px; background: var(--Red, #ED1C24); border: 0 !important; color: var(--White, #FFF); font-size: 18px; font-style: normal; font-weight: 400; line-height: normal; } .mgt-20 { margin-top: 20px; } .mobile-social { display: flex; flex-direction: row; align-items: flex-start; gap: 20px; } .mobile-social a { display: flex; padding: 10px; flex-direction: column; align-items: flex-start; gap: 10px; border-radius: 99px; border: 0.5px solid var(--Black, #000); background: var(--White, #FFF); }.mobile-contact-text { color: var(--Black, #000); font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; margin: 0;}.mobile-user-component { display: none; gap: 10px; align-items: center;}.mobile-user-avatar { width: 44px; height: 44px; border-radius: 44px;}/style>div classpopup-mobile-menu> div classinner-wrapper list-menu-mobile> div classrbt-btn-close> button classclose-button rbt-round-btn fl-right> svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone> path dM15.5885 5.58898L14.4102 4.41064L9.99932 8.82148L5.58849 4.41064L4.41016 5.58898L8.82099 9.99981L4.41016 14.4106L5.58849 15.589L9.99932 11.1781L14.4102 15.589L15.5885 14.4106L11.1777 9.99981L15.5885 5.58898Z fillblack /> /svg> /button> /div> div classmobile-action-head> div classd-flex gap20 align-center> a href#>img width214.757 height28 src/actionaid/images/shared/header/logo-actionaid.png />/a> a href#>img src/actionaid/images/shared/header/logo-afv.png />/a> /div> div classd-flex justify-spacebetween mgt-20> a classmobile-btn-signin href/sign-in> Sign in /a> a classmobile-user-component href/tai-khoan/ho-so> img classuser-photo /> p classusername>/p> img classactionaid-carret src/actionaid/images/shared/carret/fi-rs-caret-right.png> /a> div classd-flex justify-center align-center gap10 padding10> div classmobile-space>/div> a classheader-icon href/tim-kiem?keywordEnter keyword> svg xmlnshttp://www.w3.org/2000/svg width21 height20 viewBox0 0 21 20 fillnone> path dM19.0767 18.9583C18.9184 18.9583 18.76 18.9 18.635 18.775L16.9684 17.1083C16.7267 16.8666 16.7267 16.4666 16.9684 16.225C17.21 15.9833 17.61 15.9833 17.8517 16.225L19.5184 17.8916C19.76 18.1333 19.76 18.5333 19.5184 18.775C19.3934 18.9 19.235 18.9583 19.0767 18.9583Z fillblack>/path> path dM10.3263 18.125C5.618 18.125 1.78467 14.2916 1.78467 9.58329C1.78467 4.87496 5.618 1.04163 10.3263 1.04163C15.0347 1.04163 18.868 4.87496 18.868 9.58329C18.868 14.2916 15.0347 18.125 10.3263 18.125ZM10.3263 2.29163C6.30133 2.29163 3.03467 5.56663 3.03467 9.58329C3.03467 13.6 6.30133 16.875 10.3263 16.875C14.3513 16.875 17.618 13.6 17.618 9.58329C17.618 5.56663 14.3513 2.29163 10.3263 2.29163Z fillblack>/path> /svg> /a> a classheader-icon notification-component p-relative href/tai-khoan/thong-bao-cua-toi> svg xmlnshttp://www.w3.org/2000/svg width21 height20 viewBox0 0 21 20 fillnone> path fill-ruleevenodd clip-ruleevenodd dM10.9085 18.75H10.9069C9.9727 18.7492 9.08854 18.3375 8.41768 17.59C8.18685 17.3342 8.20768 16.9383 8.46435 16.7083C8.72101 16.4767 9.11604 16.4975 9.34687 16.755C9.77854 17.2358 10.3327 17.5 10.9077 17.5H10.9085C11.486 17.5 12.0427 17.2358 12.4752 16.7542C12.7069 16.4983 13.1019 16.4775 13.3577 16.7083C13.6144 16.9392 13.6352 17.335 13.4044 17.5908C12.731 18.3383 11.8452 18.75 10.9085 18.75Z fillblack /> path fill-ruleevenodd clip-ruleevenodd dM10.949 2.08337C8.03651 2.08337 6.00651 4.36504 6.00651 6.41254C6.00651 8.14504 5.52568 8.94587 5.10068 9.65254C4.75984 10.22 4.49068 10.6684 4.49068 11.6425C4.62984 13.2142 5.66734 14.04 10.949 14.04C16.2015 14.04 17.2715 13.1775 17.4098 11.5884C17.4073 10.6684 17.1382 10.22 16.7973 9.65254C16.3723 8.94587 15.8915 8.14504 15.8915 6.41254C15.8915 4.36504 13.8615 2.08337 10.949 2.08337ZM10.949 15.29C7.05234 15.29 3.53068 15.015 3.24318 11.6959C3.24068 10.3225 3.65984 9.62421 4.02984 9.00921C4.40401 8.38587 4.75651 7.79837 4.75651 6.41254C4.75651 3.71837 7.24484 0.833374 10.949 0.833374C14.6532 0.833374 17.1415 3.71837 17.1415 6.41254C17.1415 7.79837 17.494 8.38587 17.8682 9.00921C18.2382 9.62421 18.6573 10.3225 18.6573 11.6425C18.3665 15.015 14.8457 15.29 10.949 15.29Z fillblack /> /svg> div classnotification-count> /div> /a> ul classrbt-dropdown-menu switcher-language> li classhas-child-menu> a href# classcurrentLanguageMenu> div classme-2 stylewidth: 37.5px; height: 25px> svg xmlnshttp://www.w3.org/2000/svg idflag-icons-vn viewBox0 0 640 480> defs> clipPath idvn-a> path fill-opacity.7 dM-85.3 0h682.6v512H-85.3z>/path> /clipPath> /defs> g fill-ruleevenodd clip-pathurl(#vn-a) transformtranslate(80)scale(.9375)> path fill#da251d dM-128 0h768v512h-768z>/path> path fill#ff0 dM349.6 381 260 314.3l-89 67.3L204 272l-89-67.7 110.1-1 34.2-109.4L294 203l110.1.1-88.5 68.4 33.9 109.6z>/path> /g> /svg> /div> /a> ul classsub-menu listLanguageMenu id styleleft: -80px !important; display: flex; flex-direction: column; gap: 8px;> li classli-item-language data-valuevi-VN> a href# classitem-languague active data-valuevi-VN> div classme-2 stylewidth: 37.5px; height: 25px> svg xmlnshttp://www.w3.org/2000/svg idflag-icons-vn viewBox0 0 640 480> defs> clipPath idvn-a> path fill-opacity.7 dM-85.3 0h682.6v512H-85.3z>/path> /clipPath> /defs> g fill-ruleevenodd clip-pathurl(#vn-a) transformtranslate(80)scale(.9375)> path fill#da251d dM-128 0h768v512h-768z>/path> path fill#ff0 dM349.6 381 260 314.3l-89 67.3L204 272l-89-67.7 110.1-1 34.2-109.4L294 203l110.1.1-88.5 68.4 33.9 109.6z>/path> /g> /svg> /div> span classmenu-item>Tiếng Việt/span> /a> /li> li classli-item-language data-valueen-GB> a href# classitem-languague data-valueen-GB> div classme-2 stylewidth: 37.5px; height: 25px> svg xmlnshttp://www.w3.org/2000/svg idflag-icons-gb viewBox0 0 640 480> path fill#012169 dM0 0h640v480H0z>/path> path fill#FFF dm75 0 244 181L562 0h78v62L400 241l240 178v61h-80L320 301 81 480H0v-60l239-178L0 64V0z>/path> path fill#C8102E dm424 281 216 159v40L369 281zm-184 20 6 35L54 480H0zM640 0v3L391 191l2-44L590 0zM0 0l239 176h-60L0 42z>/path> path fill#FFF dM241 0v480h160V0zM0 160v160h640V160z>/path> path fill#C8102E dM0 193v96h640v-96zM273 0v480h96V0z>/path>/svg> /div> span classmenu-item>English/span> /a> /li> /ul> /li> /ul> /div> /div> div classmobile-space-column>/div> div classd-flex gap24 flex-column> a href/homepage classheader-link-active> Home /a> a href/about-us class> About us /a> a href/courses class> Courses /a> div classhd-blog-actionAid> a href#! class onclicktoggleStatusDropdown(blog-drop-mobile, true)>One Planet Earth/a> div idblog-drop-mobile classblog-drop-mobile hidden> a href/post/news classblog-drop-link-mobile>News/a> div classblog-dropdown-mobile sub-menu-mobile> a classblog-drop-link-mobile onclicktoggleStatusDropdown(sub-drop-down-mobile, false)>Publications/a> div idsub-drop-down-mobile classsub-drop-down-mobile hidden> a href/post/publications classsub-drop-link-mobile>Publications/a> a href/post/useful-reports classsub-drop-link-mobile>Useful reports/a> /div> /div> a href/post/stories classblog-drop-link-mobile>Stories/a> a href/post/videos classblog-drop-link-mobile>Videos/a> /div> /div> a href/contact class> Contact /a> /div> div classmobile-space-column>/div> p classmobile-contact-text> Contact us /p> div classmobile-social> div classd-flex gap10 align-center> a hrefhttps://www.facebook.com/ActionAid?localevi_VN> svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 16 16 fillnone> path dM11.9985 0.00332907L9.92365 0C7.59264 0 6.08624 1.54552 6.08624 3.93762V5.75313H4.00008C3.81981 5.75313 3.67383 5.89927 3.67383 6.07954V8.71001C3.67383 8.89028 3.81997 9.03625 4.00008 9.03625H6.08624V15.6738C6.08624 15.854 6.23222 16 6.41249 16H9.13433C9.3146 16 9.46058 15.8539 9.46058 15.6738V9.03625H11.8998C12.0801 9.03625 12.226 8.89028 12.226 8.71001L12.227 6.07954C12.227 5.99299 12.1926 5.91009 12.1315 5.84884C12.0704 5.78758 11.9872 5.75313 11.9006 5.75313H9.46058V4.2141C9.46058 3.47438 9.63685 3.09886 10.6005 3.09886L11.9982 3.09836C12.1783 3.09836 12.3242 2.95222 12.3242 2.77211V0.329578C12.3242 0.149642 12.1784 0.00366197 11.9985 0.00332907Z fillblack /> /svg> /a> p classfacebook-link onclickwindow.open(https://www.facebook.com/ActionAid?localevi_VN, _blank);> ActionAid International /p> /div> div classd-flex gap10 align-center> a hrefhttps://www.facebook.com/actionaidvn?localevi_VN> svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 16 16 fillnone> path dM11.9985 0.00332907L9.92365 0C7.59264 0 6.08624 1.54552 6.08624 3.93762V5.75313H4.00008C3.81981 5.75313 3.67383 5.89927 3.67383 6.07954V8.71001C3.67383 8.89028 3.81997 9.03625 4.00008 9.03625H6.08624V15.6738C6.08624 15.854 6.23222 16 6.41249 16H9.13433C9.3146 16 9.46058 15.8539 9.46058 15.6738V9.03625H11.8998C12.0801 9.03625 12.226 8.89028 12.226 8.71001L12.227 6.07954C12.227 5.99299 12.1926 5.91009 12.1315 5.84884C12.0704 5.78758 11.9872 5.75313 11.9006 5.75313H9.46058V4.2141C9.46058 3.47438 9.63685 3.09886 10.6005 3.09886L11.9982 3.09836C12.1783 3.09836 12.3242 2.95222 12.3242 2.77211V0.329578C12.3242 0.149642 12.1784 0.00366197 11.9985 0.00332907Z fillblack /> /svg> /a> p classfacebook-link onclickwindow.open(https://www.facebook.com/actionaidvn?localevi_VN, _blank);> ActionAid VietNam /p> /div> /div> /div> /div>/div>script> function toggleStatusDropdown(menuId, destroyMenu) { const menu document.getElementById(menuId); menu.classList.toggle(hidden); if (destroyMenu) { const submenu document.querySelector(#sub-drop-down-mobile); submenu.classList.add(hidden) } }/script>/partial> !-- Start Side Vav (Cart side bar)--> style> .swal2-container { z-index: 99999; }/style>div classrbt-cart-side-menu> div classinner-wrapper> div classinner-top> div classcontent> div classtitle> h4 classtitle mb--0>Giỏ hàng của bạn/h4> /div> div classrbt-btn-close idbtn_sideNavClose> button classminicart-close-button rbt-round-btn>i classfeather-x>/i>/button> /div> /div> /div> nav classside-nav w-100> ul classrbt-minicart-wrapper idlistCourse_CartSidebar> /ul> /nav> div classrbt-minicart-footer> hr classmb--0> div classrbt-cart-subttotal> p>strong>Tổng:/strong>/p> p idtotalPriceCartSidebar>0₫/p> /div> hr classmb--0 d-none voucherSideBarApply> div classrbt-cart-subttotal d-none voucherSideBarApply> p>strong idvoucherCodeCartSideBar>Giảm giá:/strong>/p> p idvoucherValueCartSidebar>0₫/p> /div> hr classmb--0 d-none voucherSideBarApply> div classrbt-cart-subttotal d-none voucherSideBarApply> p>strong>Thành tiền:/strong>/p> p idvoucherFinalPriceCartSidebar>0₫/p> /div> hr classmb--0> div classrbt-minicart-bottom mt--20> div classview-cart-btn> a classrbt-btn btn-border icon-hover w-100 text-center href/gio-hang idcart-view> span classbtn-text>Xem giỏ hàng/span> span classbtn-icon>i classfeather-arrow-right>/i>/span> /a> /div> div classcheckout-btn mt--20> a classrbt-btn btn-gradient icon-hover w-100 text-center href# idcheckout-course> span classbtn-text>Thanh toán/span> span classbtn-icon>i classfeather-arrow-right>/i>/span> /a> /div> /div> /div> /div>/div>script> $(#checkout-course).click(function (e) { e.preventDefault(); if (localStorage.currentLoggedInUserELearning) { if (localStorage.listCourseAddCartSidebar && JSON.parse(localStorage.listCourseAddCartSidebar).length 0) { Swal.fire({ title: Thanh toán, text: Chưa có khóa học nào trong giỏ hàng, icon: warning, }) } else{ window.location.href /thanh-toan; } //window.location.href $(this).attr(href); } else { Swal.fire({ title: Thanh toán, text: Bạn cần đăng nhập để tiếp tục thanh toán, icon: warning, }).then((result) > { if (result.isConfirmed) { window.location.href /sign-in; } }) } }) $(document).ready(function (e) { $(.rbt-notification-sidenav-activation).on(click, function () { $(.rbt-notification-side-menu).addClass(side-menu-active), $(body).addClass(cart-sidenav-menu-active); FE_MANAGE.getRecentNotification(); }), $(.close_side_menu).on(click, function () { $(.rbt-notification-side-menu).removeClass(side-menu-active), $(body).removeClass(cart-sidenav-menu-active) }); $(.side-menu .side-nav .navbar-nav li a).on(click, function () { $(.rbt-notification-side-menu).removeClass(side-menu-active), $(body).removeClass(cart-sidenav-menu-active) }), $(.rbt-notification-side-menu .btn_close).on(click, function () { $(.rbt-notification-side-menu).removeClass(side-menu-active), $(body).removeClass(cart-sidenav-menu-active) }); })/script>/partial> !-- End Side Vav --> !-- Start Side Vav (Notification side bar)--> link href/assets/css/page/shared/_notification_sidbar.css relstylesheet />div classrbt-notification-side-menu idnoti_side_menu> div classinner-wrapper> div classrbt-btn-close > button classbtn_close rbt-round-btn>i classfeather-x>/i>/button> /div> div classinner-top> div classcontent> div classtitle> h4 classtitle mb--0>Notification/h4> /div> a href/account/thong-bao-cua-toi classd-flex align-items-end> span>View all/span>/a> /div> /div> nav classside-nav w-100> ul classrbt-minicart-wrapper noti_body> /ul> /nav> /div>/div>/partial> !-- End Side Vav --> a classclose_side_menu hrefjavascript:void(0);>/a> !-- Start Banner Area -->style> .carret-div { padding: 5.293px 7.707px 4.707px 9.707px !important; } .banner-viewMore:hover .carret-div svg path { fill: #fff; }/style>script src/actionaid/lib/splide-4.1.3/js/splide.min.js>/script>link href/actionaid/lib/splide-4.1.3/css/splide.min.css relstylesheet />link href/actionaid/css/pages/_homepage_banner.css relstylesheet />div> div> div classcarousel-container> section classsplide aria-labelSplide Basic HTML Example> div classsplide__track> ul classsplide__list idsplide-list> li classsplide__slide> div classbanner-homepage1 banner-homepage> div classbanner-odd banner-content> div classbanner-detail container> p classbanner-title>Climate change and the importance of environmental education/p> p classbanner-description>Climate change impacts environmental, social, and economic systems, requiring urgent action, and education helps communities prepare and mitigate these effects./p> a classbanner-viewMore href/course-detail/Catalysts%20for%20Change:%20Youth%20and%20Climate%20Justice/1055#learner-minimums> View more div classcarret-div> svg xmlnshttp://www.w3.org/2000/svg width8 height15 viewBox0 0 8 15 fillnone> path dM0.707031 14.2928V0.292847L7.00003 6.58585C7.1875 6.77338 7.29282 7.02768 7.29282 7.29285C7.29282 7.55801 7.1875 7.81232 7.00003 7.99985L0.707031 14.2928Z fillblack /> /svg> /div> /a> /div> /div> /div> /li> li classsplide__slide> div classbanner-homepage2 banner-homepage> div classbanner-odd banner-content> div classbanner-detail container> p classbanner-title mw-unset>A Small Act for the Planet span classbanner-title-red>(ASAP)/span>/p> p classbanner-description>A Small Act for the Planet (ASAP) is an innovative e-learning platform dedicated to fostering environmental education and empowering future leaders to take action for a sustainable planet./p> a classbanner-viewMore href/about-us> View more div classcarret-div> svg xmlnshttp://www.w3.org/2000/svg width8 height15 viewBox0 0 8 15 fillnone> path dM0.707031 14.2928V0.292847L7.00003 6.58585C7.1875 6.77338 7.29282 7.02768 7.29282 7.29285C7.29282 7.55801 7.1875 7.81232 7.00003 7.99985L0.707031 14.2928Z fillblack /> /svg> /div> /a> /div> /div> /div> /li> li classsplide__slide> div classbanner-homepage3 banner-homepage> div classbanner-odd banner-content> div classbanner-detail container> p classbanner-title>Active courses/p> p classbanner-description>Various courses are tailored to equip ASEAN youth with the knowledge and skills needed for climate and environmental actions, preparing them to be proactive agents of change for a more sustainable future/p> a classbanner-viewMore href/courses> View more div classcarret-div> svg xmlnshttp://www.w3.org/2000/svg width8 height15 viewBox0 0 8 15 fillnone> path dM0.707031 14.2928V0.292847L7.00003 6.58585C7.1875 6.77338 7.29282 7.02768 7.29282 7.29285C7.29282 7.55801 7.1875 7.81232 7.00003 7.99985L0.707031 14.2928Z fillblack /> /svg> /div> /a> /div> /div> /div> /li> li classsplide__slide> div classbanner-homepage4 banner-homepage> div classbanner-odd banner-content> div classbanner-detail container> p classbanner-title mw-unset>Useful reports/p> p classbanner-description>These reports provide in-depth research, analysis, and on-the-ground perspectives, exploring how climate change disproportionately affects vulnerable communities and how sustainable development efforts can create a more just and equitable world./p> a classbanner-viewMore href/post/useful-reports> View more div classcarret-div> svg xmlnshttp://www.w3.org/2000/svg width8 height15 viewBox0 0 8 15 fillnone> path dM0.707031 14.2928V0.292847L7.00003 6.58585C7.1875 6.77338 7.29282 7.02768 7.29282 7.29285C7.29282 7.55801 7.1875 7.81232 7.00003 7.99985L0.707031 14.2928Z fillblack /> /svg> /div> /a> /div> /div> /div> /li> li classsplide__slide> div classbanner-homepage5 banner-homepage> div classbanner-odd banner-content> div classbanner-detail container> p classbanner-title>One planet Earth/p> p classbanner-description>The latest posts, news, and materials are vital for environmental education, offering up-to-date insights, inspiring action, and empowering youth as advocates for a sustainable future./p> a href/post classbanner-viewMore> View more div classcarret-div> svg xmlnshttp://www.w3.org/2000/svg width8 height15 viewBox0 0 8 15 fillnone> path dM0.707031 14.2928V0.292847L7.00003 6.58585C7.1875 6.77338 7.29282 7.02768 7.29282 7.29285C7.29282 7.55801 7.1875 7.81232 7.00003 7.99985L0.707031 14.2928Z fillblack /> /svg> /div> /a> /div> /div> /div> /li> /ul> /div> /section> /div> /div>/div>script> $(document).ready(function(){ new Splide(.splide, { type: loop, autoplay: true, interval: 4000, pauseOnHover: true, pagination: false, }).mount(); })/script>/partial>!-- End Banner Area -->!-- Start Service Area -->div classrbt-categories-area bg-color-white rbt-section-gap> div classcontainer> div classrow g-5 align-items-start mb--30 listcourse-homepage> div classcol-lg-6 col-md-6 col-12> div classsection-title> h4 classtitle>Course span>Categories/span>/h4> /div> /div> div classcol-lg-6 col-md-6 col-12> div classread-more-btn text-start text-md-end> /div> /div> /div> div classrow g-5 is-loading idservice> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style href#!> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> div classcol-lg-3 col-md-6 col-sm-6 col-12> a classrbt-cat-box rbt-cat-box-1 list-style hrefcourse-filter-one-toggle.html> div classinner> div classimage-skeleton-loading> /div> div classcontent> h5 classtitle-skeleton-loading>/h5> div classread-more-btn read-more-skeleton-loading> /div> /div> /div> /a> /div> /div> div styletext-align: center;> a classview-all stylemargin-top: 40px; idviewAllCourse href/courses> span data-textView all>View all/span> /a> /div> /div>/div>script> /script>/partial>!-- End Service Area -->!-- Start Subcribe Area -->!-- End Subcribe Area -->!-- Start Course Area -->style> /style>div classrbt-course-area bg-color-aid rbt-section-gap> div classcontainer> div classrow mb--40 g-5 align-items-end popular-course> div classcol-lg-7 col-md-7 col-7> div classsection-title text-start> h2 classtitle>Courses/h2> /div> /div> div classcol-lg-5 col-md-5 col-5> div classload-more-btn text-end> a classview-all hrefcourses> span data-textView all>View all/span> /a> /div> /div> /div> !-- Start Card Area --> div classrow g-5 idsection-most-popular-course> !-- Start Single Course --> div classcol-lg-4 col-md-6 col-sm-12 col-12> div classrbt-card variation-01 rbt-hover> div classskeleton-container stylepadding: 0> div classplaceholder stylewidth: 100%; min-height: 200px;>/div> /div> div classrbt-card-body> div classrbt-card-top d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 70%; min-height: 20px>/div> /div> /div> h4 classrbt-card-title> div classskeleton-container> div classplaceholder stylewidth: 85%; min-height: 28px>/div> /div> /h4> div classskeleton-container> div classplaceholder stylewidth: 80%; min-height: 27px>/div> /div> div classskeleton-container my-3> div classplaceholder stylewidth: 100%; min-height: 70px>/div> /div> div classrbt-author-meta mb--10> div classrbt-avater> div classskeleton-container> div classplaceholder stylewidth: 40px; min-height: 40px; border-radius: 20px> /div> /div> /div> div classskeleton-container> div classplaceholder stylewidth: 90%; min-height: 21px>/div> /div> /div> div classrbt-card-bottom d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 40% !important; min-height: 36px>/div> /div> /div> /div> /div> /div> !-- End Single Course --> !-- Start Single Course --> div classcol-lg-4 col-md-6 col-sm-12 col-12> div classrbt-card variation-01 rbt-hover> div classskeleton-container stylepadding: 0> div classplaceholder stylewidth: 100%; min-height: 200px;>/div> /div> div classrbt-card-body> div classrbt-card-top d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 70%; min-height: 20px>/div> /div> /div> h4 classrbt-card-title> div classskeleton-container> div classplaceholder stylewidth: 85%; min-height: 28px>/div> /div> /h4> div classskeleton-container> div classplaceholder stylewidth: 80%; min-height: 27px>/div> /div> div classskeleton-container my-3> div classplaceholder stylewidth: 100%; min-height: 70px>/div> /div> div classrbt-author-meta mb--10> div classrbt-avater> div classskeleton-container> div classplaceholder stylewidth: 40px; min-height: 40px; border-radius: 20px> /div> /div> /div> div classskeleton-container> div classplaceholder stylewidth: 90%; min-height: 21px>/div> /div> /div> div classrbt-card-bottom d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 40% !important; min-height: 36px>/div> /div> /div> /div> /div> /div> !-- End Single Course --> !-- Start Single Course --> div classcol-lg-4 col-md-6 col-sm-12 col-12> div classrbt-card variation-01 rbt-hover> div classskeleton-container stylepadding: 0> div classplaceholder stylewidth: 100%; min-height: 200px;>/div> /div> div classrbt-card-body> div classrbt-card-top d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 70%; min-height: 20px>/div> /div> /div> h4 classrbt-card-title> div classskeleton-container> div classplaceholder stylewidth: 85%; min-height: 28px>/div> /div> /h4> div classskeleton-container> div classplaceholder stylewidth: 80%; min-height: 27px>/div> /div> div classskeleton-container my-3> div classplaceholder stylewidth: 100%; min-height: 70px>/div> /div> div classrbt-author-meta mb--10> div classrbt-avater> div classskeleton-container> div classplaceholder stylewidth: 40px; min-height: 40px; border-radius: 20px> /div> /div> /div> div classskeleton-container> div classplaceholder stylewidth: 90%; min-height: 21px>/div> /div> /div> div classrbt-card-bottom d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 40% !important; min-height: 36px>/div> /div> /div> /div> /div> /div> !-- End Single Course --> !-- Start Single Course --> div classcol-lg-4 col-md-6 col-sm-12 col-12> div classrbt-card variation-01 rbt-hover> div classskeleton-container stylepadding: 0> div classplaceholder stylewidth: 100%; min-height: 200px;>/div> /div> div classrbt-card-body> div classrbt-card-top d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 70%; min-height: 20px>/div> /div> /div> h4 classrbt-card-title> div classskeleton-container> div classplaceholder stylewidth: 85%; min-height: 28px>/div> /div> /h4> div classskeleton-container> div classplaceholder stylewidth: 80%; min-height: 27px>/div> /div> div classskeleton-container my-3> div classplaceholder stylewidth: 100%; min-height: 70px>/div> /div> div classrbt-author-meta mb--10> div classrbt-avater> div classskeleton-container> div classplaceholder stylewidth: 40px; min-height: 40px; border-radius: 20px> /div> /div> /div> div classskeleton-container> div classplaceholder stylewidth: 90%; min-height: 21px>/div> /div> /div> div classrbt-card-bottom d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 40% !important; min-height: 36px>/div> /div> /div> /div> /div> /div> !-- End Single Course --> !-- Start Single Course --> div classcol-lg-4 col-md-6 col-sm-12 col-12> div classrbt-card variation-01 rbt-hover> div classskeleton-container stylepadding: 0> div classplaceholder stylewidth: 100%; min-height: 200px;>/div> /div> div classrbt-card-body> div classrbt-card-top d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 70%; min-height: 20px>/div> /div> /div> h4 classrbt-card-title> div classskeleton-container> div classplaceholder stylewidth: 85%; min-height: 28px>/div> /div> /h4> div classskeleton-container> div classplaceholder stylewidth: 80%; min-height: 27px>/div> /div> div classskeleton-container my-3> div classplaceholder stylewidth: 100%; min-height: 70px>/div> /div> div classrbt-author-meta mb--10> div classrbt-avater> div classskeleton-container> div classplaceholder stylewidth: 40px; min-height: 40px; border-radius: 20px> /div> /div> /div> div classskeleton-container> div classplaceholder stylewidth: 90%; min-height: 21px>/div> /div> /div> div classrbt-card-bottom d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 40% !important; min-height: 36px>/div> /div> /div> /div> /div> /div> !-- End Single Course --> !-- Start Single Course --> div classcol-lg-4 col-md-6 col-sm-12 col-12> div classrbt-card variation-01 rbt-hover> div classskeleton-container stylepadding: 0> div classplaceholder stylewidth: 100%; min-height: 200px;>/div> /div> div classrbt-card-body> div classrbt-card-top d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 70%; min-height: 20px>/div> /div> /div> h4 classrbt-card-title> div classskeleton-container> div classplaceholder stylewidth: 85%; min-height: 28px>/div> /div> /h4> div classskeleton-container> div classplaceholder stylewidth: 80%; min-height: 27px>/div> /div> div classskeleton-container my-3> div classplaceholder stylewidth: 100%; min-height: 70px>/div> /div> div classrbt-author-meta mb--10> div classrbt-avater> div classskeleton-container> div classplaceholder stylewidth: 40px; min-height: 40px; border-radius: 20px> /div> /div> /div> div classskeleton-container> div classplaceholder stylewidth: 90%; min-height: 21px>/div> /div> /div> div classrbt-card-bottom d-flex justify-content-between> div classskeleton-container> div classplaceholder stylewidth: 40% !important; min-height: 36px>/div> /div> /div> /div> /div> /div> !-- End Single Course --> /div> !-- End Card Area --> /div>/div>script> $(document).ready(function () { //$(#section-most-popular-course).html(); $.ajax({ url: /course/api/ListMostPopularCourse, type: get, contentType: application/json, beforeSend: function (xhr) { if (localStorage.currentLoggedInUserELearning) { xhr.setRequestHeader(Authorization, Bearer + JSON.parse(localStorage.currentLoggedInUserELearning).token); } }, success: function (response) { //let sliceData response.resources.slice(0, 6); //console.log(sliceData); loadMostPopularCourse(response.resources); }, error: function (e) { console.log(e); } }); }); function genSectionStar(roundedRating) { let returnStr ; let natural Math.floor(roundedRating); let residual roundedRating % 1; for (let i 0; i natural; i++) { returnStr + `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone>g clip-pathurl(#clip0_4_392)>path dM16.2227 19.4293L10.0002 14.856L3.77769 19.4293L6.16686 12.0435L-0.0523071 7.49929H7.62603L10.0002 0.100952L12.3744 7.49929H20.0519L13.8335 12.0435L16.2227 19.4293Z fill#E0AC00/>/g>defs>clipPath idclip0_4_392>rect width20 height20 fillwhite/>/clipPath>/defs>/svg> ` } if (residual 0) { for (let i 0; i (5 - natural); i++) { returnStr + `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone>g clip-pathurl(#clip0_4_392)>path dM16.2227 19.4293L10.0002 14.856L3.77769 19.4293L6.16686 12.0435L-0.0523071 7.49929H7.62603L10.0002 0.100952L12.3744 7.49929H20.0519L13.8335 12.0435L16.2227 19.4293Z fill#D8D4CE/>/g>defs>clipPath idclip0_4_392>rect width20 height20 fillwhite/>/clipPath>/defs>/svg> `; } } else { returnStr + `svg width20 height21 viewBox0 0 20 21 fillnone xmlnshttp://www.w3.org/2000/svg>g clip-pathurl(#clip0_1_15)>path dM13.5956 12.2601L15.7463 18.9086L10.1482 14.7942L10.0002 14.6854L9.85212 14.7942L4.25405 18.9086L6.40471 12.2601L6.46038 12.088L6.31434 11.9813L0.713583 7.88896H7.62601H7.80834L7.86405 7.71535L10.0002 1.05881L12.1363 7.71535L12.192 7.88896H12.3743H19.286L13.686 11.9813L13.54 12.088L13.5956 12.2601Z fillwhite stroke#E0AC00 stroke-width0.5/>/g>path fill-ruleevenodd clip-ruleevenodd dM0 7.6772V7.63897H7.62602L10 0.241203V14.9958L3.77768 19.569L6.16685 12.1831L0 7.6772Z fill#E0AC00/>defs>clipPath idclip0_1_15>rect width20 height20 fillwhite transformtranslate(0 0.139648)/>/clipPath>/defs>/svg>` for (let i 0; i (4 - natural); i++) { returnStr + `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone>g clip-pathurl(#clip0_4_392)>path dM16.2227 19.4293L10.0002 14.856L3.77769 19.4293L6.16686 12.0435L-0.0523071 7.49929H7.62603L10.0002 0.100952L12.3744 7.49929H20.0519L13.8335 12.0435L16.2227 19.4293Z fill#D8D4CE/>/g>defs>clipPath idclip0_4_392>rect width20 height20 fillwhite/>/clipPath>/defs>/svg> `; } } return returnStr; } function loadMostPopularCourse(data) { let courseSectionContent ; for (const index, course of data.entries()) { let percentOff course.coursePrice ! 0 ? Math.round((course.coursePrice - course.courseDiscountPrice) / course.coursePrice * 100) : 0; let roundedRating Number((course.courseRatingAverage * 2).toFixed(0)) / 2 var discountEndDatehtml ; if (course.isDiscount) { discountEndDatehtml `span classcurrent-price>${course.coursePayment true ? formatMoney(course.courseDiscountPrice) + ₫ : Free } /span> span classoff-price ${course.courseDiscountPrice ! 0 ? : d-none}>${formatMoney(course.coursePrice)}₫/span>`; } else { discountEndDatehtml `span classcurrent-price>${course.coursePrice > 0 ? formatMoney(course.coursePrice) + ₫ : Free}/span>` } //kiểm tra hiển thị đã thanh toán hay chưa var checkInOrderHtml ; if(course.isInOrder && course.orderStatusId ! null && course.orderStatusId 1002){ checkInOrderHtml `a classrbt-btn-link href/course-detail/${course.courseSeoAlias}/${course.courseId}> Learn nowimg classactionaid-carret src/actionaid/images/shared/carret/fi-rs-caret-right.png /> /a>`; } else if(course.isInOrder && course.orderStatusId ! null && course.orderStatusId 1001){ checkInOrderHtml ` a classrbt-btn-link href/course-detail/${course.courseSeoAlias}/${course.courseId}> View moreimg classactionaid-carret src/actionaid/images/shared/carret/fi-rs-caret-right.png /> /a>`; } else{ checkInOrderHtml `a classbtn-add-to-cart rbt-btn-link left-icon ${course.coursePayment true ? : d-none} data-course-id${course.courseId} data-course-name${course.courseName}> i classfeather-shopping-cart>/i> /a> a classrbt-btn-link ${course.coursePayment true ? d-none : } href/course-detail/${course.courseSeoAlias}/${course.courseId}> Learn nowimg classactionaid-carret src/actionaid/images/shared/carret/fi-rs-caret-right.png /> /a>`; } let courseContent ` div classcol-lg-4 col-md-6 col-sm-12 col-12 sal-animate data-sal-delay${150 + (index % 3) * 50} data-salslide-up data-sal-duration800> div classrbt-card variation-01 rbt-hover> div classrbt-card-img> a href/course-detail/${course.courseSeoAlias}/${course.courseId}> img src${course.coursePicturePath} altCard image classimgCoursePopular> div classrbt-badge-3 bg-white ${!course.isDiscount ? d-none : }> span>Discount/span> span>${percentOff}%/span> /div> /a> /div> div classrbt-card-body> div classrbt-card-top> div classrbt-review> div classrating> ${genSectionStar(roundedRating)} /div> /div> div classrbt-bookmark-btn btn-boookmark-course data-course-id${course.courseId} data-course-name${course.courseName}> a classrbt-round-btn titleBookmark href#!> i classfeather-bookmark ${course.isInWishList ? text-primary : }>/i> /a> /div> /div> h4 classrbt-card-title> a href/course-detail/${course.courseSeoAlias}/${course.courseId}>${course.courseName}/a> /h4> ul classrbt-meta d-flex gap6> li classd-flex gap10 align-center>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 16 16 fillnone> g clip-pathurl(#clip0_1002_8210)> path dM15.2813 1.13333C15.0568 0.945154 14.7935 0.80886 14.5103 0.734184C14.227 0.659508 13.9308 0.648291 13.6427 0.701333L9.52267 1.45C8.9331 1.5563 8.39663 1.85836 8 2.30733C7.60367 1.85762 7.06716 1.55484 6.47733 1.448L2.35733 0.699333C2.06918 0.647008 1.77305 0.658605 1.48987 0.733305C1.20669 0.808005 0.943372 0.943985 0.718521 1.13164C0.49367 1.31929 0.312775 1.55403 0.188618 1.81928C0.0644604 2.08452 7.11635e-05 2.3738 0 2.66667L0 13.8893L8 15.3447L16 13.8893V2.66667C16 2.37401 15.9357 2.08494 15.8115 1.81995C15.6873 1.55496 15.5063 1.32054 15.2813 1.13333ZM7.33333 13.8667L1.33333 12.7773V2.66667C1.33342 2.56906 1.35493 2.47266 1.39636 2.38428C1.43779 2.2959 1.49811 2.2177 1.57308 2.15519C1.64805 2.09269 1.73583 2.04741 1.83022 2.02255C1.92461 1.99769 2.0233 1.99386 2.11933 2.01133L6.23867 2.76C6.54588 2.81589 6.82374 2.97784 7.02378 3.21761C7.22383 3.45737 7.33338 3.75974 7.33333 4.072V13.8667ZM14.6667 12.776L8.66667 13.8667V4.072C8.66662 3.75974 8.77617 3.45737 8.97622 3.21761C9.17626 2.97784 9.45412 2.81589 9.76133 2.76L13.8807 2.01133C13.9767 1.99386 14.0754 1.99769 14.1698 2.02255C14.2642 2.04741 14.352 2.09269 14.4269 2.15519C14.5019 2.2177 14.5622 2.2959 14.6036 2.38428C14.6451 2.47266 14.6666 2.56906 14.6667 2.66667V12.776Z fillblack/> /g> defs> clipPath idclip0_1002_8210> rect width16 height16 fillwhite/> /clipPath> /defs> /svg>${course.lectureCount} ${course.lectureCount > 1 ? Sessions : Session} li classd-flex gap10 align-center>svg xmlnshttp://www.w3.org/2000/svg width17 height16 viewBox0 0 17 16 fillnone> g clip-pathurl(#clip0_1002_8250)> path dM5.66669 8.66667C5.07334 8.66667 4.49332 8.49072 3.99998 8.16108C3.50663 7.83143 3.12211 7.3629 2.89505 6.81472C2.66799 6.26654 2.60858 5.66334 2.72433 5.0814C2.84009 4.49945 3.12581 3.96491 3.54537 3.54535C3.96492 3.12579 4.49947 2.84007 5.08142 2.72431C5.66336 2.60856 6.26656 2.66797 6.81474 2.89503C7.36292 3.12209 7.83145 3.50661 8.1611 3.99996C8.49074 4.4933 8.66669 5.07332 8.66669 5.66667C8.6658 6.46205 8.34945 7.2246 7.78703 7.78701C7.22462 8.34943 6.46207 8.66579 5.66669 8.66667ZM5.66669 4C5.33705 4 5.01482 4.09775 4.74074 4.28089C4.46665 4.46402 4.25303 4.72432 4.12689 5.02886C4.00074 5.33341 3.96774 5.66852 4.03204 5.99182C4.09635 6.31512 4.25509 6.61209 4.48818 6.84518C4.72126 7.07827 5.01824 7.237 5.34154 7.30131C5.66484 7.36562 5.99995 7.33261 6.30449 7.20647C6.60904 7.08032 6.86933 6.8667 7.05247 6.59262C7.23561 6.31854 7.33335 5.9963 7.33335 5.66667C7.33335 5.22464 7.15776 4.80072 6.8452 4.48816C6.53264 4.1756 6.10871 4 5.66669 4ZM10.6667 13.3333C10.6656 12.4496 10.3141 11.6024 9.68921 10.9775C9.06432 10.3526 8.21708 10.0011 7.33335 10H4.00002C3.11629 10.0011 2.26906 10.3526 1.64417 10.9775C1.01928 11.6024 0.667746 12.4496 0.666687 13.3333L0.666687 16H2.00002V13.3333C2.00002 12.8029 2.21073 12.2942 2.58581 11.9191C2.96088 11.544 3.46959 11.3333 4.00002 11.3333H7.33335C7.86379 11.3333 8.3725 11.544 8.74757 11.9191C9.12264 12.2942 9.33335 12.8029 9.33335 13.3333V16H10.6667V13.3333ZM12.3334 6C11.74 6 11.16 5.82405 10.6666 5.49441C10.1733 5.16477 9.78878 4.69623 9.56172 4.14805C9.33465 3.59987 9.27524 2.99667 9.391 2.41473C9.50675 1.83279 9.79248 1.29824 10.212 0.878681C10.6316 0.459123 11.1661 0.173401 11.7481 0.0576455C12.33 -0.0581102 12.9332 0.00129986 13.4814 0.228363C14.0296 0.455426 14.4981 0.839943 14.8278 1.33329C15.1574 1.82664 15.3334 2.40666 15.3334 3C15.3325 3.79538 15.0161 4.55793 14.4537 5.12035C13.8913 5.68277 13.1287 5.99912 12.3334 6ZM12.3334 1.33333C12.0037 1.33333 11.6815 1.43108 11.4074 1.61422C11.1333 1.79735 10.9197 2.05765 10.7936 2.3622C10.6674 2.66674 10.6344 3.00185 10.6987 3.32515C10.763 3.64845 10.9218 3.94543 11.1548 4.17851C11.3879 4.4116 11.6849 4.57033 12.0082 4.63464C12.3315 4.69895 12.6666 4.66595 12.9712 4.5398C13.2757 4.41365 13.536 4.20003 13.7191 3.92595C13.9023 3.65187 14 3.32964 14 3C14 2.55797 13.8244 2.13405 13.5119 1.82149C13.1993 1.50893 12.7754 1.33333 12.3334 1.33333ZM16.6667 10.6667C16.6656 9.78294 16.3141 8.93571 15.6892 8.31081C15.0643 7.68592 14.2171 7.33439 13.3334 7.33333H10.6667V8.66667H13.3334C13.8638 8.66667 14.3725 8.87738 14.7476 9.25245C15.1226 9.62753 15.3334 10.1362 15.3334 10.6667V13.3333H16.6667V10.6667Z fillblack/> /g> defs> clipPath idclip0_1002_8250> rect width16 height16 fillwhite transformtranslate(0.666687)/> /clipPath> /defs> /svg>${course.courseRatingCount} ${course.courseRatingCount > 1 ? Reviews : Review} /li> /ul> p classrbt-card-text line-clamp clamp2> ${course.courseOverview} /p> div classrbt-author-meta mb--20> div classrbt-author-info> a href/course-categories/${course.courseCategorySeoAlias}/${course.courseCategoryId}>${course.courseCategoryName}/a> /div> /div> div classrbt-card-bottom> ${checkInOrderHtml} /div> /div> /div> /div> `; courseSectionContent + courseContent; } $(#section-most-popular-course).html(courseSectionContent); }/script>/partial>!-- End Course Area -->!-- Start Heroes of month -->style> .heroes-container { padding-top: 40px; padding-bottom: 80px; background: #fff; display: flex; flex-direction: column; gap: 40px; } .hero-item { display: flex; flex-direction: column; align-items: center; gap: 12px; cursor: pointer; margin-top: 5px; } .hero-avatar { display: flex; width: 190px; height: 190px; justify-content: center; align-items: center; gap: 11.905px; border-radius: 50%; border: 1.19px solid #FFF; box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25); } .hero-avatar-img { aspect-ratio: 215/215; flex-shrink: 0; border-radius: 50%; width: 100%; } .hero-item h3 { color: var(--Black, #000); text-align: center; text-overflow: ellipsis; font-family: NVN Auxilia; font-size: 24px; font-style: normal; font-weight: 700; line-height: normal; margin: 0; width: 100%; } .hero-item a, .hero-item p { color: var(--Black, #000); text-align: center; font-family: NVN Auxilia; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; margin: 0; width: 100%; } #hero-slider .splide__arrow { display: none; } #hero-slider .splide__pagination { display: flex !important; gap: 10px; } #hero-slider .splide__pagination { bottom: -6.5rem !important; } @media screen and (max-width: 768px) { .hero-avatar-img { width: 54%; } }/style>div classcontainer heroes-container> div classsection-title stylemargin-bottom: 0;> h4 classtitle>Heroes span>of the month/span>/h4> /div> div> div classsplide idhero-slider> div classsplide__track> ul classsplide__list idlist-heroes-homepage> li classsplide__slide hero-item> div classhero-avatar> img classhero-avatar-img src/ActionAid/Images/pages/heroes-month/heroes1.png /> /div> h3>Huong Tran/h3> p>Catalysts for Change: Youth and Climate Justice/p> /li> li classsplide__slide hero-item> div classhero-avatar> img classhero-avatar-img src/ActionAid/Images/pages/heroes-month/heroes2.png /> /div> h3>Hoang Quyen/h3> p>Empowered for Impact: Youth and the SDGs/p> /li> li classsplide__slide hero-item> div classhero-avatar> img classhero-avatar-img src/ActionAid/Images/pages/heroes-month/heroes3.png /> /div> h3>Trang Nguyen/h3> p>Empowering Youth for a Green Digital Revolution/p> /li> li classsplide__slide hero-item> div classhero-avatar> img classhero-avatar-img src/ActionAid/Images/pages/heroes-month/heroes4.png /> /div> h3>Nam Nguyen/h3> p>Catalysts for Change: Youth and Climate Justice/p> /li> li classsplide__slide hero-item> div classhero-avatar> img classhero-avatar-img src/ActionAid/Images/pages/heroes-month/heroes5.png /> /div> h3>Minh Tran/h3> p>Empowering Youth for a Green Digital Revolution/p> /li> /ul> /div> /div> /div>/div>script> $(document).ready(function(){ getListHeroes(); }); function getListHeroes() { $.ajax({ url: /coursestudent/api/list-on-homepage, type: GET, beforeSend: function (xhr) { if (localStorage.currentLoggedInUserELearning) { xhr.setRequestHeader(Authorization, Bearer + JSON.parse(localStorage.currentLoggedInUserELearning).token); } }, success: function (res) { if (res.status 200){ renderHeroes(res.resources) } } }) } function renderHeroes(listItem){ if (listItem.length > 0) { $(#list-heroes-homepage).html(); listItem.forEach((item, index, arr) > { let photo item.studentAvatar ?? /assets/media/images/avatar1.png $(#list-heroes-homepage).append(`li classsplide__slide hero-item> div classhero-avatar> img classhero-avatar-img src${photo} /> /div> h3>${item.studentName}/h3> a href/course-detail/${item.courseSeoAlias}/${item.courseId}>${item.courseName}/a> /li>`) }); } new Splide(#hero-slider, { type : $(.hero-item).length > 4 ? loop : slide, perPage : 3, focus : center, autoplay: true, gap : 5rem, pauseOnHover: true, interval: 5000, pagination: true, breakpoints: { 768: { perPage: 1 } } }).mount(); }/script>/partial>!-- End Heroes of month -->!-- Start Feedback Area -->!-- End Feedback Area -->!-- Start Blog Style -->style> .planetEarth-container { margin-top: 80px; padding-bottom: 100px; } #splide-blogs .splide__arrow { display: none; } #splide-blogs .splide__pagination { display: flex !important; gap: 10px; } #splide-blogs .splide__pagination { bottom: -5.5rem !important; } .planet-earth-posts .rbt-card-img img { padding: 20px 20px 0 20px; } .planet-earth-posts .post-publishedTime { color: var(--black-60, rgba(0, 0, 0, 0.50)); font-family: NVN Auxilia; font-size: 16px; font-style: normal; font-weight: 400; line-height: normal; margin-bottom: 20px; } .planet-earth-posts .transparent-button { color: var(--Red, #ED1C24); text-align: center; font-family: NVN Auxilia; font-size: 20px; font-style: normal; font-weight: 400; line-height: normal; } .rbt-card-title { display: -webkit-box; height: 50px !important; } .rbt-card-text { display: -webkit-box; height: 50px !important; }/style>div classrbt-rbt-blog-area bg-color-aid planetEarth-container> div classcontainer> div classrow mb--40 g-5 align-items-end planetEarth-blogs> div classcol-lg-7 col-md-7 col-7> div classsection-title text-start> h2 classtitle> span>One Planet Earth/span> /h2> /div> /div> div classcol-lg-5 col-md-5 col-5> div classload-more-btn text-end> a classview-all href/post> span data-textView more>View more/span> /a> /div> /div> /div> !-- Start Card Area --> div classrow g-5> section classsplide idsplide-blogs aria-labelSplide Basic HTML Example> div classsplide__track> ul classsplide__list idtopPostList> /ul> /div> /section> /div> !-- End Card Area --> /div>/div>script> $(document).ready(function () { loadTopPost(); }) function loadTopPost() { $.ajax({ url: /api/listpostonhomepage, type: GET, contentType: application/json, success: function (response) { $(#topPostList).html(response); // Đợi một chút để DOM cập nhật xong rồi mới khởi tạo Splide setTimeout(() > { var splide new Splide(#splide-blogs, { type : loop, perPage : 3, // perMove: 3, // Chuyển 3 item mỗi lần điều hướng focus : start, autoplay: true, gap : 30px, pauseOnHover: true, interval: 5000, pagination: true, breakpoints: { 768: { perPage: 1 } } }); var paginationItems ; function updatePaginationVisible(activeIndex) { if (!paginationItems.length) return; var total paginationItems.length; var prev (activeIndex - 1 + total) % total; var next (activeIndex + 1) % total; for (var i 0; i total; i++) { var li paginationItemsi.li; if (i activeIndex || i prev || i next) { li.style.display ; } else { li.style.display none; } } } splide.on(pagination:mounted, function (data) { // Lưu lại các item pagination để tuỳ biến hiển thị paginationItems data.items; // Ẩn bớt dot ngay khi gắn pagination updatePaginationVisible(splide.index); }); splide.on(mounted move, function (newIndex) { // Cập nhật hiển thị dot khi chuyển slide var idx typeof newIndex number ? newIndex : splide.index; updatePaginationVisible(idx); }); splide.mount(); }, 100); // const postLoadTimeOut setTimeout(stopLoadPost,500); // function stopLoadPost(){ // clearTimeout(postLoadTimeOut); // } }, error: function (e) { } }); }/script>/partial>a classbanner-startCourse href/courses> Start a Course svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone> path fill-ruleevenodd clip-ruleevenodd dM12 2.25C4.802 2.25 2.25 4.802 2.25 12C2.25 19.198 4.802 21.75 12 21.75C19.199 21.75 21.75 19.198 21.75 12C21.75 4.802 19.199 2.25 12 2.25Z fillwhite>/path> path dM10.7897 15.476C11.1097 15.476 11.4527 15.359 11.7527 15.235C12.4597 14.942 15.7557 13.13 15.7557 11.856C15.7557 10.602 12.5297 8.82502 11.7057 8.48402C11.3717 8.34502 10.5907 8.02402 10.1187 8.49502C9.98412 8.63061 9.57569 9.04206 9.5647 11.837C9.55271 14.65 9.9794 15.0767 10.1186 15.2159C10.3086 15.4059 10.5417 15.476 10.7897 15.476Z fill#ED1C24>/path> /svg>/a>!-- End Blog Style -->!-- Start Instagram Style -->!-- Start Instagram Style -->style> .banner-startCourse { position: fixed; right: 18px; bottom: 90px; padding: 16px 28px; justify-content: center; align-items: center; background: var(--Red, #ED1C24); box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10); color: var(--White, #FFF) !important; font-family: NVN Auxilia; font-size: 18px; font-style: normal; font-weight: 700; line-height: normal; gap: 10px; z-index: 9999 } .view-all { padding: 16px 28px; justify-content: center; align-items: center; gap: 10px; border: 1px solid var(--Border, #D8D4CE); color: var(--Black, #000) !important; font-family: NVN Auxilia; font-size: 18px; font-style: normal; font-weight: 400; line-height: normal; width: fit-content; display: inline-block; } .view-all:hover { background: var(--color-primary); color: #fff !important; } .rbt-section-gap { padding: 40px 0; } .section-title .title { margin-bottom: 10px; color: var(--Red, #ED1C24); font-family: NVN Auxilia; font-size: 48px; font-style: normal; font-weight: 700; line-height: normal; } .section-title .title span { color: var(--Black, #000); } .clamp2 { -webkit-line-clamp: 2 !important; } .rbt-card .rbt-card-body .rbt-meta { margin-bottom: 20px; } .rbt-card .rbt-card-body .rbt-card-title { margin-bottom: 20px; } .skeleton-container { padding: 0px !important; } .skeleton-container > .placeholder { position: relative; overflow: hidden; background: #ccc; border-radius: 3px; } .skeleton-container > .placeholder:after { content: ; position: absolute; height: 100%; width: 100px; left: -100px; top: 0; background: linear-gradient(to right, transparent, #ffffff70, transparent); animation: reflect 800ms ease-out infinite; } @keyframes reflect { to { left: calc(100% + 100px); } } /* Responsive */ @media screen and (max-width: 768px) { .banner-startCourse { display: none !important; } .rbt-section-gap { padding: 20px 0; } .banner-detail .banner-title { font-size: 26px; } .section-title .title { font-size: 28px; margin-bottom: 0; } .listcourse-homepage { margin-bottom: 0 !important; } .rbt-cat-box-1.list-style .inner .content .title { font-size: 18px; } a.rbt-btn-link, button.rbt-btn-link, span.rbt-btn-link { font-size: 16px !important; } .view-all { padding: 8px 14px; } #viewAllCourse { margin-top: 30px !important; } .popular-course { margin-bottom: 30px !important; } .planetEarth-blogs { margin-bottom: 30px !important; } .hero-avatar { box-shadow: unset; width: 100%; } .heroes-container { gap: 30px; } .planetEarth-container { margin-top: 60px; } .heroes-container { padding-top: 20px; } }/style> !-- Separator Style --> !--div classrbt-separator-mid> div classcontainer> hr classrbt-separator m-0> /div> /div>--> !-- Start Footer aera --> link href/actionaid/css/shared/_footer_actionaid.css?vUBYsXmKDcw4jEOoY8k_Cvaqtl8ZnH8bWcTgtuYQwVmE relstylesheet />div classfooter-component> footer classfooter-container container> div classfooter-top> div classfooter-top-item gap40> div classd-flex aligns-center gap20> a target_blank hrefhttps://actionaid.org/>img src/actionaid/images/logo/logo_actionaid.png />/a> a target_blank hrefhttps://afv.vn/>img src/actionaid/images/shared/header/logo-afv.png classfooter-logo />/a> /div> div> p>A Small Act for the Planet (ASAP) is an innovative e-learning platform dedicated to fostering environmental education and empowering future leaders to take action for a sustainable planet./p> div classfooter-icon mt20 d-flex gap20> div classd-flex gap10 align-center> a hrefhttps://www.facebook.com/ActionAid?localevi_VN> svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 16 16 fillnone> path dM11.9995 0.00332907L9.92463 0C7.59362 0 6.08721 1.54552 6.08721 3.93762V5.75313H4.00105C3.82078 5.75313 3.6748 5.89927 3.6748 6.07954V8.71001C3.6748 8.89028 3.82095 9.03625 4.00105 9.03625H6.08721V15.6738C6.08721 15.854 6.23319 16 6.41346 16H9.13531C9.31558 16 9.46156 15.8539 9.46156 15.6738V9.03625H11.9008C12.081 9.03625 12.227 8.89028 12.227 8.71001L12.228 6.07954C12.228 5.99299 12.1936 5.91009 12.1325 5.84884C12.0714 5.78758 11.9882 5.75313 11.9016 5.75313H9.46156V4.2141C9.46156 3.47438 9.63783 3.09886 10.6014 3.09886L11.9991 3.09836C12.1792 3.09836 12.3252 2.95222 12.3252 2.77211V0.329578C12.3252 0.149642 12.1794 0.00366197 11.9995 0.00332907Z fillwhite /> /svg> /a> p classfacebook-link onclickwindow.open(https://www.facebook.com/ActionAid?localevi_VN, _blank);> ActionAid International /p> /div> div classd-flex gap10 align-center> a hrefhttps://www.facebook.com/actionaidvn?localevi_VN> svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 16 16 fillnone> path dM11.9995 0.00332907L9.92463 0C7.59362 0 6.08721 1.54552 6.08721 3.93762V5.75313H4.00105C3.82078 5.75313 3.6748 5.89927 3.6748 6.07954V8.71001C3.6748 8.89028 3.82095 9.03625 4.00105 9.03625H6.08721V15.6738C6.08721 15.854 6.23319 16 6.41346 16H9.13531C9.31558 16 9.46156 15.8539 9.46156 15.6738V9.03625H11.9008C12.081 9.03625 12.227 8.89028 12.227 8.71001L12.228 6.07954C12.228 5.99299 12.1936 5.91009 12.1325 5.84884C12.0714 5.78758 11.9882 5.75313 11.9016 5.75313H9.46156V4.2141C9.46156 3.47438 9.63783 3.09886 10.6014 3.09886L11.9991 3.09836C12.1792 3.09836 12.3252 2.95222 12.3252 2.77211V0.329578C12.3252 0.149642 12.1794 0.00366197 11.9995 0.00332907Z fillwhite /> /svg> /a> p classfacebook-link onclickwindow.open(https://www.facebook.com/actionaidvn?localevi_VN, _blank);> ActionAidVietnam /p> /div> /div> /div> /div> div classfooter-top-item gap40> h3>Useful links/h3> div classfooter-link> a href/privacy-policy target_blank>Privacy policy/a> a href/terms-of-service target_blank>Terms of service/a> a href/instructions target_blank>User manual/a> a hrefhttps://actionaid.org/ target_blank>ActionAid International/a> a href/post/useful-reports target_blank>Useful reports/a> /div> /div> div classfooter-top-item gap40> h3>Active courses/h3> div classfooter-link list-course-footer> /div> /div> div classfooter-top-item gap40> h3>Contacts/h3> div classfooter-link> p>E-mail us: a href/cdn-cgi/l/email-protection#7716041607591b12160519371614031e1819161e1359180510>span class__cf_email__ data-cfemail5e3f2d3f2e70323b3f2c301e3f3d2a3731303f373a70312c39>email protected/span>/a>/p> /div> /div> /div> div classfooter-bottom mt20> p>Copyright © 2025 span classfooter-bt-copyright>ActionAid - AFV/span>. All rights reserved. Powered by span classfooter-bt-powered>a classfooter-bt-powered hrefhttps://dion.vn/ target_blank stylecolor: #FFFFFF;>Digital Innovation/a>/span> /p> /div> !-- Google tag (gtag.js) --> script data-cfasyncfalse src/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js>/script>script async srchttps://www.googletagmanager.com/gtag/js?idG-GC7KLFNX8Q>/script> script> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, G-GC7KLFNX8Q); /script> /footer>/div>script src/assets/js/custom/footer.js?vgsyC8VGxlKCX28koUZve7x8PbJ_83AjtkgH8nlY8YjU>/script>script> $(document).ready(function(){ $.ajax({ url: systemURL + course/api/top-course-homepage, type: GET, contentType: application/json, success: function (res) { if (res.status 200) { let data res.resources.sort((a, b) > b.id - a.id); if (data.length > 3) { data1, data2 data2, data1; } for (let i 0; i data.length; i++) { $(.list-course-footer).append( `a href/course-detail/${datai.seoAlias}/${datai.id}>${datai.name}/a>` ); } } // Xử lý phản hồi thành công từ server }, error: function (res) { // Xử lý phản hồi lỗi từ server console.log(Error:, res.title); } }); })/script>/partial> !-- End Footer aera --> !-- Progress Section (back to top)--> div classrbt-progress-parent> svg classrbt-back-circle svg-inner width100% height100% viewBox-1 -1 102 102> path dM50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98 /> /svg> /div> !-- Loading --> div idloading> div classlds-ring>div>/div>div>/div>div>/div>div>/div>/div> /div> !-- JS --> !-- Modernizer JS --> script src/template/histudy/assets/js/vendor/modernizr.min.js>/script> !-- Bootstrap JS --> script src/template/histudy/assets/js/vendor/bootstrap.min.js>/script> !-- sal.js --> script src/template/histudy/assets/js/vendor/sal.js>/script> script src/template/histudy/assets/js/vendor/swiper.js>/script> script src/template/histudy/assets/js/vendor/magnify.min.js>/script> script src/template/histudy/assets/js/vendor/jquery-appear.js>/script> script src/template/histudy/assets/js/vendor/odometer.js>/script> script src/template/histudy/assets/js/vendor/backtotop.js>/script> script src/template/histudy/assets/js/vendor/isotop.js>/script> script src/template/histudy/assets/js/vendor/imageloaded.js>/script> script src/template/histudy/assets/js/vendor/feather.min.js>/script> script src/template/histudy/assets/js/vendor/wow.js>/script> script src/template/histudy/assets/js/vendor/waypoint.min.js>/script> script src/template/histudy/assets/js/vendor/easypie.js>/script> script src/template/histudy/assets/js/vendor/text-type.js>/script> script src/template/histudy/assets/js/vendor/jquery-one-page-nav.js>/script> script src/template/histudy/assets/js/vendor/jquery-ui.js>/script> script src/template/histudy/assets/js/vendor/magnify-popup.min.js>/script> script src/template/histudy/assets/js/vendor/paralax-scroll.js>/script> script src/template/histudy/assets/js/vendor/paralax.min.js>/script> script src/template/histudy/assets/js/vendor/countdown.js>/script> script src/template/histudy/assets/js/vendor/plyr.js>/script> !-- Main JS --> script> const localizer { show: Show, hide: Hide } /script> script src/template/histudy/assets/js/main.js>/script> !-- Star rating JS --> script src/assets/js/rater.min.js>/script> !-- User JS here --> script typetext/javascript> function getCookie(cname) { let name cname + ; let ca document.cookie.split(;); for (let i 0; i ca.length; i++) { let c cai; while (c.charAt(0) ) { c c.substring(1); } if (c.indexOf(name) 0) { return c.substring(name.length, c.length); } } return ; } const systemConfig { defaultCultureName: lang } var courseCategoryData ; $(document).ready(function () { ///////////////////////////////// PreLoader Js $(#splash-screen).fadeOut(500); loadDataCourseCategory(); }) /** * check token * truongthieuhuyen - 19/05/2023 */ $.ajaxSetup({ beforeSend: function (xhr) { if (localStorage.currentLoggedInUserELearning) { xhr.setRequestHeader(Authorization, Bearer + JSON.parse(localStorage.currentLoggedInUserELearning).token); } } }); /** * hàm format money */ function formatMoney(value) { if (value 0) return value; if (!value) return ; return value .toString() .replace(/\D{-}/g, ) .replace(/\B(?(\d{3})+(?!\d))/g, .); } // format phone number function formatPhoneNumber(phoneNumberString) { var cleaned ( + phoneNumberString).replace(/\D/g, ); var match cleaned.match(/^(\d{4})(\d{3})(\d{3})$/); if (match) { return match1 + + match2 + + match3; } return phoneNumberString; } /** * hàm format số */ function customFormatValue(value, number, char) { if (number undefined || number null) { number 3; } if (char undefined || char null) { char .; } value value ! null ? value.toString() : ; var pattern new RegExp(`\\B(?(\\d{${number}})+(?!\\d))`, g); return value .replace(/\D{-}/g, ) .replace(pattern, char); } /** * hàm check valid email */ function IsValidEmail(email) { var mailformat /^\w+(\.-?\w+)*@\w+(\.-?\w+)*(\.\w{2,3})+$/; var resultEmailValid email.trim().match(mailformat); if (!resultEmailValid) { Swal.fire({ icon: warning, title: Registration failed, html: Invalid email., focusConfirm: true, allowEnterKey: true }); $(#submit, #submit-subscribe).prop(disabled, false); return false; } else { //$(#submit, #submit-subscribe).prop(disabled, false); return true; } } /** * nút subscribe */ $(#submit-subscribe).on(click, function (e) { /*$(#submit).click()*/ e.preventDefault(); var emailSubScribe $(#email-subscribe).val().trim(); if (emailSubScribe.length 0) { Swal.fire({ icon: warning, title: Registration failed, html: Email cannot be blank., focusConfirm: true, allowEnterKey: true }) } else { let isEmailValid IsValidEmail(emailSubScribe); if (isEmailValid) { let obj { email: emailSubScribe }; subscribe(obj) } } }) $(#submit).on(click, function () { $(#submit, #submit-subscribe).prop(disabled, true); var email $(#email).val().trim(); var emailSubScribe $(#email-subscribe).val().trim(); var obj; if (email ! && email ! null) { var emailValid IsValidEmail(email); obj { email: email }; // gọi hàm kiểm tra if (emailValid) { subscribe(obj) } } else if (emailSubScribe ! && emailSubScribe ! null) { var emailValid IsValidEmail(emailSubScribe); obj { email: emailSubScribe }; // gọi hàm kiểm tra if (emailValid) { subscribe(obj) } } else { Swal.fire({ icon: warning, title: Registration failed, html: Email cannot be blank., focusConfirm: true, allowEnterKey: true }).then(() > { $(#submit, #submit-subscribe).prop(disabled, false); }) } }) /** * hàm subscribe */ function subscribe(obj) { $(#loading).addClass(show); $.ajax({ url: /subcribe/api/add, type: Post, contentType: application/json, data: JSON.stringify(obj), success: function (responseData) { $(#submit, #submit-subscribe).prop(disabled, false); $(#loading).removeClass(show); Swal.fire({ icon: success, title: Sign Up Success, html: Thank you for subscribing. br> We will notify you when there are new programs., focusConfirm: true, allowEnterKey: true }); $(#email).val(); $(#email-subscribe).val(); renderConfetti(); }, error: function (res) { $(#submit, #submit-subscribe).prop(disabled, false); $(#loading).removeClass(show); Swal.fire({ icon: warning, title: Registration failed, html: Please check your registration information again!, focusConfirm: true, allowEnterKey: true }) } }) } /** * render confetti */ function renderConfetti() { let canvas document.createElement(canvas); canvas.className confetti; let container document.querySelector(body); canvas.width 600; canvas.height 600; container.appendChild(canvas); let confetti_button confetti.create(canvas); confetti_button({ particleCount: 300, spread: 300, startVelocity: 30, scalar: 0.9, ticks: 90 }).then(() > container.removeChild(canvas)); } const Toast Swal.mixin({ toast: true, position: top-end, showConfirmButton: false, timer: 2000, timerProgressBar: true, didOpen: (toast) > { toast.addEventListener(mouseenter, Swal.stopTimer) toast.addEventListener(mouseleave, Swal.resumeTimer) } }) /// summary> /// Author: HOANNK /// CreatedDate:18/05/2023 /// Description: Bookmark /// /summary> /// returns>/returns> $(body).on(click, .btn-boookmark-course, function () { if (localStorage.currentLoggedInUserELearning) { let courseId $(this).attr(data-course-id); let courseName $(this).attr(data-course-name); $.ajax({ url: /wishlist/api/addbookmark, type: Post, contentType: application/json, data: JSON.stringify({ coursesId: courseId, courseName: courseName }), beforeSend: function (xhr) { if (localStorage.currentLoggedInUserELearning) { xhr.setRequestHeader(Authorization, Bearer + JSON.parse(localStorage.currentLoggedInUserELearning).token); } }, success: function (responseData) { $(data-course-id + courseId + i).unbind(mouseover); if (responseData.status 200 && responseData.title Success) { $(data-course-id + courseId + i).toggleClass(text-primary); Swal.fire({ position: top-end, icon: success, html: div>label classfs-14 fw-bold>Course/label>br/>strong classcolor-success> + courseName + /strong>br/ >successfully added to favorites list!/div>, showConfirmButton: false, timer: 1800 }).then(function () { //$(.rbt-review).click(); //$(data-course-id+courseId+ i).addClass(text-primary); //$(data-course-id+courseId+ i).unbind(); }); } else if (responseData.status 403 && responseData.title BadRequest) { Swal.fire({ position: top-end, icon: warning, html: div>label classfs-14 fw-bold>Course/label>br/>strong classcolor-warning> + courseName + /strong>br/ >added to favorites/div>, showConfirmButton: false, timer: 1800 }); } else if (responseData.status 200 && responseData.title Delete) { $(data-course-id + courseId + i).toggleClass(text-primary); Swal.fire({ position: top-end, icon: success, html: div>label classfs-14 fw-bold>Course/label>br/>strong classcolor-success> + courseName + /strong>br/ >successfully removed from favorites list!/div>, showConfirmButton: false, timer: 1800 }).then(function () { //$(.rbt-review).click(); //$(data-course-id+courseId+ i).unbind(); }); } }, error: function (res) { if (res.status 401) { Swal.fire({ icon: warning, title: Note, html: Your login session has expired, please log in again!, focusConfirm: true, allowEnterKey: true }); } } }) } else { Swal.fire({ icon: warning, title: Note, html: You are not logged in, please log in to use this feature!, focusConfirm: true, allowEnterKey: true }); } }) /** * hàm hiệu ứng counter */ function renderCounter() { var odo $(.odometer); odo.each(function () { var countNumber $(this).attr(data-count); $(this).html(countNumber); }); } /script> !--Script add course to Cart Side bar--> !--example_line-463: _CourseOnHomepage.cshtml--> script> $(document).ready(function () { //localStorage.setItem(listCourseAddCartSidebar, JSON.stringify()); if (localStorage.listCourseAddCartSidebar undefined) { localStorage.setItem(listCourseAddCartSidebar, JSON.stringify()); }; }) function addCourseToCartSidebar(courseId, courseName) { var tempCartSidebar JSON.parse(localStorage.listCourseAddCartSidebar); if (!tempCartSidebar.includes(courseId)) { tempCartSidebar.push(courseId); localStorage.setItem(listCourseAddCartSidebar, JSON.stringify(tempCartSidebar)); Swal.fire({ position: top-end, icon: success, html: div>label classfs-14 fw-bold>Khóa học/label>br/>strong classcolor-success> + courseName + /strong>br/>đã được thêm vào giỏ hàng/div>, showConfirmButton: false, timer: 1800 }); getListCourseInCartSidebar(); $(.rbt-cart-count).html(JSON.parse(localStorage.listCourseAddCartSidebar).length.toString()); } else { Swal.fire({ position: top-end, icon: warning, html: div>label classfs-14 fw-bold>Khóa học/label>br/>strong classcolor-warning> + courseName + /strong>br/>đã có trong giỏ hàng/div>, showConfirmButton: false, timer: 1800 }) } } function removeItemCartSidebar(courseId) { $(#minicart-item- + courseId).hide(300); var listCourse JSON.parse(localStorage.listCourseAddCartSidebar); listCourse.splice(listCourse.indexOf(courseId), 1); localStorage.setItem(listCourseAddCartSidebar, JSON.stringify(listCourse)); //tính toán lại tổng tiền var price $(#minicart-item- + courseId + .current-price-cartSidebar).text().replaceAll(., ).replaceAll(₫, ); var totalPrice $(#totalPriceCartSidebar).text().replaceAll(., ).replaceAll(₫, ); $(#totalPriceCartSidebar).html((totalPrice - price).toLocaleString(vi-VN) + ₫); //console.log(listCourse); //getListCourseInCartSidebar(); $(.rbt-cart-count).html(JSON.parse(localStorage.listCourseAddCartSidebar).length.toString()); var finalPrice $(#voucherFinalPriceCartSidebar).text().replaceAll(., ).replaceAll(₫, ); $(#voucherFinalPriceCartSidebar).html(((finalPrice - price) > 0 ? (finalPrice - price) : 0).toLocaleString(vi-VN) + ₫); if (listCourse.length 0) { //xoa hien thi ma giam gia $(.voucherSideBarApply).addClass(d-none); localStorage.removeItem(voucherValue); } } function updateTitle(text) {//update title documnet $(document).find(title).text(text + - ActionAid platform); } $(#listCourse_CartSidebar).on(click, .btn-remove, function (e) { removeItemCartSidebar($(this).attr(data-course-id)); if (document.URL.includes(gio-hang)) { getListCourseInCart(); } }) $(body).on(click, .btn-add-to-cart, function (e) { addCourseToCartSidebar($(this).attr(data-course-id), $(this).attr(data-course-name)); }) // Hàm gen star function genRatingStar(rating) { let roundedRating Math.round(rating * 2) / 2; let returnStr ; let natural Math.floor(roundedRating); let residual roundedRating % 1; for (let i 0; i natural; i++) { returnStr + `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone>g clip-pathurl(#clip0_4_392)>path dM16.2227 19.4293L10.0002 14.856L3.77769 19.4293L6.16686 12.0435L-0.0523071 7.49929H7.62603L10.0002 0.100952L12.3744 7.49929H20.0519L13.8335 12.0435L16.2227 19.4293Z fill#E0AC00/>/g>defs>clipPath idclip0_4_392>rect width20 height20 fillwhite/>/clipPath>/defs>/svg> ` } if (residual 0) { for (let i 0; i (5 - natural); i++) { returnStr + `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone>g clip-pathurl(#clip0_4_392)>path dM16.2227 19.4293L10.0002 14.856L3.77769 19.4293L6.16686 12.0435L-0.0523071 7.49929H7.62603L10.0002 0.100952L12.3744 7.49929H20.0519L13.8335 12.0435L16.2227 19.4293Z fill#D8D4CE/>/g>defs>clipPath idclip0_4_392>rect width20 height20 fillwhite/>/clipPath>/defs>/svg> `; } } else { returnStr + `svg width20 height21 viewBox0 0 20 21 fillnone xmlnshttp://www.w3.org/2000/svg>g clip-pathurl(#clip0_1_15)>path dM13.5956 12.2601L15.7463 18.9086L10.1482 14.7942L10.0002 14.6854L9.85212 14.7942L4.25405 18.9086L6.40471 12.2601L6.46038 12.088L6.31434 11.9813L0.713583 7.88896H7.62601H7.80834L7.86405 7.71535L10.0002 1.05881L12.1363 7.71535L12.192 7.88896H12.3743H19.286L13.686 11.9813L13.54 12.088L13.5956 12.2601Z fillwhite stroke#E0AC00 stroke-width0.5/>/g>path fill-ruleevenodd clip-ruleevenodd dM0 7.6772V7.63897H7.62602L10 0.241203V14.9958L3.77768 19.569L6.16685 12.1831L0 7.6772Z fill#E0AC00/>defs>clipPath idclip0_1_15>rect width20 height20 fillwhite transformtranslate(0 0.139648)/>/clipPath>/defs>/svg>` for (let i 0; i (4 - natural); i++) { returnStr + `svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 20 20 fillnone>g clip-pathurl(#clip0_4_392)>path dM16.2227 19.4293L10.0002 14.856L3.77769 19.4293L6.16686 12.0435L-0.0523071 7.49929H7.62603L10.0002 0.100952L12.3744 7.49929H20.0519L13.8335 12.0435L16.2227 19.4293Z fill#D8D4CE/>/g>defs>clipPath idclip0_4_392>rect width20 height20 fillwhite/>/clipPath>/defs>/svg> `; } } return returnStr; } // Hàm kiểm tra ảnh có được load thành công hay không function isImageLoadSuccess(img) { if (!img.complete) { return false; } if (img.naturalWidth 0) { return false; } return true; } /** * hàm phân trang */ function initPagination(totalPage, element) { if (totalPage > 0) { let html ; let startPage; if (totalPage 3) { startPage 1; } else { if (totalPage pageIndex) { startPage totalPage - 2; } else { startPage pageIndex 1 ? 1 : pageIndex - 1; } } let endPage startPage + 2 totalPage ? startPage + 2 : totalPage; if (pageIndex > 1) { html + `li classpaging-number paging-first-item>a href#! aria-labelPrevious>i classfeather-chevrons-left>/i>/a>/li> li classpaging-number paging-previous>a href#! aria-labelPrevious>i classfeather-chevron-left>/i>/a>/li>`; } for (var i startPage; i endPage; i++) { if (i > 0) { html + `li classpaging-number ${i pageIndex ? active : }> a classpaging-index href#!>${i}/a>/li>` } } if (pageIndex totalPage) { html + `li classpaging-number paging-next>a href#! aria-labelNext>i classfeather-chevron-right>/i>/a>/li> li classpaging-number paging-last-item>a href#! aria-labelNext>i classfeather-chevrons-right>/i>/a>/li>`; } $(element).html(html); } else { $(element).html(); } } var FE_MANAGE { noti: , notiElement: $(#noti_side_menu), init: async function () { var t this; t.getTotalUnreadNoti(); $(document).on(click, .notification-item, function (e) { debugger; e.preventDefault(); var href this.href; var itemId href.split(/).pop(); var parent $(this).parent(); if ($(this).hasClass(unread)) { $.ajax({ url: `/Notification/api/MakeAsRead/${itemId}`, type: PUT, success: function () { t.getTotalUnreadNoti(); $(this).removeClass(unread); if (MY_NOTI) { MY_NOTI.getData(); } } }) } window.location.href `/tai-khoan/thong-bao-cua-toi/chi-tiet/${itemId}`; }) }, getRecentNotification: function () { var t this; t.showLoadingNoti(); $.ajax({ url: /notification/api/listrecent, type: GET, success: function (res) { if (res.status 200 && res.title Success) { t.noti res.resources; setTimeout(function () { t.loadNoti() }, 500); } }, error: function (e) { t.noti ; } }) }, loadNoti: function () { if (this.noti.length > 0) { var content ; var contentUnread this.noti.forEach(function (item) { content + `a href/tai-khoan/thong-bao-cua-toi/chi-tiet/${item.id} classnotification-item ${item.notificationStatusId ! 1002 ? unread : }> img src/actionaid/images/shared/notification-bell.png> div classnotification-item-content> p classnoti-text>${item.title}/p> p classnoti-time>${moment(item.createdTime).fromNow()}/p> /div> /a>`; if (item.notificationStatusId 1003){ contentUnread + `a href/tai-khoan/thong-bao-cua-toi/chi-tiet/${item.id} classnotification-item unread> img src/actionaid/images/shared/notification-bell.png> div classnotification-item-content> p classnoti-text>${item.title}/p> p classnoti-time>${moment(item.createdTime).fromNow()}/p> /div> /a>`; } }); $(#list-all-notification).html(content.length > 0 ? content : p classempty-noti>Empty notification/p>); $(#list-unread-notification).html(contentUnread.length > 0 ? contentUnread : p classempty-noti>Empty notification/p>); } else { this.defaultNoti(); } }, defaultNoti: function () { var body this.notiElement.find(.noti_body); body.html(`li>div classtext-center p-3>You have no notification yet/div>/li>`); }, showLoadingNoti: function () { var body this.notiElement.find(.noti_body); var content ; for (var i 0; i 4; i++) { content + `li classminicart-item p-0 m-0> a typebutton href#! classnotification-cotent> div classthumbnail> div classskeleton skeleton-noti-img>/div> /div> div classnoti-content w-100 ps-3 pe-3> h6 classtitle-cartSidebar>div classskeleton skeleton-noti-title mb-1>/div>/h6> div classnoti-description w-100 noti-line-clamp skeleton skeleton-noti-text mb-1>/div> div classnoti-time skeleton skeleton-noti-text w-25 mb-1>/div> /div> /a> /li>`; } body.html(content); }, getTotalUnreadNoti: async function () { $.ajax({ url: /notification/api/getunreadtotal, type: GET, success: function (res) { var total res.resources; $(.notification-count).text(total); }, error: function (e) { } }) } } FE_MANAGE.init(); /script> !--Connection Hub--> style>/* #kt_docs_toast_stack_container { z-index: 999999; } */ .toast { font-size: 0.9em; background-color: rgba(255, 255, 255); box-shadow: 4px 9px 20px 8px rgba(0, 0, 0, 0.2); border-radius: 6px 6px 6px 6px !important; border: 0px; } .toast .toast-header { border-radius: inherit; } .toast .toast-time { font-size: 0.7575em; } .toast .toast-body { background-image: linear-gradient(to bottom right,#ED1C2414, #ffedff69); } .toast .toast-body .toast-content { max-height: 50px; overflow: hidden; text-overflow: ellipsis; } /style> !--begin::Toast--> div idkt_docs_toast_stack_container classtoast-container position-fixed bottom-0 start-0 p-3 stylemargin-bottom: 20px;> div classtoast rolealert aria-liveassertive aria-atomictrue data-kt-docs-toaststack data-bs-delay30000> div classtoast-header> img width100 height100 classme-auto src/template/histudy/assets/images/logo/logo.png altLearnify logo> button typebutton classbtn-close fs-6 data-bs-dismisstoast aria-labelClose>/button> /div> div classtoast-body p-3> div classtoast-title h5 mb-1>/div> div classtoast-content noti-line-clamp>/div> /div> /div> /div> !--Full calendar--> script src/assets/js/index.global.min.js>/script> script src/assets/js/vi.global.min.js>/script> script src/assets/js/custom/http-service.min.js?vYGhJpYFBxmriYSIFWzGbRYLhq0pS9ldzz9pLjbNEFDA>/script> script src/assets/js/pages/admin/layouts/vi.layout.js?vKhIbcm6Gex68oAfHOeSBKFgJ9C--Yj3M3_G5T9yeE8Q>/script> !--Connection Hub--> script> $(document).ready(function () { getListCourseCategoriesShownOnHomePage(); console.log(load); }) function getListCourseCategoriesShownOnHomePage() { $.ajax({ url: /coursecategory/api/coursecategoriesonhomepage, type: GET, beforeSend: function (xhr) { if (localStorage.currentLoggedInUserELearning) { xhr.setRequestHeader(Authorization, Bearer + JSON.parse(localStorage.currentLoggedInUserELearning).token); } }, success: function (res) { $(#service).html(res); } }) } /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]