1<!doctype html> 2<html lang="id"> 3 <head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 6 <title>ONDEL4D | Link Official Terbaru dengan Akses Game Online Terpercaya</title> 7 <link rel="icon" type="image/png" href="/favicon.png"> 8 9 <meta name="description" content="Akses ONDEL4D melalui situs resmi dengan sistem yang aman, cepat, dan praktis. Dapatkan informasi link masuk terbaru serta layanan yang tersedia setiap hari."> 10<meta name='dmca-site-verification' content='UGpkdXNGaGF3YnV5WnpIVlZZS1ZSUT090' /> 11<meta http-equiv="cache-control" content="no-cache" /> 12<meta property="og:site_name" content="ONDEL4D" /> 13<meta property="og:title" content="Ondel4D - Link Resmi & Akses Masuk Official Terpercaya" /> 14<meta property="og:url" content="/" /> 15<meta property="og:type" content="product" /> 16<meta property="og:description" content="Akses Ondel4D melalui link resmi dan terpercaya. Nikmati kemudahan link masuk official dengan sistem aman, cepat, dan update setiap hari untuk pengalaman terbaik." /> 17<meta name="language" content="ID"> 18<meta name="revisit-after" content="1 days" /> 19<meta name="robots" content="noindex, nofollow"> 20<meta name="rating" content="general" /> 21<meta name="geo.region" content="ID" /> 22<meta name="geo.country" content="ID" /> 23<meta name="geo.placename" content="Indonesia" /> 24<meta name="author" content="ONDEL4D" /> 25<meta name="publisher" content="ONDEL4D" /> 26<meta name="tgn.nation" content="Indonesia"> 27<meta name="copyright" content="ONDEL4D"> 28<meta name="author" content="ONDEL4D"> 29<meta name="distribution" content="global"> 30<meta name="publisher" content="ONDEL4D"> 31 32<meta name="google-site-verification" content="YZvWCd1oaYQgfStVi79P74GL9tGBoJxHuolnm6YmGys" /> 33 34 35<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 35-36
35 36<script async src="https://www.googletagmanager.com/gtag/js?id=
36G-PW8N39QH7K
vendor: 13 bytes, line 36
36"></script>
37<script> 38
vendor: 138 bytes, lines 38-42
38window.dataLayer = window.dataLayer || []; 39 function gtag(){dataLayer.push(arguments);} 40 gtag('js', new Date()); 41 42 gtag('config', '
42G-PW8N39QH7K
vendor: 5 bytes, line 42
42');
43</script>
43 44
45<script type="application/ld+json"> 46{ 47 "@context": "https://schema.org", 48 "@type": "Organization", 49 "name": "Ondel4D", 50 "url": "https://ondel4d.com", 51 "logo": "/images/logoweb.png", 52 "description": "Akses Ondel4D melalui link resmi dan terpercaya. Nikmati kemudahan link masuk official dengan sistem aman, cepat, dan update se", 53 "sameAs": [ 54 "/" 55 ] 56} 57</script>
57 58
59<script type="application/ld+json"> 60{ 61 "@context": "https://schema.org", 62 "@type": "Article", 63 "headline": "Ondel4D - Link Resmi & Akses Masuk Official Terpercaya", 64 "image": [ 65 "/images/upload-MobileSlides-20260415184246.jpg", 66 "/images/upload-MobileSlides-20260415184246.jpg", 67 "/images/upload-MobileSlides-20260407155406.jpg" 68 ], 69 "author": { 70 "@type": "Organization", 71 "name": "Ondel4D", 72 "url": "/" 73}, 74 "publisher": { 75 "@type": "Organization", 76 "name": "Ondel4D", 77 "logo": { 78 "@type": "ImageObject", 79 "url": "/images/logoweb.png" 80 } 81 }, 82 "mainEntityOfPage": { 83 "@type": "WebPage", 84 "@id": "/" 85 }, 86 "description": "Akses Ondel4D melalui link resmi dan terpercaya. Nikmati kemudahan link masuk official dengan sistem aman, cepat, dan update setiap hari untuk pengalaman terbaik." 87} 88</script>
88 89
90<script type="application/ld+json"> 91{ 92 "@context": "https://schema.org", 93 "@type": "BreadcrumbList", 94 "itemListElement": [ 95 { 96 "@type": "ListItem", 97 "position": 1, 98 "name": "Home", 99 "item": "/" 100 }, 101 { 102 "@type": "ListItem", 103 "position": 2, 104 "name": "Togel Online", 105 "item": "/togel/" 106 }, 107 { 108 "@type": "ListItem", 109 "position": 3, 110 "name": "Slot Online", 111 "item": "/slot/" 112 }, 113 { 114 "@type": "ListItem", 115 "position": 4, 116 "name": "Live Casino", 117 "item": "/casino/" 118 }, 119 { 120 "@type": "ListItem", 121 "position": 5, 122 "name": "Tembak Ikan", 123 "item": "/arcade/" 124 }, 125 { 126 "@type": "ListItem", 127 "position": 6, 128 "name": "Sabung Ayam", 129 "item": "/sabung/" 130 }, 131 { 132 "@type": "ListItem", 133 "position": 7, 134 "name": "Interactive", 135 "item": "/interactive/" 136 }, 137 { 138 "@type": "ListItem", 139 "position": 8, 140 "name": "Promo Ondel4D", 141 "item": "/promo/" 142 }, 143 { 144 "@type": "ListItem", 145 "position": 9, 146 "name": "Event Ondel4D", 147 "item": "/event/" 148 }, 149 { 150 "@type": "ListItem", 151 "position": 10, 152 "name": "Daftar Ondel4D", 153 "item": "/register/" 154 }, 155 { 156 "@type": "ListItem", 157 "position": 10, 158 "name": "Masuk Ondel4D", 159 "item": "/masuk/" 160 }, 161 { 162 "@type": "ListItem", 163 "position": 10, 164 "name": "BreadcrumbList", 165 "item": "/?=breadcrumbList/" 166 } 167 ] 168} 169</script>
169 170 171 172
173<script type="application/ld+json"> 174{ 175 "@context": "https://schema.org", 176 "@type": "FAQPage", 177 "mainEntity": [ 178 { 179 "@type": "Question", 180 "name": "Apa itu Ondel4D?", 181 "acceptedAnswer": { 182 "@type": "Answer", 183 "text": "Ondel4D adalah platform yang menyediakan akses melalui link resmi dengan sistem aman dan terpercaya untuk pengguna." 184 } 185 }, 186 { 187 "@type": "Question", 188 "name": "Bagaimana cara mendapatkan link resmi Ondel4D?", 189 "acceptedAnswer": { 190 "@type": "Answer", 191 "text": "Anda bisa mendapatkan Ondel4D link resmi melalui sumber terpercaya atau bookmark dari akses sebelumnya." 192 } 193 }, 194 { 195 "@type": "Question", 196 "name": "Kenapa link Ondel4D sering berubah?", 197 "acceptedAnswer": { 198 "@type": "Answer", 199 "text": "Perubahan link dilakukan untuk menjaga akses tetap stabil dan menghindari pemblokiran." 200 } 201 } 202 ] 203} 204</script>
204 205
206<script type="application/ld+json"> 207{ 208 "@context": "https://schema.org", 209 "@type": "Product", 210 "name": "Ondel4D", 211 "image": "/images/logoweb.png", 212 "description": "Ondel4D Sebagai Platform Resmi dan Terpercaya", 213 "brand": { 214 "@type": "Brand", 215 "name": "Ondel4D" 216 }, 217 "aggregateRating": { 218 "@type": "AggregateRating", 219 "ratingValue": "4.9", 220 "reviewCount": "1287" 221 } 222} 223</script>
223 224
225<script type="application/ld+json"> 226{ 227 "@context": "https://schema.org", 228 "@type": "VideoObject", 229 "name": "Ondel4D", 230 "description": "Link resmi memastikan semua aktivitas dilakukan di server yang aman, sehingga data pengguna tetap terlindungi.", 231 "thumbnailUrl": "https://ondel4dae.com/images/ondel4d.jpg", 232 "uploadDate": "2025-10-03T00:00:00+07:00", 233 "contentUrl": "https://ondel4dae.com/video/ondel4d.mp4", 234 "publisher": { 235 "@type": "Organization", 236 "name": "Ondel4D", 237 "url": "/", 238 "logo": { 239 "@type": "ImageObject", 240 "url": "/images/logo.png" 241 } 242 } 243} 244</script>
244 245 246 247 248<!-- Meta Pixel Code -->
249<script>
vendor: 408 bytes, lines 249-258
249 250!function(f,b,e,v,n,t,s) 251{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 252n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 253if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 254n.queue=[];t=b.createElement(e);t.async=!0; 255t.src=v;s=b.getElementsByTagName(e)[0]; 256s.parentNode.insertBefore(t,s)}(window, document,'script', 257'https://connect.facebook.net/en_US/fbevents.js'); 258fbq('init', '
258784387881305332
vendor: 32 bytes, lines 258-259
258'); 259fbq('track', 'PageView');
260</script>
260 261<noscript><img height="1" width="1" style="display:none" 262src="https://www.facebook.com/tr?id=784387881305332&ev=PageView&noscript=1" 263/></noscript> 264<!-- End Meta Pixel Code Bossname-ondel--> 265 266 267<!-- Meta Pixel Code -->
268<script>
vendor: 408 bytes, lines 268-277
268 269!function(f,b,e,v,n,t,s) 270{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 271n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 272if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 273n.queue=[];t=b.createElement(e);t.async=!0; 274t.src=v;s=b.getElementsByTagName(e)[0]; 275s.parentNode.insertBefore(t,s)}(window, document,'script', 276'https://connect.facebook.net/en_US/fbevents.js'); 277fbq('init', '
2771587754562272530
vendor: 32 bytes, lines 277-278
277'); 278fbq('track', 'PageView');
279</script>
279 280<noscript><img height="1" width="1" style="display:none" 281src="https://www.facebook.com/tr?id=1587754562272530&ev=PageView&noscript=1" 282/></noscript> 283<!-- End Meta Pixel Code Tiger-ondels--> 284 285<!-- Meta Pixel Code -->
286<script>
vendor: 408 bytes, lines 286-295
286 287!function(f,b,e,v,n,t,s) 288{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 289n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 290if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 291n.queue=[];t=b.createElement(e);t.async=!0; 292t.src=v;s=b.getElementsByTagName(e)[0]; 293s.parentNode.insertBefore(t,s)}(window, document,'script', 294'https://connect.facebook.net/en_US/fbevents.js'); 295fbq('init', '
2951038579611972995
vendor: 32 bytes, lines 295-296
295'); 296fbq('track', 'PageView');
297</script>
297 298<noscript><img height="1" width="1" style="display:none" 299src="https://www.facebook.com/tr?id=1038579611972995&ev=PageView&noscript=1" 300/></noscript> 301<!-- End Meta Pixel Code --> 302 303 304<!-- Meta Pixel Code -->
305<script>
vendor: 408 bytes, lines 305-314
305 306!function(f,b,e,v,n,t,s) 307{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 308n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 309if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 310n.queue=[];t=b.createElement(e);t.async=!0; 311t.src=v;s=b.getElementsByTagName(e)[0]; 312s.parentNode.insertBefore(t,s)}(window, document,'script', 313'https://connect.facebook.net/en_US/fbevents.js'); 314fbq('init', '
314887010764288819
vendor: 32 bytes, lines 314-315
314'); 315fbq('track', 'PageView');
316</script>
316 317<noscript><img height="1" width="1" style="display:none" 318src="https://www.facebook.com/tr?id=887010764288819&ev=PageView&noscript=1" 319/></noscript> 320<!-- End Meta Pixel Code Tiendat-ads--> 321 322 <link rel="preconnect" href="https://img.viva88athenae.com"> 323 <link rel="preload" href="/fonts/new/ubuntu-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin> 324 <link rel="preload" href="/fonts/new/ubuntu-normal-700-latin.woff2" as="font" type="font/woff2" crossorigin> 325 <link rel="preload" href="/fonts/new/oswald-normal-400-latin.woff2" as="font" type="font/woff2" crossorigin> 326 <link href="/css/new/vendor/bootstrap.min.css?v=1790436337" rel="stylesheet"> 327 <style id="jt-fonts">/* Self-hosted Ubuntu + Oswald (latin / latin-ext), font-display: swap */ 328/* latin-ext */ 329@font-face { 330 font-family: 'Oswald'; 331 font-style: normal; 332 font-weight: 400; 333 font-display: swap; 334 src: url(/fonts/new/oswald-normal-400-latinext.woff2) format('woff2'); 335 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 336} 337/* latin */ 338@font-face { 339 font-family: 'Oswald'; 340 font-style: normal; 341 font-weight: 400; 342 font-display: swap; 343 src: url(/fonts/new/oswald-normal-400-latin.woff2) format('woff2'); 344 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 345} 346/* latin-ext */ 347@font-face { 348 font-family: 'Oswald'; 349 font-style: normal; 350 font-weight: 500; 351 font-display: swap; 352 src: url(/fonts/new/oswald-normal-500-latinext.woff2) format('woff2'); 353 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 354} 355/* latin */ 356@font-face { 357 font-family: 'Oswald'; 358 font-style: normal; 359 font-weight: 500; 360 font-display: swap; 361 src: url(/fonts/new/oswald-normal-500-latin.woff2) format('woff2'); 362 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 363} 364/* latin-ext */ 365@font-face { 366 font-family: 'Oswald'; 367 font-style: normal; 368 font-weight: 600; 369 font-display: swap; 370 src: url(/fonts/new/oswald-normal-600-latinext.woff2) format('woff2'); 371 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 372} 373/* latin */ 374@font-face { 375 font-family: 'Oswald'; 376 font-style: normal; 377 font-weight: 600; 378 font-display: swap; 379 src: url(/fonts/new/oswald-normal-600-latin.woff2) format('woff2'); 380 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 381} 382/* latin-ext */ 383@font-face { 384 font-family: 'Oswald'; 385 font-style: normal; 386 font-weight: 700; 387 font-display: swap; 388 src: url(/fonts/new/oswald-normal-700-latinext.woff2) format('woff2'); 389 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 390} 391/* latin */ 392@font-face { 393 font-family: 'Oswald'; 394 font-style: normal; 395 font-weight: 700; 396 font-display: swap; 397 src: url(/fonts/new/oswald-normal-700-latin.woff2) format('woff2'); 398 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 399} 400/* latin-ext */ 401@font-face { 402 font-family: 'Ubuntu'; 403 font-style: italic; 404 font-weight: 300; 405 font-display: swap; 406 src: url(/fonts/new/ubuntu-italic-300-latinext.woff2) format('woff2'); 407 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
407BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 408} 409/* latin */ 410@font-face { 411 font-family: 'Ubuntu'; 412 font-style: italic; 413 font-weight: 300; 414 font-display: swap; 415 src: url(/fonts/new/ubuntu-italic-300-latin.woff2) format('woff2'); 416 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 417} 418/* latin-ext */ 419@font-face { 420 font-family: 'Ubuntu'; 421 font-style: italic; 422 font-weight: 400; 423 font-display: swap; 424 src: url(/fonts/new/ubuntu-italic-400-latinext.woff2) format('woff2'); 425 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 426} 427/* latin */ 428@font-face { 429 font-family: 'Ubuntu'; 430 font-style: italic; 431 font-weight: 400; 432 font-display: swap; 433 src: url(/fonts/new/ubuntu-italic-400-latin.woff2) format('woff2'); 434 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 435} 436/* latin-ext */ 437@font-face { 438 font-family: 'Ubuntu'; 439 font-style: italic; 440 font-weight: 500; 441 font-display: swap; 442 src: url(/fonts/new/ubuntu-italic-500-latinext.woff2) format('woff2'); 443 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 444} 445/* latin */ 446@font-face { 447 font-family: 'Ubuntu'; 448 font-style: italic; 449 font-weight: 500; 450 font-display: swap; 451 src: url(/fonts/new/ubuntu-italic-500-latin.woff2) format('woff2'); 452 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 453} 454/* latin-ext */ 455@font-face { 456 font-family: 'Ubuntu'; 457 font-style: italic; 458 font-weight: 700; 459 font-display: swap; 460 src: url(/fonts/new/ubuntu-italic-700-latinext.woff2) format('woff2'); 461 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 462} 463/* latin */ 464@font-face { 465 font-family: 'Ubuntu'; 466 font-style: italic; 467 font-weight: 700; 468 font-display: swap; 469 src: url(/fonts/new/ubuntu-italic-700-latin.woff2) format('woff2'); 470 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 471} 472/* latin-ext */ 473@font-face { 474 font-family: 'Ubuntu'; 475 font-style: normal; 476 font-weight: 300; 477 font-display: swap; 478 src: url(/fonts/new/ubuntu-normal-300-latinext.woff2) format('woff2'); 479 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 480} 481/* latin */ 482@font-face { 483 font-family: 'Ubuntu'; 484 font-style: normal; 485 font-weight: 300; 486 font-display: swap; 487 src: url(/fonts/new/ubuntu-normal-300-latin.woff2) format('woff2'); 488 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 489} 490/* latin-ext */ 491@font-face { 492 font-family: 'Ubuntu'; 493 font-style: normal; 494 font-weight: 400; 495 font-display: swap; 496 src: url(/fonts/new/ubuntu-normal-400-latinext.woff2) format('woff2'); 497 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 498} 499/* latin */ 500@font-face { 501 font-family: 'Ubuntu'; 502 font-style: normal; 503 font-weight: 400; 504 font-display: swap; 505 src: url(/fonts/new/ubuntu-normal-400-latin.woff2) format('woff2'); 506 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 507} 508/* latin-ext */ 509@font-face { 510 font-family: 'Ubuntu'; 511 font-style: normal; 512 font-weight: 500; 513 font-display: swap; 514 src: url(/fonts/new/ubuntu-normal-500-latinext.woff2) format('woff2'); 515 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
515BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 516} 517/* latin */ 518@font-face { 519 font-family: 'Ubuntu'; 520 font-style: normal; 521 font-weight: 500; 522 font-display: swap; 523 src: url(/fonts/new/ubuntu-normal-500-latin.woff2) format('woff2'); 524 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 525} 526/* latin-ext */ 527@font-face { 528 font-family: 'Ubuntu'; 529 font-style: normal; 530 font-weight: 700; 531 font-display: swap; 532 src: url(/fonts/new/ubuntu-normal-700-latinext.woff2) format('woff2'); 533 unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; 534} 535/* latin */ 536@font-face { 537 font-family: 'Ubuntu'; 538 font-style: normal; 539 font-weight: 700; 540 font-display: swap; 541 src: url(/fonts/new/ubuntu-normal-700-latin.woff2) format('woff2'); 542 unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; 543} 544</style> <style id="jt-theme">/* Theme: PN — PN */ 545:root { 546 /* --- Accent --- */ 547 --accent-color: #d4217c; 548 549 /* --- Text --- */ 550 --primary-text-color: #ffffff; 551 --secondary-text-color: #d4d4d4; 552 --accent-text-color: #e24695; 553 554 /* --- Teks tambahan --- */ 555 --muted-text-color: #888888; 556 --muted-text-color-secondary: #2b2626; 557 --muted-text-color-tertiary: #b54a80; 558 559 /* --- Background utama --- */ 560 --primary-background-color: #26082e; 561 --secondary-background-color: #1c0812; 562 --ternary-background-color: #2e1521; 563 --quaternary-background-color: #26082e; 564 565 /* --- Background tambahan --- */ 566 --placeholder-bg: #3e1e2e; 567 --overlay-bg: rgba(0,0,0,0.6); 568 --handle-color: rgba(255,255,255,0.2); 569 --table-hover-bg: rgba(212,33,124,0.05); 570 --btn-close-hover-bg: rgba(128,128,128,0.12); 571 --qr-bg: #ffffff; 572 573 /* --- Navbar --- */ 574 --navbar-bg: var(--ternary-background-color); 575 --bottom-navbar-bg: var(--ternary-background-color); 576 577 /* --- Navbar text --- */ 578 --navbar-text-color: #ffffff; 579 --bottom-navbar-text-color: #ffffff; 580 581 /* --- Header & Home elemen (terpisah dari primary/secondary/accent-text) --- */ 582 --topbar-link-color: var(--primary-text-color); 583 --section-title-color: var(--primary-text-color); 584 --togel-market-name-color: var(--primary-text-color); 585 --balance-text-color: var(--secondary-text-color); 586 --nav-active-color: var(--accent-text-color); 587 --marquee-date-color: var(--accent-text-color); 588 --username-text-color: var(--secondary-text-color); 589 --marquee-text-color: var(--secondary-text-color); 590 591 /* --- Menu / Marquee / Search --- */ 592 --menu-box-bg: rgba(212,33,124,0.05); 593 --marquee-bg: #1c0812; 594 --search-bg: #2e1521; 595 596 /* --- Widget profile gradient --- */ 597 --widget-profile-bg-start: #3f1c2e; 598 --widget-profile-bg-end: #1c0812; 599 600 /* --- Tombol Deposit (gradient) --- */ 601 --btn-deposit-color-start: #d4217c; 602 --btn-deposit-color-mid: #e65ca2; 603 --btn-deposit-color-end: #d4217c; 604 --btn-deposit-text: #ffffff; 605 606 /* --- Tombol Withdraw (gradient) --- */ 607 --btn-withdraw-color-start: #1c0812; 608 --btn-withdraw-color-end: #2e1521; 609 --btn-withdraw-text: #ffffff; 610 611 /* --- Tab aktif & tabel rekening (terpisah dari accent utama) --- */ 612 --tx-tab-active-color: var(--accent-color); 613 --tx-table-accent-color: var(--accent-text-color); 614 615 /* --- Table stripe & input placeholder (terpisah, dikalibrasi thd bg literal) --- */ 616 --table-stripe-odd-bg: var(--primary-background-color); 617 --table-stripe-even-bg: var(--secondary-background-color); 618 --input-placeholder-color: #6b7280; 619 620 /* --- CMS sidebar nav item (state tidak-aktif/hover/aktif, terpisah dari muted-text-color umum) --- */ 621 --cms-nav-color: var(--muted-text-color); 622 --cms-nav-hover-color: var(--secondary-text-color); 623 --cms-nav-active-color: var(--primary-text-color); 624 625 /* --- History table --- */ 626 --color-tanggal: #ef5350; 627 --color-pasaran: #42a5f5; 628 --color-debit: #ef5350; 629 --color-kredit: #66bb6a; 630 --color-balance: #42a5f5; 631 632 /* --- Component backgrounds --- */ 633 --btn-menu-bg: var(--ternary-background-color); 634 --card-bg: var(--ternary-background-color); 635 --avatar-bg: var(--ternary-background-color); 636 --table-header-bg: var(--ternary-background-color); 637 --dropdown-bg: var(--secondary-background-color); 638 --sidebar-bg: var(--secondary-background-color); 639 --input-bg: var(--secondary-background-color); 640 --menu-box-border-color: rgba(212,33,124,0.12); 641 --breadcrumb-color: var(--accent-color); 642 --alert-danger-bg: #ee5f5b; 643 644 /* --- Accent alpha (untuk hover/active) --- */ 645 --accent-bg-subtle: rgba(212,33,124,0.10); 646 --accent-bg-active: rgba(212,33,124,0.12); 647 --accent-border-subtle: rgba(212,33,124,0.32); 648
649 /* --- Skeleton shimmer --- */ 650 --skeleton-color-base: var(--ternary-background-color); 651 --skeleton-color-shine: #3e1e2e; 652 653 /* --- Card togel pasaran (home) --- */ 654 --togel-card-bg: var(--secondary-background-color); 655 --togel-card-number-color: var(--primary-text-color); 656 657 /* --- Splide pagination --- */ 658 --splide-pagination-inactive: #dee2e6; 659 660 /* --- Border --- */ 661 --border-color: rgba(255,255,255,0.08); 662 --border-subtle-color: rgba(255,255,255,0.04); 663 664 /* --- Font & Radius --- */ 665 --font-body: "Ubuntu", sans-serif; 666 --radius-sm: 6px; 667 --radius-md: 8px; 668 --radius-lg: 10px; 669 --radius-xl: 12px; 670 --radius-pill: 999px; 671 672 /* --- Font sizes --- */ 673 --fs-xs: 10px; 674 --fs-sm: 11px; 675 --fs-md: 12px; 676 --fs-base: 13px; 677 --fs-lg: 14px; 678 --fs-xl: 15px; 679 --fs-2xl: 16px; 680 --fs-3xl: 18px; 681} 682 683:root[data-theme="light"] { 684 /* --- Light theme overrides (auto-generated dari base gelap) --- */ 685 /* --- Accent --- */ 686 --accent-color: #b51c6a; 687 688 /* --- Text --- */ 689 --primary-text-color: #141414; 690 --secondary-text-color: #2b2b2b; 691 --accent-text-color: #b51c6a; 692 693 /* --- Teks tambahan --- */ 694 --muted-text-color: #595959; 695 --muted-text-color-secondary: #5c5656; 696 --muted-text-color-tertiary: #6c4759; 697 698 /* --- Background utama --- */ 699 --primary-background-color: #e7dfe9; 700 --secondary-background-color: #f0eaed; 701 --ternary-background-color: #e2d9dd; 702 --quaternary-background-color: #e7dfe9; 703 704 /* --- Background tambahan --- */ 705 --placeholder-bg: #d7cbd1; 706 --overlay-bg: rgba(0,0,0,0.6); 707 --handle-color: rgba(0,0,0,0.2); 708 --table-hover-bg: rgba(212,33,124,0.05); 709 --btn-close-hover-bg: rgba(128,128,128,0.12); 710 --qr-bg: #ffffff; 711 712 /* --- Navbar --- */ 713 --navbar-bg: var(--ternary-background-color); 714 --bottom-navbar-bg: var(--ternary-background-color); 715 716 /* --- Navbar text --- */ 717 --navbar-text-color: #141414; 718 --bottom-navbar-text-color: #141414; 719 720 /* --- Header & Home elemen (terpisah dari primary/secondary/accent-text) --- */ 721 --topbar-link-color: var(--primary-text-color); 722 --section-title-color: var(--primary-text-color); 723 --togel-market-name-color: var(--primary-text-color); 724 --balance-text-color: var(--secondary-text-color); 725 --nav-active-color: var(--accent-text-color); 726 --marquee-date-color: var(--accent-text-color); 727 --username-text-color: var(--secondary-text-color); 728 --marquee-text-color: var(--secondary-text-color); 729 730 /* --- Menu / Marquee / Search --- */ 731 --menu-box-bg: rgba(212,33,124,0.05); 732 --marquee-bg: #f0eaed; 733 --search-bg: #e2d9dd; 734 735 /* --- Widget profile gradient --- */ 736 --widget-profile-bg-start: #d8cad2; 737 --widget-profile-bg-end: #f0eaed; 738 739 /* --- Tombol Deposit (gradient) --- */ 740 --btn-deposit-color-start: #b51c6a; 741 --btn-deposit-color-mid: #e13d90; 742 --btn-deposit-color-end: #b51c6a; 743 --btn-deposit-text: #ffffff; 744 745 /* --- Tombol Withdraw (gradient) --- */ 746 --btn-withdraw-color-start: #f0eaed; 747 --btn-withdraw-color-end: #e2d9dd; 748 --btn-withdraw-text: #141414; 749 750 /* --- Tab aktif & tabel rekening (terpisah dari accent utama) --- */ 751 --tx-tab-active-color: var(--accent-color); 752 --tx-table-accent-color: var(--accent-text-color); 753 754 /* --- Table stripe & input placeholder (terpisah, dikalibrasi thd bg literal) --- */ 755 --table-stripe-odd-bg: var(--primary-background-color); 756 --table-stripe-even-bg: var(--secondary-background-color); 757 --input-placeholder-color: #6b7280; 758 759 /* --- CMS sidebar nav item (state tidak-aktif/hover/aktif, terpisah dari muted-text-color umum) --- */ 760 --cms-nav-color: var(--muted-text-color); 761 --cms-nav-hover-color: var(--secondary-text-color); 762 --cms-nav-active-color: var(--primary-text-color); 763 764 /* --- History table --- */ 765 --color-tanggal: #c41512; 766 --color-pasaran: #0965ae; 767 --color-debit: #c41512; 768 --color-kredit: #327135; 769 --color-balance: #0965ae; 770 771 /* --- Component backgrounds --- */ 772 --btn-menu-bg: var(--ternary-background-color); 773 --card-bg: var(--ternary-background-color); 774 --avatar-bg: var(--ternary-background-color); 775 --table-header-bg: var(--ternary-background-color); 776 --dropdown-bg: var(--secondary-background-color); 777 --sidebar-bg: var(--secondary-background-color); 778 --input-bg: var(--secondary-background-color); 779 --menu-box-border-color: rgba(212,33,124,0.12); 780 --breadcrumb-color: var(--accent-color); 781 --alert-danger-bg: #ee5f5b; 782 783 /* --- Accent alpha (untuk hover/active) --- */ 784 --accent-bg-subtle: rgba(181,28,106,0.10); 785 --accent-bg-active: rgba(181,28,106,0.12); 786 --accent-border-subtle: rgba(181,28,106,0.32); 787
788 /* --- Skeleton shimmer --- */ 789 --skeleton-color-base: var(--ternary-background-color); 790 --skeleton-color-shine: #d7cbd1; 791 792 /* --- Card togel pasaran (home) --- */ 793 --togel-card-bg: var(--secondary-background-color); 794 --togel-card-number-color: var(--primary-text-color); 795 796 /* --- Splide pagination --- */ 797 --splide-pagination-inactive: #a8b2bd; 798 799 /* --- Border --- */ 800 --border-color: rgba(0,0,0,0.08); 801 --border-subtle-color: rgba(0,0,0,0.04); 802 803 /* --- Font & Radius --- */ 804 --font-body: "Ubuntu", sans-serif; 805 --radius-sm: 6px; 806 --radius-md: 8px; 807 --radius-lg: 10px; 808 --radius-xl: 12px; 809 --radius-pill: 999px; 810 811 /* --- Font sizes --- */ 812 --fs-xs: 10px; 813 --fs-sm: 11px; 814 --fs-md: 12px; 815 --fs-base: 13px; 816 --fs-lg: 14px; 817 --fs-xl: 15px; 818 --fs-2xl: 16px; 819 --fs-3xl: 18px; 820} 821 822/* History table column colors */ 823.history-table .col-tanggal { white-space: nowrap; color: var(--color-tanggal); } 824.history-table .col-pasaran { color: var(--color-pasaran); } 825.history-table .col-betid { font-size: var(--fs-xs); word-break: break-all; color: var(--accent-text-color); } 826.history-table .col-deskripsi { color: var(--primary-text-color); } 827.history-table .col-balance { white-space: nowrap; color: var(--color-balance); } 828</style> <link rel="stylesheet" href="/css/new/layout.min.css?v=1790436337"> 829 <link rel="stylesheet" href="/css/new/logo.css?v=1790436337"> 830 <style>.splide__list{display:flex;margin:0!important;padding:0!important}.splide__track{overflow:hidden;position:relative}</style> 831 832 <link id="css-home-sections" rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436337" media="print" onload="this.media='all'"> 833 834 <link id="css-bootstrap-icons" rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436337" media="print" onload="this.media='all'"> 835 <link id="css-splide" rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436337" media="print" onload="this.media='all'"> 836 <noscript> 837 <link rel="stylesheet" href="/css/new/home-sections.min.css?v=1790436337"> 838 <link rel="stylesheet" href="/css/new/vendor/bootstrap-icons.min.css?v=1790436337"> 839 <link rel="stylesheet" href="/css/new/vendor/splide.min.css?v=1790436337"> 840 <link rel="stylesheet" href="/css/new/game.min.css?v=1790436337"> 841 </noscript> 842 843 <style> 844 @media (max-width: 768px) { 845 .driver-popover { max-width: 220px !important; font-size: 12px !important; padding: 10px 12px !important; } 846 .driver-popover-title { font-size: 13px !important; margin-bottom: 4px !important; } 847 .driver-popover-description { font-size: 12px !important; } 848 } 849 </style> 850 851 <style> 852 a { 853 color: inherit; /* blue colors for links too */ 854 text-decoration: inherit; /* no underline */ 855 } 856 857 .desktop-only { 858 display: block!important; 859 } 860 861 .mobile-only { 862 display: none !important; 863 } 864 865 .btn { 866 height: 30px; 867 border-radius: 3px; 868 } 869 870 .login-field { 871 width: 104px; 872 height: 30px; 873 border-radius: 3px; 874 } 875 876 .login-input-field { 877 margin: 0px; 878 padding: 0px 8px; 879 border-radius: 3px !important; 880 } 881 882 .section>.home-view { 883 padding: 0px; 884 } 885 886 @media only screen and (max-width: 1000px) { 887 888 .desktop-only { 889 display: none!important; 890 } 891 892 .mobile-only { 893 display: block!important; 894 } 895 896 .login-form { 897 padding: 32px 0; 898 margin: 0px 64px; 899 display: flex; 900 flex-direction: column; 901 } 902 903 .login-field, .login-form>button, .btn-promosi { 904 height: 36px; 905 width: 100% !important; 906 border-radius: 8px; 907 overflow: hidden; 908 } 909 910 .login-input-field { 911 border-top-left-radius: 0 !important; 912 border-bottom-left-radius: 0 !important; 913 font-size: 1rem; 914 } 915 916 .section { 917 padding: 0px 8px!important; 918 } 919 } 920 921 .grecaptcha-badge { 922 display: none !important; 923 } 924 </style> 925 926 927</head> 928 <body> 929
929<script src="/js/new/vendor/jquery.min.js?v=1790436337"></script>
929 930
930<script> 931 window.JT_CSRF_TOKEN = 'ff7c1556191f8b407ac259f8f0d1ffa1c425a065d029254012377636972df822'; 932 window.JT_NEED_RECAPTCHA_REGISTER = false; 933 window.JT_NEED_RECAPTCHA_LOGIN = false; 934 window.JT_NEED_RECAPTCHA = false; 935 window.JT_RECAPTCHA_SITE_KEY = '6Leu4cosAAAAABe-B_1-oryumOl99wsUEEFN3z8A'; 936 window.JT_NEED_TURNSTILE_REGISTER = false; 937 window.JT_NEED_TURNSTILE_LOGIN = false; 938 window.JT_NEED_TURNSTILE = false; 939 window.JT_NEED_IFRAME_CAPTCHA = false; 940 window.JT_CAPTCHA_LOGIN_MODE = '1'; 941 window.JT_CAPTCHA_REGISTER_MODE = '1'; 942 943 $.ajaxSetup({ 944 beforeSend: function (xhr, settings) { 945 if (settings.type === 'POST' && !settings.crossDomain) { 946 xhr.setRequestHeader('X-CSRF-Token', window.JT_CSRF_TOKEN || ''); 947 } 948 } 949 }); 950 951 var _recaptchaLoader = null; 952 function jtLoadRecaptcha() { 953 if (!window.JT_NEED_RECAPTCHA) return Promise.resolve(); 954 if (typeof grecaptcha !== 'undefined' && grecaptcha.enterprise) return Promise.resolve(); 955 if (_recaptchaLoader) return _recaptchaLoader; 956 _recaptchaLoader = new Promise(function (resolve, reject) { 957 var s = document.createElement('script'); 958 s.src = 'https://www.google.com/recaptcha/enterprise.js?render=' + encodeURIComponent(window.JT_RECAPTCHA_SITE_KEY); 959 s.async = true; 960 s.onload = function () { resolve(); }; 961 s.onerror = function () { _recaptchaLoader = null; reject(new Error('recaptcha load failed')); }; 962 document.head.appendChild(s); 963 }); 964 return _recaptchaLoader; 965 } 966 967 968 function jtWarmAuthScripts() { 969 if (window.JT_NEED_RECAPTCHA) jtLoadRecaptcha().catch(function () {}); 970 if (window.JT_NEED_TURNSTILE && typeof window.turnst === 'function') { 971 window.turnst('').catch(function () {}); 972 } 973 } 974 975 $(document).on( 976 'focusin', 977 '#desktoplogin input, #mobilelogin input, #formRegister input, #formRegister select, #desktopregister input, #mobileregister input', 978 jtWarmAuthScripts 979 ); 980 $(document).on( 981 'click', 982 '.btn-daftar, [onclick*="register"], a[href*="register"]', 983 jtWarmAuthScripts 984 ); 985 986 function jtNeedRecaptchaRegister($form) { 987 var isRecaptchaRegister = String($form.find('input[name="isrecaptcharegister"]').val() || ''); 988 return window.JT_NEED_RECAPTCHA_REGISTER === true || isRecaptchaRegister === '1'; 989 } 990 991 function jtNeedRecaptchaLogin($form) { 992 var isRecaptchaLogin = String($form.find('input[name="isrecaptchalogin"]').val() || ''); 993 return window.JT_NEED_RECAPTCHA_LOGIN === true || isRecaptchaLogin === '1'; 994 } 995 996 function jtWithRecaptchaToken($form, $status, action, shouldRun, onReady, failCls, onFail, tokenField) { 997 if (!shouldRun) { 998 onReady(); 999 return; 1000 } 1001 var fieldName = tokenField || 'recaptcha_token'; 1002 var warnCls = (failCls === undefined) ? 'alert alert-sm alert-warning' : failCls; 1003 function showFail(msg) { 1004 if (warnCls) { 1005 $status.removeClass().addClass(warnCls).text(msg).fadeIn(1000); 1006 } else { 1007 $status.removeClass().text(msg).fadeIn(1000); 1008 } 1009 if (typeof onFail === 'function') { 1010 onFail(); 1011 } 1012 } 1013 jtLoadRecaptcha().then(function () { 1014 if (typeof grecaptcha === 'undefined' || !grecaptcha.enterprise) { 1015 showFail('Verifikasi gagal dimuat, refresh halaman'); 1016 return; 1017 } 1018 grecaptcha.enterprise.ready(function () { 1019 grecaptcha.enterprise.execute(window.JT_RECAPTCHA_SITE_KEY, { action: action }) 1020 .then(function (token) { 1021 jtSetHidden($form, fieldName, token); 1022 onReady(); 1023 }) 1024 .catch(function () { 1025 showFail('Verifikasi gagal, coba lagi'); 1026 }); 1027 }); 1028 }).catch(function () { 1029 showFail('Verifikasi gagal dimuat, refresh halaman'); 1030 }); 1031 } 1032 1033 function jtWithRecaptchaRegisterToken($form, $status, onReady) { 1034 jtWithRecaptchaToken($form, $status, 'register', jtNeedRecaptchaRegister($form), onReady, undefined, undefined, 'recaptcha_register_token'); 1035 } 1036 1037 function jtWithRecaptchaLoginToken($form, $status, onReady, onF
1037ail) { 1038 jtWithRecaptchaToken($form, $status, 'login', jtNeedRecaptchaLogin($form), onReady, '', onFail, 'recaptcha_login_token'); 1039 } 1040 1041 function jtSetHidden($form, name, value) { 1042 var $el = $form.find('input[name="' + name + '"]'); 1043 if ($el.length === 0) { 1044 $form.append('<input type="hidden" name="' + name + '" value="">'); 1045 $el = $form.find('input[name="' + name + '"]'); 1046 } 1047 $el.val(value); 1048 } 1049 1050 function jtWithTurnstileAction($form, actionName, needFlag, onReady) { 1051 if (!needFlag || typeof window.turnst !== 'function') { 1052 onReady(); 1053 return; 1054 } 1055 window.turnst(actionName).then(function (fpResult) { 1056 jtSetHidden($form, 'fp_event_id', (fpResult && fpResult.eventId) || ''); 1057 jtSetHidden($form, 'fp_visitor_id', (fpResult && fpResult.visitorId) || ''); 1058 onReady(); 1059 }).catch(function () { 1060 jtSetHidden($form, 'fp_event_id', ''); 1061 jtSetHidden($form, 'fp_visitor_id', ''); 1062 onReady(); 1063 }); 1064 } 1065 1066 function jtWithTurnstileRegister($form, onReady) { 1067 jtWithTurnstileAction($form, 'account_create', window.JT_NEED_TURNSTILE_REGISTER, onReady); 1068 } 1069 1070 function jtWithTurnstileLogin($form, onReady) { 1071 jtWithTurnstileAction($form, 'account_login', window.JT_NEED_TURNSTILE_LOGIN, onReady); 1072 } 1073 1074 var _jtIframePending = null; 1075 1076 function jtShowIframeCaptcha(isMobile, onReady, onCancelMsg) { 1077 if (!window.JT_NEED_IFRAME_CAPTCHA) { 1078 onReady(); 1079 return; 1080 } 1081 var modalId = isMobile ? '#captchaModalMobile' : '#captchaModalDesktop'; 1082 var $modal = $(modalId); 1083 if ($modal.length === 0) { 1084 onReady(); 1085 return; 1086 } 1087 _jtIframePending = { 1088 isMobile: !!isMobile, 1089 onReady: onReady, 1090 onCancelMsg: onCancelMsg || null 1091 }; 1092 $modal.css('display', 'flex'); 1093 } 1094 1095 function jtWithIframeCaptchaLogin($form, isMobile, onReady, onCancelMsg) { 1096 var mode = String($form.find('input[name="iscaptchalogin"]').val() || window.JT_CAPTCHA_LOGIN_MODE || '1'); 1097 if (mode !== '2') { 1098 onReady(); 1099 return; 1100 } 1101 jtShowIframeCaptcha(isMobile, function (token, key) { 1102 jtSetHidden($form, 'token', token || ''); 1103 jtSetHidden($form, 'key', key || ''); 1104 onReady(); 1105 }, onCancelMsg); 1106 } 1107 1108 function jtWithIframeCaptchaRegister($form, isMobile, onReady, onCancelMsg) { 1109 var mode = String($form.find('input[name="iscaptcharegister"]').val() || window.JT_CAPTCHA_REGISTER_MODE || '1'); 1110 if (mode !== '2') { 1111 onReady(); 1112 return; 1113 } 1114 jtShowIframeCaptcha(isMobile, function (token, key) { 1115 jtSetHidden($form, 'token', token || ''); 1116 jtSetHidden($form, 'key', key || ''); 1117 onReady(); 1118 }, onCancelMsg); 1119 } 1120 1121 window.addEventListener('message', function (e) { 1122 if (e.origin !== 'https://recaptcha.viva88athenae.com') { 1123 return; 1124 } 1125 if (!_jtIframePending) { 1126 return; 1127 } 1128 var pending = _jtIframePending; 1129 _jtIframePending = null; 1130 1131 var dataCaptcha = e.data || {}; 1132 var $modal = pending.isMobile ? $('#captchaModalMobile') : $('#captchaModalDesktop'); 1133 $modal.css('display', 'none'); 1134 1135 if (dataCaptcha.verified !== true) { 1136 if (typeof pending.onCancelMsg === 'function') { 1137 pending.onCancelMsg('Verifikasi Kosong'); 1138 } 1139 return; 1140 } 1141 1142 if (typeof pending.onReady === 'function') { 1143 pending.onReady(dataCaptcha.token || '', dataCaptcha.key || ''); 1144 } 1145 }); 1146 </script>
1146 1147 1148 1149<style> 1150 .btn-tele { 1151 text-shadow: 1px 1px #000000; 1152 height: 36px!important; 1153 border-radius: 8px; 1154 background: #28323C; 1155 color: white; 1156 } 1157</style> 1158 1159 1160<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasExampleLabel" style="width: 50%; background: var(--primary-background-color); color: var(--primary-text-color); z-index: 99999"> 1161 <div class="offcanvas-header py-3 d-flex justify-content-between"> 1162 <h5 class="offcanvas-title" id="offcanvasExampleLabel" style="color: var(--menu-item-color); font-size: 1.2rem; font-weight: bold">Kontak Kami</h5> 1163 <button type="button" class="text-reset" style="background: transparent; border: none" data-bs-dismiss="offcanvas" aria-label="Close"><i class="bi bi-x" style="color: var(--primary-text-color); font-size: 20px"></i></button> 1164 </div> 1165 <div class="offcanvas-body p-0 px-2"> 1166 <div class="d-flex flex-column w-100 gap-2"> 1167 1168 1169 1170 <a href="https://t.me/ondel4d" target='_blank' class="d-flex p-3 w-100 gap-3 rounded" style="background: var(--menu-box-bg, transparent); border: 1px solid var(--menu-box-border-color, rgba(255, 255, 255, 0.06));"> 1171 <div class="fw-bold"><img src="https://img.viva88athenae.com/kontak/telegram.png" width="18" height="18" alt=""></div> 1172 <div style="color: var(--primary-text-color);">Telegram Official ONDEL4D</div> 1173 </a> 1174 1175 1176 1177 1178 1179 </div> 1180 1181 </div> 1182</div> 1183 1184 1185 <style> 1186 1187 #mySidenav { 1188 position: fixed; 1189 top: 180px; 1190 right: 100px; 1191 z-index: 999; 1192} 1193 1194#mySidenav div#nav:hover { 1195 left: -138px; 1196} 1197 1198#mySidenav div#nav { 1199 position: absolute; 1200 font-size: 20px; 1201 border-radius: 0 5px 5px 0; 1202 left: 36px; 1203 transition: 0.3s; 1204 display: flex; 1205} 1206 1207#kontak-content { 1208 width: 190px; 1209 padding: 5px 10px 8px 10px; 1210 font-size: 15px; 1211 background-color: #FFF; 1212 color: #000; 1213} 1214 1215</style> 1216 1217 <!-- SIDENAV --> 1218 <div id="mySidenav" class="sidenav desktop-only"> 1219 <div id="nav"> 1220 <div style="display: flex; align-items: start;"> 1221 <div style="height: 246px; width: 64px; background: var(--accent-color); border-radius: 8px 0px 0px 8px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;"> 1222 1223 <img src="https://img.viva88athenae.com//new/assets/hubungi.png?2" alt="Hubungi Kami"> 1224 1225 </div> 1226 <!--<img id="about" src="/images/kontak.png?4">--> 1227 </div> 1228 <div class="ptsans" style="font-size: 1rem; background: white; border-radius: 0px 5px 5px 5px; overflow: hidden; width: 160px"> 1229 <div id="" style="padding: 4px"> 1230 <img src="/assets/24h.png" style="width: 100%" alt="Layanan 24 Jam"> 1231 </div> 1232 1233 <div id="kontak-content" style="display: flex; flex-direction: column; width: 100%; font-size: .8rem"> 1234 <div style="display: grid; place-items: center; font-weight: bold; font-size: 1rem">MEMBER SERVICE</div> 1235 1236 1237 1238 <a href="https://t.me/ondel4d" target='_blank' style="padding: 4px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid #e0e0e0"> 1239 <img src="https://img.viva88athenae.com/kontak/telegram.png" width="20" height="20" alt=""><span>Telegram Official ONDEL4D</span> 1240 </a> 1241 1242 1243 1244 1245 1246 </div> 1247 <div style="margin: 8px"> 1248 <a href="/register"><input type="button" value="DAFTAR SEKARANG" style="width: 100%; border-radius: 5px; font-size: .875rem!important; height: 40px; border: none; font-weight: bold; background: black; color: white"></a> 1249 </div> 1250 </div> 1251 </div> 1252 </div> 1253 1254 1255 1256 1257 <div class="d-none d-md-block px-2"> 1258 1259 1260 <div class="section desktop-topbar d-flex align-items-center justify-content-between"> 1261 <div class="d-flex align-items-center gap-4"> 1262 1263 </div> 1264 1265 1266 <!-- Desktop Login Start --> 1267 1268 <style> 1269 1270 .login-form { 1271 display: flex; 1272 align-items: center; 1273 justify-content: end; 1274 gap: 4px; 1275 } 1276 1277 .btn-masuk { 1278 background: linear-gradient(#f17a77, #ee5f5b 60%, #ec4d49) !important; 1279 color: white; 1280 } 1281 1282 .btn-daftar { 1283 background: linear-gradient(#74cae3, #5bc0de 60%, #4ab9db); !important; 1284 color: white; 1285 } 1286 1287 .btn-google { 1288 width: 30px; 1289 height: 30px; 1290 background: #fff; 1291 border: 1px solid #ddd; 1292 border-radius: 3px; 1293 display: inline-flex; 1294 align-items: center; 1295 justify-content: center; 1296 } 1297 1298 .btn-google:hover { 1299 background: #f5f5f5; 1300 } 1301 1302 .btn-google-mobile { 1303 background: #fff; 1304 color: #3c4043; 1305 border: 1px solid #dadce0; 1306 border-radius: 3px; 1307 height: 36px; 1308 padding: 0 12px; 1309 font-weight: 600; 1310 font-size: 1.2rem; 1311 display: flex; 1312 align-items: center; 1313 justify-content: center; 1314 gap: 8px; 1315 } 1316 1317 .btn-google-mobile:hover { 1318 background: #f8f9fa; 1319 color: #202124; 1320 } 1321 1322 </style> 1323 1324 <div class="d-flex align-items-center gap-2"> 1325 <div id="desktoplogin" class="desktop-only"> 1326 <form class="login-form form" role="form"> 1327 <div id="msgbox" style="margin-right: 8px; color: #b29459; font-size: 1rem; white-space:nowrap;"></div> 1328 <div class="input-group login-field">
1329 <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span> 1330 <input type="text" name="username" class="form-control login-input-field username" placeholder="Nama Akun" aria-label="Username"> 1331 </div> 1332 1333 1334 1335 <div class="input-group login-field"> 1336 <span class="input-group-text mobile-only prepend"><div class="h-100 center"><i class="bi bi-shield-lock-fill prepend-icon"></i></div></span> 1337 <input type="password" name="password" class="form-control login-input-field password" placeholder="Kata Sandi" aria-label="Password"> 1338 </div> 1339 1340 <!-- captcha --> 1341 1342 <div class="verifikasiform" style=""> 1343 <div style="display: flex; gap: 2px;"> 1344 <span id="verifikasi"><img src="/capimg.php" width="40" height="30" style="border:1px #999 solid;" alt="Kode verifikasi"></span> 1345 <input type="text" class="form-control login-field" name="verifikasi" id="verform" style="width:40px;height: 30px !important" autocomplete="off" aria-label="Kode verifikasi"> 1346 </div> 1347 1348 </div> 1349 <input type="hidden" name="verif" id="verifval" class="verifval" value="1"> 1350 1351 <!-- end captcha --> 1352 1353 1354 <!--<button value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>--> 1355 <button type="button" class="btn btn-masuk fw-bold p-0 px-2 submit d-flex justify-content-center align-items-center">Masuk</button> 1356 <button type="button" class="btn btn-daftar btn-daftar-desktop fw-bold p-0 px-2 desktop-only" onclick="openRegister('desktop')">Daftar</button> 1357 1358 <input type="hidden" name="task" value="login"> 1359 <input type="hidden" name="iscaptchalogin" value="1"> 1360 <input type="hidden" name="isrecaptchalogin" value="0"> 1361 <input type="hidden" name="recaptcha_login_token" value=""> 1362 <input type="hidden" name="fp_event_id" value=""> 1363 <input type="hidden" name="fp_visitor_id" value=""> 1364 <input type="hidden" name="logindesktop" value="++xallHkXxsruE8sljIIM8eJRvgRmYEi8zhEvgVzcjY="> 1365 </form> 1366 1367 1368
1368<script> 1369 function jtRandomString(length) { 1370 var result = ''; 1371 var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; 1372 1373 for (var i = 0; i < length; i++) { 1374 result += characters.charAt(Math.floor(Math.random() * characters.length)); 1375 } 1376 1377 return result; 1378 } 1379 1380 function jtGetCaptchaHtml(captchaPath, captchaStyle) { 1381 var r = Math.floor(Math.random() * 10000); 1382 return '<img src="' + captchaPath + '?' + r + '" ' + captchaStyle + ' alt="Kode verifikasi">'; 1383 } 1384 1385 function jtHandleLoginResponse(res, $root, verHtml) { 1386 var $msg = $root.find('#msgbox'); 1387 1388 var code = res && res.error && res.error.code; 1389 var msg = res && res.error && res.error.message; 1390 var data = (res && res.data) || {}; 1391 1392 if (code === 200 && msg === 'success') { 1393 toast('Login berhasil', 200); 1394 $msg.removeClass().text('Logging in').fadeTo(900, 1, function() { 1395 window.location = '/home'; 1396 }); 1397 return; 1398 } 1399 1400 if (code === 429 || msg === 'ratelimit') { 1401 $msg.removeClass().text('Terlalu banyak percobaan.').fadeIn(1000); 1402 } else if (msg === 'wrong') { 1403 $msg.removeClass().text('Salah Password').fadeIn(1000); 1404 $root.find('#verifikasi').html(verHtml); 1405 } else if (msg === 'banned') { 1406 $msg.removeClass().text('User di Banned').fadeIn(1000); 1407 $root.find('#verifikasi').html(verHtml); 1408 } else if (msg === 'empty') { 1409 $msg.removeClass().text('Silakan diisi').fadeIn(1000); 1410 } else if (msg === 'capempty') { 1411 $msg.removeClass().text('Verifikasi Kosong').fadeIn(1000); 1412 $root.find('#verifikasi').html(verHtml); 1413 } else if (msg === 'caperror') { 1414 $msg.removeClass().text('Verifikasi Salah').fadeIn(1000); 1415 $root.find('#verifikasi').html(verHtml); 1416 } else if (msg === 'recaperror') { 1417 $msg.removeClass().text('Recaptcha salah, coba lagi').fadeIn(1000); 1418 } else if (msg === 'iperror') { 1419 $msg.removeClass().text('IP Tidak Sesuai').fadeIn(1000); 1420 $root.find('#verifikasi').html(verHtml); 1421 } else if (msg === 'capexp') { 1422 $msg.removeClass().text('Captcha Expired').fadeIn(1000); 1423 $root.find('#verifikasi').html(verHtml); 1424 } else if (msg === 'cap') { 1425 $msg.removeClass().text('Isi Verifikasi').fadeIn(1000); 1426 $root.find('#verifikasi').html(verHtml); 1427 $root.find('.verifikasiform, #mverifikasiform').show(); 1428 $root.find('.verifval').val('1'); 1429 } else if (msg === 'turnnoevent') { 1430 window.location.reload(); 1431 } else if (msg === 'turnblock') { 1432 $msg.removeClass().text('Insecure Device').fadeIn(1000); 1433 } else { 1434 $msg.removeClass().text('Login gagal, coba lagi').fadeIn(1000); 1435 $root.find('#verifikasi').html(verHtml); 1436 } 1437 } 1438 1439 function jtSubmitLogin(rootSel, captchaPath, captchaStyle) { 1440 var $root = $(rootSel); 1441 var $form = $root.find('form.form'); 1442 1443 if ($form.length === 0) { 1444 $form = $root.find('.form'); 1445 } 1446 1447 if ($form.length === 0) { 1448 console.error('Login form not found:', rootSel); 1449 return false;
1450 } 1451 1452 var $submitBtn = $root.find('.submit'); 1453 var $msg = $root.find('#msgbox'); 1454 var verHtml = jtGetCaptchaHtml(captchaPath, captchaStyle); 1455 var isMobile = (rootSel.indexOf('mobile') !== -1); 1456 1457 $msg.removeClass().text('Validating').fadeIn(1000); 1458 1459 $submitBtn.prop('disabled', true).addClass('disabled'); 1460 1461 function unlockSubmit() { 1462 $submitBtn.prop('disabled', false).removeClass('disabled'); 1463 } 1464 1465 function doLoginPost() { 1466 $.ajax({ 1467 url: '/api/front/login', 1468 type: 'POST', 1469 data: $form.serialize(), 1470 dataType: 'json', 1471 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 1472 success: function(data) { 1473 jtHandleLoginResponse(data, $root, verHtml); 1474 } 1475 }) 1476 .fail(function() { 1477 $msg.removeClass().text('Koneksi gagal').fadeIn(1000); 1478 $root.find('#verifikasi').html(verHtml); 1479 }) 1480 .always(unlockSubmit); 1481 } 1482 1483 function afterTurnstile() { 1484 if (typeof jtWithRecaptchaLoginToken === 'function') { 1485 jtWithRecaptchaLoginToken($form, $msg, doLoginPost, unlockSubmit); 1486 } else { 1487 doLoginPost(); 1488 } 1489 } 1490 1491 function afterIframe() { 1492 if (typeof jtWithTurnstileLogin === 'function') { 1493 jtWithTurnstileLogin($form, afterTurnstile); 1494 } else { 1495 afterTurnstile(); 1496 } 1497 } 1498 1499 if (typeof jtWithIframeCaptchaLogin === 'function') { 1500 jtWithIframeCaptchaLogin($form, isMobile, afterIframe, function (msgText) { 1501 $msg.removeClass().text(msgText || 'Verifikasi Kosong').fadeIn(1000); 1502 unlockSubmit(); 1503 }); 1504 } else { 1505 afterIframe(); 1506 } 1507 1508 return false; 1509 } 1510 1511 // Login desktop 1512 $(document).on('click', '#desktoplogin .submit', function(e) { 1513 e.preventDefault(); 1514 1515 jtSubmitLogin( 1516 '#desktoplogin', 1517 '/capimg.php', 1518 'width="40" height="30" style="border:1px #999 solid;"' 1519 ); 1520 1521 return false;
1522 }); 1523 1524 // Login mobile 1525 $(document).on('click', '#mobilelogin .submit', function(e) { 1526 e.preventDefault(); 1527 1528 jtSubmitLogin( 1529 '#mobilelogin', 1530 '/mcapimg.php', 1531 'width="600" height="88" style="width:100%;height:auto;border-radius:5px;"' 1532 ); 1533 1534 return false; 1535 }); 1536 1537 // Tekan Enter utk login 1538 $(document).on('keypress', '#desktoplogin input, #mobilelogin input', function(e) { 1539 if (e.which === 13) { 1540 e.preventDefault(); 1541 1542 var $root = $(this).closest('#desktoplogin, #mobilelogin'); 1543 1544 if ($root.attr('id') === 'desktoplogin') { 1545 $('#desktoplogin .submit').trigger('click'); 1546 } else { 1547 $('#mobilelogin .submit').trigger('click'); 1548 } 1549 1550 return false; 1551 } 1552 }); 1553 1554 function jtEnsureDriver(done) { 1555 if (window.driver && window.driver.js) { 1556 done(); 1557 return; 1558 } 1559 if (window._jtDriverLoading) { 1560 window._jtDriverLoading.push(done); 1561 return; 1562 } 1563 window._jtDriverLoading = [done]; 1564 1565 var link = document.createElement('link'); 1566 link.rel = 'stylesheet'; 1567 link.href = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.css'; 1568 link.integrity = 'sha384-eyrYgcjChmzD338JTHFZssgJHOqqOZbajet8yZpCw8ESroLDi28BarMEKCImNGHC'; 1569 link.crossOrigin = 'anonymous'; 1570 document.head.appendChild(link); 1571 1572 var s = document.createElement('script'); 1573 s.src = 'https://cdn.jsdelivr.net/npm/[email protected]/dist/driver.js.iife.js'; 1574 s.integrity = 'sha384-BhR06AMz62Xn0o53z8itVS1vw4JslNckRFgOTa6/Dob0Agdmbbh8Dr9sDO2h18TO'; 1575 s.crossOrigin = 'anonymous'; 1576 s.onload = function () { 1577 var q = window._jtDriverLoading || []; 1578 window._jtDriverLoading = null; 1579 q.forEach(function (fn) { 1580 try { fn(); } catch (e) {} 1581 }); 1582 }; 1583 s.onerror = function () { 1584 window._jtDriverLoading = null; 1585 }; 1586 document.head.appendChild(s); 1587 } 1588 1589 function scrollToLoginForm() { 1590 if (typeof jtWarmAuthScripts === 'function') jtWarmAuthScripts(); 1591 var isDesktop = window.innerWidth >= 992; 1592 var formEl = document.getElementById(isDesktop ? 'desktoplogin' : 'mobilelogin'); 1593 1594 if (!formEl) { 1595 return; 1596 } 1597 1598 formEl.scrollIntoView({ 1599 behavior: 'smooth', 1600 block: 'center' 1601 }); 1602 1603 setTimeout(function() { 1604 var inp = formEl.querySelector('input[type="text"], input[name="username"], input[name="BOX_username"]'); 1605 1606 if (inp) { 1607 inp.focus(); 1608 } 1609 1610 if (!inp) { 1611 return; 1612 } 1613 1614 jtEnsureDriver(function () { 1615 if (!window.driver || !window.driver.js) { 1616 return; 1617 } 1618 1619 var driver = window.driver.js.driver({ 1620 popoverClass: 'driverjs-theme', 1621 showProgress: false, 1622 showButtons: [], 1623 overlayOpacity: 0.3, 1624 steps: [ 1625 { 1626 element: inp, 1627 popover: { 1628 title: 'Harap Login', 1629 description: 'Silakan masukkan username Anda', 1630 side: 'bottom', 1631 align: 'start', 1632 showButtons: [], 1633 nextBtnText: '', 1634 prevBtnText: '', 1635 doneBtnText: '' 1636 } 1637 } 1638 ], 1639 onDestroyStarted: () => driver.destroy(), 1640 }); 1641 driver.drive(); 1642 1643 var destroyDriver = function() { 1644 driver.destroy(); 1645 inp.removeEventListener('input', destroyDriver); 1646 inp.removeEventListener('click', destroyDriver); 1647 inp.removeEventListener('focus', destroyDriver); 1648 }; 1649 inp.addEventListener('input', destroyDriver, { once: true }); 1650 inp.addEventListener('click', destroyDriver, { once: true }); 1651 inp.addEventListener('focus', destroyDriver, { once: true }); 1652 }); 1653 }, 400); 1654 } 1655 1656 window.JT_LOGGED_IN = false;
1657 1658 if (sessionStorage.getItem('jt_pending_action')) { 1659 $(document).ready(function() { 1660 scrollToLoginForm(); 1661 }); 1662 } 1663 </script>
1663 1664 1665 </div> 1666 1667 1668 <!--<a href="/event">--> 1669 <!-- <img src="https://img.viva88athenae.com//btnevent.png" alt="EVENT" height="24px"/>--> 1670 <!--</a>--> 1671 </div> 1672 1673 <!-- Desktop Login End --> 1674 </div> 1675 1676 <div class="desktop-topbar-line"></div> 1677 1678 1679 1680 1681 <div class="desktop-topbar-line d-flex align-items-center justify-content-between" style="margin-left:-2.0rem;margin-right:-2.0rem"></div> 1682 1683 <nav class="section desktop-mainnav d-flex align-items-center"> 1684 <!-- <a class="navbar-brand me-2 flex-shrink-0 navbar-brand-guest" href="/home" onclick="content('/home.php','#content',this); return false;"> --> 1685 <a class="navbar-brand me-2 flex-shrink-0" href="/home" onclick="openPage('home'); return false;"> 1686 <img src="/images/logo.png?v=1790436337" alt="Logo" class="logo"> 1687 </a> 1688 <div class="d-flex align-items-stretch h-100 ms-auto" style="overflow-x:auto;scrollbar-width:none;"> 1689 <a href="/home" 1690 onclick="openPage('home',this); return false;" class="desktop-nav-link" 1691 data-nav="home"> 1692 <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436337" alt=""> 1693 <span>Home</span> 1694 </a> 1695 <a href="/togel" 1696 onclick="window.JT_LOGGED_IN ? content('/togel.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'togel'})), scrollToLoginForm()); return false;" class="desktop-nav-link" 1697 data-nav="togel"> 1698 <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436337" alt=""> 1699 <span>Togel</span> 1700 </a> 1701 <a href="/slot" 1702 onclick="showProviders('slot',this); return false;" class="desktop-nav-link" 1703 data-nav="slot"> 1704 <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436337" alt=""> 1705 <span>Slot</span> 1706 </a> 1707 <a href="/casino" 1708 onclick="showProviders('casino',this); return false;" class="desktop-nav-link" 1709 data-nav="casino"> 1710 <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436337" alt=""> 1711 <span>Casino</span> 1712 </a> 1713 <a href="/sport" 1714 onclick="openPage('sport',this); return false;" class="desktop-nav-link" 1715 data-nav="sport"> 1716 <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436337" alt=""> 1717 <span>Sport</span> 1718 </a> 1719 <a href="/sabung" 1720 onclick="openPage('sabung',this); return false;" class="desktop-nav-link" 1721 data-nav="sabung"> 1722 <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436337" alt="">
1723 <span>Sabung</span> 1724 </a> 1725 <a href="/arcade" 1726 onclick="showProviders('arcade',this); return false;" class="desktop-nav-link" 1727 data-nav="arcade"> 1728 <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436337" alt=""> 1729 <span>Arcade</span> 1730 </a> 1731 <a href="/interactive" 1732 onclick="showProviders('interactive',this); return false;" class="desktop-nav-link" 1733 data-nav="interactive"> 1734 <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436337" alt=""> 1735 <span>Interactive</span> 1736 </a> 1737 <a href="/kupon" 1738 onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm()); return false;" class="desktop-nav-link" 1739 data-nav="kupon"> 1740 <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436337" alt=""> 1741 <span>Kupon</span> 1742 </a> 1743 <a href="/promosi" 1744 onclick="openPage('promosi',this); return false;" class="desktop-nav-link" 1745 data-nav="promosi"> 1746 <img src="https://img.viva88athenae.com/new/menu-promo.png?v=1790436337" alt=""> 1747 <span>Promosi</span> 1748 </a> 1749 <a href="/event" 1750 onclick="openPage('event',this); return false;" class="desktop-nav-link" 1751 data-nav="event"> 1752 <img src="https://img.viva88athenae.com/new/menu-event.png?v=1790436337" alt=""> 1753 <span>Event</span> 1754 </a> 1755 </div> 1756 </nav> 1757 1758 </div> 1759 <!-- WHEEL --> 1760 <!-- WHEEL --> 1761 1762 1763 1764 <nav class="navbar px-3 d-md-none" style="z-index: 1046"> 1765 <div class="w-100 d-flex justify-content-between align-items-center ps-3"> 1766 <a class="navbar-brand" href="/home" onclick="content('/home.php','#content',this); return false;"> 1767 <img src="/images/logo.png?v=1790436337" alt="Logo" class="logo"> 1768 </a> 1769 <div class="d-flex align-items-center gap-2 pe-2"> 1770 <button class="btn btn-transparent py-0 px-2" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight" aria-label="Menu kontak"> 1771 <i class="bi bi-person-lines-fill" style="font-size: 20px; color: var(--primary-text-color)" aria-hidden="true"></i> 1772 </button> 1773 </div> 1774 </div> 1775 </div> 1776 </nav> 1777 1778 1779 1780 1781 1782 1783<style> 1784 1785 .banner { 1786 aspect-ratio: 1920 / 380; 1787 width: 100%; 1788 object-fit: cover; 1789 background: black 1790 } 1791 1792 @media only screen and (max-width: 1000px) { 1793 1794 .banner { 1795 aspect-ratio: 600 / 300; 1796 } 1797 1798 } 1799 1800</style> 1801 1802<div class="carousel slide" id="banner-carousel" data-bs-ride="carousel"> 1803 <div class="carousel-indicators"> 1804 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button> 1805 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="1" aria-label="Slide 2"></button> 1806 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="2" aria-label="Slide 3"></button> 1807 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="3" aria-label="Slide 4"></button> 1808 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="4" aria-label="Slide 5"></button> 1809 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="5" aria-label="Slide 6"></button> 1810 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="6" aria-label="Slide 7"></button> 1811 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="7" aria-label="Slide 8"></button> 1812 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="8" aria-label="Slide 9"></button> 1813 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="9" aria-label="Slide 10"></button> 1814 <button type="button" data-bs-target="#banner-carousel" data-bs-slide-to="10" aria-label="Slide 11"></button> 1815 </div> 1816 <div class="carousel-inner" style="height: 100%"> 1817 <div class="carousel-item active" style="height: 100%"> 1818 1819 <a > 1820 1821 <img 1822 src="/images/upload-Slides-20261007113920.jpg" 1823 class="d-block w-100 banner" 1824 alt="" 1825 fetchpriority="high" > 1826 1827 </a> 1828 1829 </div> 1830 <div class="carousel-item " style="height: 100%"> 1831 1832 <a > 1833 1834 <img 1835 src="/images/upload-Slides-20261007113929.jpg" 1836 class="d-block w-100 banner" 1837 alt="" 1838 > 1839 1840 </a> 1841 1842 </div> 1843 <div class="carousel-item " style="height: 100%"> 1844 1845 <a > 1846 1847 <img 1848 src="/images/upload-Slides-20261007113937.jpg" 1849 class="d-block w-100 banner" 1850 alt="" 1851 > 1852 1853 </a> 1854 1855 </div> 1856 <div class="carousel-item " style="height: 100%"> 1857 1858 <a > 1859 1860 <img 1861 src="/images/upload-Slides-20261007114000.jpg" 1862 class="d-block w-100 banner" 1863 alt="" 1864 > 1865 1866 </a> 1867 1868 </div> 1869 <div class="carousel-item " style="height: 100%"> 1870 1871 <a > 1872 1873 <img 1874 src="/images/upload-Slides-20261007114014.jpg" 1875 class="d-block w-100 banner" 1876 alt="" 1877 > 1878 1879 </a> 1880 1881 </div> 1882 <div class="carousel-item " style="height: 100%"> 1883 1884 <a > 1885 1886 <img 1887 src="/images/upload-Slides-20231225133913.jpg" 1888 class="d-block w-100 banner" 1889 alt="" 1890 > 1891 1892 </a> 1893 1894 </div> 1895 <div class="carousel-item " style="height: 100%"> 1896 1897 <a > 1898 1899 <img 1900 src="/images/upload-Slides-20231225133931.jpg" 1901 class="d-block w-100 banner" 1902 alt="" 1903 > 1904 1905 </a> 1906 1907 </div> 1908 <div class="carousel-item " style="height: 100%"> 1909 1910 <a > 1911 1912 <img 1913 src="/images/upload-Slides-20231225133949.jpg" 1914 class="d-block w-100 banner" 1915 alt="" 1916 > 1917 1918 </a> 1919 1920 </div> 1921 <div class="carousel-item " style="height: 100%"> 1922 1923 <a > 1924 1925 <img 1926 src="/images/upload-Slides-20231225134005.jpg" 1927 class="d-block w-100 banner" 1928 alt="" 1929 > 1930 1931 </a> 1932 1933 </div> 1934 <div class="carousel-item " style="height: 100%"> 1935 1936 <a > 1937 1938 <img 1939 src="https://img.viva88athenae.com/banner/mgl-25.jpg" 1940 class="d-block w-100 banner" 1941 alt="" 1942 > 1943 1944 </a> 1945 1946 </div> 1947 <div class="carousel-item " style="height: 100%"> 1948 1949 <a > 1950 1951 <img 1952 src="https://img.viva88athenae.com/banner/slider-fgs.jpg" 1953 class="d-block w-100 banner" 1954 alt="" 1955 > 1956 1957 </a> 1958 1959 </div> 1960 </div> 1961</div> 1962 1963 <div class="section marquee-bar"> 1964 <div class="marquee-date ps-2">
1965 <span id="datetime"></span> 1966 <i class="bi bi-volume-up-fill ms-1 secondary-text-color"></i> 1967 </div> 1968 <div class="marquee-text"> 1969 <div class="marquee-runner" id="marqueeRunner"> 1970 <span>Selamat Datang di Situs ONDEL4D! Link Alternatif ONDEL4D : ondel4dbruno.com | ondel4dshock.com | ondel4dkuzan.com</span> 1971 </div> 1972 </div> 1973 </div> 1974 1975 <div class="p-2"> 1976 <div class="d-md-none"> 1977 <div id="lobbyMenuWrap" class="splide pb-4 mt-2"> 1978 <div class="splide__track"> 1979 <ul class="splide__list"> 1980 <li class="splide__slide"> 1981 <a href="/home" 1982 onclick="openPage('home',this); return false;" 1983 class="lobby-menu" 1984 data-nav="home"> 1985 <img src="https://img.viva88athenae.com/new/menu-home.png?v=1790436337" alt=""> 1986 <small>Home</small> 1987 </a> 1988 </li> 1989 <li class="splide__slide"> 1990 <a href="/togel" 1991 onclick="window.JT_LOGGED_IN ? content('/togel.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'togel'})), scrollToLoginForm()); return false;" 1992 class="lobby-menu" 1993 data-nav="togel"> 1994 <img src="https://img.viva88athenae.com/new/menu-togel.png?v=1790436337" alt=""> 1995 <small>Togel</small> 1996 </a> 1997 </li> 1998 <li class="splide__slide"> 1999 <a href="/kupon" 2000 onclick="window.JT_LOGGED_IN ? content('/kupon.php','#content',this) : (sessionStorage.setItem('jt_pending_action', JSON.stringify({type:'kupon'})), scrollToLoginForm()); return false;" 2001 class="lobby-menu" 2002 data-nav="kupon"> 2003 <img src="https://img.viva88athenae.com/new/menu-kupon.png?v=1790436337" alt=""> 2004 <small>Kupon</small> 2005 </a> 2006 </li> 2007 <li class="splide__slide"> 2008 <a href="/slot" 2009 onclick="showProviders('slot',this); return false;" 2010 class="lobby-menu" 2011 data-nav="slot"> 2012 <img src="https://img.viva88athenae.com/new/menu-slot.png?v=1790436337" alt=""> 2013 <small>Slot</small> 2014 </a> 2015 </li> 2016 <li class="splide__slide"> 2017 <a href="/casino" 2018 onclick="showProviders('casino',this); return false;" 2019 class="lobby-menu" 2020 data-nav="casino"> 2021 <img src="https://img.viva88athenae.com/new/menu-casino.png?v=1790436337" alt=""> 2022 <small>Casino</small> 2023 </a> 2024 </li> 2025 <li class="splide__slide"> 2026 <a href="/sport" 2027 onclick="openPage('sport',this); return false;" 2028 class="lobby-menu" 2029 data-nav="sport"> 2030 <img src="https://img.viva88athenae.com/new/menu-sport.png?v=1790436337" alt=""> 2031 <small>Sport</small> 2032 </a> 2033 </li> 2034 <li class="splide__slide"> 2035 <a href="/sabung" 2036 onclick="openPage('sabung',this); return false;" 2037 class="lobby-menu" 2038 data-nav="sabung"> 2039 <img src="https://img.viva88athenae.com/new/menu-sabung.png?v=1790436337" alt=""> 2040 <small>Sabung</small> 2041 </a> 2042 </li> 2043 <li class="splide__slide"> 2044 <a href="/arcade" 2045 onclick="showProviders('arcade',this); return false;" 2046 class="lobby-menu" 2047 data-nav="arcade"> 2048 <img src="https://img.viva88athenae.com/new/menu-arcade.png?v=1790436337" alt=""> 2049 <small>Arcade</small> 2050 </a> 2051 </li> 2052 <li class="splide__slide"> 2053 <a href="/interactive" 2054 onclick="showProviders('interactive',this); return false;" 2055 class="lobby-menu" 2056 data-nav="interactive"> 2057 <img src="https://img.viva88athenae.com/new/menu-interactive.png?v=1790436337" alt=""> 2058 <small>Interactive</small> 2059 </a> 2060 </li> 2061 </ul> 2062 </div> 2063 </div> 2064 </div> 2065 2066
2066<script> 2067 document.addEventListener('DOMContentLoaded', function () { 2068 var lobbyEl = document.getElementById('lobbyMenuWrap'); 2069 if (lobbyEl && !lobbyEl.classList.contains('is-initialized')) { 2070 var mountLobby = function () { 2071 if (!lobbyEl || typeof Splide === 'undefined' || lobbyEl.classList.contains('is-initialized')) return; 2072 new Splide('#lobbyMenuWrap', { 2073 type: 'slide', perPage: 5, perMove: 5, 2074 gap: '8px', pagination: true, arrows: false, drag: true, 2075 }).mount(); 2076 }; 2077 if (typeof ensureSplide === 'function') { 2078 ensureSplide().then(mountLobby).catch(function () {}); 2079 } else { 2080 mountLobby(); 2081 } 2082 } 2083 2084 if (typeof initUserareaShell === 'function') { 2085 initUserareaShell(); 2086 } else if (typeof initGuestShell === 'function') { 2087 initGuestShell(); 2088 } else if (typeof content === 'function') { 2089 var isDesktop = window.innerWidth >= 768; 2090 var homeMenu = isDesktop 2091 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 2092 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]'); 2093 content('/home.php', '#content', homeMenu); 2094 } 2095 }); 2096 </script>
2096 2097 </div> 2098 2099 2100 <!-- Mobile Login Start --> 2101 2102 <div id="mobilelogin" class="d-block d-lg-none mb-3"> 2103 <form class="login-form form d-flex flex-column gap-2 align-items-center" style="padding: 0px; padding-top: 16px" role="form"> 2104 <div id="msgbox" style="font-size: 1rem; width: 100%"></div> 2105 <div class="input-group login-field"> 2106 <span class="input-group-text prepend mobile-only "><div class="h-100 center"><i class="bi bi-person-circle prepend-icon"></i></div></span> 2107 <input type="text" name="username" class="form-control login-input-field username" placeholder="Username" aria-label="Username"> 2108 </div> 2109 <div class="input-group login-field"> 2110 <span class="input-group-text mobile-only prepend"><div class="h-100 center"><i class="bi bi-shield-lock-fill prepend-icon"></i></div></span> 2111 <input type="password" name="password" class="form-control login-input-field password" placeholder="Password" aria-label="Password"> 2112 </div> 2113 2114 <!-- captcha --> 2115 2116 <div id="mverifikasiform" class="w-100" style=""> 2117 2118 <span id="verifikasi"><img src="/mcapimg.php" width="600" height="88" style="width:100%;height:auto;border-radius: 5px;" alt="Kode verifikasi"></span> 2119 <div class="input-group login-field mt-1"> 2120 <span class="input-group-text mobile-only prepend"><div class="h-100 center"><i class="bi bi-person-fill-check prepend-icon"></i></div></span> 2121 <input type="text" class="form-control login-input-field" name="verifikasi" id="mverform" autocomplete="off" placeholder="Verifikasi"> 2122 </div> 2123 </div> 2124 2125 <input type="hidden" name="verif" id="verifval" class="verifval" value="1"> 2126 2127 <!-- end captcha --> 2128 2129 <label style="font-size:12px;display:flex;align-items:center;margin-top:2px;margin-bottom:4px;cursor:pointer;"> 2130 <input class="login-field" type="checkbox" id="rememberMe" name="remember" style="margin-right:4px;width:12px;height:12px;cursor:pointer;"> <span style="white-space: nowrap;">Remember Me</span> 2131 </label> 2132 2133 <!--<button type="submit" value="Masuk" class="btn btn-masuk fw-bold p-0 px-2 submit">Masuk</button>--> 2134 <button type="button" class="btn btn-masuk fw-bold p-0 px-2 submit w-100 d-flex justify-content-center align-items-center" style="height: 36px; border-radius: 8px">Masuk</button> 2135 <button type="button" class="btn btn-daftar btn-info btn-daftar-mobile fw-bold p-0 px-2 mobile-only" onclick="openDaftarMobile()">Daftar Sekarang</button> 2136 2137 2138 <button type="button" class="btn btn-tele fw-bold p-0 px-2 mobile-only" onclick="window.open('https://telegram.me/ondel4dd_bot', '_blank')"><i class="bi bi-telegram me-2" style="color: #0088cc"></i>Main di Telegram</button> 2139 2140 2141 <input type="hidden" name="task" value="login"> 2142 <input type="hidden" name="iscaptchalogin" value="1"> 2143 <input type="hidden" name="isrecaptchalogin" value="0"> 2144 <input type="hidden" name="recaptcha_login_token" value=""> 2145 <input type="hidden" name="fp_event_id" value=""> 2146 <input type="hidden" name="fp_visitor_id" value=""> 2147 <input type="hidden" name="loginmobile" value="DzXTrNjavKQ4o2iIC925HBtf2D7Nmpmjl1COVBHexeE="> 2148 </form> 2149 2150 2151 <a href="/wap" class="mt-4" style="display: grid; place-items: center; font-size: 1rem; cursor: pointer; color: var(--menu-item-color)">WAP</a> 2152 2153 </div> 2154 2155 <!-- Mobile Login End --> 2156 2157
2157<script> 2158 function openDaftar() { 2159 if (typeof openRegister === 'function') { 2160 openRegister('desktop'); 2161 } else { 2162 window.location.href = '/register'; 2163 } 2164 } 2165 2166 function openDaftarMobile() { 2167 if (typeof openRegister === 'function') { 2168 openRegister('mobile'); 2169 $("#content").get(0).scrollIntoView({behavior: 'smooth'}); 2170 } else { 2171 window.location.href = '/register'; 2172 } 2173 } 2174 2175 2176 </script>
2176 2177 2178 2179 <div class="modal fade" id="modal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> 2180 <div class="modal-dialog modal-dialog-centered modal-lg modal-fullscreen-sm-down"> 2181 <div id="modal-content" class="modal-content rounded-0 primary-background-color"> 2182 </div> 2183 </div> 2184 </div> 2185 2186 <div id="content" class="section p-2" style="position:relative;min-height:60vh;"></div> 2187 2188 2189<!-- Transaksi Start --> 2190 2191 2192 2193<style> 2194 2195 .transaksi-group { 2196 display: grid; 2197 grid-template-columns: 458px 1fr; 2198 justify-content: space-between; 2199 grid-template-areas: 2200 "transaksi-bank transaksi-other transaksi-crypto"; 2201 } 2202 2203 .transaksi-bank { 2204 grid-area: transaksi-bank; 2205 display: grid; 2206 place-items: center 2207 } 2208 2209 .transaksi-other { 2210 grid-area: transaksi-other; 2211 display: flex; 2212 justify-content: space-evenly; 2213 width: 100%; 2214 } 2215 2216 .transaksi-crypto { 2217 grid-area: transaksi-crypto; 2218 display: flex; 2219 justify-content: space-evenly; 2220 width: 100%; 2221 } 2222 2223 .icon-crypto { 2224 width: 24px; 2225 height: 24px; 2226 } 2227 2228 .transaksi-list-bank { 2229 height: fit-content; 2230 display: grid; 2231 grid-template-columns: repeat(4, 92px); 2232 grid-template-rows: repeat(4, auto); 2233 gap: 4px; 2234 } 2235 2236 .transaksi-list-other { 2237 height: fit-content; 2238 display: grid; 2239 grid-template-columns: repeat(3, 92px); 2240 gap: 4px; 2241 } 2242 2243 .transaksi-list-crypto { 2244 height: fit-content; 2245 display: grid; 2246 grid-template-columns: repeat(2, 80px); 2247 gap: 10px 8px; 2248 } 2249 2250 2251 .transaksi-item { 2252 display: flex; 2253 flex-direction: column; 2254 /* transform: perspective(10px) rotateX(3deg); */ 2255 } 2256 2257 .transaksi-header { 2258 2259 height: 30px; 2260 border-radius: 5px; 2261 display: grid; 2262 place-items: center; 2263 font-weight: bold; 2264 border: 2px solid rgba(108,108,108,1); 2265 background: rgba(54,54,54,1); 2266 color: white; 2267 } 2268 2269 .transaksi-status { 2270 margin-left: 3px; 2271 margin-right: 3px; 2272 height: 3px; 2273 border-radius: 0px 0px 4px 4px; 2274 background: rgb(54,54,54); 2275 background: linear-gradient(90deg, rgba(54,54,54,1) 0%, rgba(108,108,108,1) 50%, rgba(54,54,54,1) 100%); 2276 } 2277 2278 .header-green { 2279 background: rgba(44,121,6,1); 2280 border-color: rgba(168,255,0,1); 2281 } 2282 2283 .header-blue { 2284 background: rgba(0,80,89,1); 2285 border-color: rgba(0,255,204,1); 2286 } 2287 2288 .status-green { 2289 background: rgb(44,121,6); 2290 background: linear-gradient(90deg, rgba(44,121,6,1) 0%, rgba(168,255,0,1) 50%, rgba(44,121,6,1) 100%); 2291 } 2292 2293 .status-blue { 2294 background: rgb(0,80,89); 2295 background: linear-gradient(90deg, rgba(0,80,89,1) 0%, rgba(0,255,204,1) 50%, rgba(0,80,89,1) 100%); 2296 } 2297 2298 .transaksi-name { 2299 font-size: 1.1rem; 2300 font-weight: bold; 2301 line-height: 1.5rem 2302 } 2303 2304 .transaksi-wrapper { 2305 display: flex; 2306 flex-direction: column; 2307 gap: .5rem; 2308 } 2309 2310 2311 @media only screen and (max-width: 768px) { 2312 2313 .transaksi-group { 2314 display: grid; 2315 grid-template-columns: 1fr; 2316 grid-template-areas: 2317 "transaksi-bank" 2318 "transaksi-other" 2319 "transaksi-crypto"; 2320 gap: 32px; 2321 margin-bottom: 8px; 2322 2323 } 2324 2325 .transaksi-header { 2326 font-size: 1.1rem; 2327 height: 36px; 2328 } 2329 2330 .transaksi-list-bank { 2331 grid-template-columns: repeat(4, 1fr); 2332 } 2333 2334 .transaksi-list-other { 2335 grid-template-columns: repeat(4, 1fr); 2336 } 2337 2338 .transaksi-list-crypto { 2339 width: 86%; 2340 margin: auto; 2341 grid-template-columns: repeat(4, 1fr); 2342 } 2343 2344 .transaksi-list { 2345 display: grid; 2346 grid-template-columns: repeat(3, 1fr); 2347 } 2348 2349 .transaksi-item { 2350 width: 100%; 2351 } 2352 2353 .transaksi-title-group { 2354 justify-content: center; 2355 padding: 16px 0; 2356 } 2357 2358 .transaksi-name { 2359 font-size: 1.3rem; 2360 text-align: center; 2361 line-height: 1.8rem; 2362 } 2363 2364 .transaksi-wrapper { 2365 width: 100%; 2366 max-width: 100%!important; 2367 gap: 1rem; 2368 } 2369 2370 .icon-crypto { 2371 width: 28px; 2372 height: 28px; 2373 } 2374 2375 } 2376</style> 2377 2378 2379 <style> 2380 .transaksi-wrapper { 2381 display: flex; 2382 flex-direction: column; 2383 gap: .5rem;
2384 align-items: flex-start; 2385} 2386 2387.transaksi-name { 2388 font-size: 1.1rem; 2389 font-weight: bold; 2390 line-height: 1.5rem; 2391} 2392 2393.carousel-inner { 2394 position: relative; 2395 width: 100%; 2396 overflow: hidden; 2397} 2398 2399.transaksi-list-bank, .transaksi-list-other { 2400 grid-template-columns: repeat(4, minmax(110px, 1fr)); 2401 gap: 8px 10px; 2402} 2403 2404 2405.transaksi-list-bank, .transaksi-list-other { 2406 height: fit-content; 2407 display: grid; 2408 grid-template-columns: repeat(4, minmax(80px, 1fr)); 2409 gap: 4px 6px; 2410} 2411 2412 2413.transaksi-item { 2414 display: flex; 2415 flex-direction: column; 2416 position: relative; 2417} 2418.transaksi-header { 2419 height: 34px; 2420 border-radius: 6px; 2421 font-weight: bold; 2422 border: 2px solid rgba(108, 108, 108, 1); 2423 background: rgba(54, 54, 54, 1); 2424 color: white; 2425 min-width: 110px; 2426 padding: 0 16px 0 28px; 2427 display: flex; 2428 align-items: center; 2429 justify-content: center; 2430 text-align: center; 2431 white-space: nowrap; 2432} 2433 2434.transaksi-header { 2435 border: none; 2436 padding: 0px; 2437 padding-bottom: 4px; 2438} 2439 2440.transaksi-header.is-online::before { 2441 content: ""; 2442 position: absolute; 2443 top: auto; 2444 left: 50%; 2445 transform: translateX(-50%); 2446 width: 50%; 2447 height: 4px; 2448 bottom: 0%; 2449 background-color: #00ff66; 2450 border-radius: 6px; 2451 box-shadow: 0 0 8px rgba(0, 255, 102, .85); 2452} 2453 2454.transaksi-header.is-offline { 2455 padding: 0 16px; 2456 background: #2e2e2e; 2457 border-color: #555; 2458 opacity: .35; 2459 align-items: center; 2460 justify-content: center; 2461 text-align: center; 2462} 2463 </style> 2464 2465 <div class="section desktop-only" style="min-height: 220px"> 2466 2467<div class="transaksi-group"> 2468 <div class="transaksi-bank"> 2469 2470 <div class="transaksi-wrapper"> 2471 <div class="transaksi-name">Bank Lokal</div> 2472 2473 <div id="transaksi-bank-indicators" class="carousel slide" data-bs-ride="carousel"> 2474 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 2475 2476 2477 </div> 2478 <div class="carousel-inner" > 2479 <div class="carousel-item active" style="min-height: 144px"> 2480 <div class="transaksi-list-bank"> 2481 2482 2483 2484 <div class="transaksi-item"> 2485 <div class="transaksi-header">BCA</div> 2486 <div class="transaksi-status status-green"></div> 2487 </div> 2488 2489 2490 <div class="transaksi-item"> 2491 <div class="transaksi-header">Mandiri</div> 2492 <div class="transaksi-status status-green"></div> 2493 </div> 2494 2495 2496 <div class="transaksi-item"> 2497 <div class="transaksi-header">BNI</div> 2498 <div class="transaksi-status status-green"></div> 2499 </div> 2500 2501 2502 <div class="transaksi-item"> 2503 <div class="transaksi-header">BRI</div> 2504 <div class="transaksi-status status-green"></div> 2505 </div> 2506 2507 2508 <div class="transaksi-item"> 2509 <div class="transaksi-header">CIMB</div> 2510 <div class="transaksi-status status-green"></div> 2511 </div> 2512 2513 2514 <div class="transaksi-item"> 2515 <div class="transaksi-header">Danamon</div> 2516 <div class="transaksi-status status-green"></div> 2517 </div> 2518 2519 2520 <div class="transaksi-item"> 2521 <div class="transaksi-header">OCBC</div> 2522 <div class="transaksi-status status-green"></div> 2523 </div> 2524 2525 2526 <div class="transaksi-item"> 2527 <div class="transaksi-header">SeaBank</div> 2528 <div class="transaksi-status status-green"></div> 2529 </div> 2530 2531 2532 </div> 2533 </div> 2534 2535 2536 2537 </div> 2538 </div> 2539 2540 </div> 2541 </div> 2542 2543 <div class="transaksi-other"> 2544 2545 2546 <div class="transaksi-wrapper" style="max-width: 458px"> 2547 2548 <div class="transaksi-name">E Money & Pulsa</div> 2549 2550 2551 <div id="transaksi-other-indicators" class="carousel slide" data-bs-ride="carousel"> 2552 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 2553 2554 2555 </div> 2556 <div class="carousel-inner" > 2557 <div class="carousel-item active"> 2558 <div class="transaksi-list-other"> 2559 2560 2561 2562 <div class="transaksi-item"> 2563 <div class="transaksi-header">Telkomsel</div> 2564 <div class="transaksi-status status-blue"></div> 2565 </div> 2566 2567 2568 <div class="transaksi-item"> 2569 <div class="transaksi-header">Axiata</div> 2570 <div class="transaksi-status status-blue"></div> 2571 </div> 2572 2573 2574 <div class="transaksi-item"> 2575 <div class="transaksi-header">DANA</div> 2576 <div class="transaksi-status status-blue"></div> 2577 </div> 2578 2579 2580 <div class="transaksi-item"> 2581 <div class="transaksi-header">OVO</div> 2582 <div class="transaksi-status status-blue"></div> 2583 </div> 2584 2585 2586 <div class="transaksi-item"> 2587 <div class="transaksi-header">GOPAY</div> 2588 <div class="transaksi-status status-blue"></div> 2589 </div> 2590 2591 2592 <div class="transaksi-item"> 2593 <div class="transaksi-header">LinkAja</div> 2594 <div class="transaksi-status status-blue"></div> 2595 </div> 2596 2597 2598 <div class="transaksi-item"> 2599 <div class="transaksi-header">Lain-lain</div> 2600 <div class="transaksi-status status-blue"></div> 2601 </div> 2602 2603 2604 </div> 2605 </div> 2606 2607 2608 2609 </div> 2610 </div> 2611 </div> 2612 2613 2614 2615 </div> 2616 2617 <div class="transaksi-crypto"> 2618 <div class="transaksi-wrapper" style="max-width: 284px"> 2619 2620 <div class="transaksi-name mb-1">Crypto Currency</div> 2621 2622 2623 <div id="transaksi-crypto-indicators" class="carousel slide" data-bs-ride="carousel"> 2624 <div class="carousel-indicators" style="bottom: -32px; margin-bottom: 0px"> 2625 2626 2627 </div> 2628 <div class="carousel-inner" > 2629 <div class="carousel-item active"> 2630 <div class="transaksi-list-crypto"> 2631 2632 2633 2634 <div class="d-flex gap-2"> 2635 <img src="https://img.viva88athenae.com/USDT.png" class="icon-crypto" alt="USDT"> 2636 <strong class="transaksi-name">USDT</strong> 2637 2638 </div> 2639 2640 2641 </div> 2642 </div> 2643 2644 2645 2646 </div> 2647 </div> 2648 </div> 2649 </div> 2650</div> 2651 2652</div> 2653 2654 2655 2656 2657 2658 <footer class="site-footer"> 2659<div class="section"> 2660 2661 <div class="footer-nav"> 2662 <a href="javascript:void(0)" onclick="openCms('tentang')">TENTANG KAMI</a>
2663 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bantuan')">BANTUAN</a> 2664 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('peraturan')">PERATURAN</a> 2665 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('bank')">INFORMASI BANK</a> 2666 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('hubungi')">HUBUNGI KAMI</a> 2667 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('privasi')">KEBIJAKAN PRIVASI</a> 2668 <span class="footer-nav-sep">|</span> <a href="javascript:void(0)" onclick="openCms('cookies')">PERSETUJUAN COOKIES</a> 2669 </div> 2670 2671 <div class="footer-guidelines-wrap"> 2672 <img src="https://img.viva88athenae.com/new/guidelines.png?v=1790436337" alt="Guidelines" class="footer-guidelines-img" width="929" height="52"> 2673 </div> 2674 2675 <div class="footer-providers"> 2676 <img src="https://img.viva88athenae.com/assets/provider.png?v=1790436337" alt="Provider Logos" class="d-none d-md-block" style="margin:0 auto;" width="1201" height="124"> 2677 <img src="/images/new/provider-mobile.png?v=1790436337" alt="Provider Logos" class="d-md-none" width="600" height="262" style="max-width:100%;height:auto;"> 2678 </div> 2679 2680 <div class="footer-meta"><!--ARTIKEL--> 2681 2682<h1><span style="color: #ff00ff;">ONDEL4D | Link Official Terbaru dengan Akses Game Online Terpercaya</span></h1> 2683<p>Ondel4D merupakan salah satu platform yang banyak dicari oleh pengguna yang mengutamakan akses cepat, aman, dan stabil melalui link resmi. Dengan semakin banyaknya situs tidak valid di internet, keberadaan <span style="color: #ff00ff;"><a style="color: #ff00ff;" title="Ondel4D Link Resmi" href="https://ondel4d.com/" target="_blank" rel="noopener"><strong>Ondel4D Link Resmi</strong></a></span> menjadi solusi utama bagi pengguna yang ingin menghindari risiko seperti phishing, link palsu, atau akses yang tidak aman.</p> 2684<p>Sebagai brand yang terus berkembang, Ondel4D menghadirkan pengalaman akses yang optimal melalui sistem yang selalu diperbarui. Hal ini memastikan pengguna dapat menikmati layanan tanpa gangguan, terutama saat melakukan login atau navigasi di dalam website.</p> 2685<h2><span style="color: #ff00ff;">Pentingnya Menggunakan Link Resmi Ondel4D</span></h2> 2686<p>Menggunakan link resmi Ondel4D bukan sekadar soal akses, tapi juga berkaitan dengan keamanan data dan kenyamanan pengguna.</p> 2687<h3><span style="color: #ff00ff;">1. Keamanan Data Terjamin</span></h3> 2688<p>Link resmi memastikan semua aktivitas dilakukan di server yang aman, sehingga data pengguna tetap terlindungi.</p> 2689<h3><span style="color: #ff00ff;">2. Akses Stabil dan Cepat</span></h3> 2690<p>Server yang digunakan oleh <span style="color: #ff00ff;"><a style="color: #ff00ff;" title="Ondel4D official" href="https://ondel4d.com/" target="_blank" rel="noopener"><strong>Ondel4D official</strong></a></span> lebih stabil, meminimalisir gangguan saat diakses.</p> 2691<h3><span style="color: #ff00ff;">3. Update Terbaru Selalu Tersedia</span></h3> 2692<p>Pengguna akan selalu mendapatkan versi terbaru dari sistem dan fitur yang tersedia.</p> 2693<h2><span style="color: #ff00ff;">Cara Mengakses Ondel4D Link Masuk Official</span></h2> 2694<p>Untuk masuk ke platform dengan aman, berikut langkah-langkahnya:</p> 2695<ol> 2696<li><strong>Gunakan Link Resmi</strong><br /> Pastikan Anda hanya mengakses melalui <strong>Ondel4D situs resmi</strong>.</li> 2697<li><strong>Cek Keamanan Website</strong><br /> Pastikan terdapat HTTPS dan tampilan website terlihat profesional.</li> 2698<li><strong>Login dengan Data Valid</strong><br /> Masukkan username dan password dengan benar.</li> 2699<li><strong>Hindari Link Tidak Jelas</strong><br /> Jangan klik link dari sumber tidak terpercaya.</li> 2700</ol> 2701<h2><span style="color: #ff00ff;">Ciri-Ciri Link Resmi Ondel4D</span></h2> 2702<ul> 2703<li>Domain jelas dan konsisten</li> 2704<li>Tidak banyak iklan mencurigakan</li> 2705<li>Tampilan profesional</li> 2706<li>Akses cepat tanpa redirect berlebihan</li> 2707<li>Selalu bisa diakses dengan normal</li> 2708</ul> 2709<h2><span style="color: #ff00ff;">Keunggulan Ondel4D Dibandingkan Platform Lain</span></h2> 2710<h3>1. Sistem Aman dan Terproteksi</h3> 2711<p>Menggunakan sistem keamanan modern untuk menjaga data pengguna.</p> 2712<h3>2. Tampilan User-Friendly</h3> 2713<p>Desain sederhana dan mudah digunakan.</p> 2714<h3>3. Akses Multi-Device</h3> 2715<p>Bisa diakses dari berbagai perangkat.</p> 2716<h3>4. Update Link Berkala</h3> 2717<p>Link selalu diperbarui agar tetap bisa diakses kapan saja.</p> 2718<h2><span style="color: #ff00ff;">Tips Aman Menggunakan Ondel4D Official</span></h2> 2719<ul> 2720<li>Gunakan bookmark untuk menyimpan link resmi</li> 2721<li>Jangan bagikan data login</li> 2722<li>Gunakan jaringan internet yang aman</li> 2723<li>Selalu cek update link terbaru</li> 2724</ul> 2725<h2><span style="color: #ff00ff;">
2725Kenapa Banyak Orang Mencari Ondel4D Link Resmi?</span></h2> 2726<p>Popularitas Ondel4D terus meningkat karena:</p> 2727<ul> 2728<li>Akses mudah dan cepat</li> 2729<li>Sistem stabil</li> 2730<li>Keamanan terjamin</li> 2731<li>Reputasi baik</li> 2732</ul> 2733<h2><span style="color: #ff00ff;">Strategi SEO di Balik Ondel4D</span></h2> 2734<p>Penggunaan keyword seperti:</p> 2735<div class="highlight"> 2736<ul> 2737<li>Ondel4D</li> 2738<li>Ondel4D Link Resmi</li> 2739<li>Ondel4D Official</li> 2740<li>Ondel4D Login</li> 2741<li>Ondel4D Situs Resmi</li> 2742<li>Ondel4D Link Masuk</li> 2743</ul> 2744</div> 2745<p>membantu meningkatkan visibilitas di mesin pencari dan menjangkau lebih banyak pengguna.</p> 2746<h2><span style="color: #ff00ff;">Akses Masuk Ondel4D Hanya di Sini</span></h2> 2747<p>Ondel4D menjadi pilihan tepat bagi pengguna yang mencari link masuk official terpercaya dengan sistem aman dan akses stabil. Pastikan selalu menggunakan <strong>link resmi Ondel4D</strong> agar pengalaman tetap aman dan nyaman.</p> 2748<!--ARTIKEL--> 2749 2750<style> 2751.faq-container { 2752 max-width: 800px; 2753 margin: 40px auto; 2754 font-family: Arial, sans-serif; 2755} 2756 2757.faq-title { 2758 text-align: center; 2759 font-size: 28px; 2760 font-weight: bold; 2761 color: #ff00ff; 2762 margin-bottom: 20px; 2763} 2764 2765.faq-item { 2766 border-bottom: 1px solid #eee; 2767 margin-bottom: 10px; 2768} 2769 2770.faq-question { 2771 cursor: pointer; 2772 padding: 15px; 2773 font-weight: bold; 2774 background: #ff00ff; 2775 color: #fff; 2776 border-radius: 5px; 2777 transition: 0.3s; 2778} 2779 2780.faq-question:hover { 2781 background: #cc00cc; 2782} 2783 2784.faq-answer { 2785 display: none; 2786 padding: 15px; 2787 background: #fafafa; 2788 border-left: 4px solid #ff00ff; 2789 line-height: 1.6; 2790} 2791</style> 2792 2793<div class="faq-container"> 2794 <div class="faq-title">FAQ (Pertanyaan yang Sering Diajukan)</div> 2795 2796 <div class="faq-item"> 2797 <div class="faq-question">1. Apa itu Ondel4D?</div> 2798 <div class="faq-answer"> 2799 Ondel4D adalah platform yang menyediakan akses melalui link resmi dengan sistem aman dan terpercaya untuk pengguna. 2800 </div> 2801 </div> 2802 2803 <div class="faq-item"> 2804 <div class="faq-question">2. Bagaimana cara mendapatkan link resmi Ondel4D?</div> 2805 <div class="faq-answer"> 2806 Anda bisa mendapatkan Ondel4D link resmi melalui sumber terpercaya atau bookmark dari akses sebelumnya. 2807 </div> 2808 </div> 2809 2810 <div class="faq-item"> 2811 <div class="faq-question">3. Apakah Ondel4D aman digunakan?</div> 2812 <div class="faq-answer"> 2813 Ya, selama Anda menggunakan Ondel4D official, keamanan data dan aktivitas pengguna akan terjamin. 2814 </div> 2815 </div> 2816 2817 <div class="faq-item"> 2818 <div class="faq-question">4. Kenapa link Ondel4D sering berubah?</div> 2819 <div class="faq-answer"> 2820 Perubahan link dilakukan untuk menjaga akses tetap stabil dan menghindari pemblokiran. 2821 </div> 2822 </div> 2823 2824 <div class="faq-item"> 2825 <div class="faq-question">5. Apa risiko menggunakan link tidak resmi?</div> 2826 <div class="faq-answer"> 2827 Risikonya meliputi pencurian data, akun diretas, hingga akses ke situs palsu. 2828 </div> 2829 </div> 2830 2831 2832</div> 2833
2834<script> 2835document.querySelectorAll(".faq-question").forEach(item => { 2836 item.addEventListener("click", () => { 2837 let answer = item.nextElementSibling; 2838 answer.style.display = (answer.style.display === "block") ? "none" : "block"; 2839 }); 2840}); 2841</script>
2841 2842 2843<!-- INFO GACOR KIRI BAWAH --> 2844<style> 2845 .info-gacor-widget { 2846 position: fixed; 2847 left: 14px; 2848 bottom: 18px; 2849 z-index: 100; 2850 display: flex; 2851 flex-direction: column; 2852 align-items: center; 2853 font-family: Arial, sans-serif; 2854 } 2855 2856 .info-gacor-checkbox { 2857 position: absolute; 2858 width: 1px; 2859 height: 1px; 2860 opacity: 0; 2861 pointer-events: none; 2862 } 2863 2864 .info-gacor-panel { 2865 display: flex; 2866 flex-direction: column; 2867 align-items: center; 2868 gap: 8px; 2869 max-height: 0; 2870 margin-bottom: 0; 2871 opacity: 0; 2872 visibility: hidden; 2873 overflow: hidden; 2874 pointer-events: none; 2875 transform: translateY(12px) scale(0.95); 2876 transform-origin: bottom center; 2877 transition: max-height 0.35s ease, opacity 0.25s ease, 2878 transform 0.25s ease, margin-bottom 0.25s ease; 2879 } 2880 2881 .info-gacor-checkbox:checked ~ .info-gacor-panel { 2882 max-height: 360px; 2883 margin-bottom: 10px; 2884 opacity: 1; 2885 visibility: visible; 2886 overflow: visible; 2887 pointer-events: auto; 2888 transform: translateY(0) scale(1); 2889 } 2890 2891 .info-gacor-link { 2892 display: flex;
2893 align-items: center; 2894 justify-content: center; 2895 width: 65px; 2896 height: 65px; 2897 } 2898 2899 .info-gacor-icon { 2900 display: block; 2901 width: 65px; 2902 height: 65px; 2903 object-fit: contain; 2904 } 2905 2906 .info-gacor-toggle { 2907 min-width: 105px; 2908 padding: 11px 14px; 2909 border: 2px solid #ffcc4d; 2910 border-radius: 24px; 2911 background: linear-gradient(135deg, #59002e, #9b0050); 2912 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), 2913 0 0 10px rgba(255, 204, 77, 0.35); 2914 animation: infoGacorBorderBlink 1.4s linear infinite; 2915 color: #ffffff; 2916 cursor: pointer; 2917 font-size: 12px; 2918 font-weight: 800; 2919 letter-spacing: 0.4px; 2920 line-height: 1; 2921 text-align: center; 2922 user-select: none; 2923 touch-action: manipulation; 2924 } 2925 2926 @keyframes infoGacorBorderBlink { 2927 0%, 100% { 2928 border-color: #ffcc4d; 2929 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), 2930 0 0 8px rgba(255, 204, 77, 0.9); 2931 } 2932 25% { 2933 border-color: #ff4fc8; 2934 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), 2935 0 0 12px rgba(255, 79, 200, 0.95); 2936 } 2937 50% { 2938 border-color: #35e7ff; 2939 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), 2940 0 0 12px rgba(53, 231, 255, 0.95); 2941 } 2942 75% { 2943 border-color: #8cff66; 2944 box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4), 2945 0 0 12px rgba(140, 255, 102, 0.95); 2946 } 2947 } 2948 2949 @media (prefers-reduced-motion: reduce) { 2950 .info-gacor-toggle { 2951 animation: none; 2952 } 2953 } 2954 2955 .info-gacor-toggle:hover { 2956 background: linear-gradient(135deg, #76003d, #c00064); 2957 } 2958 2959 .info-gacor-label-close { 2960 display: none; 2961 } 2962 2963 .info-gacor-checkbox:checked ~ 2964 .info-gacor-toggle .info-gacor-label-open { 2965 display: none; 2966 } 2967 2968 .info-gacor-checkbox:checked ~ 2969 .info-gacor-toggle .info-gacor-label-close { 2970 display: inline; 2971 } 2972 2973 @media only screen and (max-width: 480px) { 2974 .info-gacor-widget { 2975 left: 10px; 2976 bottom: 70px; 2977 } 2978 2979 .info-gacor-toggle { 2980 min-width: 96px; 2981 padding: 10px 12px; 2982 font-size: 11px; 2983 } 2984 } 2985</style> 2986<!-- INFO GACOR KIRI BAWAH --> 2987 2988 2989<!--GIF KIRI ATAS CODINGAN--> 2990 <style> 2991 div.col-sm-0 span { 2992 display: none; 2993 } 2994 2995 div.social { 2996 width: 100%; 2997 background-image: url(https://i.imgur.com/1SHCzVn.jpg); 2998 background-size: contain; 2999 padding: 5px 1px 10px 1px; 3000 margin: auto; 3001 text-align: center; 3002 } 3003 3004 #ico { 3005 background: #131313; 3006 padding: 5px 15px 5px 15px; 3007 color: #fff; 3008 text-decoration: none; 3009 border-radius: 5px; 3010 margin: 5px 3px; 3011 border: .5px solid #ffffff; 3012 display: inline-block; 3013 } 3014 3015 div.social img { 3016 vertical-align: middle; 3017 display: inline; 3018 } 3019 3020 div.social p { 3021 display: inline-block; 3022 font-size: 14px; 3023 } 3024 3025 .social { 3026 left: 0; 3027 width: 0; 3028 position: fixed; 3029 top: 130px; 3030 z-index: 9999; 3031 } 3032 3033 .social ul { 3034 padding: 0px; 3035 -webkit-transform: translate(-130px, 0); 3036 -moz-transform: translate(-130px, 0); 3037 -ms-transform: translate(-130px, 0); 3038 -o-transform: translate(-130px, 0); 3039 transform: translate(-130px, 0); 3040 } 3041 3042 3043 .social ul li { 3044 display: block; 3045 margin: 6px; 3046 margin-left: 0px; 3047 background: rgba(94, 6, 3, 0.86); 3048 width: 189px; 3049 text-align: right; 3050 padding: 4px; 3051 -webkit-border-radius: 0 20px 20px 0; 3052 -moz-border-radius: 0 20px 20px 0; 3053 border-radius: 0 20px 20px 0; 3054 -webkit-transition: all 1s; 3055 -moz-transition: all 1s; 3056 -ms-transition: all 1s; 3057 -o-transition: all 1s; 3058 transition: all 1s; 3059 height: 53px; 3060 border: groove 2px #ab0102; 3061 } 3062 3063 .social ul li:hover { 3064 -webkit-transform: translate(110px, 0); 3065 -moz-transform: translate(110px, 0); 3066 -ms-transform: translate(110px, 0); 3067 -o-transform: translate(110px, 0); 3068 transform: translate(110px, 0); 3069 background: rgba(95, 95, 95, 0.7); 3070 } 3071 3072 .buttonWrap { 3073 text-transform: uppercase !important; 3074 } 3075 </style> 3076<!--GIF KIRI ATAS CODINGAN-->
3076 3077 3078<!--POPUP CODINGAN--> 3079<style> 3080.promo-popup { 3081 position: fixed; 3082 inset: 0; 3083 z-index: 100000; 3084 display: none; 3085 align-items: center; 3086 justify-content: center; 3087 padding: 20px; 3088 overflow-y: auto; 3089 background: rgba(0, 0, 0, 0.72); 3090} 3091 3092.promo-popup.is-open { 3093 display: flex; 3094} 3095 3096.promo-popup[aria-hidden="true"] { 3097 display: none !important; 3098} 3099 3100.promo-popup[aria-hidden="false"] { 3101 display: flex !important; 3102} 3103 3104.promo-popup-dialog { 3105 width: 92vw; 3106 max-width: 600px; 3107 margin: auto; 3108} 3109 3110.promo-popup-content { 3111 position: relative; 3112 width: 100%; 3113 background: transparent; 3114 border: 0; 3115 box-shadow: none; 3116} 3117 3118.promo-popup-content > a { 3119 position: relative; 3120 z-index: 1; 3121 display: block; 3122 border-radius: 18px; 3123 overflow: hidden; 3124} 3125 3126.promo-popup .imgpop { 3127 display: block; 3128 width: 100%; 3129 max-width: 100%; 3130 max-height: 90vh; 3131 margin: 0 auto; 3132 object-fit: contain; 3133 border-radius: 38px; 3134} 3135 3136.promo-popup-close { 3137 position: absolute !important; 3138 top: 8px; 3139 right: 8px; 3140 z-index: 9999 !important; 3141 display: flex !important; 3142 align-items: center; 3143 justify-content: center; 3144 width: 38px; 3145 height: 38px; 3146 padding: 0; 3147 border: 2px solid #fff; 3148 border-radius: 50%; 3149 background: #d7207d; 3150 color: #fff; 3151 cursor: pointer; 3152 font: 700 27px/31px Arial, sans-serif; 3153 text-align: center; 3154 pointer-events: auto !important; 3155 touch-action: manipulation; 3156 -webkit-tap-highlight-color: transparent; 3157} 3158 3159.promo-popup-close:hover, 3160.promo-popup-close:focus-visible { 3161 background: #a90058; 3162 outline: 2px solid #fff; 3163 outline-offset: 2px; 3164} 3165 3166@media only screen and (max-width: 768px) { 3167 .promo-popup { 3168 padding: 5px; 3169 } 3170 3171 .promo-popup-dialog { 3172 width: 75vw; 3173 max-width: 95vw; 3174 } 3175 3176 .promo-popup .imgpop { 3177 width: 100%; 3178 max-width: 100%; 3179 max-height: 92vh; 3180 border-radius: 24px; 3181 } 3182 3183 .promo-popup-content > a { 3184 border-radius: 14px; 3185 } 3186 3187 .promo-popup-close { 3188 top: 6px; 3189 right: 6px; 3190 width: 34px; 3191 height: 34px; 3192 font-size: 24px; 3193 line-height: 28px; 3194 } 3195} 3196</style> 3197<!--POPUP CODINGAN--> 3198 3199 3200<!-- INFO GACOR KIRI BAWAH --> 3201<div class="info-gacor-widget"> 3202 <input 3203 type="checkbox" 3204 id="info-gacor-toggle" 3205 class="info-gacor-checkbox" 3206 > 3207 3208 <div class="info-gacor-panel"> 3209 <a 3210 class="info-gacor-link" 3211 href="https://docs.google.com/forms/d/e/1FAIpQLScplO5xIuOIl5amF3W-1fD5--IXDvdl_87ARlH9VtMwdve47w/viewform" 3212 target="_blank" 3213 rel="noopener noreferrer" 3214 > 3215 <img 3216 src="https://bonusokyvmos.com/gif/saran.gif" 3217 title="Kritik dan Saran" 3218 class="info-gacor-icon" 3219 alt="Kritik dan Saran" 3220 > 3221 </a> 3222 3223 <a 3224 class="info-gacor-link" 3225 href="https://biolinku.co/luckyspin" 3226 target="_blank" 3227 rel="noopener noreferrer" 3228 > 3229 <img 3230 src="https://bonusokyvmos.com/asset/luckythundergif.gif" 3231 title="Lucky Thunder" 3232 class="info-gacor-icon" 3233 alt="Lucky Thunder" 3234 > 3235 </a> 3236 3237 <a 3238 class="info-gacor-link" 3239 href="https://link-oky.com/rtpondel4d" 3240 target="_blank" 3241 rel="noopener noreferrer" 3242 > 3243 <img 3244 src="https://bonusokyvmos.com/asset/ondel4drtp.gif" 3245 title="RTP ONDEL4D" 3246 class="info-gacor-icon" 3247 alt="RTP ONDEL4D" 3248 > 3249 </a> 3250 3251 </div> 3252 3253 <label for="info-gacor-toggle" class="info-gacor-toggle"> 3254 <span class="info-gacor-label-open"> 3255 INFO GACOR 3256 </span> 3257 3258 <span class="info-gacor-label-close"> 3259 TUTUP INFO 3260 </span> 3261 </label> 3262</div> 3263<!-- INFO GACOR KIRI BAWAH --> 3264 3265<nav class="social"> 3266 <ul> 3267 <li><a href="https://t.me/groupoky" target="_blank" rel="noopener noreferrer"><span 3268 style="position:relative; left:-20px; top:10px;">TELEGRAM</span><img 3269 src="https://bonusokyvmos.com/gif/tele.png" style="float:right;" width="40" height="40" alt="Telegram"></a></li> 3270 <li><a href="https://www.facebook.com/groups/groupsoky/" target="_blank" rel="noopener noreferrer"><span 3271 style="position:relative; left: -20px; top:10px;">FACEBOOK</span><img
3272 src="https://bonusokyvmos.com/gif/fb.png" style="float:right;" width="40" height="40" alt="Facebook"></a></li> 3273 3274 </ul> 3275</nav> 3276<!--GIF KIRI ATAS CODINGAN--> 3277 3278<!--GIF POPUP--> 3279<div id="ondel-freebet-popup" class="promo-popup" role="dialog" aria-modal="true" aria-label="Promo ONDEL4D" aria-hidden="true"> 3280 <div class="promo-popup-dialog"> 3281 <div class="promo-popup-content"> 3282 <button 3283 type="button" 3284 id="ondel-freebet-close" 3285 class="promo-popup-close" 3286 aria-label="Tutup popup" 3287 onclick="return window.closeOndelFreebetPopup(event)" 3288 >X</button> 3289 3290 <a href="https://t.me/ondel4d" target="_blank" rel="noopener noreferrer" title="ONDEL4D"> 3291 <img 3292 src="https://imageoky.site/26889/uploads/ondel4d/POPupBegadang.png" 3293 class="imgpop" 3294 alt="Promo ONDEL4D" 3295 > 3296 </a> 3297 </div> 3298 </div> 3299</div> 3300
3301<script> 3302(function () { 3303 function initPromoPopup() { 3304 const promo = document.getElementById("ondel-freebet-popup"); 3305 const closeButton = document.getElementById("ondel-freebet-close"); 3306 3307 if ( 3308 !promo || 3309 !closeButton || 3310 promo.dataset.initialized === "true" || 3311 window.__ondelFreebetInitialized === true 3312 ) { 3313 return; 3314 } 3315 3316 promo.dataset.initialized = "true"; 3317 window.__ondelFreebetInitialized = true; 3318 window.__ondelFreebetClosed = false; 3319 3320 let openTimer; 3321 3322 function openPromo() { 3323 if (window.__ondelFreebetClosed === true) { 3324 return; 3325 } 3326 3327 promo.style.removeProperty("display"); 3328 promo.classList.add("is-open"); 3329 promo.setAttribute("aria-hidden", "false"); 3330 } 3331 3332 function cleanupOldBootstrapLayer() { 3333 if (!document.querySelector(".modal.show")) { 3334 document.querySelectorAll(".modal-backdrop").forEach(function (backdrop) { 3335 backdrop.remove(); 3336 }); 3337 3338 document.body.classList.remove("modal-open"); 3339 document.body.style.removeProperty("overflow"); 3340 document.body.style.removeProperty("padding-right"); 3341 } 3342 } 3343 3344 function closePromo(event) { 3345 if (event) { 3346 event.preventDefault(); 3347 event.stopPropagation(); 3348 } 3349 3350 if (openTimer) { 3351 window.clearTimeout(openTimer); 3352 openTimer = null; 3353 } 3354 3355 window.__ondelFreebetClosed = true; 3356 promo.classList.remove("is-open"); 3357 promo.setAttribute("aria-hidden", "true"); 3358 promo.style.setProperty("display", "none", "important"); 3359 cleanupOldBootstrapLayer(); 3360 3361 return false; 3362 } 3363 3364 window.closeOndelFreebetPopup = closePromo; 3365 closeButton.addEventListener("click", closePromo); 3366 closeButton.addEventListener("touchend", closePromo, { passive: false }); 3367 openTimer = window.setTimeout(openPromo, 700); 3368 3369 promo.addEventListener("click", function (event) { 3370 if (event.target === promo) { 3371 closePromo(event); 3372 } 3373 }); 3374 3375 document.addEventListener("keydown", function (event) { 3376 if (event.key === "Escape" && promo.classList.contains("is-open")) { 3377 closePromo(); 3378 } 3379 }); 3380 } 3381 3382 if (document.readyState === "loading") { 3383 document.addEventListener("DOMContentLoaded", initPromoPopup, { once: true }); 3384 } else { 3385 initPromoPopup(); 3386 } 3387})(); 3388</script>
3388 3389<!--GIF POPUP--> 3390 3391 3392 3393<style> 3394 .count-item { 3395font-size: 1.8rem; 3396background: #D7207D; 3397padding: 0.3rem 0.5rem; 3398color: #fff !important; 3399border-radius: 10px; 3400font-weight: bold; 3401} 3402.wrapper-service { 3403display: flex; 3404align-items: center; 3405flex-wrap: wrap; 3406justify-content: center; 3407border-radius: 10px; 3408margin-top: 1.3rem; 3409border: 3px solid #D7207D; 3410padding: 0.8rem; 3411/* background: linear-gradient(90deg , #d39e00 0%, #cca11f 21%, #dba70a 49%, rgb(238 205 86) 75%, #9e7700 100%); color: #000; */ 3412} 3413.status-wrapper, .status-wrapper-mem { 3414display: flex; 3415align-items: center; 3416} 3417.status-wrapper { 3418 justify-content: center; 3419} 3420.status-wrapper-mem { 3421 justify-content: center; 3422} 3423.status-wrapper p { 3424margin-right: 0.6rem !important; 3425} 3426.item-service { 3427margin-right: 3rem; 3428} 3429.item-service:last-child { 3430margin-right: 0; 3431} 3432.item-service h1 { 3433font-size: 2.2rem; 3434margin-top: 7px !important; 3435text-transform : uppercase; 3436font-weight: bold !important; 3437} 3438.google-wrapper { 3439background: #fff; 3440padding: 1.7rem; 3441width: 18rem; 3442height: 0.5rem; 3443border-radius: 10px; 3444position: relative; 3445} 3446.google-wrapper img { 3447position: absolute; 3448width: 2rem; 3449top: 9px; 3450left: 10px; 3451} 3452.item-service p { 3453color: #fff; 3454} 3455.google-wrapper p { 3456position: absolute; 3457left: 3.4rem; 3458top: 0.6rem; 3459text-transform: uppercase; 3460font-size: 1.50rem !important; 3461font-weight: bold !important; 3462color: #000 !important; 3463} 3464</style>
3465<script> 3466(function () { 3467 function initServiceTable() { 3468 const providerGroup = document.querySelector(".provider-group"); 3469 3470 if (!providerGroup || document.querySelector(".wrapper-service")) { 3471 return; 3472 } 3473 3474 const min = 12554; 3475 const max = 36548; 3476 const memberUser = Math.floor(Math.random() * (max - min + 1)) + min; 3477 const serviceTable = document.createElement("div"); 3478 3479 serviceTable.className = "wrapper-service"; 3480 serviceTable.innerHTML = ` 3481 <div class="item-service"> 3482 <h1>Deposit</h1> 3483 <div class="status-wrapper"> 3484 <p>Rata-Rata</p> 3485 <p><span class="count-item">1</span> Menit</p> 3486 </div> 3487 <div class="progress21 progress-moved2"><div class="progress-bar21"></div></div> 3488 </div> 3489 3490 <div class="item-service"> 3491 <h1>Withdraw</h1> 3492 <div class="status-wrapper"> 3493 <p>Rata-Rata</p> 3494 <p><span class="count-item">3</span> Menit</p> 3495 </div> 3496 <div class="progress21 progress-moved11"><div class="progress-bar31"></div></div> 3497 </div> 3498 3499 <div class="item-service"> 3500 <h1>Member Online</h1> 3501 <div class="status-wrapper-mem"> 3502 <p><span class="count-item">${memberUser}</span> Member</p> 3503 </div> 3504 </div> 3505 3506 <div class="item-service"> 3507 <p style="text-align: center;">Ketik Di Google:</p> 3508 <div class="google-wrapper"> 3509 <img src="https://imageupload.online/uploads/google.png" alt="Google"> 3510 <p>ONDEL4D.COM</p> 3511 </div> 3512 </div> 3513 `; 3514 3515 providerGroup.parentNode.insertBefore(serviceTable, providerGroup); 3516 } 3517 3518 if (document.readyState === "loading") { 3519 document.addEventListener("DOMContentLoaded", initServiceTable, { once: true }); 3520 } else { 3521 initServiceTable(); 3522 } 3523})(); 3524</script>
3524 <!-- SERVICE TABLE END --> 3525 <!-- DP - WD START --> 3526 3527 3528<style> 3529.alert { 3530 border: 1px solid #00ff00; 3531 box-shadow: #00ff00 0px 0px 10px 1px; 3532 border-radius: 5px; 3533 margin-right: 25px; 3534 margin-left: 25px; 3535 margin-top: 10px; 3536 margin-bottom: -25px; 3537} 3538.blinking{ 3539 animation:blinkingText 1.5s infinite; 3540 margin:auto; 3541 display:block; 3542 font-weight: 900; 3543 color:#e3e3e3; 3544 text-shadow:#e3e3e3 0px 0px 3px; 3545} 3546</style> 3547<!-- DP - WD END --></div> 3548 3549 3550 <!-- LIVE CHAT --> 3551 3552 3553 <!-- LiveChat Internal --> 3554 <style id="cs-embed-custom-styles"> 3555 /* Generated widget appearance — theme: light */ 3556.cs-embed { 3557 --cs-primary: #6a0d83; 3558 --cs-secondary: #ffc0cb; 3559 --cs-panel-width: 360px; 3560 --cs-panel-height: 600px; 3561 --cs-footer-bg: #fff; 3562 --cs-footer-border: #f1f5f9; 3563 --cs-input-row-bg: #f1f5f9; 3564 --cs-input-text: #111827; 3565 --cs-input-muted: #64748b; 3566 --cs-upload-bg: #fff; 3567 --cs-upload-border: #cbd5e1; 3568 --cs-upload-icon: #334155; 3569 --cs-image-preview-bg: #eff6ff; 3570 --cs-image-preview-border: #dbeafe; 3571 --cs-closed-notice: #9ca3af; 3572 --cs-scrollbar-track: #eef2f7; 3573 --cs-scrollbar-thumb: #cbd5e1; 3574 --cs-scrollbar-thumb-hover: #94a3b8; 3575 --cs-messages-bg: #f8fafc; 3576 --cs-sticky-banner-bg: #fffbeb; 3577 --cs-sticky-banner-border: #fde68a; 3578 --cs-sticky-banner-inner-bg: #fff; 3579 --cs-sticky-banner-inner-border: #fde68a; 3580 --cs-sticky-banner-text: #92400e; 3581 right: 24px; left: auto; align-items: flex-end; 3582} 3583 3584.cs-embed .cs-panel { 3585 background: #fff; 3586 color: #111827; 3587} 3588 3589.cs-embed .cs-bubble--agent { 3590 background: #fff; 3591 color: #111; 3592 border-color: #e5e7eb; 3593} 3594 3595.cs-toggle:not(.cs-toggle--banner) { 3596 background: var(--cs-primary); 3597 box-shadow: 0 4px 12px rgba(106, 13, 131, 0.4); 3598} 3599 3600.cs-header { 3601 background: linear-gradient(135deg, #6a0d83, #ffc0cb); 3602} 3603 3604.cs-bubble--customer { 3605 background: #6a0d83; 3606 color: #ffffff; 3607} </style> 3608
3608<script src="https://service.lc1001ai.com/embed.js"></script>
3608 3609
3609<script> 3610 (function () { 3611 var chatServiceUrl = "https://service.lc1001ai.com"; 3612 var channelId = "6a606346ae5939927b9a5340"; 3613 var credentials = ""; 3614 var showWidget = true; 3615 window.CsChatEmbed 3616 .init({ 3617 chatServiceUrl: chatServiceUrl, 3618 channelId: channelId, 3619 credentials: credentials, 3620 createWidget: true, 3621 showWidget: showWidget, 3622 fetchAppearance: false, 3623 }) 3624 .then(function (result) { 3625 console.log("Chat connected, sessionId:", result.sessionId); 3626 }) 3627 .catch(function (err) { 3628 console.error("Chat init failed:", err); 3629 }); 3630 })(); 3631 </script>
3631 3632 3633 <div class="footer-group"> 3634 3635 <div class="footer-copyright"> 3636 <div style="white-space:nowrap"> 3637 © 2015 – 2026 Copyright ONDEL4D. 3638 All Rights Reserved. 3639 </div> 3640 </div> 3641 3642 <div class="footer-wap-btn" onclick='window.location.href="/wap"'>WAP</div> 3643 3644 </div> 3645 3646</div> 3647</footer> <nav class="navbar fixed-bottom p-0 d-md-none" style="z-index:10000"> 3648 <div class="container-fluid px-0"> 3649 <div style="display:grid;grid-template-columns:repeat(4,1fr);width:100%;"> 3650 3651 3652 <a href="/home" onclick="openPage('home',this); window.scrollTo({top:0,behavior:'smooth'}); return false;" class="bottom-menu text-decoration-none d-flex flex-column justify-content-around align-items-center py-2" data-nav="home"> 3653 <i class="bi bi-house-fill" style="font-size:20px;"></i> 3654 <small>Home</small> 3655 </a> 3656 3657 <a href="/promosi" onclick="openPage('promosi',this); $('#content').get(0).scrollIntoView({behavior: 'smooth'}); return false;" class="bottom-menu text-decoration-none d-flex flex-column justify-content-around align-items-center py-2" data-nav="promosi"> 3658 <i class="bi bi-gift-fill" style="font-size:20px;"></i> 3659 <small>Promosi</small> 3660 </a> 3661 3662 <a href="/event" onclick="openPage('event',this); $('#content').get(0).scrollIntoView({behavior: 'smooth'}); return false;" class="bottom-menu text-decoration-none d-flex flex-column justify-content-around align-items-center py-2" data-nav="event"> 3663 <i class="bi bi-calendar-event-fill" style="font-size:20px;"></i> 3664 <small>Event</small> 3665 </a> 3666 3667 <div class="chat-dial-wrap bottom-menu d-flex flex-column justify-content-around align-items-center py-2" style="position:relative;"> 3668 <a href="javascript:void(0)" onclick="toggleChatDial(event)" class="text-decoration-none d-flex flex-column justify-content-around align-items-center" style="color:inherit;"> 3669 <img src="https://img.viva88athenae.com/navbar/chat.png?v=1790436337" alt="" style="width:20px;height:20px;object-fit:contain;"> 3670 <small>Chat</small> 3671 </a> 3672 <div class="chat-dial-list" id="chatDialList"> 3673 <a href="https://t.me/ondel4d" target="_blank" class="chat-dial-item" title="Telegram"> 3674 <img src="https://img.viva88athenae.com/telegram.png?v=1790436337" alt="Telegram"> 3675 </a> 3676 <a href="javascript:void(0)" onclick="window.CsChatEmbed.openChat(); return false;" class="chat-dial-item chat-dial-livechat" title="Livechat"> 3677 <img src="https://img.viva88athenae.com/navbar/livechat.png?v=1790436337" alt="Livechat"> 3678 </a> 3679 </div> 3680 </div> 3681 3682 3683 </div> 3684 </div> 3685</nav> 3686
3687<script> 3688 function toggleChatDial(e) { 3689 e.stopPropagation(); 3690 document.getElementById('chatDialList').classList.toggle('open'); 3691 } 3692 document.addEventListener('click', function (e) { 3693 var list = document.getElementById('chatDialList'); 3694 if (!list) return; 3695 // close when clicking outside, or after picking any dial item (livechat included) 3696 if (!e.target.closest('.chat-dial-wrap') || e.target.closest('.chat-dial-item')) { 3697 list.classList.remove('open'); 3698 } 3699 }); 3700</script>
3700 3701 3702 <div class="offcanvas offcanvas-end w-100" tabindex="-1" id="offcanvasExample"> 3703 3704 <div class="offcanvas-body p-0"> 3705 3706 <div class="d-grid gap-2 mt-2 px-3 offcanvas-user-menu"> 3707 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 3708 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 3709</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 3710 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 3711</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 3712 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 3713</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 3714 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 3715</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 3716 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 3717</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 3718 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 3719</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/Ondel4D.apk','_blank')"> 3720 <div class="d-flex align-items-center px-3"> 3721 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 3722 </div> 3723 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 3724</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('https://telegram.me/ondel4dd_bot','_blank')"> 3725 <div class="d-flex align-items-center px-3"> 3726 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 3727 </div> 3728 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 3729</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="fetch('/api/front/logout',{method:'POST'}).then(()=>window.location.href='/index.php')"> 3730 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 3731</button> </div> 3732 3733 </div> 3734 </div> 3735 3736 <div id="desktopUserDropdown" class="desktop-user-dropdown"> 3737 <div class="d-grid"> 3738 <button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=statement','#content',null);closeDesktopUserMenu()"> 3739 <i class="bi bi-bar-chart-fill me-2 accent-text-color"></i> Statement 3740</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=history','#content',null);closeDesktopUserMenu()"> 3741 <i class="bi bi-clock-fill me-2 accent-text-color"></i> History 3742</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=memo','#content',null);closeDesktopUserMenu()"> 3743 <i class="bi bi-envelope-fill me-2 accent-text-color"></i> Memo 3744</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=referral','#content',null);closeDesktopUserMenu()"> 3745 <i class="bi bi-people-fill me-2 accent-text-color"></i> Referral 3746</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="content('/menu.php?content=password','#content',null);closeDesktopUserMenu()"> 3747 <i class="bi bi-lock-fill me-2 accent-text-color"></i> Ubah Password 3748</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="modal('/transaksi.php?content=rekening');closeDesktopUserMenu()"> 3749 <i class="bi bi-wallet-fill me-2 accent-text-color"></i> Rekening 3750</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('/downloads/app/Ondel4D.apk','_blank')"> 3751 <div class="d-flex align-items-center px-3"> 3752 <i class="bi bi-android2 me-2 accent-text-color"></i> Download App 3753 </div> 3754 <img src="/images/new/btn-android.png" class="btn-menu-img" alt="" width="171" height="55"> 3755</button><button class="btn btn-menu d-flex align-items-center justify-content-between p-0" onclick="window.open('https://telegram.me/ondel4dd_bot','_blank')"> 3756 <div class="d-flex align-items-center px-3"> 3757 <i class="bi bi-send-fill me-2 accent-text-color"></i> Bet Via Telegram 3758 </div> 3759 <img src="/images/new/btn-telegram.png" class="btn-menu-img" alt="" width="171" height="55"> 3760</button><button class="btn btn-menu p-3 text-start d-flex align-items-center" onclick="fetch('/api/front/logout',{method:'POST'}).then(()=>window.location.href='/index.php')"> 3761 <i class="bi bi-door-open-fill me-2 accent-text-color"></i> Logout 3762</button> </div> 3763 </div> 3764 3765
3765<script src="/js/new/vendor/bootstrap.bundle.min.js?v=1790436337"></script>
3765 3766
3766<script src="/js/new/main.js?v=1790436337"></script>
3766 3767 3768
3768<script> 3769 window.JT_SSR_PATH = null; 3770 setTimeout(function() { 3771 const mobileForm = document.querySelector('#mobilelogin form') || 3772 document.querySelector('#mobilelogin .login-form') || 3773 document.querySelector('.mobile-only form'); 3774 3775 if (!mobileForm) { 3776 return; 3777 } 3778 3779 const username = mobileForm.querySelector('input[name="username"]'); 3780 const password = mobileForm.querySelector('input[name="password"]'); 3781 const remember = document.querySelector('#rememberMe') || 3782 document.querySelector('input[type="checkbox"]'); 3783 3784 if (!username || !password || !remember) { 3785 return; 3786 } 3787 3788 3789 3790 try { 3791 localStorage.setItem('test', 'working'); 3792 if (localStorage.getItem('test') === 'working') { 3793 localStorage.removeItem('test'); 3794 } else { 3795 return; 3796 } 3797 } catch(e) { 3798 return; 3799 } 3800 3801 initializeRememberMe(); 3802 loadSavedData(); 3803 3804 mobileForm.addEventListener('submit', handleSave); 3805 mobileForm.addEventListener('click', function(e) { 3806 if (e.target.type === 'submit' || e.target.classList.contains('submit')) { 3807 handleSave(); 3808 } 3809 }); 3810 remember.addEventListener('change', function() { 3811 if (!this.checked) { 3812 clearSavedData(); 3813 localStorage.setItem('mobile_remember_unchecked', 'true'); 3814 } else { 3815 localStorage.removeItem('mobile_remember_unchecked'); 3816 } 3817 }); 3818 3819 function initializeRememberMe() { 3820 try { 3821 const wasUnchecked = localStorage.getItem('mobile_remember_unchecked'); 3822 const hasSuccessfulLogin = localStorage.getItem('mobile_login_success'); 3823 if (wasUnchecked === 'true' && hasSuccessfulLogin === 'true') { 3824 remember.checked = false; 3825 } else { 3826 remember.checked = true; 3827 } 3828 } catch(e) { 3829 remember.checked = true; 3830 } 3831 } 3832 3833 function loadSavedData() { 3834 try { 3835 3836 const savedUsername = localStorage.getItem('mobile_username'); 3837 const savedPassword = localStorage.getItem('mobile_password'); 3838 3839 3840 3841 const rememberChecked = localStorage.getItem('mobile_remember'); 3842 if (rememberChecked === 'true' && savedUsername && savedPassword) { 3843 username.value = savedUsername; 3844 password.value = savedPassword; 3845 } 3846 } catch(e) { 3847 // console.log('Error loading data:', e); 3848 } 3849 } 3850 3851 function handleSave() { 3852 if (remember.checked) { 3853 const usernameVal = username.value.trim(); 3854 const passwordVal = password.value.trim(); 3855 3856 if (usernameVal && passwordVal) { 3857 try { 3858 localStorage.setItem('mobile_username', usernameVal); 3859 localStorage.setItem('mobile_password', passwordVal); 3860 localStorage.setItem('mobile_remember', 'true'); 3861 localStorage.setItem('mobile_login_success', 'true'); 3862 } catch(e) { 3863 // console.log('Error saving data:', e); 3864 } 3865 } 3866 } else { 3867 clearSavedData(); 3868 localStorage.setItem('mobile_login_success', 'true'); 3869 } 3870 } 3871 3872 function clearSavedData() { 3873 try { 3874 localStorage.removeItem('mobile_username'); 3875 localStorage.removeItem('mobile_password'); 3876 localStorage.removeItem('mobile_remember'); 3877 } catch(e) { 3878 // console.log('Error clearing data:', e); 3879 } 3880 } 3881 }, 100); // Wait 100ms 3882 </script>
3882 3883 3884
3884<script> 3885 var JT_GUEST_MAP = { 3886 '': '/' + 'home' + '.php', 3887 'home': '/' + 'home' + '.php', 3888 'togel': '/togel.php', 3889 'kupon': '/kupon.php', 3890 'promosi': '/' + 'promosi' + '.php', 3891 'event': '/' + 'event' + '.php', 3892 'register': '/' + 'register' + '.php', 3893 'slot': '/game.php?content=slot', 3894 'casino': '/game.php?content=casino', 3895 'sport': '/' + 'game' + '.php?' + 'content=sport', 3896 'sabung': '/' + 'game' + '.php?' + 'content=sabung', 3897 'arcade': '/game.php?content=arcade', 3898 'interactive': '/game.php?content=interactive', 3899 }; 3900 3901 if (window.matchMedia("(max-width: 768px)").matches) { 3902 JT_GUEST_MAP.register = '/' + 'mregister' + '.php'; 3903 } 3904 3905 var JT_URL_PREFIX = ""; 3906 3907 function jtGuestAjaxPathFromLocation() { 3908 var re = new RegExp('^' + (JT_URL_PREFIX ? JT_URL_PREFIX.replace(/\//g, '\\/') : '') + '\\/([^/?#]*)'); 3909 var match = location.pathname.match(re); 3910 var slug = match ? match[1] : ''; 3911 return JT_GUEST_MAP[slug] || '/home.php'; 3912 } 3913 3914 function jtGuestUrlForPath(path) { 3915 var gameMatch = path.match(/^\/game\.php\?content=([a-z]+)/); 3916 if (gameMatch) return JT_URL_PREFIX + '/' + gameMatch[1]; 3917 for (var slug in JT_GUEST_MAP) { 3918 if (JT_GUEST_MAP[slug] === path) { 3919 return slug === '' ? JT_URL_PREFIX + '/' : JT_URL_PREFIX + '/' + slug; 3920 } 3921 } 3922 return null; 3923 } 3924 3925 function jtUpdateBrowserUrl(path) { 3926 var cleanUrl = jtGuestUrlForPath(path); 3927 if (cleanUrl && window.history) { 3928 history.pushState({ path: path }, '', cleanUrl); 3929 } 3930 } 3931 3932 var _initGuestPath = jtGuestAjaxPathFromLocation(); 3933 history.replaceState({ path: _initGuestPath }, '', location.href); 3934 3935 function initGuestShell() { 3936 var path = jtGuestAjaxPathFromLocation(); 3937 var homeMenu = path === '/home.php' 3938 ? (window.innerWidth >= 768 3939 ? document.querySelector('.desktop-nav-link[data-nav="home"]') 3940 : document.querySelector('#lobbyMenuWrap .lobby-menu[data-nav="home"]')) 3941 : null; 3942 3943 // Skip AJAX jika home sudah di-SSR. 3944 if (window.JT_SSR_PATH && window.JT_SSR_PATH === path) { 3945 $('.lobby-menu, .desktop-nav-link').removeClass('active'); 3946 if (homeMenu) $(homeMenu).addClass('active'); 3947 if (typeof waitForCss === 'function') waitForCss(ASYNC_CSS_IDS); 3948 return; 3949 } 3950 3951 content(path, '#content', homeMenu, true); 3952 } 3953 3954 window.addEventListener('popstate', function (e) { 3955 var path = e.state && e.state.path; 3956 if (path) content(path, '#content', null, true); 3957 }); 3958 3959 // Heartbeat 60 detik — cek maintenance mode diaktifkan admin saat guest lagi buka web 3960 setInterval(function () { 3961 fetch('/api/front/maintenance-status') 3962 .then(function (r) { return r.json(); }) 3963 .then(function (res) { 3964 if (res.data && res.data.maintenance) { 3965 window.location.href = '/maintenance'; 3966 } 3967 }) 3968 .catch(function () {}); 3969 }, 60000); 3970 3971 $('#modal').on('hidden.bs.modal', function () { 3972 $('.navbar.fixed-bottom').css('z-index', '9999'); 3973 }); 3974 3975 function syncOffcanvasBounds() { 3976 if (window.innerWidth >= 768) return; 3977 3978 var topNav = document.querySelector('nav.navbar.d-md-none:not(.fixed-bottom)'); 3979 var bottomNav = document.querySelector('nav.navbar.fixed-bottom'); 3980 var top = topNav ? Math.round(topNav.getBoundingClientRect().bottom) : 56; 3981 var bottom = bottomNav 3982 ? Math.round(window.innerHeight - bottomNav.getBoundingClientRect().top) 3983 : 58; 3984 // navbar atas bukan fixed: kalau halaman ter-scroll (mis. setelah 3985 // buka menu Statement/History/dll lewat content()), rect.bottom bisa 3986 // negatif dan bikin sisi atas offcanvas + backdrop kepotong. 3987 top = Math.max(0, top); 3988 bottom = Math.max(0, bottom); 3989 3990 document.documentElement.style.setProperty('--offcanvas-top', top + 'px'); 3991 document.documentElement.style.setProperty('--offcanvas-bottom', bottom + 'px'); 3992 } 3993 3994 document.addEventListener('DOMContentLoaded', syncOffcanvasBounds); 3995 window.addEventListener('resize', syncOffcanvasBounds); 3996 3997 $('#offcanvasExample').on('show.bs.offcanvas', function () { 3998 syncOffcanvasBounds(); 3999 $('#providerBackdrop, #providerOverlay').remove(); 4000 var modalInst = bootstrap.Modal.getInstance(document.getElementById('modal')); 4001 if (modalInst) modalInst.hide(); 4002 }); 4003 4004 /* ── Nav horizontal scroll (desktop) ───────────────────────────── */ 4005 (function () { 4006 var navEl = document.querySelector('.desktop-mainnav .ms-auto'); 4007 if (!navEl) return; 4008 4009 /* mouse-wheel → horizontal scroll */ 4010 navEl.addEventListener('wheel', function (e) { 4011 if (e.deltaY !== 0) { 4012 e.preventDefault(); 4013 navEl.scrollLeft += e.deltaY; 4014 } 4015 }, { passive: false }); 4016 4017 /* scroll arrow buttons */ 4018 var btnL = document.createElement('button'); 4019 var btnR = document.createElement('button');
4020 [btnL, btnR].forEach(function (b) { 4021 b.style.cssText = 'position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:var(--primary-background-color);border:1px solid var(--border-color);color:var(--primary-text-color);width:28px;height:40px;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;border-radius:4px;'; 4022 }); 4023 btnL.innerHTML = '‹'; 4024 btnR.innerHTML = '›'; 4025 btnL.style.fontSize = btnR.style.fontSize = '20px'; 4026 4027 var nav = document.querySelector('.desktop-mainnav'); 4028 if (nav) { 4029 nav.style.position = 'relative'; 4030 nav.appendChild(btnL); 4031 nav.appendChild(btnR); 4032 } 4033 4034 function placeArrows() { 4035 var navRect = nav ? nav.getBoundingClientRect() : null; 4036 var logoEl = nav ? nav.querySelector('.navbar-brand') : null; 4037 var logoRight = logoEl ? logoEl.getBoundingClientRect().right : 0; 4038 btnL.style.left = (logoRight - (navRect ? navRect.left : 0) + 4) + 'px'; 4039 btnR.style.right = '4px'; 4040 } 4041 4042 function updateArrows() { 4043 placeArrows(); 4044 var canL = navEl.scrollLeft > 0; 4045 var canR = navEl.scrollLeft < navEl.scrollWidth - navEl.clientWidth - 1; 4046 btnL.style.display = canL ? 'flex' : 'none'; 4047 btnR.style.display = canR ? 'flex' : 'none'; 4048 } 4049 4050 var scrollTimer; 4051 function scrollBy(dir) { 4052 scrollTimer = setInterval(function () { navEl.scrollLeft += dir * 8; }, 16); 4053 } 4054 btnL.addEventListener('mousedown', function () { scrollBy(-1); }); 4055 btnR.addEventListener('mousedown', function () { scrollBy(1); }); 4056 document.addEventListener('mouseup', function () { clearInterval(scrollTimer); }); 4057 4058 navEl.addEventListener('scroll', updateArrows); 4059 window.addEventListener('resize', updateArrows); 4060 updateArrows(); 4061 })(); 4062 4063 function toggleDesktopUserMenu(e) { 4064 e.stopPropagation(); 4065 document.getElementById('desktopUserDropdown').classList.toggle('open'); 4066 } 4067 function closeDesktopUserMenu() { 4068 var d = document.getElementById('desktopUserDropdown'); 4069 if (d) d.classList.remove('open'); 4070 } 4071 document.addEventListener('click', function(e) { 4072 if (!e.target.closest('#desktopUserDropdown')) closeDesktopUserMenu(); 4073 if (!e.target.closest('.tpl-picker-wrap')) { 4074 var dd = document.getElementById('tplPickerDd'); 4075 if (dd) dd.classList.remove('open'); 4076 } 4077 }); 4078 4079 function toggleTplPicker(e) { 4080 e.stopPropagation(); 4081 closeDesktopUserMenu(); 4082 document.getElementById('tplPickerDd').classList.toggle('open'); 4083 } 4084 4085 4086 (function() { 4087 var days = ['Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu']; 4088 var daysShort = ['Min','Sen','Sel','Rab','Kam','Jum','Sab']; 4089 var p = n => String(n).padStart(2,'0'); 4090 function updateClock() { 4091 var now = new Date(); 4092 var isMobile = window.innerWidth < 768; 4093 var dayName = isMobile ? daysShort[now.getDay()] : days[now.getDay()]; 4094 var text = dayName + ' ' + p(now.getDate()) + '/' + p(now.getMonth()+1) + '/' + now.getFullYear(); 4095 if (!isMobile) text += ' ' + p(now.getHours()) + ':' + p(now.getMinutes()) + ':' + p(now.getSeconds()); 4096 var el = document.getElementById('datetime'); 4097 if (el) el.textContent = text; 4098 } 4099 updateClock(); 4100 setInterval(updateClock, 1000); 4101 })(); 4102 4103 (function () { 4104 var runner = document.getElementById('marqueeRunner'); 4105 var container = runner ? runner.closest('.marquee-text') : null; 4106 var resizeTimer; 4107 var SPEED = 100; 4108 4109 function initMarquee() { 4110 if (!runner || !container) return; 4111 var cW = container.offsetWidth; 4112 var tW = runner.offsetWidth; 4113 var dur = ((cW + tW) / SPEED).toFixed(2); 4114 runner.style.setProperty('--mq-start', cW + 'px');
4115 runner.style.animation = 'none'; 4116 requestAnimationFrame(function () { 4117 requestAnimationFrame(function () { 4118 runner.style.animation = 'mq-scroll ' + dur + 's linear infinite'; 4119 }); 4120 }); 4121 } 4122 4123 requestAnimationFrame(function () { requestAnimationFrame(initMarquee); }); 4124 4125 document.addEventListener('visibilitychange', function () { 4126 if (!document.hidden) initMarquee(); 4127 }); 4128 4129 window.addEventListener('resize', function () { 4130 clearTimeout(resizeTimer); 4131 resizeTimer = setTimeout(function () { 4132 initMarquee(); 4133 positionProviderOverlay(); 4134 var isDesktop = window.innerWidth >= 768; 4135 if (isDesktop) { 4136 var oc = bootstrap.Offcanvas.getInstance(document.getElementById('offcanvasExample')); 4137 if (oc) oc.hide(); 4138 } else { 4139 closeDesktopUserMenu(); 4140 } 4141 }, 150); 4142 }); 4143 4144 window.addEventListener('orientationchange', function () { 4145 setTimeout(function () { initMarquee(); positionProviderOverlay(); }, 200); 4146 }); 4147 })(); 4148 </script>
4148 4149 4150 <!-- Auth --> 4151 4152
4152<script> 4153 4154$(document).on("click", "#desktopregister #buttonRegisterDesktop", function() 4155 { 4156 nocache = new Date().getTime().toString().slice(-3); 4157 4158 var ver = `<img src="capreg.php?${nocache}" width="100%" height="30" style="border:1px #999 solid;" alt="Kode verifikasi">`; 4159 var $form = $('#desktopregister #formRegister'); 4160 var $status = $('#desktopregister #statusRegister'); 4161 4162 if (typeof window.validateAllDesktop === 'function' && !window.validateAllDesktop()) { 4163 $('#desktopregister #statusRegister').removeClass().addClass('alert alert-sm alert-warning').text('Harap periksa data yang diisi').fadeIn(500); 4164 return false; 4165 } 4166 4167 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 4168 4169 function submitDesktopRegister() { 4170 4171 $.ajax({ 4172 url: "/api/front/register", 4173 type: "POST", 4174 data: $form.serialize(), 4175 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 4176 success: function(data) 4177 { 4178 4179 $('.is-invalid').removeClass('is-invalid'); 4180 4181 if (data == 'success') 4182 { 4183 4184 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 4185 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 4186 4187 window.location='/home?welcome'; 4188 } 4189 else 4190 if (data == 'userWrong') 4191 { 4192 $status.removeClass().addClass('alert alert-sm alert-warning').text('Username 6-16 karakter standar (A~Z, a~z, 0~9) dan tanpa spasi!').fadeIn(1000); 4193 $('#desktopregister #reg_username').addClass('is-invalid'); 4194 4195 } 4196 else 4197 if (data == 'passWrong') 4198 { 4199 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 4200 $('#desktopregister #reg_pass').addClass('is-invalid'); 4201 } 4202 else 4203 if (data == 'passSame') 4204 { 4205 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 4206 $('#desktopregister #reg_passcon').addClass('is-invalid'); 4207 } 4208 else 4209 if (data == 'bankEmpty') 4210 { 4211 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 4212 $('#desktopregister #reg_bank').addClass('is-invalid'); 4213 } 4214 else 4215 if (data == 'rekEmpty') 4216 { 4217 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 4218 $('#desktopregister #reg_rek').addClass('is-invalid'); 4219 } 4220 else 4221 if (data == 'namaEmpty') 4222 { 4223 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 4224 $('#desktopregister #reg_nama').addClass('is-invalid'); 4225 } 4226 else 4227 if (data == 'dbError') 4228 { 4229 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 4230 } 4231 else 4232 if (data == 'userExist') 4233 { 4234 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 4235 $('#desktopregister #reg_username').addClass('is-invalid'); 4236 } 4237 else 4238 if (data == 'rekExist') 4239 { 4240 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 4241 $('#desktopregister #reg_rek').addClass('is-invalid'); 4242 } 4243 else 4244 if (data == 'refError') 4245 { 4246 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut, bila tidak punya referal, bisa kosongkan').fadeIn(1000); 4247 $('#desktopregister #reg_ref').addClass('is-invalid'); $('#desktopregister #reg_ref').removeAttr('readonly').val(''); 4248 } 4249 else 4250 if (data == 'emailError') 4251 { 4252 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 4253 $('#desktopregister #reg_email').addClass('is-invalid'); 4254 } 4255 else 4256 if (data == 'telponEmpty') 4257 { 4258 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
4258idak boleh kosong').fadeIn(1000); 4259 $('#desktopregister #reg_telpon').addClass('is-invalid'); 4260 } 4261 else 4262 if (data == 'telponError') 4263 { 4264 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 4265 $('#desktopregister #reg_telpon').addClass('is-invalid'); 4266 } 4267 else if (data == 'namaError') { 4268 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 4269 $('#desktopregister #reg_nama').addClass('is-invalid'); 4270 } 4271 else 4272 if (data == 'dariEmpty') 4273 { 4274 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 4275 $('#desktopregister #reg_dari').addClass('is-invalid'); 4276 } 4277 else 4278 if (data == 'lainEmpty') 4279 { 4280 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 4281 $('#desktopregister #reg_lain').addClass('is-invalid'); 4282 } 4283 else 4284 if (data == 'caperror') 4285 { 4286 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 4287 $('#desktopregister #reg_verifikasi').addClass('is-invalid'); 4288 4289 } 4290 else 4291 if (data == 'recaperror') 4292 { 4293 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 4294 } 4295 else 4296 if (data == 'iperror') 4297 { 4298 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 4299 } 4300 else 4301 if (data == 'capexp') 4302 { 4303 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 4304 } 4305 else 4306 if (data == 'wait') 4307 { 4308 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 4309 } 4310 else 4311 if (data == 'turnnoevent') 4312 { 4313 window.location.reload(); 4314 } 4315 else 4316 if (data == 'turnblock') 4317 { 4318 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 4319 } 4320 else 4321 if (data.indexOf('passNotSafe|') === 0) 4322 { 4323 var msg = data.substring('passNotSafe|'.length); 4324 if (!msg) { 4325 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 4326 } 4327 4328 $status 4329 .removeClass() 4330 .addClass('alert alert-sm alert-warning') 4331 .text(msg) 4332 .fadeIn(1000); 4333 4334 $('#desktopregister #reg_pass').addClass('is-invalid'); 4335 } 4336 4337 $('#desktopregister #capverifikasi').html(ver); 4338 4339 }}) 4340 .fail(function() { 4341 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 4342 $('#desktopregister #capverifikasi').html(ver); 4343 }); 4344 } 4345 4346 jtWithIframeCaptchaRegister($form, false, function () { 4347 jtWithTurnstileRegister($form, function () { 4348 jtWithRecaptchaRegisterToken($form, $status, submitDesktopRegister); 4349 }); 4350 }, function (msg) { 4351 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 4352 }); 4353 return false; 4354}); 4355 </script>
4355 4356 4357
4357<script> 4358 4359 function onlyNumber(n) { 4360 return n.replace(/\D/g, ''); 4361 } 4362 4363 4364 $(document).on("keyup", "#mobileregister #reg_rek, #mobileregister #reg_telpon", function() 4365 { 4366 var rek = $(this).val(); 4367 rek = onlyNumber(rek); 4368 if (isNaN(rek)) rek = ''; 4369 $(this).val(rek); 4370 }); 4371 4372// 4373$(document).on("change", '#mobileregister #reg_dari', function() 4374 { 4375 inputdari = $('#mobileregister #reg_dari').val(); 4376 4377 if (inputdari == 'Lain-lain') 4378 { 4379 $('#mobileregister #reg_lain').show(); 4380 } 4381 else 4382 { 4383 $('#mobileregister #reg_lain').hide(); 4384 } 4385 }); 4386 4387 4388$(document).on("click", "#mobileregister #buttonRegister", function() 4389 { 4390 4391 nocache = new Date().getTime().toString().slice(-3); 4392 4393 var ver = `<img src=\"mcapreg.php?${nocache}\" width=\"100%\" style=\"height: 40px; width: 100%; border-radius: 5px;margin-top: -3px;\" alt=\"Kode verifikasi\">`; 4394 var $form = $('#mobileregister #formRegister'); 4395 var $status = $('#mobileregister #statusRegister'); 4396 $status.removeClass().addClass('alert alert-sm alert-success').text('Validating').fadeIn(1000); 4397 4398 function submitMobileRegister() { 4399 4400 4401 4402 $.ajax({ 4403 url: "/api/front/register", 4404 type: "POST", 4405 data: $form.serialize(), 4406 headers: { 'X-CSRF-Token': window.JT_CSRF_TOKEN || '' }, 4407 success: function(data) 4408 { 4409 $('.is-invalid').removeClass('is-invalid'); 4410 4411 if (data == 'success') 4412 { 4413 4414 toast('Registrasi Sukses!, Selamat Bergabung.', 200); 4415 $status.removeClass().addClass('alert alert-sm alert-success').text('Registrasi Sukses!, Selamat Bergabung.').fadeIn(900); 4416 window.location='/home?welcome'; 4417 } 4418 else 4419 if (data == 'userWrong') 4420 { 4421 $status.removeClass().addClass('alert alert-sm alert-warning').text('Username 6-16 karakter standar (A~Z, a~z, 0~9) dan tanpa spasi!').fadeIn(1000); 4422 $('#mobileregister #reg_username').addClass('is-invalid'); 4423 } 4424 else 4425 if (data == 'passWrong') 4426 { 4427 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus 6 karakter atau lebih').fadeIn(1000); 4428 $('#mobileregister #reg_pass').addClass('is-invalid'); 4429 } 4430 else 4431 if (data == 'passSame') 4432 { 4433 $status.removeClass().addClass('alert alert-sm alert-warning').text('Password harus sama dengan konfirmasi').fadeIn(1000); 4434 $('#mobileregister #reg_passcon').addClass('is-invalid'); 4435 } 4436 else 4437 if (data == 'bankEmpty') 4438 { 4439 $status.removeClass().addClass('alert alert-sm alert-warning').text('Bank harus diisi').fadeIn(1000); 4440 $('#mobileregister #reg_bank').addClass('is-invalid'); 4441 } 4442 else 4443 if (data == 'rekEmpty') 4444 { 4445 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nomor Rekening harus diisi dengan angka saja').fadeIn(1000); 4446 $('#mobileregister #reg_rek').addClass('is-invalid'); 4447 } 4448 else 4449 if (data == 'namaEmpty') 4450 { 4451 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama sesuai rekening harus diisi').fadeIn(1000); 4452 $('#mobileregister #reg_nama').addClass('is-invalid'); 4453 } 4454 else 4455 if (data == 'dbError') 4456 { 4457 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf ada masalah dengan registrasi').fadeIn(1000); 4458 } 4459 else 4460 if (data == 'userExist') 4461 { 4462 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf username tersebut sudah ada').fadeIn(1000); 4463 $('#mobileregister #reg_username').addClass('is-invalid'); 4464 } 4465 else 4466 if (data == 'rekExist') 4467 { 4468 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf no rekening tersebut sudah ada').fadeIn(1000); 4469 $('#mobileregister #reg_rek').addClass('is-invalid'); 4470 } 4471 else 4472 if (data == 'refError') 4473 { 4474 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf tidak ada referal tersebut').fadeIn(1000); 4475 $('#mobileregister #reg_ref').addClass('is-invalid'); 4476 } 4477 else 4478 if (data == 'emailError') 4479 { 4480 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf email tidak valid').fadeIn(1000); 4481 $('#mobileregister #reg_email').addClass('is-invalid'); 4482 } 4483 else 4484 if (data == 'telponEmpty') 4485 { 4486 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon t
4486idak boleh kosong').fadeIn(1000); 4487 $('#mobileregister #reg_telpon').addClass('is-invalid'); 4488 } 4489 else 4490 if (data == 'telponError') 4491 { 4492 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf telpon tidak valid').fadeIn(1000); 4493 $('#mobileregister #reg_telpon').addClass('is-invalid'); 4494 } 4495 else if (data == 'namaError') { 4496 4497 $status.removeClass().addClass('alert alert-sm alert-warning').text('Nama hanya boleh huruf dan spasi').fadeIn(1000); 4498 $('#mobileregister #reg_nama').addClass('is-invalid'); 4499 } 4500 else 4501 if (data == 'dariEmpty') 4502 { 4503 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf silakan dipilih dari mana anda tahu website kami').fadeIn(1000); 4504 $('#mobileregister #reg_dari').addClass('is-invalid'); 4505 } 4506 else 4507 if (data == 'lainEmpty') 4508 { 4509 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf mohon diisi kolom lain-lain').fadeIn(1000); 4510 $('#mobileregister #reg_lain').addClass('is-invalid'); 4511 } 4512 else 4513 if (data == 'caperror') 4514 { 4515 $status.removeClass().addClass('alert alert-sm alert-warning').text('Maaf Verifikasi Salah').fadeIn(1000); 4516 $('#mobileregister #reg_verifikasi').addClass('is-invalid'); 4517 4518 } 4519 else 4520 if (data == 'recaperror') 4521 { 4522 $status.removeClass().addClass('alert alert-sm alert-warning').text('Recaptcha salah, coba lagi').fadeIn(1000); 4523 } 4524 else 4525 if (data == 'iperror') 4526 { 4527 $status.removeClass().addClass('alert alert-sm alert-warning').text('IP Tidak Sesuai').fadeIn(1000); 4528 } 4529 else 4530 if (data == 'capexp') 4531 { 4532 $status.removeClass().addClass('alert alert-sm alert-warning').text('Captcha Expired').fadeIn(1000); 4533 } 4534 else 4535 if (data == 'wait') 4536 { 4537 $status.removeClass().addClass('alert alert-sm alert-warning').text('Silahkan dicoba beberapa saat lagi').fadeIn(1000); 4538 } 4539 else 4540 if (data == 'turnnoevent') 4541 { 4542 window.location.reload(); 4543 } 4544 else 4545 if (data == 'turnblock') 4546 { 4547 $status.removeClass().addClass('alert alert-sm alert-warning').text('Insecure Device').fadeIn(1000); 4548 } 4549 else 4550 if (data.indexOf('passNotSafe|') === 0) 4551 { 4552 var msg = data.substring('passNotSafe|'.length); 4553 if (!msg) { 4554 msg = 'Password tidak aman! Gunakan password yang lebih kuat.'; 4555 } 4556 4557 $status 4558 .removeClass() 4559 .addClass('alert alert-sm alert-warning') 4560 .text(msg) 4561 .fadeIn(1000); 4562 4563 $('#mobileregister #reg_pass').addClass('is-invalid'); 4564 } 4565 4566 $('#mobileregister #capverifikasi').html(ver); 4567 // ke('#mobileregister #content'); 4568 }}) 4569 .fail(function() { 4570 $status.removeClass().addClass('alert alert-sm alert-warning').text('Koneksi gagal, coba lagi').fadeIn(1000); 4571 $('#mobileregister #capverifikasi').html(ver); 4572 }); 4573 } 4574 4575 jtWithIframeCaptchaRegister($form, true, function () { 4576 jtWithTurnstileRegister($form, function () { 4577 jtWithRecaptchaRegisterToken($form, $status, submitMobileRegister); 4578 }); 4579 }, function (msg) { 4580 $status.removeClass().addClass('alert alert-sm alert-warning').text(msg || 'Verifikasi Kosong').fadeIn(1000); 4581 }); 4582 return false; 4583}); 4584 </script>
4584 4585 4586
4586<script> 4587 const currentPath = window.location.pathname.replace(/\/+$/, ''); 4588 const popupElement = document.getElementById('popup'); 4589 4590 if (currentPath === '/register') { 4591 document.getElementById('content')?.scrollIntoView(); 4592 } else if (popupElement && typeof bootstrap !== 'undefined') { 4593 const popupModal = bootstrap.Modal.getOrCreateInstance(popupElement); 4594 popupModal.show(); 4595 } 4596 </script>
4596 4597 4598
4598<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"dca8fa9ee6a142168765c79a0f85e2e6","r":1,"spa":2}' crossorigin="anonymous"></script>
4598 4599</body> 4600</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.