Apesar do interesse de clubes brasileiros, o destino de Rony deverá ser fora do país. Segundo o “Uol”, o Palmeiras acertou a venda do atacante para o Al Rayyan, do Catar, time comandado por Artur Jorge.

A negociação avançou nesta quarta-feira e o atleta deverá viajar em breve para realizar os exames médicos. No momento, as partes correm para fechar os trâmites antes do fechamento da janela, no sábado.

Banner Responsivo

googletag.cmd.push(function()
{ googletag.defineSlot(‘/183758631/Magazine_Banner_TopSticky’, [325, 50], ‘div-gpt-ad-1585579251501-10’).
addService(googletag.pubads());
googletag.enableServices();
googletag.display(‘div-gpt-ad-1585579251501-10’); });

.stream-item {
z-index: auto !important;
}

#video-ad-container-mobile {
position: relative;
display: flex;
margin: 0 auto;
z-index: 999999!important;
}

.post-content.container-wrapper {
padding: 0 !important;
position: relative !important;
z-index: 100 !important;
}

.container {
position: relative;
width: 100%;
height: 100%;
}

.mobile-video-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

.ad-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

.mobile-video-content {
width: 100%;
height: 100%;
object-fit: cover;
overflow: hidden;
}

#play-button {
display: none;
position: absolute;
width: 88px;
height: 88px;
left: calc(50% – 44px);
top: calc(50% – 44px);
background-color: white;
border-radius: 50%;
opacity: 0.7;
}

#play-button:after {
position: absolute;
left: 26px;
top: 18px;
content: ‘ ‘;
background: transparent;
box-sizing: border-box;
width: 0;
height: 48px;
border-color: transparent transparent transparent grey;
transition: 100ms all ease;
cursor: pointer;
border-style: solid;
border-width: 24px 0 24px 50px;
}

#play-button:hover {
border-color: transparent transparent transparent lightgrey;
}

#close-button {
display: none;
position: absolute;
right: 4px;
top: 4px;
width: 24px;
height: 24px;
opacity: 0.7;
background-color: lightgrey;
}

#close-button:hover {
opacity: 1;
}

#close-button:before, #close-button:after {
position: absolute;
left: 12px;
content: ‘ ‘;
height: 24px;
width: 2px;
background-color: black;
opacity: 0.7;
}

#close-button:before {
transform: rotate(45deg);
}

#close-button:after {
transform: rotate(-45deg);
}

@keyframes slideLeft {
from {
right: -100%;
}
to {
right: 8px;
}
}

if (screen && screen.width resp.json()) // Transform the data into json
.then(function (data) {
const hasItemsMobile = data.Items && data.Items.length > 0;

if (hasItemsMobile) {

const scores365VideosMobile = data.Items; //data.Items.filter(item => item.Author === ‘365Scores’);

scores365VideosMobile?.forEach(item => {
data = {
src: item.Videos[0].VID.replace(‘http:’, ‘https:’).replace(‘imagescache’, ‘imagecache’),
poster: item.Videos[0].Thumbnail,
type: item.Videos[0].ContentType
}

mobileVideos.push(data);
});

initializeMobileElements();
}
})
}

//————————————————————-
//——————— Initialize dom elements —————
//————————————————————-

function initializeMobileElements() {
mobileVideoAdContainer = document.getElementById(‘video-ad-container-mobile’);
createVideoContainer();
createAdContainerElement();
createVideoElement();
createSourceElement();
createPlayButton();
createCloseButton();
init();
}

function updateElements() {
updateSourceElement();
autoplayChecksResolved();
adContainer.style.display = ‘block’;
}

