Mostbet Portugal Pt Gambling Establishment Revisão E Games De Azar

Anında erişim sağlamak isteyen kullanıcılar spor bahisleri versiyonunu tercih ediyor.

Kazancını artırmak isteyen kullanıcılar Paribahis kodlarını kullanıyor.

Adres değişikliklerini öğrenmek için paribahis giriş kontrol edilmelidir.

eryamato.com">Bettilt 2025 fırsatları kazancı artırıyor.

Bahisçilerin finansal işlemleri koruyan Paribahis linkini kullanıyor.

Yatırım yapanlar için özel olarak hazırlanan Bahsegel kampanyaları büyük ilgi görüyor.

Her oyuncu kolay erişim için Bahsegel giriş adresini ziyaret ediyor.

İnternette kazanç arayanların adresi Paribahis giriş kategorileri oluyor.

Gerçek casino deneyimini yaşatan Bettilt giriş seçenekleri kullanıcıları büyülüyor.

İnternette kazanç arayanların adresi Bettilt giriş kategorileri oluyor.

Yeni üyeler, hızlı ve kolay erişim sağlamak için Bahsegel giriş bağlantısını tercih ediyor.

Oyuncular hızlıca işlem yapmak için paribahis giriş bağlantısını takip ediyor.

Futbol derbilerine bahis yapmak isteyenler Bahsegel sayfasını ziyaret ediyor.

2025 yılında yeni sürümüyle Bahsegel giriş piyasaya çıkıyor.

Official Internet Site”

Você pode acessar as apostas esportivas at the o cassino através desta página. Sim, a Mostbet proporciona um aplicativo móvel para dispositivos Android os e iOS, bastante como uma versão móvel do internet site que permite la cual você jogue no ano de qualquer dispositivo móvel. Um totalizador é um sistema para apostas em os quais os jogadores fazem previsões sobre operating system resultados dos eventos. O fundo para prêmio total 2 participantes da expresamente é calculado no meio de aqueles que previram corretamente os beneficios. Isso permite os quais você ganhe uma quantia significativa sobre dinheiro com uma previsão bem-sucedida.

  • Sim, some sort of Mostbet é confiável e muito feliz y sana, protegendo as informações de todos os jogadores, oferecendo métodos de pagamento práticos e sendo licenciada.
  • O prestigioso “jogo do avião”, lançado pela Spribe, é o crash game de mais destaque no
  • Os mercados oferecidos no MostBet estão sempre entre os
  • Enquanto assiste ao jogo, você pode fazer alguma variedade de apostas.

Consistindo em somar pontos nas cartas que sejam exatamente ou próximas a 21, o blackjack é muito popular no MostBet. Os jogadores na trampolín podem escolher entre muitas opções, tais como Blackjack Americano, BlackJack Single Deck e outros.

Código Promocional Mostbet

A Mostbet Brasil opera sob normas rígidas, garantindo o ambiente de apostas seguro e puntual. A plataforma us tecnologia de criptografia avançada para guardar os dados carry out usuário e quaisquer jogos são auditados regularmente para garantir a imparcialidade. O principal objetivo de uma MostBet é proporcionar uma experiência única e positiva. Devido à sua longa história, já teve usuários satisfeitos elizabeth insatisfeitos. Mesmo desta maneira, a maioria dos usuários retorna ao cassino para retornar a jogar at the aproveitar seus benefícios. Você pode produzir login no teu navegador e também baixar o aplicativo móvel mostbet.

“A Mostbet, uma renomada plataforma internacional de apostas, tem feito sucesso no segmento de apostas esportivas no Brasil. O site oficial de uma Mostbet Brasil oferece uma ampla diversidade de opções sobre apostas, desde futebol e basquete até eSports e games de cassino. O aplicativo Mostbet afin de smartphone está disponível tanto para aparelhos Android quanto para dispositivos iOS. O aplicativo tem download gratuito, e afin de isso basta acessar o site formal usando o nosso link. Além disso, é possível utilizar o aplicativo em virtude de fazer apostas, invertir sua conta fazendo um depósito, sacando dinheiro, resgatando operating system mesmos bônus para boas-vindas etc.

Registro Para Conta Mostbet Not Any Brasil

Saiba néanmoins sobre seus bônus especiais, modos de bônus e since melhores estratégias afin de ganhar muito. Um dos caça-níqueis néanmoins populares entre operating-system streamers e fãs de caça-níqueis across the internet. Caso deseje entrar em contato apresentando a equipe de uma MostBet, você pode abrir um tíquete na seção “Fale conosco” e preencher o formulário em virtude de obter mais informações. O atendimento ao cliente é rápido e eficiente pra resolver seus dudas. Os jogos para azar são operating system mais visitados not any cassino MostBet, pois garantem grandes lucro com pouco risco.

  • Apostadores em MostBet podem arriesgar no pré-jogo, mas também podem arriesgar durante as partidas ou
  • Um bônus de 100 rodadas grátis é dado ao participante com qualquer depósito bem-sucedido, com o limite de 1 depósito por rato.
  • Tem mais de 3 million jogos, além de opções de também de 20 esportes para apostar.

Ao entrar simply no site do Many Bet e clicar em “Cadastre-se”, basta, no formulário que aparecer, escolher “Pelas Redes Sociais” tais como opção de cadastro. Assim, basta clicar no ícone de uma das redes o qual escolher, além sobre escolher moeda elizabeth marcar que apresenta mais de 18 anos. Gostaria sobre mencionar o avismal número de jogos no” “Mostbet Casino, especialmente o jogo Aviator. A Mostbet tem 1 registro de conta simples, o la cual é uma enorme vantagem.

Entrar Via Steam

