“Beda Itu Keren!”
Instagram Challenge
Cara Ikutan
-
Kamu
wajib menonton "Beda Itu Keren!"
di ruangbelajar terlebih dahulu. “Beda Itu Keren!” dapat ditemukan pada pilihan mata pelajaran kelas 4 SD - 12 SMA semua kurikulum secara GRATIS.
-
Upload karya
"Beda Itu Keren!" versi kamu sekreatif mungkin di Instagram pribadi milikmu
(pastikan tidak private).
Karya dapat dibuat dalam bentuk apapun (lukisan, drama, dsb.) selama dapat dimuat dalam foto atau video. Contoh karya dapat dilihat di
sini.
-
Ceritakan pada
caption:
- Judul misi dari “Beda Itu Keren!” yang kamu pilih dan hubungannya dengan karyamu
- Pelajaran apa yang kamu dapat dari konten tersebut
-
Sertakan
kode referral
akun Ruangguru-mu dan hashtag #BedaItuKeren #ToleransiIndonesia #Ruangguru #PeaceGen #MeyakiniMenghargai
- Tag @ruangguru dan 3 orang temanmu yang perlu menonton "Beda Itu Keren" di ruangbelajar juga
Syarat & Ketentuan
-
Periode challenge: 28 Oktober - 9 Desember 2018
-
Peserta memiliki Kartu Pelajar dan akun Ruangguru
-
Peserta mengikuti seluruh ketentuan challenge dengan tepat
-
Karya tidak mengandung unsur pornografi dan pornoaksi, tindakan kekerasan ataupun berbau diskriminasi terhadap SARA (Suku, Agama, Ras, dan Antar Golongan)
tertentu serta tidak melanggar norma-norma yang berlaku di masyarakat dan/atau hukum yang berlaku di Indonesia
-
Pemenang dipilih berdasarkan: 1) orisinalitas, 2) kesesuaian karya dan caption dengan materi yang dipilih, 3) kreativitas, dan 4) kemudahan dipahami.
-
Pihak Ruangguru berhak mengganti ketentuan tanpa pemberitahuan terlebih dahulu
-
Pemenang akan diumumkan melalui
Instagram Story @ruangguru
-
Hadiah pemenang dikirimkan maksimal 30 hari setelah pemenang melakukan konfirmasi
<!doctype html>
<html class="no-js" lang="id">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="author" content="PT Ruang Raya Indonesia" />
<meta name="description" content="" />
<meta name="generator" content="HubSpot" />
<title>Syarat dan Ketentuan | "Beda Itu Keren!" Instagram Challenge</title>
<link rel="shortcut icon" href="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/favicon60x60-3.png" />
<meta property="og:description" content="" />
<meta property="og:title" content='Syarat dan Ketentuan | "Beda Itu Keren!" Instagram Challenge' />
<meta name="twitter:description" content="" />
<meta name="twitter:title" content='Syarat dan Ketentuan | "Beda Itu Keren!" Instagram Challenge' />
<style>
a.cta_button {
-moz-box-sizing: content-box !important;
-webkit-box-sizing: content-box !important;
box-sizing: content-box !important;
vertical-align: middle;
}
.hs-breadcrumb-menu {
list-style-type: none;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}
.hs-breadcrumb-menu-item {
float: left;
padding: 10px 0px 10px 10px;
}
.hs-breadcrumb-menu-divider:before {
content: '›';
padding-left: 10px;
}
.hs-featured-image-link {
border: 0;
}
.hs-featured-image {
float: right;
margin: 0 0 20px 20px;
max-width: 50%;
}
@media (max-width: 568px) {
.hs-featured-image {
float: none;
margin: 0;
width: 100%;
max-width: 100%;
}
}
.hs-screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
overflow: hidden;
position: absolute !important;
width: 1px;
}
</style>
<!-- Added by GoogleAnalytics integration -->
<script>
var _hsp = (window._hsp = window._hsp || []);
_hsp.push([
'addPrivacyConsentListener',
function (consent) {
if (consent.allowed || (consent.categories && consent.categories.analytics)) {
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
(i[r] =
i[r] ||
function () {
(i[r].q = i[r].q || []).push(arguments);
}),
(i[r].l = 1 * new Date());
(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-49650255-1', 'auto');
ga('send', 'pageview');
}
},
]);
</script>
<!-- /Added by GoogleAnalytics integration -->
<link rel="canonical" href="https://www.ruangguru.com/promo/beda-itu-keren" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
(function (h, e, a, t, m, p) {
m = e.createElement(a);
m.async = !0;
m.src = t;
p = e.getElementsByTagName(a)[0];
p.parentNode.insertBefore(m, p);
})(window, document, 'script', 'https://u.heatmap.it/log.js');
</script>
<meta name="google-site-verification" content="VJAn1g6wmtTZPpTXh-B4xoSFEkUi5jcV74xQSr6jnOM" />
<script>
document.querySelector('meta[name="author"]').setAttribute('content', 'Ruangguru Tech Team');
</script>
<meta name="publisher" content="PT Ruang Raya Indonesia" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<!--
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-49650255-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-49650255-1');
</script>
-->
<!-- Google Tag Manager -->
<script>
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-PVNLZFT');
</script>
<!-- End Google Tag Manager -->
<meta property="og:url" content="https://www.ruangguru.com/promo/beda-itu-keren" />
<meta name="twitter:card" content="summary" />
<meta http-equiv="content-language" content="id" />
<link rel="stylesheet" href="https://cdn-web-2.ruangguru.com/landing-page-web/public/assets/common/layout.min.css" />
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/5323714088/1618893349680/Coded_files/Custom/page/RuangguruV3_Style/normalize.css"
/>
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/5323787087/1669695959030/Coded_files/Custom/page/RuangguruV3_Style/NewStyleRGV3.css"
/>
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/5323738539/1593574553715/Coded_files/Custom/page/RuangguruV3_Style/header.min.css"
/>
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/5410595088/1593574548768/Coded_files/Custom/page/RuangguruV3_Style/beasiswa.min.css"
/>
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/5507306785/1593574549077/Coded_files/Custom/page/RuangguruV3_Style/JababekaNewStyle.min.css"
/>
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/5559484378/1620367352652/Coded_files/Custom/page/RuangguruV3_Style/topup_rgdb.min.css"
/>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.5.9/slick-theme.min.css" />
<style>
@media (max-width: 500px) {
ol li span {
font-size: 14px !important;
}
}
</style>
<script type="module" crossorigin src="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/promo/beda-itu-keren/assets/index-Dqv5PPZA.js"></script>
</head>
<body class="hs-content-id-6394288195 hs-landing-page hs-page" style="">
<div class="header-container-wrapper">
<div class="header-container container-fluid"></div>
<!--end header -->
</div>
<!--end header wrapper -->
<div class="body-container-wrapper">
<div class="body-container container-fluid">
<div class="row-fluid-wrapper row-depth-1 row-number-1">
<div class="row-fluid">
<div class="span12 widget-span widget-type-cell jab-upload_background" style="" data-widget-type="cell" data-x="0" data-w="12">
<div class="row-fluid-wrapper row-depth-1 row-number-2">
<div class="row-fluid">
<div class="span12 widget-span widget-type-cell tab-center" style="" data-widget-type="cell" data-x="0" data-w="12">
<div class="row-fluid-wrapper row-depth-1 row-number-3">
<div class="row-fluid">
<div class="span12 widget-span widget-type-cell jab-form_background" style="" data-widget-type="cell" data-x="0" data-w="12">
<div class="row-fluid-wrapper row-depth-1 row-number-4">
<div class="row-fluid">
<div class="span12 widget-span widget-type-rich_text page-center" style="" data-widget-type="rich_text" data-x="0" data-w="12">
<div class="cell-wrapper layout-widget-wrapper">
<span
id="hs_cos_wrapper_module_1516336730346370"
class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_rich_text"
style=""
data-hs-cos-general-type="widget"
data-hs-cos-type="rich_text"
>
<h2 style="text-align: center"><img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/mobile-copy-11.png" alt="" /></h2>
<p
style="text-align: center; font-size: 25px; font-weight: 600; font-style: normal; font-stretch: normal; line-height: 1.2; letter-spacing: normal; color: #2eb5c0"
>
<strong>
“Beda Itu Keren!”
<br />
Instagram Challenge
</strong>
</p>
<div style="text-align: left; padding-left: 30px">
<span style="text-decoration: underline"><strong>Cara Ikutan</strong></span>
</div>
<div style="text-align: left">
<ol>
<li>
<span style="font-weight: 400; font-size: 15px">
Kamu
<strong>wajib menonton "Beda Itu Keren!"</strong>
di ruangbelajar terlebih dahulu. “Beda Itu Keren!” dapat ditemukan pada pilihan mata pelajaran kelas 4 SD - 12 SMA semua kurikulum secara GRATIS.
</span>
</li>
</ol>
<ol start="2">
<ol start="2">
<li>
<span style="font-weight: 400; font-size: 15px">
<strong>Upload karya</strong>
"Beda Itu Keren!" versi kamu sekreatif mungkin di Instagram pribadi milikmu
<strong>(pastikan tidak private).</strong>
Karya dapat dibuat dalam bentuk apapun (lukisan, drama, dsb.) selama dapat dimuat dalam foto atau video. Contoh karya dapat dilihat di
<a href="https://www.instagram.com/p/BpgF3FGBQb8/?utm_source=ig_web_button_share_sheet" style="color: blue">sini.</a>
</span>
</li>
</ol>
</ol>
<ol start="3">
<li>
<span style="font-weight: 400; font-size: 15px">
Ceritakan pada
<em>caption:</em>
</span>
</li>
<ul style="font-size: 14px">
<li>Judul misi dari “Beda Itu Keren!” yang kamu pilih dan hubungannya dengan karyamu</li>
<li>Pelajaran apa yang kamu dapat dari konten tersebut</li>
<li>
Sertakan
<strong>kode referral</strong>
akun Ruangguru-mu dan hashtag #BedaItuKeren #ToleransiIndonesia #Ruangguru #PeaceGen #MeyakiniMenghargai
</li>
<li>Tag @ruangguru dan 3 orang temanmu yang perlu menonton "Beda Itu Keren" di ruangbelajar juga</li>
</ul>
</ol>
<div style="text-align: left; padding-left: 30px">
<span style="text-decoration: underline"><strong>Syarat & Ketentuan</strong></span>
</div>
<ol start="1">
<li>
<div style="text-align: left"><span style="font-weight: 400; font-size: 15px">Periode challenge: 28 Oktober - 9 Desember 2018</span></div>
</li>
</ol>
<ol start="2">
<li>
<div style="text-align: left"><span style="font-weight: 400; font-size: 15px">Peserta memiliki Kartu Pelajar dan akun Ruangguru</span></div>
</li>
</ol>
<ol start="3">
<li>
<div style="text-align: left"><span style="font-weight: 400; font-size: 15px">Peserta mengikuti seluruh ketentuan challenge dengan tepat</span></div>
</li>
</ol>
<ol start="4">
<li>
<div style="text-align: left">
<span style="font-weight: 400; font-size: 15px">
Karya tidak mengandung unsur pornografi dan pornoaksi, tindakan kekerasan ataupun berbau diskriminasi terhadap SARA (Suku, Agama, Ras, dan Antar Golongan)
tertentu serta tidak melanggar norma-norma yang berlaku di masyarakat dan/atau hukum yang berlaku di Indonesia
</span>
</div>
</li>
</ol>
<ol start="5">
<li>
<div style="text-align: left">
<span style="font-weight: 400; font-size: 15px">
Pemenang dipilih berdasarkan: 1) orisinalitas, 2) kesesuaian karya dan caption dengan materi yang dipilih, 3) kreativitas, dan 4) kemudahan dipahami.
</span>
</div>
</li>
</ol>
<ol start="6">
<li>
<div style="text-align: left">
<span style="font-weight: 400; font-size: 15px">Pihak Ruangguru berhak mengganti ketentuan tanpa pemberitahuan terlebih dahulu</span>
</div>
</li>
</ol>
<ol start="7">
<li>
<div style="text-align: left">
<span style="font-weight: 400; font-size: 15px">
Pemenang akan diumumkan melalui
<strong>Instagram Story @ruangguru</strong>
</span>
</div>
</li>
</ol>
<ol start="8">
<li>
<div style="text-align: left">
<span style="font-weight: 400; font-size: 15px">Hadiah pemenang dikirimkan maksimal 30 hari setelah pemenang melakukan konfirmasi</span>
</div>
</li>
</ol>
</div>
</span>
</div>
<!--end layout-widget-wrapper -->
</div>
<!--end widget-span -->
</div>
<!--end row-->
</div>
<!--end row-wrapper -->
</div>
<!--end widget-span -->
</div>
<!--end row-->
</div>
<!--end row-wrapper -->
</div>
<!--end widget-span -->
</div>
<!--end row-->
</div>
<!--end row-wrapper -->
</div>
<!--end widget-span -->
</div>
<!--end row-->
</div>
<!--end row-wrapper -->
</div>
<!--end body -->
</div>
<!--end body wrapper -->
<!-- HubSpot performance collection script -->
<script defer src="https://static.hsappstatic.net/content-cwv-embed/static-1.240/embed.js"></script>
<!-- Start of HubSpot Analytics Code -->
<script type="text/javascript">
var _hsq = _hsq || [];
_hsq.push(['setContentType', 'landing-page']);
_hsq.push(['setCanonicalUrl', 'https:\/\/www.ruangguru.com\/promo\/beda-itu-keren']);
_hsq.push(['setPageId', '6394288195']);
_hsq.push([
'setContentMetadata',
{
contentPageId: 6394288195,
legacyPageId: '6394288195',
contentFolderId: null,
contentGroupId: null,
abTestId: null,
languageVariantId: 6394288195,
languageCode: 'id',
},
]);
</script>
<script type="text/javascript">
var hsVars = {
render_id: 'd17c6db7-c835-411c-b4e7-1cfec921c952',
ticks: 1684630053492,
page_id: 6394288195,
content_group_id: 0,
portal_id: 2828691,
app_hs_base_url: 'https://app.hubspot.com',
cp_hs_base_url: 'https://cp.hubspot.com',
language: 'id',
analytics_page_type: 'landing-page',
analytics_page_id: '6394288195',
category_id: 1,
folder_id: 0,
is_hubspot_user: false,
};
</script>
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script>
<!-- Load CSS for all versions -->
<script>
// CSS loading function available for all versions
function loadFloatingCSS() {
// Check if CSS is already loaded
if (document.getElementById('fb-component-css')) {
return;
}
// Create and append CSS style block to head
const style = document.createElement('style');
style.id = 'fb-component-css';
style.textContent = `
.bantuan-container {
position: relative;
}
.bantuan-element {
position: fixed;
z-index: 999;
display: flex;
align-items: flex-end;
justify-content: flex-end;
cursor: pointer;
transition: all 0.6s ease;
}
.bantuan-top {
bottom: 11rem;
right: 2rem;
}
.bantuan-bottom {
bottom: 2rem;
right: 2rem;
}
.bantuan-top-2 {
bottom: 15rem;
right: 2rem;
}
.bantuan-top-3 {
bottom: 19rem;
right: 2rem;
}
.bantuan-bottom-2 {
bottom: 5rem;
right: 2rem;
}
.bantuan-bottom-3 {
bottom: 8rem;
right: 2rem;
}
@media (min-width: 768px) {
.bantuan-element img {
width: auto;
transition: all 0.4s ease;
}
.bantuan-top img {
width: 140px;
}
.bantuan-bottom img {
width: 140px;
}
.bantuan-top-2 img,
.bantuan-top-3 img {
width: 140px;
}
.bantuan-bottom-2 img,
.bantuan-bottom-3 img {
width: 140px;
}
.bantuan-element.clicked {
bottom: 9rem;
right: 2.5rem;
}
.bantuan-element.clicked img {
width: auto;
height: 64px;
}
}
@media (max-width: 767px) {
.bantuan-top {
bottom: 8rem;
right: 1rem;
align-items: center;
}
.bantuan-bottom {
bottom: 2rem;
right: 1.25rem;
align-items: center;
}
.bantuan-top-2 {
bottom: 12rem;
right: 1rem;
align-items: center;
}
.bantuan-top-3 {
bottom: 16rem;
right: 1rem;
align-items: center;
}
.bantuan-bottom-2 {
bottom: 5rem;
right: 1.25rem;
align-items: center;
}
.bantuan-bottom-3 {
bottom: 8rem;
right: 1.25rem;
align-items: center;
}
.bantuan-element img {
width: auto;
}
.bantuan-top img,
.bantuan-top-2 img,
.bantuan-top-3 img {
width: 96px;
}
.bantuan-bottom img,
.bantuan-bottom-2 img,
.bantuan-bottom-3 img {
width: 96px;
}
}
.bantuan-element:hover {
transform: scale(1.05);
}
.bantuan-element img {
max-width: 100%;
height: auto;
}
`;
document.head.appendChild(style);
}
// Load CSS immediately
loadFloatingCSS();
</script>
<div id="bantuan-divs-container" style="position: relative" data-product="ruangguru" data-table=""></div>
<script>
class FloatingDivsComponent {
constructor(product = 'ruangguru', table = 'rg_promo_banner') {
this.container = document.getElementById('bantuan-divs-container');
this.floatingElements = [];
this.product = product;
this.table = table;
// Configuration
this.config = {
baseApiUrl: 'https://gw.ruangguru.com/api/v3/rdb/p_ddgy8hjx5dxsqx/rg_banner/views/',
apiKey: 'vLyK3dJrDBRmOwueX2OJXibMkgsUbBk0WS4ua2p1',
maxElements: 2,
zIndexBase: 100,
};
// Build dynamic API URL based on table parameter
this.config.apiUrl = this.buildApiUrl();
this.init();
}
buildApiUrl() {
const baseUrl = this.config.baseApiUrl;
const tableName = this.table || 'rg_promo_banner';
const queryParams =
'offset=0&limit=99999&sort=rankPosition&where=(type,eq,floating)~and(showIn,anyof,landingPage)~and(hide,is,false)~and(product,eq,' +
this.product +
')&nested%5Bcta%5D%5Bfields%5D=Id,name,ctaId,imageUrl,ctaLink,targetUrl';
return `${baseUrl}${tableName}?${queryParams}`;
}
async init() {
try {
await this.fetchFloatingElements();
this.renderFloatingElements();
} catch (error) {
console.error('Failed to initialize floating divs component:', error);
}
}
async fetchFloatingElements() {
try {
const options = {
method: 'GET',
headers: {
'xc-token': this.config.apiKey || 'vLyK3dJrDBRmOwueX2OJXibMkgsUbBk0WS4ua2p1',
},
};
const urlNoco = this.config.apiUrl;
const response = await fetch(urlNoco, options);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
this.floatingElements = this.processApiResponse(data);
} catch (error) {
console.error('Error fetching floating elements:', error);
throw error;
}
}
processApiResponse(data) {
if (!data || !data.list || !Array.isArray(data.list)) {
return [];
}
// Ensure we only get maximum 2 elements
const limitedElements = data.list.slice(0, this.config.maxElements);
return limitedElements;
}
renderFloatingElements() {
if (!this.container || this.floatingElements.length === 0) {
return;
}
// Additional safeguard: ensure we never render more than maxElements
const elementsToRender = this.floatingElements.slice(0, this.config.maxElements);
// Clean up existing elements and their event listeners
this.cleanupExistingElements();
// Clear existing content
this.container.innerHTML = '';
elementsToRender.forEach((element, index) => {
const floatingDiv = this.createFloatingDiv(element, index);
this.container.appendChild(floatingDiv);
});
}
cleanupExistingElements() {
// Clear existing elements (no need for event listener cleanup with CSS approach)
const existingElements = this.container.querySelectorAll('[data-floating-element]');
existingElements.forEach(element => {
element.remove();
});
}
createFloatingDiv(element, index) {
const div = document.createElement('div');
const cta = element.cta[0]; // Use the first CTA
// Add data attribute for cleanup tracking
div.setAttribute('data-floating-element', 'true');
// Apply CSS classes based on rankPosition
const positionClass = this.getPositionClass(element.rankPosition, index);
div.className = `bantuan-element ${positionClass}`;
div.style.zIndex = this.config.zIndexBase + index;
// Create the link and image
const link = document.createElement('a');
link.href = 'https://cta.ruangguru.com/' + cta.ctaId || '#';
link.target = '_blank';
// Add tracking attributes
link.setAttribute('data-tracking-event-type', 'landing_page__core__item_click');
link.setAttribute(
'data-tracking-context',
JSON.stringify({
product_name: this.product,
cta_action: 'redirection',
cta_action_detail: link.href,
item_type: 'floating',
item_name: element.name || 'Floating element',
item_category: 'payment',
item_position: index,
item_serial: null,
section_type: 'floating_item',
section_position: 'body',
section_name: 'floating_item',
})
);
const img = document.createElement('img');
img.src = element.imageUrl + '?h=200&convert=webp';
img.alt = element.name || 'Floating element';
img.loading = 'lazy';
// Add click tracking
link.addEventListener('click', () => {
this.trackClick(element, cta);
});
link.appendChild(img);
div.appendChild(link);
return div;
}
getPositionClass(rankPosition, index) {
// Define positioning classes based on rankPosition
if (rankPosition === 1) {
return 'bantuan-top'; // Top position
} else if (rankPosition === 2) {
return 'bantuan-bottom'; // Bottom position
} else {
// For additional elements, distribute them evenly
return `bantuan-${index % 2 === 0 ? 'top' : 'bottom'}-${Math.floor(index / 2) + 1}`;
}
}
trackClick(element, cta) {
// Implement click tracking logic here
console.log('Floating element clicked:', {
elementId: element.Id,
elementName: cta.name,
ctaId: cta.ctaId,
targetUrl: cta.targetUrl,
});
}
// Public method to manually refresh
async refresh() {
try {
await this.fetchFloatingElements();
this.renderFloatingElements();
} catch (error) {
console.error('Failed to refresh floating elements:', error);
throw error;
}
}
// Public method to get current floating elements
getFloatingElements() {
return [...this.floatingElements];
}
}
// Initialize the component when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
// Get product and table parameters from data attributes
const container = document.getElementById('bantuan-divs-container');
const product = container.getAttribute('data-product') || 'ruangguru';
const table = container.getAttribute('data-table') || 'rg_promo_banner';
new FloatingDivsComponent(product, table);
});
// Export for use in other modules if needed
if (typeof module !== 'undefined' && module.exports) {
module.exports = FloatingDivsComponent;
}
</script>
<!-- Tracker -->
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script>
<script src="https://unpkg.com/analytics@0.8.1/dist/analytics.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/analytics-plugin-trackable/dist/analytics-plugin-trackable.min.js"></script>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N8DPXH6" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script type="text/javascript" defer>
/* Initialize analytics */
var Analytics = _analytics.init({
app: 'brainAcademyLandingPage',
debug: false,
plugins: [analyticsTrackable()],
});
Analytics.ready(function () {
Analytics.page();
});
</script>
<!-- Generated by the HubSpot Template Builder - template version 1.03 -->
</body>
</html>