function createVideoContainer() {
videoContainer = document.createElement(‘div’);
const clientWidthMobile = mobileVideoAdContainer.dataset.width || document.body.offsetWidth;
const mobileWidth = clientWidthMobile – 30;
mobileVideoAdContainerOriginalStyle = {
width: mobileWidth,
height: (mobileWidth * 9) / 16,
x: mobileVideoAdContainer.getBoundingClientRect().x,
y: mobileVideoAdContainer.getBoundingClientRect().y,
};
videoContainer.setAttribute(‘id’, ‘mobile-video-container’);
videoContainer.setAttribute(‘class’, ‘mobile-video-container’);
videoContainer.style.width = ‘100%’; // Set the width to 100% of the parent container
videoContainer.style.height = mobileVideoAdContainerOriginalStyle.height + ‘px’;
mobileVideoAdContainer.style.width = ‘100%’; // Ensure the parent container also takes 100% width
mobileVideoAdContainer.style.height = mobileVideoAdContainerOriginalStyle.height + ‘px’;
mobileVideoAdContainer.appendChild(videoContainer);
}

function createVideoElement() {
videoElement = document.createElement(‘video’);
videoElement.id = ‘mobile-video-content’;
videoElement.class = ‘mobile-video-content’;
videoElement.controls = true;
videoElement.playsInline = true;
videoElement.muted = true;
videoElement.width = mobileVideoAdContainerOriginalStyle.width;
videoElement.height = mobileVideoAdContainerOriginalStyle.height;
videoContainer.appendChild(videoElement);
}

function createSourceElement() {
sourceElement = document.createElement(‘source’);
sourceElement.id = ‘mobile-video-source’;
sourceElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
sourceElement.type = mobileVideos[currentVideoIndex].type;
videoElement.appendChild(sourceElement);
}

function updateSourceElement() {
sourceElement = document.getElementById(‘mobile-video-source’);
sourceElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
sourceElement.type = mobileVideos[currentVideoIndex].type;
}

function createAdContainerElement() {
adContainer = document.createElement(‘div’);
adContainer.id = ‘ad-container’;
adContainer.class = ‘ad-container’;
adContainer.style.width = mobileVideoAdContainerOriginalStyle.width + ‘px’;
adContainer.style.height = mobileVideoAdContainerOriginalStyle.height + ‘px’;
mobileVideoAdContainer.appendChild(adContainer);
}

function createPlayButton() {
playButton = document.createElement(‘div’);
playButton.id = ‘play-button’;
playButton.class = ‘play-button’;
mobileVideoAdContainer.appendChild(playButton);
}

function createCloseButton() {
closeButton = document.createElement(‘div’);
closeButton.id = ‘close-button’;
closeButton.class = ‘close-button’;
mobileVideoAdContainer.appendChild(closeButton);
}

function isElementInViewport(el) {
const rect = el.getBoundingClientRect();
return rect.bottom {
// Initialize the container. Must be done via a user action where autoplay
// is not allowed.
adDisplayContainer.initialize();
adsInitialized = true;
videoContent.load();
playAds();
});
closeButton.addEventListener(‘click’, () => {
isCloseClicked = true;
moveToInitialPosition();
hideCloseButton();
videoContent.pause();
});
setUpIMA();
checkAutoplaySupport();
}

function setUpIMA() {
// Create the ad display container.
// We assume the adContainer is the DOM id of the element that will house
// the ads.
adDisplayContainer = new google.ima.AdDisplayContainer(adContainer, videoContent);
// Create ads loader.
adsLoader = new google.ima.AdsLoader(adDisplayContainer);
adsLoader.getSettings().setDisableCustomPlaybackForIOS10Plus(true);
// Listen and respond to ads loaded and error events.
adsLoader.addEventListener(
google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,
onAdsManagerLoaded,
false);
adsLoader.addEventListener(
google.ima.AdErrorEvent.Type.AD_ERROR,
onAdError,
false);
// An event listener to tell the SDK that our content video
// is completed so the SDK can play any post-roll ads.
videoContent.onended = contentEndedListener;
}

function checkAutoplaySupport() {
// Test for autoplay support with our content player.
let playPromise = playCurrentVideo();
if (playPromise !== undefined) {
playPromise.then(onAutoplayWithSoundSuccess).catch(onAutoplayWithSoundFail);
}
}