Entre os melhores países pra você apostar mhh MostBet estão Espanha, Peru, Chile electronic Colômbia. Esses países têm processos de registro diferentes, elizabeth você terá a new opção de dormir ou sacar recurso financeiro em sua moeda local, além dos métodos de deposito mais populares. Na casa de apostas MostBet você encontrará os jogos para qualquer liga para apostar ao vivo. Você poderá obter eventos como a Premier League, a new” “Bundesliga ou a Winners League. A locuinta de apostas MostBet tem um histórico impecável no lugar desde 2009.

  • Os usuários podem vaticinar o resultado dasjenige lutas, o número de rounds at the outros eventos associados aos combates.
  • Não importa se você é fã de esportes tradicionais, como futebol e basquete, ou de mercados cependant específicos, como eSports, a Mostbet possui tudo o os quais você precisa.
  • Além dos grandes prêmios a serem lucro, você pode rehabilitar promoções como 1 bônus de boas-vindas, 10% de devolución e um goldmine” “exclusivo.
  • Você receberá as” “rodadas gratuitas assim o qual o dinheiro regarding depositado em sua conta.

A Mostbet é alguma plataforma de apostas e jogos online que está em operação desde 2009. Ela oferece alguma ampla gama sobre serviços, incluindo apostas esportivas, apostas ao vivo, jogos de cassino e esportes virtuais. Com tua interface amigável elizabeth uma vasta gama de opções, a new Mostbet se tornou rapidamente a favorita entre os entusiastas de apostas no Brasil. Além das apostas esportivas, a Mostbet também oferece alguma ampla variedade para jogos de cassino. De jogos para mesa clássicos como blackjack e roleta a uma infinidade de jogos sobre caça-níqueis, há algo para todos operating-system entusiastas de cassino. O recurso sobre cassino ao listo aprimora intensamente some sort of experiência de game ao proporcionar interação em tempo actual com crupiês profissionais.

Apostas Ao Vivo

Ele também tem ferramentas pro jogo responsável, evitando que os jogadores tenham problemas associados ao jogo. Os fãs de E-sports terão opções na MostBet apostas entre os jogos mais

  • O número mínimo de eventos no acumulador tem que ter coeficientes sobre pelo menos 1, forty, e não há limite para to número de eventos que podem ser incluídos.
  • A Mostbet realiza loterias regularmente, nas quais operating system jogadores podem” “ganhar vários prêmios, incluindo recompensas reais, bônus e jogos virtuais gratuitos.
  • League, Libertadores weil América, Campeonato Do brasil e muito também.
  • desenvolvedores, além da possibilidade de se produzir um cadastro rápido.

Aqui, você pode jogar games de cassino apresentando um dealer ao vivo imitando some sort of experiência real do cassino, apenas some sort of partir do conforto de sua própria casa. O croupier gira a roleta enquanto a bola viaja é the premissa básica para todos os jogos de roleta sobre cassino. Você pode ganhar se fizer uma aposta no local onde the bola vai cair. Experimente todos operating-system tipos da roleta para escolher some sort of versão deste game de cassino os quais melhor se adapta às suas exigências. O pôquer ao vivo, um 2 jogos mais buscados nos cassinos on the web, é uma dieses alternativas de apostas da Mostbet.

Como Posso Fazer Um Depósito?

Descubra os caça-níqueis que estão definindo a tendência desse ano. Acumule também de 4 giros com a mesma ex profeso e você poderá desbloquear um bônus extra que aumentará sua taxa para chances. Além sobre proteger seus dados pessoais, você também precisará confirmar seu e-mail ou número de telefone apresentando uma mensagem de verificação para um seu login.

  • Se você quiser baixar gratuitamente o aplicativo Mostbet para Google android aqui no brasil, clique no ícone correspondente mhh página principal carry out site da incapere de apostas.
  • Todas as
  • Seu canon depende da popularidade da determinada alejamiento e esporte.
  • baixar um aplicativo, por mirar com uma versão adaptada.
  • O esquema de cores vibrantes e o structure intuitivo tornam a experiência de apostas agradável e search engine optimization complicações.

O valor mínimo de depósito na Mostbet é sobre 50 BRL, assim como o canon mínimo de saque. O tempo de processamento do tiro normalmente leva para 15 minutos the 3 dias úteis. Jogue seus jogos favoritos em nosso site e, sony ericsson a sorte te escapar, no início da semana você receberá um bônus de cashback. Se já tiver adotado o bônus sobre boas-vindas, poderá comprar outros bônus em Mostbet. O saque de seu dinheiro é um procedimento semelhante ao para um depósito. O primeiro passo para usar os serviços da” “Mostbet é criar alguma conta.

Benefícios Exclusivos Pra Brasileiros

Preste atenção aos códigos promocionais atuais que podem aumentar o canon do bônus. Para a conveniência dos jogadores, o web-site da Mostbet tem uma seção apresentando estatísticas e infográficos. A plataforma é adaptada para acesso rápido tanto em computadores quanto em dispositivos móveis.

  • Você terá a oportunidade de fazer suas jogadas com uma variedade de opções de apostas electronic altas probabilidades.
  • Além da licença, u MostBet possui protocolos de segurança asi como criptografia,
  • Aumente o forte do seu primeiro depósito cumprindo while regras do bônus de boas-vindas.
  • usuários.
  • Mesmo desta maneira, a maioria dos usuários retorna ao cassino para retornar a jogar electronic aproveitar seus benefícios.
  • As avaliações da MostBet sempre foram positivas, pois ela oferece um bônus sobre boas-vindas, rodadas grátis, cashback e muito mais.

Os jogadores podem interagir com crupiês profissionais e diferentes membros por meio de bate-papo on the web. Os jogadores tem a possibilidade de desfrutar de alguma variedade de gêneros e mecânicas. Os principais tipos para apostas esportivas são as simples, expressas e de programa. Cada um desses tipos tem teus próprios recursos at the estratégias adequados a diferentes tipos de jogadores. O basquete atrai a atenção dos apostadores devido à dinâmica carry out jogo e aos muitos indicadores estatísticos.

Tipos De Jogos

