/*! elementor-pro - v3.28.0 - 30-03-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["woocommerce-checkout-page"],{ /***/ "../modules/woocommerce/assets/js/frontend/handlers/base.js": /*!******************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/base.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; class Base extends elementorModules.frontend.handlers.Base { getDefaultSettings() { return { selectors: { stickyRightColumn: '.e-sticky-right-column' }, classes: { stickyRightColumnActive: 'e-sticky-right-column--active' } }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { $stickyRightColumn: this.$element.find(selectors.stickyRightColumn) }; } bindEvents() { // Add our wrapper class around the select2 whenever it is opened. elementorFrontend.elements.$document.on('select2:open', event => { this.addSelect2Wrapper(event); }); } addSelect2Wrapper(event) { // The select element is recaptured every time because the markup can refresh const selectElement = jQuery(event.target).data('select2'); if (selectElement.$dropdown) { selectElement.$dropdown.addClass('e-woo-select2-wrapper'); } } isStickyRightColumnActive() { const classes = this.getSettings('classes'); return this.elements.$stickyRightColumn.hasClass(classes.stickyRightColumnActive); } activateStickyRightColumn() { const elementSettings = this.getElementSettings(), $wpAdminBar = elementorFrontend.elements.$wpAdminBar, classes = this.getSettings('classes'); let stickyOptionsOffset = elementSettings.sticky_right_column_offset || 0; if ($wpAdminBar.length && 'fixed' === $wpAdminBar.css('position')) { stickyOptionsOffset += $wpAdminBar.height(); } if ('yes' === this.getElementSettings('sticky_right_column')) { this.elements.$stickyRightColumn.addClass(classes.stickyRightColumnActive); this.elements.$stickyRightColumn.css('top', stickyOptionsOffset + 'px'); } } deactivateStickyRightColumn() { if (!this.isStickyRightColumnActive()) { return; } const classes = this.getSettings('classes'); this.elements.$stickyRightColumn.removeClass(classes.stickyRightColumnActive); } /** * Activates the sticky column * * @return {void} */ toggleStickyRightColumn() { if (!this.getElementSettings('sticky_right_column')) { this.deactivateStickyRightColumn(); return; } if (!this.isStickyRightColumnActive()) { this.activateStickyRightColumn(); } } equalizeElementHeight($element) { if ($element.length) { $element.removeAttr('style'); // First remove the custom height we added so that the new height can be re-calculated according to the content let maxHeight = 0; $element.each((index, element) => { maxHeight = Math.max(maxHeight, element.offsetHeight); }); if (0 < maxHeight) { $element.css({ height: maxHeight + 'px' }); } } } /** * WooCommerce prints the Purchase Note separated from the product name by a border and padding. * In Elementor's Order Summary design, the product name and purchase note are displayed un-separated. * To achieve this design, it is necessary to access the Product Name line before the Purchase Note line to adjust * its padding. Since this cannot be achieved in CSS, it is done in this method. * * @param {Object} $element * * @return {void} */ removePaddingBetweenPurchaseNote($element) { if ($element) { $element.each((index, element) => { jQuery(element).prev().children('td').addClass('product-purchase-note-is-below'); }); } } /** * `elementorPageId` and `elementorWidgetId` are added to the url in the `_wp_http_referer` input which is then * received when WooCommerce does its cart and checkout ajax requests e.g `update_order_review` and `update_cart`. * These query strings are extracted from the url and used in our `load_widget_before_wc_ajax` method. */ updateWpReferers() { const selectors = this.getSettings('selectors'), wpHttpRefererInputs = this.$element.find(selectors.wpHttpRefererInputs), url = new URL(document.location); url.searchParams.set('elementorPageId', elementorFrontend.config.post.id); url.searchParams.set('elementorWidgetId', this.getID()); wpHttpRefererInputs.attr('value', url); } } exports["default"] = Base; /***/ }), /***/ "../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js": /*!***************************************************************************!*\ !*** ../modules/woocommerce/assets/js/frontend/handlers/checkout-page.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _base = _interopRequireDefault(__webpack_require__(/*! ./base */ "../modules/woocommerce/assets/js/frontend/handlers/base.js")); class Checkout extends _base.default { getDefaultSettings() { const defaultSettings = super.getDefaultSettings(...arguments); return { selectors: { ...defaultSettings.selectors, container: '.elementor-widget-woocommerce-checkout-page', loginForm: '.e-woocommerce-login-anchor', loginSubmit: '.e-woocommerce-form-login-submit', loginSection: '.e-woocommerce-login-section', showCouponForm: '.e-show-coupon-form', couponSection: '.e-coupon-anchor', showLoginForm: '.e-show-login', applyCoupon: '.e-apply-coupon', checkoutForm: 'form.woocommerce-checkout', couponBox: '.e-coupon-box', address: 'address', wpHttpRefererInputs: '[name="_wp_http_referer"]' }, classes: defaultSettings.classes, ajaxUrl: elementorProFrontend.config.ajaxurl }; } getDefaultElements() { const selectors = this.getSettings('selectors'); return { ...super.getDefaultElements(...arguments), $container: this.$element.find(selectors.container), $loginForm: this.$element.find(selectors.loginForm), $showCouponForm: this.$element.find(selectors.showCouponForm), $couponSection: this.$element.find(selectors.couponSection), $showLoginForm: this.$element.find(selectors.showLoginForm), $applyCoupon: this.$element.find(selectors.applyCoupon), $loginSubmit: this.$element.find(selectors.loginSubmit), $couponBox: this.$element.find(selectors.couponBox), $checkoutForm: this.$element.find(selectors.checkoutForm), $loginSection: this.$element.find(selectors.loginSection), $address: this.$element.find(selectors.address) }; } bindEvents() { super.bindEvents(...arguments); this.elements.$showCouponForm.on('click', event => { event.preventDefault(); this.elements.$couponSection.slideToggle(); }); this.elements.$showLoginForm.on('click', event => { event.preventDefault(); this.elements.$loginForm.slideToggle(); }); this.elements.$applyCoupon.on('click', event => { event.preventDefault(); this.applyCoupon(); }); this.elements.$loginSubmit.on('click', event => { event.preventDefault(); this.loginUser(); }); elementorFrontend.elements.$body.on('updated_checkout', () => { this.applyPurchaseButtonHoverAnimation(); this.updateWpReferers(); }); } onInit() { super.onInit(...arguments); this.toggleStickyRightColumn(); this.updateWpReferers(); this.equalizeElementHeight(this.elements.$address); // Equalize
boxes height if (elementorFrontend.isEditMode()) { this.elements.$loginForm.show(); this.elements.$couponSection.show(); this.applyPurchaseButtonHoverAnimation(); } } onElementChange(propertyName) { if ('sticky_right_column' === propertyName) { this.toggleStickyRightColumn(); } } onDestroy() { super.onDestroy(...arguments); this.deactivateStickyRightColumn(); } applyPurchaseButtonHoverAnimation() { const purchaseButtonHoverAnimation = this.getElementSettings('purchase_button_hover_animation'); if (purchaseButtonHoverAnimation) { // This element is recaptured every time because the checkout markup can refresh jQuery('#place_order').addClass('elementor-animation-' + purchaseButtonHoverAnimation); } } applyCoupon() { // Wc_checkout_params is required to continue, ensure the object exists // eslint-disable-next-line camelcase if (!wc_checkout_params) { return; } this.startProcessing(this.elements.$couponBox); const data = { // eslint-disable-next-line camelcase security: wc_checkout_params.apply_coupon_nonce, coupon_code: this.elements.$couponBox.find('input[name="coupon_code"]').val() }; jQuery.ajax({ type: 'POST', // eslint-disable-next-line camelcase url: wc_checkout_params.wc_ajax_url.toString().replace('%%endpoint%%', 'apply_coupon'), context: this, data, success(code) { jQuery('.woocommerce-error, .woocommerce-message').remove(); this.elements.$couponBox.removeClass('processing').unblock(); if (code.includes('woocommerce-error') || code.includes('does not exist')) { jQuery('html, body').animate({ scrollTop: 0 }, 'fast'); } if (code) { this.elements.$checkoutForm.before(code); this.elements.$couponSection.slideUp(); elementorFrontend.elements.$body.trigger('applied_coupon_in_checkout', [data.coupon_code]); elementorFrontend.elements.$body.trigger('update_checkout', { update_shipping_method: false }); } }, dataType: 'html' }); } loginUser() { this.startProcessing(this.elements.$loginSection); const data = { action: 'elementor_woocommerce_checkout_login_user', username: this.elements.$loginSection.find('input[name="username"]').val(), password: this.elements.$loginSection.find('input[name="password"]').val(), nonce: this.elements.$loginSection.find('input[name="woocommerce-login-nonce"]').val(), remember: this.elements.$loginSection.find('input#rememberme').prop('checked') }; jQuery.ajax({ type: 'POST', url: this.getSettings('ajaxUrl'), context: this, data, success(code) { code = JSON.parse(code); this.elements.$loginSection.removeClass('processing').unblock(); const messages = jQuery('.woocommerce-error, .woocommerce-message'); messages.remove(); if (code.logged_in) { location.reload(); } else { this.elements.$checkoutForm.before(code.message); elementorFrontend.elements.$body.trigger('checkout_error', [code.message]); } } }); } startProcessing($form) { if ($form.is('.processing')) { return; } /** * .block() is from a jQuery blockUI plugin loaded by WooCommerce. This code is based on WooCommerce * core in order for the Checkout widget to behave the same as WooCommerce Checkout pages. */ $form.addClass('processing').block({ message: null, overlayCSS: { background: '#fff', opacity: 0.6 } }); } } exports["default"] = Checkout; /***/ }) }]); //# sourceMappingURL=woocommerce-checkout-page.470384546c61ebcaa89d.bundle.js.map De Opwindende Wereld van Roo Bet Casino – InfoNile
skip to Main Content

De Opwindende Wereld van Roo Bet Casino

De Opwindende Wereld van Roo Bet Casino

Welkom in de fascinerende wereld van Roo Bet Casino, waar spanning en entertainment samenkomen in een ongeëvenaarde online speelervaring. In dit artikel duiken we diep in wat dit casino te bieden heeft, van de meest populaire spellen tot de bonusstructuur en unieke kenmerken die het onderscheiden van andere online casino’s.

Inhoudsopgave

Introductie tot Roo Bet Casino

Roo Bet Casino is een relatief nieuwkomer in de wereld van online gokken, maar heeft al snel een reputatie opgebouwd als een van de beste platforms voor zowel nieuwe als ervaren gokkers. Met een gebruiksvriendelijke interface en een breed scala aan spellen, biedt het casino een omgeving waar spelers zich kunnen vermaken en tegelijkertijd kans maken op grote winsten.

Populaire Spellen

Een van de roobetnederland.net grootste aantrekkingskrachten van Roo Bet Casino is de verscheidenheid aan beschikbare spellen. Hieronder volgt een overzicht van enkele van de populairste spelcategorieën:

  • Slotspellen: Van klassieke fruitautomaten tot de nieuwste video slots, de keuze is enorm. De spellen zijn ontworpen met prachtige graphics en boeiende verhalen.
  • Tafelspellen: Liefhebbers van traditionele casinospellen kunnen genieten van verschillende versies van Blackjack, Roulette en Poker.
  • Live Casino: Voor een authentieke ervaring kunnen spelers deelnemen aan live dealer spellen, waarin echte dealers de spellen leiden via een live stream.
  • Sportevenementen: Roo Bet Casino biedt ook sports betting, waardoor spelers hun favoriete sportevenementen kunnen volgen en inzetten.

Vergelijking van Populaire Slotspellen

Spelnaam Volatiliteit Maximale Uitbetaling
Starburst Laag 50.000x inzet
Gonzo’s Quest Gemiddeld 2.500x inzet
Book of Dead Hoog 5.000x inzet

Bonussen en Promoties

Bij Roo Bet Casino draait alles om beloningen. Nieuwe spelers kunnen profiteren van aantrekkelijke welkomstbonussen, terwijl bestaande spelers regelmatig worden beloond met promoties en loyaliteitsprogramma’s.

  • Welkomstbonus: Nieuwe spelers krijgen vaak een verdubbeling van hun eerste storting, wat hen een geweldige start geeft.
  • Gratis Spins: Veel slotspellen komen met gratis spins als onderdeel van promoties, wat extra kansen biedt om te winnen zonder extra kosten.
  • Loyaliteitsprogramma: Spelers kunnen punten verdienen naarmate ze meer spelen, die later kunnen worden ingewisseld voor verschillende voordelen.

Gebruikerservaring

De gebruikerservaring bij Roo Bet Casino is ongeëvenaard. Met een overzichtelijke interface kunnen spelers eenvoudig door het spelaanbod navigeren en hun favoriete spellen vinden. Ook de klantenservice is uitstekend, met meertalige ondersteuning die 24/7 beschikbaar is.

Mobiele Ervaring

Een ander sterk punt van Roo Bet Casino is de mobiele compatibiliteit. Of je nu een smartphone of tablet gebruikt, het casino is geoptimaliseerd voor een soepele speelervaring on-the-go. Spelers kunnen genieten van hun favoriete spellen waar en wanneer ze maar willen.

Veiligheid en Betrouwbaarheid

Bij Roo Bet Casino staat veiligheid hoog in het vaandel. Het casino maakt gebruik van de nieuwste encryptietechnologie om ervoor te zorgen dat de persoonlijke en financiële gegevens van spelers veilig zijn. Bovendien is het casino gelicentieerd en gereguleerd door gerenommeerde autoriteiten, wat bijdraagt aan de betrouwbaarheid.

  • Versleuteling: Alle gegevens worden versleuteld met SSL-technologie.
  • Fair Play: De spellen worden regelmatig getest op eerlijkheid door onafhankelijke instanties.
  • Verantwoord Gokken: Roo Bet Casino biedt tools voor spelers om verantwoord te gokken en te zorgen dat hun speelgedrag binnen gezonde grenzen blijft.

Conclusie

Roo Bet Casino biedt een indrukwekkende speelervaring voor zowel nieuwe als ervaren gokkers. Met een breed scala aan spellen, aantrekkelijke bonussen en een sterke focus op veiligheid, is het een uitstekende keuze voor iedereen die op zoek is naar online entertainment. Of je nu houdt van slots, tafelspellen of sports betting, bij Roo Bet Casino vind je zeker iets dat aan je wensen voldoet. Begin vandaag nog en ontdek de spannende wereld van online gokken!

Discussion

Back To Top
Search