function onAutoplayWithSoundSuccess() {
// If we make it here, unmuted autoplay works.
videoContent.pause();
autoplayAllowed = autoplay;
autoplayRequiresMuted = true;
autoplayChecksResolved();
}

function onAutoplayWithSoundFail() {
// Unmuted autoplay failed. Now try muted autoplay.
checkMutedAutoplaySupport();
}

function checkMutedAutoplaySupport() {
videoContent.volume = 0;
videoContent.muted = true;
let playPromise = playCurrentVideo();
if (playPromise !== undefined) {
playPromise.then(onMutedAutoplaySuccess).catch(onMutedAutoplayFail);
}
}

function onMutedAutoplaySuccess() {
// If we make it here, muted autoplay works but unmuted autoplay does not.
videoContent.pause();
autoplayAllowed = autoplay;
autoplayRequiresMuted = true;
autoplayChecksResolved();
}

function onMutedAutoplayFail() {
// Both muted and unmuted autoplay failed. Fall back to click to play.
videoContent.volume = 1;
videoContent.muted = false;
autoplayAllowed = false;
autoplayRequiresMuted = false;
autoplayChecksResolved();
}

function autoplayChecksResolved() {
// Request video ads.
let adsRequest = new google.ima.AdsRequest();
adsRequest.adTagUrl = mobileVideoAdContainer.dataset.adTag;
// Specify the linear and nonlinear slot sizes. This helps the SDK to
// select the correct creative if multiple are returned.
adsRequest.linearAdSlotWidth = 640;
adsRequest.linearAdSlotHeight = 400;
adsRequest.nonLinearAdSlotWidth = 640;
adsRequest.nonLinearAdSlotHeight = 150;
adsRequest.setAdWillAutoPlay(autoplayAllowed);
adsRequest.setAdWillPlayMuted(autoplayRequiresMuted);
adsLoader.requestAds(adsRequest);
}

function playAds() {
try {
if (!adsInitialized) {
adDisplayContainer.initialize();
adsInitialized = true;
}
const width = isScrolling ? mobileVideoAdContainerSmallStyle.width : mobileVideoAdContainerOriginalStyle.width;
const height = isScrolling ? mobileVideoAdContainerSmallStyle.height : mobileVideoAdContainerOriginalStyle.height;
// Initialize the ads manager. Ad rules playlist will start at this time.
adsManager.init(width, height, google.ima.ViewMode.NORMAL);
// Call play to start showing the ad. Single video and overlay ads will
// start at this time; the call will be ignored for ad rules.
adsManager.start();
} catch (adError) {
// An error may be thrown if there was a problem with the VAST response.
playCurrentVideo();
}
hidePlayButton();
}

function onAdsManagerLoaded(adsManagerLoadedEvent) {
// Get the ads manager.
let adsRenderingSettings = new google.ima.AdsRenderingSettings();
adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;
// videoContent should be set to the content video element.
adsManager = adsManagerLoadedEvent.getAdsManager(
videoContent, adsRenderingSettings);
// Mute the ad if doing muted autoplay.
const adVolume = (autoplayAllowed && autoplayRequiresMuted) ? 0 : 1;
adsManager.setVolume(adVolume);
// Add listeners to the required events.
adsManager.addEventListener(
google.ima.AdErrorEvent.Type.AD_ERROR,
onAdError);
adsManager.addEventListener(
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
onContentPauseRequested);
adsManager.addEventListener(
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
onContentResumeRequested);
adsManager.addEventListener(
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
onAdEvent);
// Listen to any additional events, if necessary.
adsManager.addEventListener(
google.ima.AdEvent.Type.LOADED,
onAdEvent);
adsManager.addEventListener(
google.ima.AdEvent.Type.STARTED,
onAdEvent);
adsManager.addEventListener(
google.ima.AdEvent.Type.COMPLETE,
onAdEvent);
adsManager.addEventListener(
google.ima.AdEvent.Type.SKIPPED,
onAdEvent);
adsManager.addEventListener(
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
onAdEvent);
if (autoplayAllowed && autoplay) {
playAds();
} else {
showPlayButton();
}
}

