/*! elementor-pro - v3.30.0 - 01-07-2025 */ "use strict"; (self["webpackChunkelementor_pro"] = self["webpackChunkelementor_pro"] || []).push([["loop-filter-editor"],{ /***/ "../modules/loop-filter/assets/js/editor/module.js": /*!*********************************************************!*\ !*** ../modules/loop-filter/assets/js/editor/module.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 _taxonomyFilter = _interopRequireDefault(__webpack_require__(/*! ./taxonomy-filter */ "../modules/loop-filter/assets/js/editor/taxonomy-filter.js")); class LoopFilter extends elementorModules.editor.utils.Module { onElementorInit() { this.taxonomyFilter = new _taxonomyFilter.default('taxonomy-filter'); } } exports["default"] = LoopFilter; /***/ }), /***/ "../modules/loop-filter/assets/js/editor/taxonomy-filter.js": /*!******************************************************************!*\ !*** ../modules/loop-filter/assets/js/editor/taxonomy-filter.js ***! \******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; const ElementEditorModule = __webpack_require__(/*! elementor-pro/editor/element-editor-module */ "../assets/dev/js/editor/element-editor-module.js"); module.exports = ElementEditorModule.extend({ __construct() { this.cache = {}; ElementEditorModule.prototype.__construct.apply(this, arguments); }, onInit() { elementor.channels.editor.on('editor:widget:taxonomy-filter:section_taxonomy_filter:activated', this.onTaxonomyFilterSectionActive); }, onTaxonomyFilterSectionActive() { this.updateSelectedElementOptions(); const selectedElementControlView = this.getEditorControlView('selected_element'), selectedElementControlValue = selectedElementControlView.getControlValue(); if (selectedElementControlValue) { this.updateTaxonomyOptions(selectedElementControlValue); } }, updateSelectedElementOptions() { const selectedElementControlView = this.getEditorControlView('selected_element'), selectedElementControlValue = selectedElementControlView.getControlValue(), selectedElement = !!selectedElementControlValue ? elementor.$previewContents[0].querySelector(`[data-elementor-id="${elementor.config.document.id}"] .elementor-element-${selectedElementControlValue}`) : ''; if (!selectedElement) { selectedElementControlView.setValue(''); } const loopWidgets = elementor.$previewContents[0].querySelectorAll(`[data-elementor-id="${elementor.config.document.id}"] .elementor-widget-loop-grid`), selectedElementControlOptions = { '': __('Select a widget', 'elementor-pro') }; if (!loopWidgets.length) { this.updateOptions('selected_element', selectedElementControlOptions); selectedElementControlView.setValue(''); } let index = 1; for (const loopWidget of loopWidgets) { selectedElementControlOptions[loopWidget.dataset.id] = `${__('Loop Grid', 'elementor-pro')} ${index++}`; } this.updateOptions('selected_element', selectedElementControlOptions); }, onElementChange(setting, controlView) { if ('selected_element' !== setting) { return; } const controlValue = controlView.getControlValue(); if (controlValue) { this.updateTaxonomyOptions(controlValue); } else { this.updateOptions('taxonomy', { '': __('Select a taxonomy', 'elementor-pro') }); } }, getPostSourceQueryPostType(loopWidgetContainer) { const querySource = loopWidgetContainer.settings.attributes.post_query_post_type; let queryPostType = ''; switch (querySource) { case 'current_query': queryPostType = elementorPro.config.loopFilter.mainQueryPostType; break; case 'by_id': // Currently 'by ID' is not supported since it can include multiple post types. queryPostType = 'post'; break; case 'related': queryPostType = 'post'; break; default: queryPostType = querySource; } return queryPostType; }, getLoopQueryPostType(loopWidgetId) { const loopWidgetContainer = elementor.getContainer(loopWidgetId); const loopSource = loopWidgetContainer.settings.attributes._skin; if ('post' === loopSource) { return this.getPostSourceQueryPostType(loopWidgetContainer); } return 'product'; }, updateTaxonomyOptions(loopWidgetId) { // TODO: Add control spinner. const postType = this.getLoopQueryPostType(loopWidgetId); const postTypeTaxonomies = this.getPostTypeTaxonomies(postType).then(response => { if (!(response instanceof Response)) { return response; } else if (!response.ok || 400 <= response.status) { this.displayErrorDialog(); return {}; } return response.json(); }).catch(() => { this.displayErrorDialog(); return {}; }).then(response => { let data = response?.data || response; if (!Object.keys(data).length) { this.updateOptions('taxonomy', { '': __('No taxonomies found', 'elementor-pro') }); return; } data = { ...{ '': __('Select a taxonomy', 'elementor-pro') }, ...data }; this.cache[postType] = data; this.updateOptions('taxonomy', data); }); return postTypeTaxonomies; }, /** * * @param {string} postType * @return {Promise} Promise that should resolve with taxonomies data. */ getPostTypeTaxonomies(postType) { if (this.cache[postType] && Object.keys(this.cache[postType]).length) { return Promise.resolve(this.cache[postType]); } return this.fetchPostTypeTaxonomies(postType); }, fetchPostTypeTaxonomies(postType) { return fetch(`${elementorCommon.config.urls.rest}elementor-pro/v1/get-post-type-taxonomies`, { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': elementorWebCliConfig.nonce }, body: JSON.stringify({ post_type: postType }) }); }, displayErrorDialog() { elementorCommon.dialogsManager.createWidget('alert', { id: 'e-filter-error-message', className: 'e-filter__error-message', headerMessage: __('Something went wrong', 'elementor-pro'), message: __('We are experiencing technical difficulties on our end. Please try again to reconnect.', 'elementor-pro'), position: { my: 'center center', at: 'center center' }, strings: { confirm: __('OK', 'elementor-pro') } }).show(); } }); /***/ }) }]); //# sourceMappingURL=loop-filter-editor.46a4c013b80a381a50c9.bundle.js.map.flexa-counter{box-sizing:border-box}.flexa-counter__list{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.flexa-counter__item{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start}.flexa-counter__row{align-items:center;display:flex;flex-direction:row;gap:.5em}.flexa-counter__icon{align-items:center;display:inline-flex;justify-content:center;line-height:1}.flexa-counter__icon img,.flexa-counter__icon svg{display:block;height:100%;width:100%}.flexa-counter__number{align-items:baseline;display:flex;flex-direction:row;gap:.1em;justify-content:center;line-height:1}.flexa-counter__value{font-variant-numeric:tabular-nums}.flexa-counter__label{display:block}.flexa-counter__separator{border-top:0 solid;display:block}@media(min-width:1025px){.flexa-counter.flexa-hide-desktop{display:none!important}}@media(min-width:768px)and (max-width:1024px){.flexa-counter.flexa-hide-tablet{display:none!important}}@media(max-width:767px){.flexa-counter.flexa-hide-mobile{display:none!important}} Získajte extra výhry z Playjonny bonusov Získajte extra výhry z Playjonny bonusov – funnwurkz2

Extra 25% off with code SUMMER25.

Shop Your Favorite League

  • NFL
  • NBA
  • WNBA
  • COLLEGES
  • MLB
  • NHL
  • MLS
  • NASCAR
Select a Team

Získajte extra výhry z Playjonny bonusov

Získajte extra výhry z Playjonny bonusov

Každý hráč, ktorý sa rád ponorí do sveta online zábavy, vie, že správny štart dokáže zmeniť celý herný zážitok. PlayJonny casino sa zameriava na to, aby privítanie nováčikov bolo nielen veľkorysé, ale aj prehľadné. Bonusová ponuka tohto kasína je navrhnutá tak, aby ste si mohli užiť viac času pri hre a zároveň mali možnosť natiahnuť svoj bankroll. Ak sa rozhodnete preskúmať túto platformu, základom je pochopiť, aké typy odmien sú k dispozícii a ako z nich vyťažiť maximum. Viac informácií o prvom kroku nájdete priamo na oficiálnej stránke: http://playjonnysk.net.

Veríme, že bonusy by nemali byť komplikované. Preto PlayJonny ponúka niekoľko jasne štruktúrovaných balíčkov, ktoré odmeňujú nielen prvý vklad, ale aj vernosť. Dôležité je však pamätať na to, že každá akcia má svoje pravidlá – najmä tie, ktoré sa týkajú podmienok na pretočenie. Väčšina bonusov vyžaduje, aby ste vklad a bonusovú sumu niekoľkokrát prehrali v hrách s určitou príspevkovou váhou. Hráči, ktorí sú v tomto smere disciplinovaní, zvyčajne dosahujú lepšie výsledky.

Privítací balíček: prvý krok k extra výhram

Pre nováčikov je pripravený uvítací bonus, ktorý sa skladá z niekoľkých častí. Pri prvom vklade získate percentuálnu prémiu, ktorá môže byť doplnená o free spiny na vybrané automaty. Táto kombinácia je ideálna na to, aby ste si otestovali rôzne hry bez toho, aby ste riskovali príliš veľa vlastných peňazí. Pamätajte však, že maximálna výška bonusu je vždy stanovená a závisí od vášho prvotného vkladu.

Druhý a tretí vklad v rámci uvítacieho balíčka sú často mierne odlišné. Zatiaľ čo prvý bonus je zvyčajne najvyšší, ďalšie ponúkajú menšie percentá, ale stále zaujímavé množstvo free spinov. Táto stratégia motivuje hráčov, aby sa na platforme usadili a objavili jej plný potenciál. Nezabudnite, že každá časť balíčka má svoju vlastnú lehotu platnosti.

Bez vkladu? Áno, ale s mierou

Jednou z najatraktívnejších ponúk v online kasínach je bonus bez vkladu. PlayJonny casino ho ponúka skôr výnimočne, no ak sa objaví, je to príležitosť, ktorú by ste nemali prehliadnuť. Zvyčajne ide o malý počet free spinov alebo nízku hotovostnú sumu, ktorú môžete použiť na vyskúšanie hier. Výhry z takýchto bonusov sú však často limitované stropom a vyžadujú splnenie vyšších podmienok na pretočenie.

Pre skúsených hráčov je tento typ bonusu skôr príjemným spestrením ako hlavným zdrojom príjmov. Napriek tomu je to skvelý spôsob, ako si bez rizika overiť kvalitu herného portfólia.

Pravidelné akcie a vernostný program

PlayJonny nezabúda ani na svojich stálych hráčov. Okrem uvítacieho balíčka môžete počítať s týždennými reload bonusmi, ktoré sú naviazané na konkrétne dni. Tieto akcie zvyčajne zahŕňajú percentuálnu prémiu k vkladu alebo dodatočné free spiny. Dôležité je sledovať e-mailovú komunikáciu a sekciu promo v kasíne, pretože niektoré ponuky sú osobné.

Vernostný program je postavený na systéme kompenzačných bodov, ktoré zbierate za každú stávku. Postupom času sa môžete posúvať na vyššie úrovne, čo prináša výhody ako rýchlejšie výbery, vyššie limity na vklady alebo exkluzívne bonusy. Tento mechanizmus je príjemným spôsobom, ako byť odmenený za pravidelnú aktivitu.

Typ bonusu Čo získate Čo si treba zapamätať
Uvítací bonus (1. vklad) Percentuálna prémia + free spiny Väčšinou platí len pre nových hráčov
Reload bonus Prémia k opakovanému vkladu Platí v určitý deň v týždni
Free spiny bez vkladu Niekoľko otočení na automatoch Vysoké požiadavky na pretočenie
Cashback Percento z prehratých peňazí Často raz týždenne

Dôležité upozornenia k podmienkam

Každý bonus v PlayJonny casine sa riadi jasnými pravidlami. Medzi najdôležitejšie patrí požiadavka na pretočenie (wagering), ktorá sa pohybuje v štandardných hodnotách. Automaty zvyčajne prispievajú 100%, zatiaľ čo stolové hry majú nižšiu váhu. Vždy odporúčame prečítať si celé podmienky v sekcii „Bonuses“.

  • Minimálny vklad pre aktiváciu bonusu je zvyčajne nízky.
  • Maximálna stávka počas preháňania je limitovaná.
  • Lehota platnosti bonusu je obmedzená (zvyčajne 7–30 dní).
  • Hry s najvyšším príspevkom sú automaty.

Zvláštnu pozornosť venujte maximálnej výške výhry z free spinov. Tento limit je bežný a chráni kasíno pred príliš vysokými stratami. Ak ho prekročíte, prebytok vám bude odobraný.

Často kladené otázky (FAQ)

Ako aktivujem uvítací bonus?

Stačí vykonať prvý vklad v minimálnej požadovanej výške. Bonus sa pripíše automaticky, prípadne je potrebné zadať promo kód, ktorý nájdete na stránke.

Môžem získať bonus viackrát?

Uvítací balíček je určený len pre jednu osobu a jednu registráciu. Opakované bonusy sú dostupné len v rámci vernostného programu.

Čo sú to free spiny a ako ich použiť?

Free spiny sú bezplatné otočky na vybraných automatoch. Výhry z nich sú pripísané ako bonusové peniaze a vyžadujú pretočenie.

Aké hry prispievajú na pretočenie najviac?

Väčšina automatov prispieva 100%. Stolové hry, ako blackjack alebo ruleta, majú zvyčajne nižšiu váhu (10–20%).

Je možné bonus odmietnuť?

Áno, pri vklade môžete zvoliť možnosť bez bonusu. Ak si neželáte viazať sa podmienkami, je to úplne v poriadku.

Kedy mi bude bonus pripísaný?

Bonus je zvyčajne pripísaný okamžite po vklade, pokiaľ nie je uvedené inak.