Com alguns métodos, é possível fazer um depósito inicial de apenas R$ a few, 00. Confira os métodos principais electronic seus limites mínimos para depósitos e saques. Às vezes, a plataforma os distribui aos jogadores por” “meio de boletins informativos ou em websites parceiros.

  • Se você quiser incrementar totalmente seus ganhos potenciais, esta opção de apostas é uma excelente substituição, desde que você preveja com precisão os resultados.
  • operating-system mais populares da casa.
  • O ganho máximo com as rodadas grátis é de R$500 e o condición de rollover é 60x.
  • As operações da empresa são regulamentadas por alguma licença internacional, um que confirma a legitimidade como também a responsabilidade da empresa na nível global.
  • Quando se trata sobre MostBet apostas, você pode escolher os esportes e ligas mais populares do

Maior agilidade em plataforma, consumo reduzido de internet electronic alertas em pace real.”

Serviço De Suporte 24 Horas Durante Dia, 7 Dias Por Semana

Esse jogo no estilo caça-minas combina estratégia, risco elizabeth adrenalina a qualquer clique. Perfeito para jogadores que buscam uma experiência distinto dos caça-níqueis clássicos. Aumente o abono do seu primeiro depósito cumprindo since regras do bônus de boas-vindas. Até 125% do teu depósito em apostas esportivas ou 125% + 250 rodadas grátis no cassino.

  • Os usuários podem encontrar partidas de uma Superliga Brasileira, bem como várias competições internacionais, como a Copa” “do Mundo e os Games Olímpicos.
  • variações populares como o Rewrite and Win.
  • Se não desejar baixar o aplicativo, você pode apostar e jogar em um cassino diretamente do seu celular, usando a versão adaptada para cell phones.
  • Nas apostas esportivas, você terá a possibilidade sobre escolher seu esporte favorito para começar a fazer suas apostas.
  • Se você for 1 jogador recorrente, poderá receber os benefícios do programa de fidelidade.

Para comprar mais 250 Giros Grátis, o valor mínimo a producir depositado é de R$50. Em pouco tempo o seu saque Mostbet estará disponível na sua conta pessoal.

O Cassino E Odaie De Apostas Mostbet É Confiável?

As opções não têm um monto mínimo de saque, mas você tem a possibilidade de sacar pelo pequeno US$ 6, 00 sem comissão apresentando um pagamento tranquilo. Ao sacar seus ganhos, você necessita atender aos requisitos de apostas elizabeth selecionar o método de pagamento vello qual o de início depósito foi feito. Você só precisará especificar a quantia de dinheiro elizabeth a conta pra recebê-la.

  • Outra programa comum de arriesgar, em que você faz suas apostas antes dos jogos, com mercados disponíveis até 2 dias anteriormente ao evento.
  • As apostas zero totalizador estão disponíveis na interface na diferentes formatos.
  • Com 14 anos no setor, a Mostbet é uma companhia de cassino electronic apostas on-line os quais garante entretenimento para qualidade e promoções atraentes para los dos os” “seus apostadores.
  • A Mostbet é conhecida durante sua segurança elizabeth proteção de dados do usuário, united states of america criptografia para confidencialidade.
  • Ideal em virtude de apostadores que desejam gerar lucros de forma rápida electronic fácil.

No game simples, mas ao mesmo tempo blando do blackjack, você deve conseguir pelo menos 21 pontos enquanto o dealer jamais pode passar sobre 21. Jogadores nacionais normalmente optam tanto pelos jogos normais de blackjack quanto pelos jogos ao vivo na Mostbet. Vários acumuladores similares em um número predefinido de beneficios compõem uma expresamente do sistema. O pagamento é calculado pela soma 2 lucros de qualquer acumulador do orden. Embora seja uma aposta mais arriscada, se você ganhar, você pode producir bastante compensado. Sim, o cassino Mostbet tem uma versão móvel, bem como um aplicativo compatível com Android e iOS.

Como Instalar Um Aplicativo Para Aparelhos Móveis No Mostbet?

A plataforma também conta com um recurso de apostas ao vivo, permitindo la cual os usuários façam apostas em partidas em andamento. Isso adiciona uma caterva extra de emoção à experiência sobre apostas. A seção de pôquer ag Mostbet apresenta muitas variações desse well-known jogo de cartas, incluindo Texas Hold’em, Omaha e bem mais. Os jogadores podem participar sobre torneios com distintos apostas, competindo apresentando outros usuários durante grandes prêmios. A Mostbet Brasil tem a ver as características da casa de apostas e de o cassino on-line. O site oficial weil Mostbet BR atrai com sua software amigável, sistema para bônus flexível electronic uma ampla variedade de eventos em virtude de apostas esportivas.

  • A Mostbet está autorizada a oferecer serviços de cassino e apostas esportivas por Curaçao.
  • Perfeito afin de jogadores que buscam uma experiência diferente dos caça-níqueis clássicos.
  • Esta é some sort of mais opção para aposta mais tradicional, onde o jogador aposta, antes dieses partidas começarem, podendo ser disponibilizado até mesmo dias anteriormente do evento.
  • Isso significa que some sort of Mostbet adere a quaisquer regulamentos e padrões necessários para oferecer um stimmung de apostas en paz e justo.
  • Para acessá-los, é necessário ser o usuário registrado e ter um balance positivo na conta.

Para entrar no sistema, você deve cumprir as restrições definidas em virtude de garantir o bem-estar dos usuários. O MostBet também adota verificação para descargar saques, evitando fraudes. Trata-se” “ainda de um cassino e casa para apostas compromissado apresentando o combate à lavagem de dinheiro. Trata-se ainda para um cassino at the casa de apostas compromissado através do choque à lavagem de dinheiro. Apostadores na MostBet podem apostar no pré-jogo, contudo também podem dar durante as partidas ou

Métodos Seguros Para Salvar Os Informações De Mostbet Login

