;(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

'Não sou destruidora de lares', diz ucraniana sobre namoro com britânico

Tony e Lorna Garnett à esquerda, e Sofiia Karkadym à direita.  - Reprodução/Facebook e Instagram
Tony e Lorna Garnett à esquerda, e Sofiia Karkadym à direita. Imagem: Reprodução/Facebook e Instagram

Do UOL, em São Paulo

24/05/2022 10h51Atualizada em 25/05/2022 07h52

Sofiia Kardadym, 22, negou que seja uma "destruidora de lares" após começar um relacionamento com o britânico Tony Garnett, 29, que largou um casamento de 10 anos com Lorna Garnett e duas filhas para viver com a refugiada. A ucraniana deixou sua cidade natal, Lviv, no oeste da Ucrânia, devastada pela guerra com a Rússia.

Em entrevista ao tabloide inglês The Sun, a ucraniana se defendeu das críticas que está recebendo. "Eu não sou uma destruidora de lares. Isso é besteira", disse ela.

"Eu nunca pensei ou planejei entrar na casa deles e tirar Tony de Lorna. Eu gostava da família. ei muito tempo com Lorna e tentei ajudá-la. Mas ela tinha duas caras".

Sofiia afirmou que o ciúme da ex-esposa de Tony fez com que eles se aproximassem. "Ela criou essa situação constantemente sugerindo que algo estava acontecendo quando não estava. Então isso é culpa dela. O relacionamento deles estava errado. Nada disso é minha culpa. Foi minha decisão de sair quando o fiz, e Tony optou por vir comigo".

A ucraniana agora teme de que esse caso faça famílias do Reino Unido a repensarem o acolhimento de refugiados e disse que a própria família dela não gostou da situação. "Meus pais disseram que estavam envergonhados e não podem nem sair por minha causa. Dizem que ninguém no Reino Unido aceita ucranianos. Toda família do Reino Unido agora vai pensar: 'Não posso acolher uma refugiada, porque ela vai tirar meu marido de mim'. É mais do que sobre mim, Tony e Lorna".

A refugiada afirmou que acolher quem foge da guerra é mais essencial do que o triângulo amoroso envolvendo ela. "É mais profundo. É sobre tudo, sobre a guerra, refugiados, ajudar as pessoas, tudo. No meu país, é importante que os refugiados recebam a ajuda de que precisam e isso fez o contrário".

Sofiia relatou que vem sendo criticada nas redes sociais. "Agora tenho pessoas escrevendo para mim dizendo que sou uma pessoa horrível, que fiz uma coisa ruim pelo meu país. Todo mundo no Reino Unido está pensando a mesma coisa porque eu tiro o homem da família, mas tudo isso é mentira", defendeu-se.