;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Esse conteúdo é antigo

Ex-noiva promove festa badalada de 'descasamento' no Paraná

Kallynca Carvalho dos Santos e o atual namorado na festa de "descasamento" - Arquivo Pessoal
Kallynca Carvalho dos Santos e o atual namorado na festa de "descasamento" Imagem: Arquivo Pessoal

Do UOL, em São Paulo

22/05/2022 16h11

Desde pequena, Kallynca Carvalho dos Santos, 29, sonhava em ter um casamento de princesa. E que era para acontecer ontem (21), mas o relacionamento de pouco mais de uma década acabou no ado. Para não ficar com um prejuízo de mais de R$ 75 mil, ela resolveu manter a festa e celebrar o seu "descasamento", realizado na cidade de Colombo, região metropolitana de Curitiba (PR).

Não teve valsa, nem vestido de noiva. Kallynca entrou com um vestido ao estilo rainha medieval acompanhada do atual namorado, Ivandro Alex Rodrigues, 35, ao som de um samba para homenagear o avô Walter Barbosa dos Santos, 77, que faleceu no ano ado vítima de um câncer.

"O meu avô e a minha mãe me ajudaram a pagar o meu casamento. Gastaram R$ 40 mil. Realizar a festa foi também uma forma de agradecer a ele", disse a ex-noiva.

Fim do relacionamento e multas

Kallynca contou que teve um relacionamento de 13 anos e meio. Marcaram a data, mas o noivado acabou. "Não teve nada de específico, a gente não funcionava mais como um casal. Perdeu a essência e o fim foi de comum acordo", disse ela.

Com tudo contratado, Kallynca viu que teria que pagar as multas por ter que cancelar o casamento. Ela até chegou a falar com os amigos e conhecidos para rear os contratos, mas as datas não batiam.

A mãe dela, Sheyla Carvalho dos Santos, 55, foi quem deu a ideia de manter a festa. "A minha mãe falou para não rescindir os contratos e aproveitar. Falei: bora!"

"descupcake"

A ex-noiva fez os convites para uma festa à fantasia. Ao todo foram 200. Conseguiu vender 150 e arrecadar R$ 20 mil. E conquistou parceira para as fotos, doces e vestidos. Contou que ganhou até "descupcake" para substituir o tradicional doce bem casado - servido em casamentos.

festa de "descasamento" no Paranã - Arquivo Pessoal - Arquivo Pessoal
Kallynca Carvalho dos Santos promoveu uma festa de "descasamento" à fantasia
Imagem: Arquivo Pessoal

"Eu usei três looks diferentes. No começo da festa foi um vestido medieval. Depois foi um ao estilo Cleópatra. E para aproveitar a pista (de dança), o último foi de deusa grega", disse a ex-noiva.

O namorado acompanhou as duas primeiras entradas vestido de príncipe. Para dançar, usou uma roupa de faraó.

A festa que começou às 20h foi animada. Terminou às 5h da manhã de hoje. "Desde que eu me conheço por gente e quis um casamento de princesa.

Perguntada se ainda sonha em ter um casamento de princesa, ela respondeu: "Tudo tem um momento certo. É viver um dia de cada vez e identificar o momento. O meu namorado aprovou o 'test drive' da da festa". Na hora de jogar o buquê, Ivandro também participou e jogou uma marreta de plástico.