No entanto, uma alternativa pode se distinguir em termos de benefícios para determinados tipos de usuários. Avalie os prós e os contras sobre cada alternativa at the escolha a que melhor atende às suas necessidades. Se fizer o 1º depósito dentro sobre 30 minutos após o registro, to bônus será sobre 125%. Para obter o bônus inicial da Mostbet, é necessário fazer o depósito mínimo para R$ 25, 00 e máximo de R$ 1. seven-hundred, 00. MostBet é global e está disponível em vários países ao redor do mundo.

Na plataforma, há opções de Pôquer Russo, Texas Hold’Em, Pôquer Jackpot Stud e muito também. Outro ponto positivo é que a maioria dos métodos têm tempo sobre processamento instantâneo.

Versão Do Site Móvel Mostbet

Faça um depósito mínimo de R$ 50 electronic ganhe um bônus de boas-vindas sobre +125% sobre to seu pagamento até R$ 2. 500 para o game de cassino. Na tela de reconocimiento, os jogadores podem solicitar o 1º bônus para esportes ou cassino. Esse formato de aposta é chamado de apostas múltiplas, no ano de que o jogador pode escolher 2 ou mais occasions que podem querer em partidas distintos.

  • Para contarse em contato, operating-system jogadores podem utilizar o suporte by means of chat online ao vivo no website, indultar um e-mail em virtude de ou, se desejarem, acessar o Telegram da plataforma.
  • Depósitos via Pix, carteiras digitais at the criptomoedas serão creditados em 24 hrs, transferências bancárias serão creditadas em seventy two horas.
  • Também possui métodos de pagamento seguros e, em problema de qualquer problema, é possível afiliarse em contato apresentando o suporte.
  • Ele contém todas as características e funcionalidades das versões anteriores, e funciona para forma impecável.

Enquanto assiste ao jogo, você pode fazer uma variedade de apostas. Usando a opção multi-apostas, você também pode apostar na uma série sobre eventos ao festón que estão sendo transmitidos” “así que usted todos possam vê-los em tempo real. Os usuários do Brasil podem fazer apostas com a Mostbet numa ampla decisão de eventos esportivos. Para entender néanmoins sobre cada 1 deles e tais como eles poderiam ajudá-lo a otimizar seus ganhos potenciais, leia as descrições de cada um deles que são fornecidas abaixo.

Métodos Para Pagamento Mostbet No Brasil

disponíveis. Apostadores fãs de boxe terão as opções para aposta nas maiores lutas do dia, de todas as maiores federações perform esporte.

  • A Mostbet oferece uma gama de métodos para pagamento para atender à sua bottom diversificada de usuários.
  • O saque de seu recurso financeiro é um criterio semelhante ao de um depósito.
  • A participação em loterias geralmente requer a negocio de bilhetes systems o cumprimento de determinadas condições.
  • Para aqueles que preferem não baixar o aplicativo possa ser por quais motivos forem, o web site é um ótimo substituto.

Ao envidar no cassino ao vivo MostBet, você pode participar sobre promoções de aniversário, fazer parte perform programa de fidelidade ou depositar saldos em criptomoedas. Você terá a possibility de ganhar suas apostas enquanto recebe recompensas. O cassino ao vivo é ideal para aqueles que gostam ag tensão e de uma emoção do momento.

Futebol

O prestigioso “jogo do avião”, lançado pela Spribe, é o crash game de grande destaque no cassino MostBet. De jogabilidade simples e permitindo duas apostas, atrai jogadores em desea de emoção electronic grandes prêmios. O MostBet Br tem ofertas permanentes, asi como seus bônus de boas-vindas disponíveis para

  • Deposite no mínimo 5 USD em criptomoedas na sua conta e ganhe 100 giros totalmente gratuitos.
  • mundo – tudo está disponível search engine marketing restrições.
  • Além sobre proteger seus dados pessoais, você também precisará confirmar teu e-mail ou número de telefone possuindo uma mensagem de verificação para to seu login.
  • demandando somente alguns minutos dos jogadores e apostadores.
  • Os tipos de apostas disponíveis após u registro no MostBet garantem lucros bem bons para operating-system usuários.
  • A seção de cassino ao palpitante oferece jogos na” “tempo real com traders.

Há muitos modelos de apostas e jogos clássicos na que você tem a possibilidade de multiplicar seu recurso financeiro ao vivo at the com dealers ao vivo. O internet site da MostBet está disponível em mais de 90 países, com milhões para usuários ativos em todo o globo. A casa sobre apostas MostBet apresenta opções de arriesgar em ligas buscados pelo mundo como a Uefa Champions League, Libertadores ag América, Campeonato Do brasil e muito mais.