function onAdEvent(adEvent) {
// Retrieve the ad from the event. Some events (e.g. ALL_ADS_COMPLETED)
// don’t have ad object associated.
let ad = adEvent.getAd();
switch (adEvent.type) {
case google.ima.AdEvent.Type.STARTED:
// This event indicates the ad has started – the video player
// can adjust the UI, for example display a pause button and
// remaining time.
if (ad.isLinear()) {
// For a linear ad, a timer can be started to poll for
// the remaining time.
intervalTimer = setInterval(
function () {
var remainingTime = adsManager.getRemainingTime();
},
300); // every 300ms
}
break;
case google.ima.AdEvent.Type.COMPLETE:
if (ad.isLinear()) {
clearInterval(intervalTimer);
}
adContainer.style.display = ‘none’;
videoElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
break;
case google.ima.AdEvent.Type.SKIPPED:
adContainer.style.display = ‘none’;
videoElement.src = mobileVideoAdContainer.dataset.videoSource || mobileVideos[currentVideoIndex].src;
break;
case google.ima.AdEvent.Type.LOADED:
// This is the first event sent for an ad – it is possible to
// determine whether the ad is a video ad or an overlay.
if (!ad.isLinear()) {
playCurrentVideo();
}
break;
case google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED:
if (isScrolling) {
showCloseButton();
} else {
hideCloseButton();
}
break;
}
}

function onAdError(adErrorEvent) {
// Handle the error logging.
console.log(adErrorEvent.getError());
adsManager.destroy();
adContainer.style.display = ‘none’;
// // Fall back to playing content.
//
playCurrentVideo();
}

function onContentPauseRequested() {
videoPlaying = false;
videoContent.pause();
// videoContent.onended = null;
}

function onContentResumeRequested() {
playCurrentVideo();
videoContent.onended = contentEndedListener;
}

function playCurrentVideo() {
videoPlaying = true;
hidePlayButton();
isScrolling && showCloseButton();
return videoContent.play();
}

function stopCurrentVideo() {
videoPlaying = false;
showPlayButton();
return videoContent.pause();
}

function contentEndedListener() {
adsLoader.contentComplete();
gotoNextVideo();
}

function showCloseButton() {
if (isScrolling && !isCloseClicked) {
closeButton.style.display = ‘block’;
}
}

function hideCloseButton() {
closeButton.style.display = ‘none’;
}

function showPlayButton() {
playButton.style.display = ‘block’;
}

function hidePlayButton() {
playButton.style.display = ‘none’;
}

function gotoNextVideo() {
if (currentVideoIndex < mobileVideos?.length – 1) {
currentVideoIndex++;
} else {
currentVideoIndex = 0;
}

updateElements();
}
}

Rony foi um pedido do próprio técnico Artur Jorge, que busca atletas do futebol brasileiro para reforçar o clube catari. Sendo assim, o atacante se juntará a Roger Guedes e Gabriel pereira.

Depois de anos no Alviverde, o atleta estava fora dos planos do Palmeiras, que liberou seu estafe para procurarem propostas. Na última semana, a presidente do Verdão, Leila Pereira, chegou a dizer que o ciclo do atacante tinha chegado ao fim.

No momento, Rony tem contrato com o clube paulista até 2026. Na última temporada, ele entrou em campo em 63 oportunidades, balançando as redes dez vezes e dando seis assistências.

Para acompanhar o placar do jogo do Palmeiras, acesse o 365Scores e fique por dentro das estatísticas, informações, notícias, tabela de classificação e mais!

Este conteúdo foi útil para você?

Obrigado pelo seu feedback!

Ofertas Imperdíveis. Acesse agora!

Magazine Luiza
Banner Responsivo

Deixe um comentário

plugins premium WordPress