/*! 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 Roobet apžvalga atskleidžianti unikalius laimėjimų paslaptis – InfoNile
skip to Main Content

Roobet apžvalga atskleidžianti unikalius laimėjimų paslaptis

Roobet apžvalga: nuotykių pasaulis, kur laimėjimai laukia kiekviename žingsnyje

Pastaraisiais metais internetinės lošimų platformos sulaukė didelio populiarumo, o Roobet kazino yra vienas iš jų. Šiame straipsnyje pateiksime išsamią Roobet apžvalgą, kurioje aptarsime, kodėl šis kazino tapo tiek mėgstamas, kaip jis veikia ir ką reikia žinoti prieš prisijungiant.

Turiu sumanyti, kodėl pasirinkti Roobet

  • Įvairūs žaidimų variantai
  • Pati geriausia vartotojų patirtis
  • Kupono ir premijų pasirinkimai
  • Patikimumas ir saugumas
  • Beveik visos žaidimų kategorijos po vienu stogu

Turinio santrauka

  1. Kas yra Roobet?
  2. Roobet žaidimų įvairovė
  3. Premijos ir kampanijos
  4. Kiek tai saugus?
  5. Kaip prisijungti prie Roobet?
  6. Dažni klausimai

Kas yra Roobet?

Roobet yra internetinis kazino, kuris išsiskiria savo unikaliu dizainu, žaidimų pasirinkimu ir bendru neįtikėtinu vartotojų patyrimu. Jis siūlo žaidimus, kurie tinka tiek pradedantiesiems, tiek patyrusiems žaidėjams. Kazino veikla yra reglamentuojama ir jame veikia speciali komanda, užtikrinanti lošimų saugumą ir sąžiningumą.

Istorija ir įkūrimas

Roobet buvo įkurtas 2018 metais ir per trumpą laiką tapo žinomas dėl savo inovatyvių sprendimų ir nuolatinių atnaujinimų. Jis siūlo žaidimus įvairiose kategorijose, nuo tradicinių kazino žaidimų iki modernių lošimo automatų.

Roobet žaidimų įvairovė

Roobet kazino turi platų žaidimų asortimentą, kuris apima:

  • Lošimo automatus: Beveik visos žinomiausios žaidimų kompanijos siūlo savo žaidimus čia.
  • Kortų žaidimai: Blackjack, pokeris, baccarat – kiekvienas ras savo mėgstamą variantą.
  • Stalo žaidimai: Tradiciniai kazino žaidimai, tokie kaip ruletė, yra paprasti ir lengvai suprantami.
  • Vivos kazino: Realūs krupje žaidžia gyvai, suteikdami tikrą kazino jausmą.

Inovatyvūs lošimo sprendimai

Roobet siūlo unikalias lošimo sistemas, tokias kaip provably fair žaidimai, leidžiantys žaidėjams patikrinti, ar žaidimų rezultatai yra sąžiningi. Ši funkcija leidžia vartotojams jaustis labiau užtikrintiems dėl savo laimėjimų.

Premijos ir kampanijos

Vienas iš pagrindinių Roobet kazino privalumų yra premijos ir įvairios akcijos. Žaidėjai gali pasinaudoti įvairiomis premijomis, kurių dėka galima gauti papildomų lėšų žaidimams.

Pasveikinimo premija

Naujiesiems žaidėjams Roobet siūlo pasveikinimo premiją, kuri padeda jiems pradėti savo nuotykius kazino. Ši premija gali siekti 100% pirmo depozito suma.

Reguliarūs turnyrai

Roobet reguliariai organizuoja turnyrus, kurių metu žaidėjai gali varžytis dėl didelių prizų. Šie turnyrai pritraukia daugianacionalinę konkurenciją, todėl žaidėjai gali išbandyti savo įgūdžius.

Kiek tai saugus?

Kalbant apie saugumą, Roobet prisiima savo atsakomybę. Kazino naudoja naujausias šifravimo technologijas, kad apsaugotų vartotojų informaciją ir finansinius duomenis. Taip pat, jie kiekvienais metais atlieka nepriklausomus auditų patikrinimus.

Licencija ir reglamentavimas

Roobet kazino turi galiojančią licenciją, leidžiančią jiems legaliai teikti lošimų paslaugas. Tai yra svarbus aspektas, kuris leidžia vartotojams jaustis saugiai ir patikimai žaisti šioje platformoje.

Kaip prisijungti prie Roobet?

Norint pradėti žaisti Roobet, reikės sukurti paskyrą:

  1. Užeikite į Roobet svetainę.
  2. Paspauskite „Registruotis“ mygtuką.
  3. Užpildykite reikalingą informaciją.
  4. Patvirtinkite savo paskyrą el. paštu.
  5. Pradėkite žaisti!

Dažni klausimai

Ar Roobet kazino laikosi įstatymų?

Taip, Roobet laikosi visų galiojančių teisės aktų ir turi reikiamas licencijas.

Kokie mokėjimo metodai yra priimtini?

Roobet siūlo įvairius roobetlithuania.com mokėjimo metodus, tokius kaip kriptovaliutos, banko kortelės ir elektroninės piniginės.

Ar galiu žaisti mobiliuoju telefonu?

Taip, Roobet kazino yra optimaliai pritaikyta mobiliesiems įrenginiams, todėl galite žaisti bet kurioje vietoje.

Apibendrinant, Roobet kazino pasižymi itin plataus spektro žaidimais, puikiais premijos pasiūlymais ir garantuojamu saugumu. Su savo inovatyvia platforma ir draugišką bendruomene, Roobet yra puikus pasirinkimas visiems, ieškantiems nuotykių lošimų pasaulyje.

Discussion

Back To Top
Search