if (typeof TrustindexJsLoaded === 'undefined') { var TrustindexJsLoaded = {}; } TrustindexJsLoaded.common = true; String.prototype.ucfirst = function() { return this.charAt(0).toUpperCase() + this.slice(1) } function popupCenter(w, h) { let dleft = window.screenLeft !== undefined ? window.screenLeft : window.screenX; let dtop = window.screenTop !== undefined ? window.screenTop : window.screenY; let width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; let height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; let left = parseInt((width - w) / 2 + dleft); let top = parseInt((height - h) / 2 + dtop); return ',top=' + top + ',left=' + left; } jQuery.fn.expand = function() { let textarea = jQuery(this); let val = textarea.val(); textarea.css('height', textarea.get(0).scrollHeight + 'px'); textarea.val('').val(val); }; jQuery(document).ready(function() { /*************************************************************************/ /* PASSWORD TOGGLE */ jQuery('.ti-toggle-password').on('click', function(event) { event.preventDefault(); let icon = jQuery(this); let parent = icon.closest('.ti-form-group'); if (icon.hasClass('dashicons-visibility')) { parent.find('input').attr('type', 'text'); icon.removeClass('dashicons-visibility').addClass('dashicons-hidden'); } else { parent.find('input').attr('type', 'password'); icon.removeClass('dashicons-hidden').addClass('dashicons-visibility'); } }); // toggle opacity jQuery('.ti-toggle-opacity').css('opacity', 1); /*************************************************************************/ /* TOGGLE */ jQuery('#trustindex-plugin-settings-page .btn-toggle').on('click', function(event) { event.preventDefault(); jQuery(jQuery(this).attr('href')).toggle(); return false; }); /*************************************************************************/ /* FILTER */ // checkbox jQuery('.ti-checkbox:not(.ti-disabled)').on('click', function() { let checkbox = jQuery(this).find('input[type=checkbox], input[type=radio]'); checkbox.prop('checked', !checkbox.prop('checked')).trigger('change'); return false; }); // custom select - init jQuery('.ti-select').each(function() { let el = jQuery(this); let selected = el.find('ul li.ti-selected'); if (selected.length === 0) { selected = el.find('ul li:first'); } el.data('value', selected.data('value')).find('font').html(selected.html()); }); // custom select - toggle click jQuery(document).on('click', '.ti-select', function() { let el = jQuery(this); el.toggleClass('ti-active'); if (el.hasClass('ti-active')) { jQuery(window).unbind().on('click', function(event) { if (!jQuery(event.target).is(el) && jQuery(event.target).closest('.ti-select').length === 0) { el.removeClass('ti-active'); jQuery(window).unbind(); } }); } }); // custom select - select item jQuery(document).on('click', '.ti-select li', function() { let el = jQuery(this); el.parent().parent().data('value', el.data('value')).trigger('change').find('font').html(el.html()); el.parent().find('li').removeClass('ti-selected'); el.addClass('ti-selected'); }); var isNoReviewsWithFilter = false; // get reviews to memory var reviewsElement = jQuery('.ti-widget-editor-preview .ti-widget').clone(); // set reviews' rating and empty to attributes reviewsElement.find('.ti-review-item').each(function() { let el = jQuery(this); let rating = el.find('.ti-stars .ti-star.f, .stars .ti-star.f').length; // facebook recommendations if (el.find('.ti-recommendation-icon.positive').length) { rating = 5; } else if (el.find('.ti-recommendation-icon.negative').length) { rating = 1; } if (el.find('.ti-polarity-icon.positive').length) { rating = 5; } else if (el.find('.ti-polarity-icon.neutral').length) { rating = 3; } else if (el.find('.ti-polarity-icon.negative').length) { rating = 1; } // ten scale if (el.find('.ti-rating-box').length) { rating = Math.round(parseFloat(el.find('.ti-rating-box').text()) / 2); } let selector = '.ti-review-content'; if (el.find('.ti-review-content .ti-inner').length) { selector = '.ti-review-content .ti-inner'; } else if (el.find('.ti-review-text').length) { selector = '.ti-review-text'; } el.attr('data-rating', rating); if (typeof el.attr('data-empty') === 'undefined') { el.attr('data-empty', el.find(selector).text().trim() == "" ? 1 : 0); } }); // check badge type var isBadgeWidget = function() { let layoutId = jQuery('.ti-widget-editor-preview .ti-widget').data('layout-id'); return [ 11, 12, 20, 22, 24, 25, 26, 27, 28, 29, 35, 55, 56, 57, 58, 59, 60, 61, 62 ].indexOf(layoutId) != -1; }; // apply filter when change or init var applyFilter = function(init) { let styleId = parseInt(jQuery('.ti-widget').data('layout-id')); // get stars let stars = (jQuery('#ti-filter-star').data('value') + "").split(',').map(function(i) { return parseInt(i); }); // only ratings let showOnlyRatings = jQuery('#ti-filter-only-ratings').prop('checked'); // filter removed if (!jQuery('#ti-filter-star').length) { stars = [ 1, 2, 3, 4, 5 ]; showOnlyRatings = false; } // remove current review elements jQuery('.ti-widget .ti-reviews-container-wrapper .ti-review-item').remove(); // remove all event listeners on the widget let widget = document.querySelector('.ti-widget'); widget.replaceWith(widget.cloneNode(true)); // iterate through stored reviews let results = 0; reviewsElement.find('.ti-review-item').each(function() { let el = jQuery(this); // check rating if (stars.indexOf(el.data('rating')) !== -1) { // check only ratings if (showOnlyRatings && el.data('empty')) { return; } // return after 5 results (vertical widgets) if ([ '8', '9', '10', '18', '33' ].indexOf(styleId) !== -1 && results > 4) { return; } // clone and append element let clone = el.clone(); jQuery('.ti-widget-editor-preview .ti-widget .ti-reviews-container-wrapper').append(clone); clone.hide(); clone.fadeIn(); // increase count results++; } }); // clear pager interval if (typeof Trustindex !== 'undefined' && Trustindex.intervalPointer) { clearInterval(Trustindex.intervalPointer); } // show empty text if (results === 0 && !isBadgeWidget()) { jQuery('.ti-widget-editor-preview .ti-widget').hide().next().fadeIn(); isNoReviewsWithFilter = true; } else { jQuery('.ti-widget-editor-preview .ti-widget').fadeIn().next().hide(); isNoReviewsWithFilter = false; if (typeof Trustindex !== 'undefined') { Trustindex.pager_inited = true; Trustindex.init_pager(document.querySelectorAll('.ti-widget')); Trustindex.resize_widgets(); } } // ajax save if (init !== true) { jQuery.post('', { command: 'save-filter', _wpnonce: jQuery('#ti-filter-star').data('nonce'), filter: JSON.stringify({ 'stars': stars, 'only-ratings': showOnlyRatings }) }); } } // hooks jQuery('#ti-filter-star').on('change', applyFilter); jQuery('#ti-filter-only-ratings').on('change', function(event) { event.preventDefault(); applyFilter(); return false; }); // init if (reviewsElement.length) { applyFilter(true); } // background post save - style and set change jQuery('#ti-widget-selects select, #ti-widget-options input[type=checkbox]:not(.no-form-update)').on('change', function() { let form = jQuery(this).closest('form'); let data = form.serializeArray(); // include unchecked checkboxes form.find('input[type=checkbox]:not(.no-form-update)').each(function() { let checkbox = jQuery(this); if (!checkbox.prop('checked') && checkbox.attr('name')) { data.push({ name: checkbox.attr('name'), value: 0 }); } }); // show loading jQuery('#ti-loading').addClass('ti-active'); jQuery('li.ti-preview-box').addClass('disabled'); jQuery.ajax({ url: form.attr('action'), type: 'post', dataType: 'application/json', data: data }).always(() => location.reload(true)); return false; }); // layout select filter jQuery('input[name=layout-select]').on('change', function(event) { event.preventDefault(); let ids = (jQuery('input[name=layout-select]:checked').data('ids') + "").split(','); console.log('filter', ids); if (ids.length === 0 || ids[0] === "") { jQuery('.ti-preview-boxes-container').find('.ti-full-width, .ti-half-width').fadeIn(); } else { jQuery('.ti-preview-boxes-container').find('.ti-full-width, .ti-half-width').hide(); ids.forEach(id => jQuery('.ti-preview-boxes-container').find('.ti-preview-boxes[data-layout-id="'+ id + '"]').parent().fadeIn()); } return false; }); /*************************************************************************/ /* MODAL */ jQuery(document).on('click', '.btn-modal-close', function(event) { event.preventDefault(); jQuery(this).closest('.ti-modal').fadeOut(); }); jQuery(document).on('click', '.ti-modal', function(event) { if (event.target.nodeName !== 'A') { event.preventDefault(); if (!jQuery(event.target).closest('.ti-modal-dialog').length) { jQuery(this).fadeOut(); } } }); /*************************************************************************/ /* NOTICE HIDE */ jQuery(document).on('click', '.ti-notice.is-dismissible .notice-dismiss', function() { let button = jQuery(this); let container = button.closest('.ti-notice'); container.fadeOut(200); if (button.data('command') && !button.data('ajax-run')) { button.data('ajax-run', 1); // prevent multiple triggers jQuery.post('', { command: button.data('command') }); } }); jQuery('.ti-checkbox input[type=checkbox][onchange]').on('change', function() { jQuery('#ti-loading').addClass('ti-active'); }); /*************************************************************************/ /* DROPDOWN */ // change dropdown arrow positions let fixDropdownArrows = function() { jQuery('.ti-button-dropdown-arrow').each(function() { let arrow = jQuery(this); let button = arrow.closest('td').find(arrow.data('button')); // add prev buttons' width let left = 0; button.prevAll('.ti-btn').each(function() { left += jQuery(this).outerWidth(true); }); // center the arrow left += button.outerWidth() / 2; arrow.css('left', left + 'px'); }); }; fixDropdownArrows(); /*************************************************************************/ /* AI REPLY */ let generateAiReply = function(text, callback) { let tiWindow = window.open('', 'trustindex-generate-ai-reply', 'width=500,height=500,menubar=0' + popupCenter(500, 500)); let form = document.createElement('form'); let input = document.createElement('input'); // create form to pass POST data form.target = 'trustindex-generate-ai-reply'; form.method = 'POST'; form.action = 'https://admin.trustindex.io/integration/generateAiReply'; form.style.display = 'none'; // data will be in a hidden input input.type = 'hidden'; input.name = 'json'; input.value = JSON.stringify({ text: text, language: jQuery('#ti-widget-language').val() }); form.appendChild(input); // add form to body document.body.appendChild(form); if (tiWindow) { form.submit(); } // remove added form form.remove(); // popup close interval let timer = setInterval(function() { if (tiWindow.closed) { callback(false); clearInterval(timer); } }, 1000); // wait for response from Trustindex jQuery(window).one('message', function(event) { // event comes from the correct window if (tiWindow == event.originalEvent.source) { clearInterval(timer); callback(event.originalEvent.data.reply); tiWindow.close(); } }); }; let postReply = function(data, reconnect, callback) { let tiWindow = window.open('', 'trustindex-post-reply', 'width=600,height=600,menubar=0' + popupCenter(600, 600)); let form = document.createElement('form'); let input = document.createElement('input'); // create form to pass POST data form.target = 'trustindex-post-reply'; form.method = 'POST'; form.action = 'https://admin.trustindex.io/integration/postReply?type=google'; form.style.display = 'none'; if (reconnect) { form.action += '&reconnect=1'; } // data will be in a hidden input (JSON) input.type = 'hidden'; input.name = 'json'; input.value = JSON.stringify(data); form.appendChild(input); // add form to body document.body.appendChild(form); if (tiWindow) { form.submit(); } // remove added form form.remove(); // popup close interval let timer = setInterval(function() { if (tiWindow.closed) { callback(undefined); clearInterval(timer); } }, 1000); // wait for response from Trustindex jQuery(window).one('message', function(event) { // event comes from the correct window if (tiWindow == event.originalEvent.source) { clearInterval(timer); callback(!!event.originalEvent.data.success); tiWindow.close(); } }); }; // show reply section // - generate reply with AI if not edit jQuery(document).on('click', '.btn-show-ai-reply', function(event) { event.preventDefault(); let btn = jQuery(this); let td = btn.closest('td'); btn.addClass('ti-btn-loading').blur(); let replyBox = td.find('.ti-reply-box'); replyBox.find('.btn-post-reply').attr('data-reconnect', 0); replyBox.find('.ti-alert').addClass('ti-d-none'); // generate reply with AI if not edit if (replyBox.attr('data-state') === 'reply' || replyBox.attr('data-state') === 'copy-reply') { let data = JSON.parse(replyBox.next().html()); generateAiReply(data.review.text, function(reply) { btn.removeClass('ti-btn-loading'); // popup closed if (reply === false) { return; } btn.addClass('ti-btn-default-disabled'); replyBox.addClass('ti-active'); td.find('.ti-highlight-box').removeClass('ti-active'); td.find('.btn-show-highlight').removeClass('ti-btn-default-disabled'); let textarea = replyBox.find('.state-'+ replyBox.attr('data-state') +' textarea'); textarea.val(reply).focus().expand(); if (!data.review.text.trim()) { replyBox.find('.ti-alert.ti-alert-empty-review').removeClass('d-none'); } // save in DB jQuery.ajax({ method: 'POST', url: window.location.href, data: { 'save-reply-generated': 1 } }); }); } else { btn.removeClass('ti-btn-loading').addClass('ti-btn-default-disabled'); replyBox.addClass('ti-active'); td.find('.ti-highlight-box').removeClass('ti-active'); td.find('.btn-show-highlight').removeClass('ti-btn-default-disabled'); } }); // hide reply section jQuery(document).on('click', '.btn-hide-ai-reply', function(event) { event.preventDefault(); let btn = jQuery(this); btn.blur(); let replyBox = btn.closest('td').find('.ti-reply-box'); replyBox.attr('data-state', replyBox.attr('data-original-state')); if (replyBox.attr('data-state') !== 'replied') { replyBox.removeClass('ti-active'); } btn.closest('td').find('.btn-show-ai-reply').removeClass('ti-btn-default-disabled'); }); // show edit reply section jQuery(document).on('click', '.btn-show-edit-reply', function(event) { event.preventDefault(); let btn = jQuery(this); let replyBox = btn.closest('td').find('.ti-reply-box'); replyBox.attr('data-state', 'edit-reply'); replyBox.find('.state-edit-reply textarea').focus().expand(); }); // hide edit reply section jQuery(document).on('click', '.btn-hide-edit-reply', function(event) { event.preventDefault(); let btn = jQuery(this); let replyBox = btn.closest('td').find('.ti-reply-box'); replyBox.find('.ti-alert').addClass('ti-d-none'); replyBox.attr('data-state', 'replied'); }); // post reply jQuery(document).on('click', '.btn-post-reply', function(event) { event.preventDefault(); let btn = jQuery(this); let replyBox = btn.closest('td').find('.ti-reply-box'); let data = JSON.parse(replyBox.next().html()); let textarea = btn.closest('.ti-reply-box-state').find('textarea'); let reply = textarea.val().trim(); textarea.removeClass('is-invalid'); if (reply === "") { return textarea.addClass('is-invalid'); } btn.addClass('ti-btn-loading').blur(); data.reply = reply; postReply(data, btn.attr('data-reconnect') == 1, function(isSuccess) { btn.removeClass('ti-btn-loading'); // popup closed if (isSuccess === undefined) { return; } if (isSuccess) { // save in DB jQuery.ajax({ method: 'POST', url: window.location.href, data: { id: btn.attr('href'), _wpnonce: btn.data('nonce'), 'save-reply': reply } }); // show replied section replyBox.attr('data-state', 'replied').attr('data-original-state', 'replied'); replyBox.find('.state-replied p').html(reply); replyBox.find('.state-edit-reply textarea').val(reply); replyBox.find('.state-replied .ti-alert').removeClass('ti-d-none'); // change Reply with AI button text let replyButton = replyBox.closest('td').find('.btn-show-ai-reply:not(.btn-default)'); if (replyButton.length) { replyButton.html(replyButton.data('edit-reply-text')).addClass('btn-default'); setTimeout(fixDropdownArrows, 100); } } else { // set try again button state replyBox.find('.state-copy-reply .btn-try-reply-again').data('state', replyBox.attr('data-state')); // show copy section replyBox.attr('data-state', 'copy-reply'); replyBox.find('.state-copy-reply textarea').val(reply).focus().expand(); replyBox.find('.state-copy-reply .ti-alert').removeClass('ti-d-none'); } }); }); /*************************************************************************/ /* HIGHLIGHT */ // show highlight section jQuery(document).on('click', '.btn-show-highlight', function(event) { event.preventDefault(); let btn = jQuery(this); let td = btn.closest('td'); let replyBox = td.find('.ti-reply-box'); btn.addClass('ti-btn-default-disabled').blur(); td.find('.ti-highlight-box').addClass('ti-active'); replyBox.attr('data-state', replyBox.attr('data-original-state')); replyBox.removeClass('ti-active'); td.find('.btn-show-ai-reply').removeClass('ti-btn-default-disabled'); }); // hide highlight section jQuery(document).on('click', '.btn-hide-highlight', function(event) { event.preventDefault(); let btn = jQuery(this); let td = btn.closest('td'); btn.blur(); td.find('.ti-highlight-box').removeClass('ti-active'); td.find('.btn-show-highlight').removeClass('ti-btn-default-disabled'); td.find('.ti-reply-box[data-state="replied"]').addClass('ti-active'); if (td.find('.ti-reply-box').attr('data-state') === 'replied') { td.find('.btn-show-ai-reply').addClass('ti-btn-default-disabled'); } }); // highlight save jQuery(document).on('click', '.btn-save-highlight', function(event) { event.preventDefault(); let btn = jQuery(this); let highlightContent = btn.closest('td').find('.ti-highlight-content .ti-selection-content'); let data = TI_highlight_getSelection(highlightContent.get(0)); if (data.start !== null) { data.id = btn.attr('href'); data._wpnonce = btn.data('nonce'); data['save-highlight'] = 1; btn.addClass('ti-btn-loading').blur(); btn.closest('td').find('.ti-btn').css('pointer-events', 'none'); jQuery.ajax({ method: 'POST', url: window.location.href, data: data }).always(() => location.reload(true)); } }); // highlight remove jQuery(document).on('click', '.btn-remove-highlight', function(event) { event.preventDefault(); let btn = jQuery(this); btn.addClass('ti-btn-loading').blur(); btn.closest('td').find('.ti-btn').css('pointer-events', 'none'); jQuery.ajax({ method: 'POST', url: window.location.href, data: { id: btn.attr('href'), _wpnonce: btn.data('nonce'), 'save-highlight': 1 } }).always(() => location.reload(true)); }); // review download notification email jQuery(document).on('click', '.btn-notification-email-save', function(event) { event.preventDefault(); let container = jQuery(this).closest('.ti-notification-email'); let input = container.find('input[type="text"]'); let type = input.data('type'); let nonce = input.data('nonce'); let email = input.val().trim().toLowerCase(); // hide alerts container.find('.ti-notice').hide(); // check email if (email !== "" && !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) { return container.find('.ti-notice').fadeIn(); } // show loading jQuery('#ti-loading').addClass('ti-active'); // save email jQuery.post("", { 'save-notification-email': email, 'type': type, '_wpnonce': nonce }, () => location.reload(true)); }); }); // - import/btn-loading.js // loading on click jQuery(document).on('click', '.ti-btn-loading-on-click', function() { let btn = jQuery(this); btn.addClass('ti-btn-loading').blur(); }); // - import/copy-to-clipboard.js jQuery(document).on('click', '.btn-copy2clipboard', function(event) { event.preventDefault(); let btn = jQuery(this); btn.blur(); let obj = jQuery(btn.attr('href')); let text = obj.html() ? obj.html() : obj.val(); // parse html let textArea = document.createElement('textarea'); textArea.innerHTML = text; text = textArea.value; let feedback = () => { btn.removeClass('ti-toggle-tooltip').addClass('ti-show-tooltip'); if (typeof this.timeout !== 'undefined') { clearTimeout(this.timeout); } this.timeout = setTimeout(() => btn.removeClass('ti-show-tooltip').addClass('ti-toggle-tooltip'), 3000); }; if (!navigator.clipboard) { // fallback textArea = document.createElement('textarea'); textArea.value = text; textArea.style.position = 'fixed'; // avoid scrolling to bottom document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { var successful = document.execCommand('copy'); feedback(); } catch (err) { } document.body.removeChild(textArea); return; } navigator.clipboard.writeText(text).then(feedback); }); // - import/feature-request.js jQuery(document).on('click', '.btn-send-feature-request', function(event) { event.preventDefault(); let btn = jQuery(this); btn.blur(); let container = jQuery('.ti-feature-request'); let email = container.find('input[name="email"]').val().trim(); let text = container.find('textarea[name="description"]').val().trim(); // hide errors container.find('.is-invalid').removeClass('is-invalid'); // check email if (email === "" || !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) { container.find('input[name="email"]').addClass('is-invalid'); } // check text if (text === "") { container.find('textarea[name="description"]').addClass('is-invalid'); } // there is error if (container.find('.is-invalid').length) { return false; } // show loading animation btn.addClass('ti-btn-loading'); let data = new FormData(jQuery('.ti-feature-request form').get(0)); // ajax request jQuery.ajax({ type: 'POST', data: data, cache: false, contentType: false, processData: false }).always(function() { btn.removeClass('ti-btn-loading'); btn.addClass('ti-show-tooltip').removeClass('ti-toggle-tooltip'); setTimeout(() => btn.removeClass('ti-show-tooltip').addClass('ti-toggle-tooltip'), 3000); }); }); // - import/rate-us.js // remember on hover jQuery(document).on('mouseenter', '.ti-quick-rating', function(event) { let container = jQuery(this); let selected = container.find('.ti-star-check.ti-active, .star-check.active'); if (selected.length) { // add index to data & remove all active stars container.data('selected', selected.index()).find('.ti-star-check, .star-check').removeClass('ti-active active'); // give back active star on mouse enter container.one('mouseleave', () => container.find('.ti-star-check, .star-check').eq(container.data('selected')).addClass('ti-active active')); } }); // star click jQuery(document).on('click', '.ti-rate-us-box .ti-quick-rating .ti-star-check', function(event) { event.preventDefault(); let star = jQuery(this); let container = star.parent(); // add index to data & remove all active stars container.data('selected', star.index()).find('.ti-star-check').removeClass('ti-active'); // select current star star.addClass('ti-active'); // show modals if (parseInt(star.data('value')) >= 4) { // open new window window.open(location.href + '&command=rate-us-feedback&_wpnonce='+ container.data('nonce') +'&star=' + star.data('value'), '_blank'); jQuery('.ti-rate-us-box').fadeOut(); } else { let feedbackModal = jQuery('#ti-rateus-modal-feedback'); if (feedbackModal.data('bs') == '5') { feedbackModal.modal('show'); setTimeout(() => feedbackModal.find('textarea').focus(), 500); } else { feedbackModal.fadeIn(); feedbackModal.find('textarea').focus(); } feedbackModal.find('.ti-quick-rating .ti-star-check').removeClass('ti-active').eq(star.index()).addClass('ti-active'); } }); // write to support jQuery(document).on('click', '.btn-rateus-support', function(event) { event.preventDefault(); let btn = jQuery(this); btn.blur(); let container = jQuery('#ti-rateus-modal-feedback'); let email = container.find('input[type=text]').val().trim(); let text = container.find('textarea').val().trim(); // hide errors container.find('input[type=text], textarea').removeClass('is-invalid'); // check email if (email === "" || !/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) { container.find('input[type=text]').addClass('is-invalid').focus(); } // check text if (text === "") { container.find('textarea').addClass('is-invalid').focus(); } // there is error if (container.find('.is-invalid').length) { return false; } // show loading animation btn.addClass('ti-btn-loading'); container.find('a, button').css('pointer-events', 'none'); // ajax request jQuery.ajax({ type: 'post', dataType: 'application/json', data: { command: 'rate-us-feedback', _wpnonce: btn.data('nonce'), email: email, text: text, star: container.find('.ti-quick-rating .ti-star-check.ti-active').data('value') } }).always(() => location.reload(true)); });