/*! 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 Raznolikost_vegashero_v_igralniškem_okolju_in_izbira_zanimivih_možnosti_igranj – InfoNile
skip to Main Content

Raznolikost_vegashero_v_igralniškem_okolju_in_izbira_zanimivih_možnosti_igranj

🔥 Igraj ▶️

Raznolikost vegashero v igralniškem okolju in izbira zanimivih možnosti igranja

V svetu spletnih iger se pojavlja vse več platform, ki ponujajo raznoliko izkušnjo igralcem. Ena takšnih platform, ki si je pridobila pozornost, je vegashero, ki se ponaša s široko paleto iger in zanimivimi možnostmi za igralce različnih preferenc. Ta platforma ne le ponuja tradicionalne igralniške igre, ampak tudi inovativne pristope in redne promocije, ki ohranjajo igralce angažirane in zabavajo.

Spletne igralnice postajajo vse bolj priljubljene zaradi udobja, ki ga nudijo. Igralci lahko uživajo v svojih najljubših igrah iz udobja svojega doma, kjerkoli in kadarkoli. To je še posebej pomembno v današnjem hitrem tempu življenja, kjer imajo ljudje manj časa za obisk tradicionalnih igralnic. Vegashero se zaveda teh potreb in ponuja uporabniku prijazno platformo, ki je enostavna za uporabo in omogoča hiter dostop do vseh funkcij.

Raznolikost igralniške ponudbe

Izbira iger na platformi vegashero je izjemno široka in pokriva različne kategorije, ki ugajajo različnim vrstam igralcev. Od klasičnih igralniških iger, kot so ruleta, blackjack in poker, do modernih video slotov z napredno grafiko in zanimivimi bonus funkcijami, je tu nekaj za vsakega. Ponudba vključuje tudi progresivne jackpote, ki ponujajo možnost osvojitve velikih zneskov denarja, kar dodatno poveča vznemirljivost igranja.

Specializirane tematske igre

Poleg standardne ponudbe vegashero ponuja tudi specializirane tematske igre, ki so zasnovane okoli določenih motivov, kot so mitologija, fantazija ali filmski svetovi. Te igre so vizualno privlačne in ponujajo edinstveno igralno izkušnjo, ki se razlikuje od tradicionalnih igralniških iger. Razvijalci poskrbijo, da so tematske igre dobro zasnovane in so opremljene z bonus funkcijami, ki povečajo možnosti za zmago. To pritegne igralce, ki iščejo svežo in inovativno izkušnjo.

Igra
Vrsta igre
RTP (Povratek igralcu)
Minimalni vložek
Mega Joker Video slot 99% 0.10 €
Blood Suckers Video slot 98% 0.25 €
Jackpot 6000 Video slot 98.9% 0.10 €

Visok povratek igralcu (RTP) pri teh igrah pomeni, da imajo igralci večje možnosti za dolgoročno dobičkonosnost. Minimalni vložek omogoča igranje tudi igralcem z manjšim proračunom. Izbira iger je nenehno posodabljana, da se zagotovi sveža in zanimiva ponudba za igralce.

Bonus ponudbe in promocije

Vegashero je znan po izdatnih bonus ponudbah in promocijah, ki so namenjene tako novim kot obstoječim igralcem. Med najpogostejše bonuse spadajo bonus dobrodošlice, ki se podeljuje ob prvem pologu, brezplačni vrtljaji za video slot igre in bonus brez pologa, ki omogoča igralcem, da preizkusijo platformo brez vlaganja lastnega denarja. Poleg tega platforma redno organizira različne promocije, kot so turnirji, nagradne igre in tedenske ponudbe, ki omogočajo igralcem, da osvojijo dodatne nagrade.

Pogoji za koriščenje bonusov

Pomembno je, da se igralci seznanijo s pogoji za koriščenje bonusov, preden jih sprejmejo. Ti pogoji določajo, koliko je potrebno odigrati bonus denar, preden lahko izplačate dobiček, ter kakšne so omejitve glede iger, na katerih lahko bonus uporabite. Razumevanje teh pogojev je ključno za uspešno koriščenje bonusov in izogibanje morebitnim razočaranjem. Vegashero se trudi, da so pogoji transparentni in enostavni za razumevanje.

  • Bonus dobrodošlice – do 100% pologa + 50 brezplačnih vrtljajev.
  • Tedenski cashback – 10% povračila izgub.
  • Program zvestobe – točke za vsak vložek.
  • VIP program – ekskluzivne ponudbe in osebni menedžer.

Redna promocijska ponudba spodbuja igralce k ponovnemu obisku platforme in povečuje njihovo angažiranost. Program zvestobe in VIP program nagradita zveste igralce in jim omogočata dostop do ekskluzivnih prednosti.

Mobilna kompatibilnost in uporabniška izkušnja

V današnjem svetu, kjer je večina ljudi dostopna do interneta preko mobilnih naprav, je mobilna kompatibilnost ključnega pomena za uspeh spletne igralnice. Vegashero ponuja odlično mobilno izkušnjo, saj je platforma optimizirana za delo na različnih mobilnih napravah, vključno s pametnimi telefoni in tablicami. Igralci lahko dostopajo do vseh funkcij platforme preko mobilnega brskalnika, brez potrebe po prenosu in namestitvi dodatnih aplikacij. To omogoča fleksibilnost in udobje, saj lahko igralci uživajo v svojih najljubših igrah kjerkoli in kadarkoli.

Optimizacija za različne operacijske sisteme

Platforma je optimizirana za delo na različnih operacijskih sistemih, vključno z iOS in Android, kar zagotavlja gladko in brezhibno igralno izkušnjo za vse uporabnike. Način delovanja je intuitiven in omogoča enostavno navigacijo po različnih kategorijah iger in promocijah. Dizajn je prilagojen za manjše zaslone, kar zagotavlja optimalno vizualno izkušnjo na mobilnih napravah. Hitrost nalaganja strani je optimizirana, da se zmanjša poraba baterije in zagotovi hitra odzivnost platforme.

  1. Prijava na platformo preko mobilnega brskalnika.
  2. Izbira igre iz ponudbe, ki je optimizirana za mobilne naprave.
  3. Vnos vložka in začetek igranja.
  4. Uživanje v igri kjerkoli in kadarkoli.

Enostavna postopnost ohranja uporabniško izkušnjo pozitivno in spodbuja ponovni obisk platforme.

Varnost in pošteno igranje

Varnost in pošteno igranje sta ključnega pomena za zaupanje igralcev v spletno igralnico. Vegashero se zaveda pomembnosti teh vidikov in je implementiral napredne varnostne ukrepe za zaščito osebnih podatkov in finančnih transakcij igralcev. Platforma uporablja najnovejšo tehnologijo šifriranja SSL, ki zagotavlja varno prenos podatkov med uporabnikom in strežnikom. Poleg tega platforma redno izvaja varnostne preglede in teste, da se zagotovi zaščita pred morebitnimi vdor in zlorabami.

Dodatne možnosti in inovacije

Vegashero nenehno stremi k inovacijam in uvajanju novih funkcionalnosti, ki izboljšajo igralno izkušnjo. To vključuje integracijo novih plačilnih metod, razvoj novih tematskih iger in uvedbo naprednih bonus programov. Razvijalci poskrbijo, da so vse nove funkcije preizkušene in optimizirane, da zagotovijo gladko in brezhibno delovanje. Poleg tega platforma ponuja vrhunsko tehnično podporo, ki je na voljo 24 ur na dan, 7 dni v tednu, da pomaga igralcem pri morebitnih težavah ali vprašanjih.

Spletne igralnice se danes soočajo z izzivom zagotavljanja odgovornega igranja. Vegashero ponuja orodja, ki igralcem omogočajo nastavitev limitov depozitov, stav in časovne omejitve igranja. Tako igralci lahko nadzirajo svoje igralne navade in preprečijo razvoj igralne odvisnosti. Poudarek na odgovornem igranju je pomemben korak k zagotavljanju varne in prijetne izkušnje za vse igralce.

Discussion

This Post Has 0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top
Search