CINXE.COM
Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/ - Sportal.rs
<!DOCTYPE html> <html lang="sr-Latn-CS"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="csrf-token" content=""> <title> Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/ - Sportal.rs</title> <meta name="description" content="Košarkaši Partizana su na najbolji mogući način prekinuli crni niz u Evroligi - pobedom na nad najvećim rivalom i to na njegovom terenu. Koliko je ova pobeda bila važna za crno-bele, najbolje ilustruje slavlje u svlačionici nakon utakmice."> <meta name="author" content="Ringier"> <meta name="theme-color" content="#da532c"> <meta name="slug" content="obradovic-poveo-ludnicu-u-svlacionici-a-nilikina-sa-srpskim-na-tribinama-video"> <meta name="robots" content="max-image-preview:large"> <meta name="keywords" content=""> <link rel="canonical" href="https://sportal.blic.rs/kosarka/kk-partizan/obradovic-poveo-ludnicu-u-svlacionici-a-nilikina-sa-srpskim-na-tribinama-video/2024112122250652527" /> <!--ios compatibility--> <link rel="manifest" href="https://sportal.blic.rs/theme/img/favicons/site.webmanifest"> <link rel="mask-icon" href="https://sportal.blic.rs/theme/img/favicons/safari-pinned-tab.svg" color="#5bbad5"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-title" content="Sportal.rs"> <link rel="apple-touch-icon" sizes="180x180" href="https://sportal.blic.rs/theme/img/favicons/apple-touch-icon.png"> <!--Android compatibility--> <meta name="mobile-web-app-capable" content="yes"> <meta name="application-name" content="Sportal.rs"> <link rel="icon" type="image/png" sizes="32x32" href="https://sportal.blic.rs/theme/img/favicons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="https://sportal.blic.rs/theme/img/favicons/favicon-16x16.png"> <!-- MS Compatibility --> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-config" content="https://sportal.blic.rs/theme/img/favicons/browserconfig.xml"> <!-- Default favicon --> <link rel="icon" type="image/x-icon" href="https://sportal.blic.rs/theme/img/favicons/favicon.ico"> <!-- Social networks OG/Twitter --> <meta property="og:url" content="https://sportal.blic.rs/kosarka/kk-partizan/obradovic-poveo-ludnicu-u-svlacionici-a-nilikina-sa-srpskim-na-tribinama-video/2024112122250652527"> <meta property="og:type" content="website"> <meta property="og:title" content=" Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/ - Sportal.rs"> <meta property="og:description" content="Košarkaši Partizana su na najbolji mogući način prekinuli crni niz u Evroligi - pobedom na nad najvećim rivalom i to na njegovom terenu. Koliko je ova pobeda bila važna za crno-bele, najbolje ilustruje slavlje u svlačionici nakon utakmice."> <meta property="og:image" content="https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-fb.jpeg"> <meta property="og:site_name" content="Sportal.rs"> <meta name="twitter:site" content="@Sportal.rs"> <meta name="twitter:title" content=" Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/ - Sportal.rs"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:description" content="Košarkaši Partizana su na najbolji mogući način prekinuli crni niz u Evroligi - pobedom na nad najvećim rivalom i to na njegovom terenu. Koliko je ova pobeda bila važna za crno-bele, najbolje ilustruje slavlje u svlačionici nakon utakmice."> <meta name="twitter:image" content="https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-tw.jpeg"> <meta name="facebook-domain-verification" content="c11sknsz9knckf5jqxlsa9syez1j96" /> <!--CSS FILES--> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Barlow:wght@400;700;800&family=Merriweather:ital,wght@0,300;1,300&display=swap" rel="stylesheet"> <link href="https://sportal.blic.rs/theme/css/single-news.css?v=127" rel="stylesheet" type="text/css" /> <!-- CMP (consentmanager) code --> <script>window.gdprAppliesGlobally=true;if(!("cmp_id" in window)||window.cmp_id<1){window.cmp_id=0}if(!("cmp_cdid" in window)){window.cmp_cdid="81a7e32c00c0"}if(!("cmp_params" in window)){window.cmp_params=""}if(!("cmp_host" in window)){window.cmp_host="a.delivery.consentmanager.net"}if(!("cmp_cdn" in window)){window.cmp_cdn="cdn.consentmanager.net"}if(!("cmp_proto" in window)){window.cmp_proto="https:"}if(!("cmp_codesrc" in window)){window.cmp_codesrc="1"}window.cmp_getsupportedLangs=function(){var b=["DE","EN","FR","IT","NO","DA","FI","ES","PT","RO","BG","ET","EL","GA","HR","LV","LT","MT","NL","PL","SV","SK","SL","CS","HU","RU","SR","ZH","TR","UK","AR","BS"];if("cmp_customlanguages" in window){for(var a=0;a<window.cmp_customlanguages.length;a++){b.push(window.cmp_customlanguages[a].l.toUpperCase())}}return b};window.cmp_getRTLLangs=function(){return["AR"]};window.cmp_getlang=function(j){if(typeof(j)!="boolean"){j=true}if(j&&typeof(cmp_getlang.usedlang)=="string"&&cmp_getlang.usedlang!==""){return cmp_getlang.usedlang}var g=window.cmp_getsupportedLangs();var c=[];var f=location.hash;var e=location.search;var a="languages" in navigator?navigator.languages:[];if(f.indexOf("cmplang=")!=-1){c.push(f.substr(f.indexOf("cmplang=")+8,2).toUpperCase())}else{if(e.indexOf("cmplang=")!=-1){c.push(e.substr(e.indexOf("cmplang=")+8,2).toUpperCase())}else{if("cmp_setlang" in window&&window.cmp_setlang!=""){c.push(window.cmp_setlang.toUpperCase())}else{if(a.length>0){for(var d=0;d<a.length;d++){c.push(a[d])}}}}}if("language" in navigator){c.push(navigator.language)}if("userLanguage" in navigator){c.push(navigator.userLanguage)}var h="";for(var d=0;d<c.length;d++){var b=c[d].toUpperCase();if(g.indexOf(b)!=-1){h=b;break}if(b.indexOf("-")!=-1){b=b.substr(0,2)}if(g.indexOf(b)!=-1){h=b;break}}if(h==""&&typeof(cmp_getlang.defaultlang)=="string"&&cmp_getlang.defaultlang!==""){return cmp_getlang.defaultlang}else{if(h==""){h="EN"}}h=h.toUpperCase();return h};(function(){var n=document;var p=window;var f="";var b="_en";if("cmp_getlang" in p){f=p.cmp_getlang().toLowerCase();if("cmp_customlanguages" in p){for(var h=0;h<p.cmp_customlanguages.length;h++){if(p.cmp_customlanguages[h].l.toUpperCase()==f.toUpperCase()){f="en";break}}}b="_"+f}function g(e,d){var l="";e+="=";var i=e.length;if(location.hash.indexOf(e)!=-1){l=location.hash.substr(location.hash.indexOf(e)+i,9999)}else{if(location.search.indexOf(e)!=-1){l=location.search.substr(location.search.indexOf(e)+i,9999)}else{return d}}if(l.indexOf("&")!=-1){l=l.substr(0,l.indexOf("&"))}return l}var j=("cmp_proto" in p)?p.cmp_proto:"https:";var o=["cmp_id","cmp_params","cmp_host","cmp_cdn","cmp_proto"];for(var h=0;h<o.length;h++){if(g(o[h],"%%%")!="%%%"){window[o[h]]=g(o[h],"")}}var k=("cmp_ref" in p)?p.cmp_ref:location.href;var q=n.createElement("script");q.setAttribute("data-cmp-ab","1");var c=g("cmpdesign","");var a=g("cmpregulationkey","");q.src=j+"//"+p.cmp_host+"/delivery/cmp.php?"+("cmp_id" in p&&p.cmp_id>0?"id="+p.cmp_id:"")+("cmp_cdid" in p?"cdid="+p.cmp_cdid:"")+"&h="+encodeURIComponent(k)+(c!=""?"&cmpdesign="+encodeURIComponent(c):"")+(a!=""?"&cmpregulationkey="+encodeURIComponent(a):"")+("cmp_params" in p?"&"+p.cmp_params:"")+(n.cookie.length>0?"&__cmpfcc=1":"")+"&l="+f.toLowerCase()+"&o="+(new Date()).getTime();q.type="text/javascript";q.async=true;if(n.currentScript){n.currentScript.parentElement.appendChild(q)}else{if(n.body){n.body.appendChild(q)}else{var m=n.getElementsByTagName("body");if(m.length==0){m=n.getElementsByTagName("div")}if(m.length==0){m=n.getElementsByTagName("span")}if(m.length==0){m=n.getElementsByTagName("ins")}if(m.length==0){m=n.getElementsByTagName("script")}if(m.length==0){m=n.getElementsByTagName("head")}if(m.length>0){m[0].appendChild(q)}}}var q=n.createElement("script");q.src=j+"//"+p.cmp_cdn+"/delivery/js/cmp"+b+".min.js";q.type="text/javascript";q.setAttribute("data-cmp-ab","1");q.async=true;if(n.currentScript){n.currentScript.parentElement.appendChild(q)}else{if(n.body){n.body.appendChild(q)}else{var m=n.getElementsByTagName("body");if(m.length==0){m=n.getElementsByTagName("div")}if(m.length==0){m=n.getElementsByTagName("span")}if(m.length==0){m=n.getElementsByTagName("ins")}if(m.length==0){m=n.getElementsByTagName("script")}if(m.length==0){m=n.getElementsByTagName("head")}if(m.length>0){m[0].appendChild(q)}}}})();window.cmp_addFrame=function(b){if(!window.frames[b]){if(document.body){var a=document.createElement("iframe");a.style.cssText="display:none";a.name=b;document.body.appendChild(a)}else{window.setTimeout(window.cmp_addFrame,10,b)}}};window.cmp_rc=function(h){var b=document.cookie;var f="";var d=0;while(b!=""&&d<100){d++;while(b.substr(0,1)==" "){b=b.substr(1,b.length)}var g=b.substring(0,b.indexOf("="));if(b.indexOf(";")!=-1){var c=b.substring(b.indexOf("=")+1,b.indexOf(";"))}else{var c=b.substr(b.indexOf("=")+1,b.length)}if(h==g){f=c}var e=b.indexOf(";")+1;if(e==0){e=b.length}b=b.substring(e,b.length)}return(f)};window.cmp_stub=function(){var a=arguments;__cmapi.a=__cmapi.a||[];if(!a.length){return __cmapi.a}else{if(a[0]==="ping"){if(a[1]===2){a[2]({gdprApplies:gdprAppliesGlobally,cmpLoaded:false,cmpStatus:"stub",displayStatus:"hidden",apiVersion:"2.0",cmpId:31},true)}else{a[2](false,true)}}else{if(a[0]==="getUSPData"){a[2]({version:1,uspString:window.cmp_rc("")},true)}else{if(a[0]==="getTCData"){__cmapi.a.push([].slice.apply(a))}else{if(a[0]==="addEventListener"||a[0]==="removeEventListener"){__cmapi.a.push([].slice.apply(a))}else{if(a.length==4&&a[3]===false){a[2]({},false)}else{__cmapi.a.push([].slice.apply(a))}}}}}}};window.cmp_msghandler=function(d){var a=typeof d.data==="string";try{var c=a?JSON.parse(d.data):d.data}catch(f){var c=null}if(typeof(c)==="object"&&c!==null&&"__cmpCall" in c){var b=c.__cmpCall;window.__cmp(b.command,b.parameter,function(h,g){var e={__cmpReturn:{returnValue:h,success:g,callId:b.callId}};d.source.postMessage(a?JSON.stringify(e):e,"*")})}if(typeof(c)==="object"&&c!==null&&"__cmapiCall" in c){var b=c.__cmapiCall;window.__cmapi(b.command,b.parameter,function(h,g){var e={__cmapiReturn:{returnValue:h,success:g,callId:b.callId}};d.source.postMessage(a?JSON.stringify(e):e,"*")})}if(typeof(c)==="object"&&c!==null&&"__uspapiCall" in c){var b=c.__uspapiCall;window.__uspapi(b.command,b.version,function(h,g){var e={__uspapiReturn:{returnValue:h,success:g,callId:b.callId}};d.source.postMessage(a?JSON.stringify(e):e,"*")})}if(typeof(c)==="object"&&c!==null&&"__tcfapiCall" in c){var b=c.__tcfapiCall;window.__tcfapi(b.command,b.version,function(h,g){var e={__tcfapiReturn:{returnValue:h,success:g,callId:b.callId}};d.source.postMessage(a?JSON.stringify(e):e,"*")},b.parameter)}};window.cmp_setStub=function(a){if(!(a in window)||(typeof(window[a])!=="function"&&typeof(window[a])!=="object"&&(typeof(window[a])==="undefined"||window[a]!==null))){window[a]=window.cmp_stub;window[a].msgHandler=window.cmp_msghandler;window.addEventListener("message",window.cmp_msghandler,false)}};window.cmp_addFrame("__cmapiLocator");window.cmp_addFrame("__cmpLocator");window.cmp_addFrame("__uspapiLocator");window.cmp_addFrame("__tcfapiLocator");window.cmp_setStub("__cmapi");window.cmp_setStub("__cmp");window.cmp_setStub("__tcfapi");window.cmp_setStub("__uspapi");</script> <!-- PA Header tag --> <script async src="//pahtnf.tech/c/sportal.blic.rs.js"></script> <script> function initializePulse2Embed(modifierClbk) { if(document.querySelectorAll('.pulsembed_embed').length == 0) { console.log("Pulse2Embed cannot be initialized. No .pulsembed_embed elements found on the page."); return false; } if(!window.onetAds){ window.onetAds = { target: "clip_rs/main", async: 1, tid: "EA-5437314" }; } window.pulse2EmbedConfig = { pulsevideo: { player: 'flowplayer', params: { autoplay: 2, autoplayNext: false, enableAds: false, enableGoogleAnalytics: "UA-810384-31", ga: { ga_instances: ["UA-810384-31"], event_actions: { video_start: "video_start", video_complete: "video_complete", ad_start_preroll: "ad_start", ad_start_midroll: "ad_start", ad_start_postroll: "ad_start", video_progress: "video_progress" } }, customAdConfig: { lazy: true, adSchedule: [ { adTag: 'https://pubads.g.doubleclick.net/gampad/ads?iu=/161634325/Sportal_Video&description_url=https%3A%2F%2Fwww.sportal.blic.rs&tfcd=0&npa=0&sz=300x250%7C400x300%7C640x480&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=', time : 0 }, ] }, }, plugins: [ { script: 'https://imasdk.googleapis.com/js/sdkloader/ima3.js' }, { script: 'https://ocdn.eu/video-apps/flowplayer/v2.7.3/dist/plugins/ads.min.js' }, { script: 'https://ocdn.eu/blic/flowplayer/v1.2.0/bundle.min.js' }, { script: 'https://ocdn.eu/blic/flowplayer/googleanalytics/v2.7.3/googleanalytics.min.js' }, { script: "https://ocdn.eu/blic/flowplayer/customEventPlugin/v1.5.0/custom-plugin.min.js" } ] } } if(modifierClbk) { modifierClbk(window.pulse2EmbedConfig); } let scriptTag = document.createElement('script'); scriptTag.src = 'https://pulsembed.eu/pulsembed.js'; document.body.appendChild(scriptTag); } /** * Initialize pulse2embed with CMP consent data set. * * NOTE: This code is based on blic.rs enableVideoPlayerForCmp function. * * This function should be called in the following way: * var isEmbedLoaded = false; * __cmp("addEventListener", ["consent", initializePulse2EmbedWithCmp, false], null); * * @return void */ function initializePulse2EmbedWithCmp (event, object) { let getGdprStatusAsNumber = function (gdpr) { if(gdpr === true) return 1; return 0; } let consentData = __cmp('getCMPData'); initializePulse2Embed((embedConfig) => { embedConfig.pulsevideo.params.gdpr = getGdprStatusAsNumber(consentData.gdprApplies); embedConfig.pulsevideo.params.gdpr_consent = consentData.consentstring; }); } /** * Boot pulse 2 embed after both 'consent' and 'DOMContentLoaded' events * have been triggered. * * @return void */ async function bootPulse2EmbedWithCmpWhenReady() { let dclP = new Promise((resolve, reject) => { document.addEventListener("DOMContentLoaded", resolve, false); }); let consentP = new Promise((resolve, reject) => { __cmp("addEventListener", ["consent", resolve, false], null); }); Promise.all([dclP, consentP]).then((resolved) => { initializePulse2EmbedWithCmp(); }); } </script> <!-- Custom functions which must be defined early on --> <script> /** * Return cookie data. If parseJson == true, return JSON parsed data. * * @param string cookieName * * @return string|object */ function getCookieData(cookieName, parseJson=false) { let data = document.cookie .split("; ") .find((row) => row.startsWith(cookieName + '=')) ?.split("=")[1]; if(data && parseJson) { try { return JSON.parse(data); } catch(e) { console.error("JSON parse error while parsing cookie " + cookieName); return null; } } return data; } /** * Delete cookie (set its expiration date to already passed timepoint). * * @param string cookieName * * @return void */ function deleteCookie(cookieName) { // DEBUG console.log("Deleting cookie " + cookieName); let expires = (new Date()).toUTCString(); document.cookie = `${cookieName}=; expires=${expires}; path=/;`; } /** * Get SSO "id token" cookie value. * * @return string */ function getSsoIdToken() { const idToken = getCookieData("auth_token"); return idToken; } /** * Get SSO auth id token payload. * * NOTE: Currently, base64 decode with normalization doesn't decode cyrillic * chars validly (result is a mumbo-jumbo like character noise). * * @return string|null */ function getSsoIdTokenPayload() { let idToken = getSsoIdToken(); if(!idToken) { console.log("getSsoIdTokenPayload(): No id_token returned by getSsoIdToken()"); return null; } let decodedPayload = null; let parsedPayload = null; let idTokenBundle = idToken.split('.'); if(!Array.isArray(idTokenBundle) && idTokenBundle.length != 3) { console.error("Invalid id_token bundle"); return null; } let idTokenPayload = idTokenBundle[1]; try { // This normalization is required because of possible cyrillic chars in idTokenPayload let normalizedIdTokPayload = idTokenPayload.replace('-', '+').replace('_', '/'); decodedPayload = atob(normalizedIdTokPayload); } catch(e) { console.error("Couldn't decode id_token payload. Reason:"); console.error(e.message); console.error('payload = ' + idTokenPayload); return null; } try { parsedPayload = JSON.parse(decodedPayload); } catch(e) { console.error("Couldn't parse decoded id_token payload. Reason:"); console.error(e.message); return null; } return parsedPayload; } /** * Fetch auth status data * * NOTE: Not used anymore */ async function fetchAuthStatus() { console.log("Fetchng auth status"); let url = "https://sportal.blic.rs/private/manage-status"; let headers = new Headers(); headers.set('Content-Type', 'application/json'); const req = new Request(url, { method: 'GET', headers: headers, cache: 'default' }); let response = await fetch(req); let responseData = await response.json(); if(!responseData.auth_status_data) { throw new Error("Error. manage-status endpoint invalid response data."); } return responseData.auth_status_data; } /** * Refresh auth token. Refreshed token will be stored in the cookie * automatically by the browser because auth.refresh_token endpoint returns * "Set-Cookie: auth_token=..." header in its response. * * ADVICE: If some problem arises with refresh token feature make sure that * cookie name is the same in both the server code and in the * frontend code. * * @return boolean */ async function refreshToken() { let key = 'refresh_token_called'; // Check if refresh_token_called was set. If it was, that means that // refreshToken() was already called earlier. if(window.sportal && window.sportal[key]) { console.warn('Refresh token already called once on this page. Returning ' + 'void to avoid superfluous refresh-token calls.'); return; } // Store (mark) that refresh token is/was called. sportalStore(key, true); console.log("Refreshing auth token"); let url = "https://sportal.blic.rs/private/refresh-token"; let headers = new Headers(); headers.set('Content-Type', 'application/json'); const req = new Request(url, { method: 'GET', headers: headers, cache: 'default' }); let response = await fetch(req); let responseData = await response.json(); if(responseData.status != 'Success') { console.error("Error. Refresh token endpoint invalid response data: "); console.error(responseData); console.error("Resonse:") console.error(response); // TODO: SHOULD WE SET 'refresh_token_call' to false ??? //sportalStore(key, false); return false; } return true; } /** * Store key value pair to window object. * * @return void */ function sportalStore(key, val) { // Cache in window object if(!window.sportal) { window.sportal = {} } window.sportal[key] = val; } /** * Get auth status from cookie data or if there is no cookie return defaults. * Cache locally to window variable. * User must be logged-in before this function call. * * @return Object */ function getAuthStatusData() { let cacheKey = 'auth_status'; // Check if auth status data is already in cache and return it if it is if(window.sportal && window.sportal[cacheKey]) { return window.sportal[cacheKey]; } // set dafaults let status = { logged_in: false, comments_required_is_set: 0, quiz_required_is_set: 0, fantasy_required_is_set: 0, nickname: '', user_id: '' }; // get auth status data from id token let idTokenPayload = getSsoIdTokenPayload(); if(idTokenPayload) { status.logged_in = true; status.user_id = idTokenPayload.sub; if(idTokenPayload.fields.nicknameSportalsr) { status.nickname = idTokenPayload.fields.nicknameSportalsr; status.comments_required_is_set = 1; status.fantasy_required_is_set = 1; } if(idTokenPayload.fields.birthYear) { status.quiz_required_is_set = 1; } sportalStore(cacheKey, status); return status; } console.log("No auth status id token payload cookie found."); sportalStore(cacheKey, status); return status; } /** * Return true if user is logged in. Return false otherwise. * User is considered logged in if he has 'auth_token' cookie stored (cookie * name is fetched from config using key app.auth.id_token_cookie_name). * * NOTE: This is used for presentation purposes only. All actions which require * real check if user is logged in must call node app endpoints. * * Used by _scripts.blade.php, two gtag_page_view.blade.php scripts. */ function userIsLoggedIn() { let loggedIn = false; let idToken = getSsoIdToken(); if(idToken) { loggedIn = true; /* // WE'RE USING REFRESH TOKENS. IF ID_TOKEN IS PRESENT, EVEN // IF IT'S EXPIRED, USER IS CONSIDERED AS LOGGED IN AND REFRESH TOKEN // ACTION IS CALLED ON THE SERVER BEFORE ANY CALL WHICH REQUIRES USER // AUTH TOKENS/PARAMETERS. // check if token has expired let date = new Date(); let tokenExpiresAt = getSsoIdTokenPayload().expires_at; if(tokenExpiresAt<date.getTime()/1000) { //console.log("SPORTAL AUTH: Token expired"); loggedIn = false; } */ } return loggedIn; } /** * Make sure that auth token is fresh by checking its expiration date, and, if * expired, calling refresh token endpoint. * * @param Function onReadyClbk * @param Function onFailClbk * * @return boolean */ async function ensureAuthTokenFresh(onReadyClbk, onFailClbk) { let tokenPayload = getSsoIdTokenPayload(); if(!tokenPayload) { console.error("ensureAuthTokenFresh(): Invalid token payload. Calling " + "onFail callback."); onFailClbk(); return false; } let date = new Date(); // 500 <- token will be refreshed before expiration occurs (in that amount of time in seconds). if((date.getTime()/1000 + 500) > tokenPayload.exp) { console.log("Token has expired. Refreshing token"); console.log("Token payload exp = " + tokenPayload.exp); console.log("Compare datetime = " + date.getTime()/1000); let stat = await refreshToken(); if(stat !== true) { console.error("ensureAuthTokenFresh(): Refresh token action failed." + "Calling onFail callback."); onFailClbk(); return false; } } onReadyClbk(); return true; } /** * Remove user auth cookie and remove 'logged in' icon * and sub menu. * NOTE: This function does not logout user from SSO platform. * * @return void */ function frontLogoutUser() { // remove logged-in icon and submenu let iconLoggedIn = document.getElementsByClassName('logged-in')[0]; iconLoggedIn.classList.add('d-none'); let loginWrapper = document.getElementById('app_logged_in_menu'); loginWrapper.classList.add('d-none'); // add log-in icon let iconLogIn = document.getElementsByClassName('log-in')[0]; iconLogIn.classList.remove('d-none'); deleteCookie("auth_token"); } // auth/login buttons document.addEventListener('DOMContentLoaded', (e) => { if(userIsLoggedIn()) { let actionIcon = document.getElementsByClassName('logged-in')[0]; actionIcon.classList.remove('d-none'); let loginWrapper = document.getElementById('app_logged_in_menu'); loginWrapper.classList.remove('d-none'); // Add on click logout/profile event loginWrapper.addEventListener('click', function(e) { // logout if(e.target.href == "https://sportal.blic.rs/private/logout") { deleteCookie("auth_token"); } // profile //if(e.target.href == "https://sportal.blic.rs/private/profile") { ... }, {capture: true, passive: true}); } else { let actionIcon = document.getElementsByClassName('log-in')[0]; actionIcon.classList.remove('d-none'); // change fantasy menu link URL if user is not logged in let allLinkEls = document.querySelectorAll('.fantasy-top-menu-link > a'); if(allLinkEls) { allLinkEls.forEach(linkEl => { linkEl.href = "https://sportal.blic.rs/fans-united/pocetna"; }) } } }); </script> <script> // gtag page_view for article pages only let data = { 'content_id': "2024112122250652527", 'content_type': 'article', 'page_brand': 'sportal', 'page_country_code': 'RS', 'page_language': 'sr', 'author': "Vladimir Kolarik", 'content_accessibility': 'free', 'content_category': "KK Partizan", 'lifetime': "evergreen", 'publication_reason': "editorial", 'source_type': "original" }; if(userIsLoggedIn()) { data['logged_in'] = 'true'; } else { data['logged_in'] = null; } data.content_category2 = "Košarka"; window.dataLayer = window.dataLayer ?? []; window.dataLayer.push(data); //event: 'set_page_data', //'page_view', <- Old event name. Ringier docs require another event name. Update: Ringier team wishes layer push without event name. /** * Send page_view event for gallery. */ function sendGtagGalleryPageView() { //console.log("Sending gallery 'page_view' event") let data = { 'content_type': "informational", 'page_brand': 'sportal', 'page_country_code': 'RS', 'page_language': 'sr' }; window.dataLayer = window.dataLayer ?? []; window.dataLayer.push(data); } </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TSR6HWW');</script> <!-- End Google Tag Manager --> <script> function gtag(){window.dataLayer.push(arguments);} function gtagLayerPush(object){window.dataLayer.push(object);} gtag('js', new Date()); // DEBUG gtag('config', 'GTM-TSR6HWW', { 'debug_mode':true }); </script> <!-- Meta Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '536927324504713'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=536927324504713&ev=PageView&noscript=1" /></noscript> <!-- End Meta Pixel Code --> <!-- article banners --> <script> let adsKeywords = { category: "Košarka", subcategory: "KK Partizan", topic: "", pageType: "article", articleId: "2024112122250652527", articleTags: ["KK Partizan","Evroliga","KK Crvena zvezda"] }; </script> <script type="text/javascript" async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script type="text/javascript" async src="https://ocdn.eu/mis/wrapper/sportal.rs/21102024/prebid.js"></script> <script type="text/javascript" async src="https://ocdn.eu/mis/wrapper/sportal.rs/21102024/ads.js"></script> <link rel="dns-prefetch" href="https://c.aklamator.com" /> <script>var akla_sec="aBSptRsingle";</script> <!-- (C)2000-2022 Gemius SA - gemiusPrism / blic.rs/Sportal --> <script type="text/javascript"> <!--//--><![CDATA[//><!-- var pp_gemius_identifier = '0nI6P_bHrzhuL7Qs_IDPI9TJLcBZThtkD.cN.gQZdHD.c7'; // lines below shouldn't be edited function gemius_pending(i) { window[i] = window[i] || function() {var x = window[i+'_pdata'] = window[i+'_pdata'] || []; x[x.length]=arguments;};}; gemius_pending('gemius_hit'); gemius_pending('gemius_event'); gemius_pending('gemius_init'); gemius_pending('pp_gemius_hit'); gemius_pending('pp_gemius_event'); gemius_pending('pp_gemius_init'); (function(d,t) {try {var gt=d.createElement(t),s=d.getElementsByTagName(t)[0],l='http'+((location.protocol=='https:')?'s':''); gt.setAttribute('async','async'); gt.setAttribute('defer','defer'); gt.src=l+'://gars.hit.gemius.pl/xgemius.js'; s.parentNode.insertBefore(gt,s);} catch (e) { console.log("GEMIUS ERR"); console.log(e);}})(document,'script'); //--><!]]> </script> <script data-name="gfbuster" data-adding-to-host-allowed="true" data-type="host" src="//rsgde.adocean.pl/files/media/gfbuster.js"></script><script type="text/javascript" src="//rs.adocean.pl/files/js/ado.js"></script> <script src="https://ak.sail-horizon.com/spm/spm.v1.min.js"></script> <script>Sailthru.init({ customerId: '809637ebd04a5df55dcf278d5fe56df5' });</script> <style> .single-match.article-bound-match .single-match-teams { border-top: 2px solid #ffb600; border-bottom: 2px solid #ffb600; } .dark-mode .landing-four-news-video-wrapper .landing-four-news .news-item .news-item-data .news-item-title .title-label { background-color: #007aff; } .single-news .anterfile > h3 { color: white; } /* Normalize for obertop */ .single-layout .sidebar .banner { top: 171px; } body > main { margin-top: 145px; } @media(min-width: 768px) { body > main { margin-top: 171px; } } @media(min-width: 992px) { body > main { /*margin-top: 197px;*/ margin-top: 164px; } } /* fix foooter backround color */ .footer-bottom .container { background: #d9d9d9; } /* * Following are fixes for overflowing of content when sizes are below 390px width. * Perpetrator: Multisport widgets */ .wff_widget { min-width: 250px !important; } .embed-responsive { overflow-x: auto; } @media(min-width: 390px) { .embed-responsive { overflow-x: initial; } } </style> <style> .dark-mode .nin-widget { box-shadow: 0 3px 9px 0 rgba(0, 0, 0, 0.2), 0 5px 15px 0 rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.08); border: none !important; background-color: #0e1823; } .nin-widget { margin-bottom: 30px; width: 100%; height: 339px; border: 1px solid whitesmoke; background: transparent; border-radius: 15px; box-shadow: 0 3px 9px 0 rgba(59,27,224,.05),0 5px 15px 0 rgba(224,27,27,.05),0 0 0 1px rgba(235,227,231,.85); box-sizing: border-box; } @media(min-width: 300px) { .nin-widget { height: 413px; } } @media(min-width: 400px) { .nin-widget { height: 452px; } } @media(min-width: 452px) { .nin-widget { height: 329px; } } @media(min-width: 578px) { .nin-widget { height: 310px; } } @media(min-width: 768px) { .nin-widget { height: 304px; } } @media(min-width: 992px) { .nin-widget { height: 366px; } } @media(min-width: 1024px) { .nin-widget { height: 277px; } } @media(min-width: 1260px) { .nin-widget { height: 343px; } } </style> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Article", "headline": "Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/", "image": [ "https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-fb.jpeg" ], "datePublished": "2024-11-21T22:25:06+00:00", "author": { "@type": "Person", "name": "Vladimir Kolarik" } } </script> <script type="text/javascript"> var commentingPlatformConfig = { env: "production", tenantId: "sportal", categoryName: "Košarka / KK Partizan", categoryId: "2023122812511434378", storyId: "2024112122250652527", storyTitle: "Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/", storyUrl: "https://sportal.blic.rs/kosarka/kk-partizan/obradovic-poveo-ludnicu-u-svlacionici-a-nilikina-sa-srpskim-na-tribinama-video/2024112122250652527", storyPublicationId: "2024112122250652527", storyPublicationDate: "2024-11-21 23:25:06+0100", callback: function(formState) { // GA4 comments send submit_comment event console.log("Received comments state:"); console.log(formState); console.log("Pushing submit_comment event"); gtagLayerPush({ event: 'submit_comment', method: 'cms', form_state: formState }); }, enableGoogleAnalytics: true, //isUserProfileComplete: false, // <- NOTE: This key must not be set when user isn't logged in ! isUserLoggedIn: false, username: "", user_id: "", // loginUrl: "https://sportal.blic.rs/private/login?source=comment_platform&login_case=comment", <- NOTE: This key must not be set when user isn't logged in ! limit: 50, }; function loadCommentsScript() { var cpScriptUrl = "https://comments.blic.rs/fronttheme/assets/js/comment.js"; var cpScriptVersion = "1.2.19"; var script = document.createElement("script"); script.type = "text/javascript"; script.src = cpScriptUrl + "?v=" + cpScriptVersion; document.getElementsByTagName("body")[0].appendChild(script); } </script> <script> bootPulse2EmbedWithCmpWhenReady(); </script> <style> /* Quick styling for euroleague in menu and sidemenu */ .pre-category-menu > .category-menu-list > .euroleague-menu-link { display: none; } .euroleague-menu-link.logo-with-text > .euroleague-menu-item { padding-left: 13px; padding-right: 13px; } .euroleague-menu-link.logo-proper > .euroleague-menu-item { width: 60px; text-align: center; margin-right: 10px; } .euroleague-menu-link.logo-proper > .euroleague-menu-item > img { margin-top: 6px; } .euroleague-menu-item { background-color: black; padding-left: 5px; padding-right: 5px; } .euroleague-menu-item > img { margin-bottom: 6px; margin-top: 9px; height: 33px; } @media(min-width: 360px) { .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-proper { display: block; } } @media(min-width: 768px) { .euroleague-menu-link.logo-proper > .euroleague-menu-item > img { margin-top: 9px; } } @media(min-width: 835px) { .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-with-text { display: block; } .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-proper { display: none; } } @media(min-width: 1469px) { .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-with-text { display: none; } .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-proper { display: block; } } @media(min-width: 1591px) { .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-with-text { display: block; } .pre-category-menu > .category-menu-list > .euroleague-menu-link.logo-proper { display: none; } } </style> <script> // Turn javascript debug ON or OFF. console.warn("Sportal console.debug() is OFF"); console.debug = function() { if(!console.debugging) return; console.log.apply(this, arguments); }; </script> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TSR6HWW" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="Adhesion" class="wrapperAd" style="width: 100%;"></div> <header class="euroleague-theme"> <div class="obertop"> <a href="https://sportal.blic.rs/kosarka/evroliga"> <img src="https://sportal.blic.rs/theme/img/euroleague/euroleague_logo.png" alt="euroleague"> </a> </div> <section class="header-top"> <div class="logo-wrapper"> <a href="https://sportal.blic.rs" class="logo-header"> <picture class="logo-mobile"> <img src="https://sportal.blic.rs/theme/img/euroleague/new-logo-orange-mobile.svg?v=12" alt="Sportal Logo" class="lazyload" width="124px" height="48px"> </picture> <picture class="logo-desktop"> <img src="https://sportal.blic.rs/theme/img/euroleague/new-logo-orange-horizontal.svg?v=12" alt="Sportal Logo" class="lazyload" width="264px" height="48px"> </picture> </a> </div> <div class="header-shape"> <svg viewBox="0 0 97 74" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 51.3 (57544) - http://www.bohemiancoding.com/sketch --> <title>Rectangle 2 Copy 4</title> <desc>Created with Sketch.</desc> <defs> <linearGradient x1="100%" y1="50%" x2="0%" y2="50%" id="linearGradient-og"> <stop stop-color="#21427f" offset="0%"></stop> <stop stop-color="#1c3a78" offset="100%"></stop> </linearGradient> </defs> <g id="Desktop" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Homepage" transform="translate(-338.000000, 0.000000)" fill="url(#linearGradient-og)"> <path d="M338,0 L435,0 L435,52 C431.956863,52 430.435294,52 430.435294,52 C376.783489,51.9918764 396.208157,74 342.564706,74 C339.521569,74 338,74 338,74 L338,0 Z" id="Rectangle-2-Copy-4"></path> </g> </g> </svg> </div> <div class="header-top-menu"> <div class="pre-category-menu"> <ul class="category-menu-list"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="euroleague-menu-link logo-with-text"> <li class="top-menu-item euroleague-menu-item"> <img src="https://sportal.blic.rs/theme/img/euroleague/euroleague_logo.png" alt="euroleague"> </li> </a> <a href="https://sportal.blic.rs/kosarka/evroliga" class="euroleague-menu-link logo-proper"> <li class="top-menu-item euroleague-menu-item"> <img src="https://sportal.blic.rs/theme/img/euroleague/euroleague_logo_proper.png" alt="euroleague"> </li> </a> </ul> </div> <div class="category-menu"> <ul class="category-menu-list"> <li class="top-menu-item"> <a href="https://sportal.blic.rs/fudbal" class="top-menu-link">Fudbal</a> <div class="top-submenu"> <div class="mega-menu-wrapper"> <ul class="mega-menu-primary"> <li class="mega-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal" class="main-link">Srbija</a> <ul class="mega-menu-submenu"> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/superliga-srbije" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/country/flag/21-Serbia-flag.png " alt="Superliga" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/superliga-srbije" class="sub-item-link"> Superliga </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/19/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/19/utakmice/6926"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/19/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/prva-liga-srbije" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/country/flag/21-Serbia-flag.png " alt="Prva liga" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/prva-liga-srbije" class="sub-item-link"> Prva liga </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/370/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/370/utakmice/6930"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/370/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/kup-srbije" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/kup-srbije.png?v=12 " alt="Kup Srbije" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/kup-srbije" class="sub-item-link"> Kup Srbije </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/110/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/110/utakmice/7462"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/110/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/fk-crvena-zvezda" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/fk-crvena-zvezda.png?v=12 " alt="FK Crvena zvezda" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/fk-crvena-zvezda" class="sub-item-link"> FK Crvena zvezda </a> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/fk-partizan" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/fk-partizan.png?v=12 " alt="FK Partizan" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/fk-partizan" class="sub-item-link"> FK Partizan </a> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/nize-lige-srbija" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/fsb_alpha_crop.png?v=12 " alt="Niže lige Srbija" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/nize-lige-srbija" class="sub-item-link"> Niže lige Srbija </a> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/zenski-fudbal" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/fss_woman.png?v=12 " alt="Ženski fudbal" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/zenski-fudbal" class="sub-item-link"> Ženski fudbal </a> </div> </li> </ul> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal" class="small-link">Sve Novosti</a> </li> <li class="mega-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije" class="main-link">Reprezentacija Srbije</a> <ul class="mega-menu-submenu"> <li class="sub-item"> <a href="/fudbal/euro-2024#euroTeamNews" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/UEFA_Euro_2024_official_logo.png?v=12 " alt="EURO 2024" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="/fudbal/euro-2024#euroTeamNews" class="sub-item-link"> EURO 2024 </a> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/a-tim-reprezentacije-srbije" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/fss-logo.png?v=12 " alt="Srbija A tim" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/a-tim-reprezentacije-srbije" class="sub-item-link"> Srbija A tim </a> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/selekcija-u21" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/fss-logo.png?v=12 " alt="U 21" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/selekcija-u21" class="sub-item-link"> U 21 </a> </div> </li> </ul> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije" class="small-link">Sve Novosti</a> </li> <li class="mega-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal" class="main-link">Međunarodni fudbal</a> <ul class="mega-menu-submenu"> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/liga-sampiona" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/27-UEFA-CL-1.png " alt="Liga šampiona" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/liga-sampiona" class="sub-item-link"> Liga šampiona </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/27/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/27/utakmice/6890"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/27/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/liga-evrope" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/28-UEFA_EL-1.png " alt="Liga Evrope" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/liga-evrope" class="sub-item-link"> Liga Evrope </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/28/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/28/utakmice/7006"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/28/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/lige-konferencija" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/Europa_Conference_league.png " alt="Liga konferencija" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/lige-konferencija" class="sub-item-link"> Liga konferencija </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/569/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/569/utakmice/6970"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/569/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/premijer-liga" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/3-Premier-League-logo-1.png.png " alt="Premijer liga" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/premijer-liga" class="sub-item-link"> Premijer liga </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/3/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/3/utakmice/6885"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/3/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/bundesliga" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/bundesliga-logo.png?v=12 " alt="Bundesliga" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/bundesliga" class="sub-item-link"> Bundesliga </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/6/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/6/utakmice/6932"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/6/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/serija-a" class="icon-link"> <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/7-Serie-A-logo.png-1.png " alt="Serija A" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/serija-a" class="sub-item-link"> Serija A </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/7/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/7/utakmice/6998"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/7/tabela"> <span>Tabela</span> </a> </div> </div> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/primera-vesti" class="icon-link"> <span class="icon"> <img src=" /theme/img/teams-carousel/laliga.png?v=12 " alt="La Liga" width="40px" height="40px" > </span> </a> <div class="sub-item-data"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/primera-vesti" class="sub-item-link"> La Liga </a> <div class="mega-menu-subsubmenu"> <a href="https://sportal.blic.rs/rezultati/takmicenje/5/klubovi"> <span>Timovi</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/5/utakmice/6946"> <span>Rezultati</span> </a> <a href="https://sportal.blic.rs/rezultati/takmicenje/5/tabela"> <span>Tabela</span> </a> </div> </div> </li> </ul> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal" class="small-link">Sve Novosti</a> </li> </ul> </div> </div> </li> <li class="top-menu-item" > <a href="https://sportal.blic.rs/kosarka" class="top-menu-link">Košarka</a> <div class="top-submenu"> <div class="classic-menu-wrapper"> <ul class="classic-menu"> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/kk-crvena-zvezda">KK Crvena zvezda</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/kk-partizan">KK Partizan</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/evroliga">Evroliga</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/aba-liga">ABA liga</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/nba">NBA</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/kosarkaska-reprezentacija-srbije">Reprezentacija</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/evrokup">Evrokup</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/kosarka-srbija">Srbija</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/3x3">3x3</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/kosarka/evropsko-prvenstvo-u-kosarci">EP u košarci</a> </li> </ul> </div> </div> </li> <li class="top-menu-item" > <a href="https://sportal.blic.rs/tenis" class="top-menu-link">Tenis</a> <div class="top-submenu"> <div class="classic-menu-wrapper"> <ul class="classic-menu"> <li class="classic-item"> <a href="https://sportal.blic.rs/tenis/novak-djokovic">Novak Đoković</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/tenis/grend-slem">Grend slem</a> </li> </ul> </div> </div> </li> <li class="top-menu-item" > <a href="https://sportal.blic.rs/odbojka" class="top-menu-link">Odbojka</a> <div class="top-submenu"> <div class="classic-menu-wrapper"> <ul class="classic-menu"> <li class="classic-item"> <a href="https://sportal.blic.rs/odbojka/odbojka-srbija">Domaća liga</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/odbojka/reprezentacija-srbije">Reprezentacija Srbije</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/odbojka/odbojka-evropski-kupovi">Evro kupovi</a> </li> </ul> </div> </div> </li> <li class="top-menu-item" > <a href="https://sportal.blic.rs/sportske-vesti" class="top-menu-link">Sportske vesti</a> <div class="top-submenu"> <div class="classic-menu-wrapper"> <ul class="classic-menu"> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/oi-2024">OI 2024</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/sportal-kvizovi">Kvizovi</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/najbolji-momenti-u-2023">30 najboljih sportskih momenata u 2023.</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/najmomenti-srpskog-sporta">100 najboljih momenata srpskog sporta</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/rukomet">Rukomet</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/formula-1">Formula 1</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/boks">Boks</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/snuker">Snuker</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/atletika">Atletika</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/auto-moto">Auto-moto</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/nfl">NFL</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/biciklizam">Biciklizam</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/vaterpolo">Vaterpolo</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/zimski-sportovi">Zimski sportovi</a> </li> <li class="classic-item"> <a href="https://sportal.blic.rs/sportske-vesti/borilacki-sportovi">Borilački sportovi</a> </li> <li class="classic-item"> <a href="/e-sport">E-Sport</a> </li> </ul> </div> </div> </li> <li class="top-menu-item"> <!-- a href="/fudbal/srbija/superliga" class="top-menu-link">Superliga</a --> <a href="/video" class="top-menu-link">VIDEO</a> </li> <li id="fantasy_top_menu_link" class="fantasy-top-menu-link top-menu-item" style="display: flex; align-items:center;"> <span class="icon" style="fill: black; padding-left: 10px; margin-top: 5px;"> <svg width="24px" height="16px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#users"></use> </svg> </span> <a href="https://sportal.blic.rs/fans-united/aktuelna-igra" class="top-menu-link" style="padding-left: 4px;">Game Center</a> </li> </ul> </div> <div class="header-action"> <div class="weather-link d-none d-xm-flex"> <a href="https://www.blic.rs/vremenska-prognoza" target="_blank"> <svg width="180" height="120" viewBox="0 0 18 12" xmlns="http://www.w3.org/2000/svg" fill="#FFF"> <path d="M13.7978 4.9016C13.306 2.4428 11.1465 0.596924 8.55234 0.596924C6.49265 0.596924 4.70378 1.76574 3.81292 3.47621C1.66771 3.70427 0 5.52164 0 7.72387C0 10.0829 1.91715 12 4.27617 12H13.5412C15.5082 12 17.1047 10.4036 17.1047 8.43656C17.1047 6.55505 15.6436 5.02988 13.7978 4.9016Z"/> </svg> <svg width="170" height="160" viewBox="0 0 17 16" xmlns="http://www.w3.org/2000/svg" fill="#FFF"> <path d="M4.51918 3.05746L3.23633 1.78174L2.23143 2.78664L3.50716 4.06236L4.51918 3.05746ZM0.414062 7.09131H2.55215V8.5167H0.414062V7.09131ZM7.54101 0H8.9664V2.10245H7.54101V0ZM13.2711 1.77817L14.2745 2.78094L12.9988 4.05666L11.9961 3.05318L13.2711 1.77817ZM11.9882 12.5506L13.2639 13.8334L14.2688 12.8285L12.986 11.5528L11.9882 12.5506ZM13.9553 7.09131H16.0933V8.5167H13.9553V7.09131ZM8.2537 3.52784C5.89468 3.52784 3.97754 5.44499 3.97754 7.80401C3.97754 10.163 5.89468 12.0802 8.2537 12.0802C10.6127 12.0802 12.5299 10.163 12.5299 7.80401C12.5299 5.44499 10.6127 3.52784 8.2537 3.52784ZM8.2537 10.6548C6.67865 10.6548 5.40293 9.37906 5.40293 7.80401C5.40293 6.22895 6.67865 4.95323 8.2537 4.95323C9.82876 4.95323 11.1045 6.22895 11.1045 7.80401C11.1045 9.37906 9.82876 10.6548 8.2537 10.6548ZM7.54101 13.5056H8.9664V15.608H7.54101V13.5056ZM2.23143 12.8214L3.23633 13.8263L4.51206 12.5434L3.50716 11.5385L2.23143 12.8214Z"/> </svg> </a> </div> <a href="#" class="icon dark-light d-none d-xm-flex"> <svg> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#lightbulb"></use> </svg> </a> <div class="login-wrapper"> <a href="https://sportal.blic.rs/private/login?source=email_only" class="icon log-in d-none"> <svg> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#user"></use> </svg> </a> <span class="icon logged-in d-none"> <svg> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#user"></use> </svg> </span> <div id="app_logged_in_menu" class="login-menu-wrapper d-none"> <div class="login-menu"> <ul> <li> <a href="https://sportal.blic.rs/private/profile"> <span> <svg width='14' height='15'> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#user"></use> </svg> </span> Moj profil</a> </li> <li> <a href="https://sportal.blic.rs/private/logout"> <span> <svg width='16' height='15'> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#sign-out-alt"></use> </svg> </span> Odjavi se</a> </li> </ul> </div> </div> </div> <div class="navbar-toggler-wrapper"> <div class="navbar-toggler"> <span></span> <span></span> <span></span> </div> <span>Menu</span> </div> </div> </div> </section> <style> /* Higlight menu item with white background */ #white_menu_item { background-color: #f6f8fa !important; } #white_menu_item > a { color: #e01b2f !important; } #white_menu_item:hover { background-color: #ebe3e7 !important; } .header-top .logo-wrapper .logo-header .logo-mobile img { top: -10px; } </style> <section class="header-bottom"> <div class="swiper header-slider"> <ul class="swiper-wrapper"> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga">Početna</a> </li> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga/najnovije-vesti">Vesti</a> </li> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga#gameCenter">Game Center</a> </li> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga#videos">Video</a> </li> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga/tabela">Tabela</a> </li> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga/statistika/igraci">Statistika</a> </li> <li class="swiper-slide"> <a href="https://sportal.blic.rs/kosarka/evroliga/timovi">Timovi</a> </li> </ul> </div> </section> <section class="sidebar-menu-section"> <div class="sidebar-menu-wrapper"> <div class="sidebar-menu-header"> <form id="searchform" class="search-form" method="post" action="https://sportal.blic.rs/pretraga"> <div class="form-group"> <input id="s" class="form-control" type="text" name="term" placeholder="Pretraga" value="" required> <span class="search-icon"> <img src="https://sportal.blic.rs/theme/img/search.png" alt="Pretraga" width="23px" height="23px"> </span> </div> </form> <span class="close-menu"> <svg width="46px" height="46px" viewBox="0 0 46 46" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch --> <title>icon-close</title> <desc>Created with Sketch.</desc> <g id="icon-close" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <rect id="Rectangle" fill="#FFFFFF" transform="translate(23.000000, 23.000000) rotate(-315.000000) translate(-23.000000, -23.000000) " x="13" y="22" width="20" height="2" rx="1"></rect> <rect id="Rectangle" fill="#FFFFFF" transform="translate(23.000000, 23.000000) scale(-1, 1) rotate(-315.000000) translate(-23.000000, -23.000000) " x="13" y="22" width="20" height="2" rx="1"></rect> </g> </svg> </span> </div> <div class="sidebar-all-menu"> <div class="livescore-outer"> <a href="https://sportal.blic.rs/rezultati/utakmice" class="livescore" title="Livescore"> <span class="blink"></span> <span>Livescore</span> </a> <ul> <li> <a href="https://sportal.blic.rs/rezultati/utakmice" title="Fudbal"> <span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M177.1 228.6L207.9 320h96.5l29.62-91.38L256 172.1L177.1 228.6zM255.1 0C114.6 0 .0001 114.6 .0001 256S114.6 512 256 512s255.1-114.6 255.1-255.1S397.4 0 255.1 0zM416.6 360.9l-85.4-1.297l-25.15 81.59C290.1 445.5 273.4 448 256 448s-34.09-2.523-50.09-6.859L180.8 359.6l-85.4 1.297c-18.12-27.66-29.15-60.27-30.88-95.31L134.3 216.4L106.6 135.6c21.16-26.21 49.09-46.61 81.06-58.84L256 128l68.29-51.22c31.98 12.23 59.9 32.64 81.06 58.84L377.7 216.4l69.78 49.1C445.8 300.6 434.8 333.2 416.6 360.9z"/></svg> Fudbal </span> <span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.0.0-beta3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2021 Fonticons, Inc. --><path d="M212.2 58.86l181.1 197.1L212.2 453.1c-2.844 3.078-4.25 6.969-4.25 10.86c0 4.312 1.719 8.609 5.156 11.75c6.5 6 16.59 5.594 22.59-.8906l192-208c5.688-6.156 5.688-15.56 0-21.72l-192-208c-6-6.484-16.09-6.891-22.59-.8906C206.6 42.22 206.2 52.36 212.2 58.86zM235.8 266.9c5.688-6.156 5.688-15.56 0-21.72l-192-208c-6-6.484-16.09-6.891-22.59-.8906c-6.531 5.969-6.906 16.11-.9062 22.61l181.1 197.1L20.26 453.1c-2.844 3.078-4.25 6.969-4.25 10.86c0 4.312 1.719 8.609 5.156 11.75c6.5 6 16.59 5.594 22.59-.8906L235.8 266.9z"/></svg> </span> </a> </li> <li> <a href="https://sportal.blic.rs/kosarka/rezultati/utakmice" title="Košarka"> <span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M148.7 171.3L64.21 86.83c-28.39 32.16-48.9 71.38-58.3 114.8C19.41 205.4 33.34 208 48 208C86.34 208 121.1 193.9 148.7 171.3zM194.5 171.9L256 233.4l169.2-169.2C380 24.37 320.9 0 256 0C248.6 0 241.2 .4922 233.1 1.113C237.8 16.15 240 31.8 240 48C240 95.19 222.8 138.4 194.5 171.9zM208 48c0-14.66-2.623-28.59-6.334-42.09C158.2 15.31 118.1 35.82 86.83 64.21l84.48 84.48C193.9 121.1 208 86.34 208 48zM171.9 194.5C138.4 222.8 95.19 240 48 240c-16.2 0-31.85-2.236-46.89-6.031C.4922 241.2 0 248.6 0 256c0 64.93 24.37 124 64.21 169.2L233.4 256L171.9 194.5zM317.5 340.1L256 278.6l-169.2 169.2C131.1 487.6 191.1 512 256 512c7.438 0 14.75-.4922 22.03-1.113C274.2 495.8 272 480.2 272 464C272 416.8 289.2 373.6 317.5 340.1zM363.3 340.7l84.48 84.48c28.39-32.16 48.9-71.38 58.3-114.8C492.6 306.6 478.7 304 464 304C425.7 304 390.9 318.1 363.3 340.7zM447.8 86.83L278.6 256l61.52 61.52C373.6 289.2 416.8 272 464 272c16.2 0 31.85 2.236 46.89 6.031C511.5 270.8 512 263.4 512 256C512 191.1 487.6 131.1 447.8 86.83zM304 464c0 14.66 2.623 28.59 6.334 42.09c43.46-9.4 82.67-29.91 114.8-58.3l-84.48-84.48C318.1 390.9 304 425.7 304 464z"/></svg> Košarka</span> <span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.0.0-beta3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2021 Fonticons, Inc. --><path d="M212.2 58.86l181.1 197.1L212.2 453.1c-2.844 3.078-4.25 6.969-4.25 10.86c0 4.312 1.719 8.609 5.156 11.75c6.5 6 16.59 5.594 22.59-.8906l192-208c5.688-6.156 5.688-15.56 0-21.72l-192-208c-6-6.484-16.09-6.891-22.59-.8906C206.6 42.22 206.2 52.36 212.2 58.86zM235.8 266.9c5.688-6.156 5.688-15.56 0-21.72l-192-208c-6-6.484-16.09-6.891-22.59-.8906c-6.531 5.969-6.906 16.11-.9062 22.61l181.1 197.1L20.26 453.1c-2.844 3.078-4.25 6.969-4.25 10.86c0 4.312 1.719 8.609 5.156 11.75c6.5 6 16.59 5.594 22.59-.8906L235.8 266.9z"/></svg> </span> </a> </li> </ul> </div> <nav class="sidebar-main-navigation"> <ul class="sidebar-top-menu list-unstyled"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="euroleague-menu-link"> <li class="top-menu-item euroleague-menu-item"> <img src="https://sportal.blic.rs/theme/img/euroleague/euroleague_logo.png" alt="euroleague"> </li> </a> <!-- Za ovaj top-menu-item dodajte klasu open-menu i taj menu ce biti otvoren dodajte klasu has-height i imace visinu --> <li class="top-menu-item open-menu has-height"> <a href="https://sportal.blic.rs/fudbal" class="top-level-link" title="Fudbal"> Fudbal <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> <ul class="sidebar-main-menu"> <li class="main-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal" class="main-link" title="Srbija"> Srbija </a> <ul class="sidebar-submenu"> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/superliga-srbije" class="icon-link" title="Superliga" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/country/flag/21-Serbia-flag.png?v=12 " alt="Superliga" width="28px" height="28px"> </span> Superliga </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/19/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/19/utakmice/6926" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/19/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/prva-liga-srbije" class="icon-link" title="Prva liga" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/country/flag/21-Serbia-flag.png?v=12 " alt="Prva liga" width="28px" height="28px"> </span> Prva liga </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/370/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/370/utakmice/6930" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/370/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/kup-srbije" class="icon-link" title="Kup Srbije" > <span class="icon"> <img src=" /theme/img/teams-carousel/kup-srbije.png?v=12?v=12 " alt="Kup Srbije" width="28px" height="28px"> </span> Kup Srbije </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/110/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/110/utakmice/7462" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/110/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/fk-crvena-zvezda" class="icon-link" title="FK Crvena zvezda" > <span class="icon"> <img src=" /theme/img/teams-carousel/fk-crvena-zvezda.png?v=12?v=12 " alt="FK Crvena zvezda" width="28px" height="28px"> </span> FK Crvena zvezda </a> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/fk-partizan" class="icon-link" title="FK Partizan" > <span class="icon"> <img src=" /theme/img/teams-carousel/fk-partizan.png?v=12?v=12 " alt="FK Partizan" width="28px" height="28px"> </span> FK Partizan </a> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/nize-lige-srbija" class="icon-link" title="Niže lige Srbija" > <span class="icon"> <img src=" /theme/img/teams-carousel/fsb_alpha_crop.png?v=12?v=12 " alt="Niže lige Srbija" width="28px" height="28px"> </span> Niže lige Srbija </a> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/srbija-fudbal/zenski-fudbal" class="icon-link" title="Ženski fudbal" > <span class="icon"> <img src=" /theme/img/teams-carousel/fss_woman.png?v=12?v=12 " alt="Ženski fudbal" width="28px" height="28px"> </span> Ženski fudbal </a> </li> </ul> </li> <li class="main-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije" class="main-link" title="Reprezentacija Srbije"> Reprezentacija Srbije </a> <ul class="sidebar-submenu"> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/euro-2024" class="icon-link" title="EURO 2024" > <span class="icon"> <img src=" /theme/img/teams-carousel/UEFA_Euro_2024_official_logo.png?v=12?v=12 " alt="EURO 2024" width="28px" height="28px"> </span> EURO 2024 </a> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/a-tim-reprezentacije-srbije" class="icon-link" title="Srbija A tim" > <span class="icon"> <img src=" /theme/img/teams-carousel/fss-logo.png?v=12?v=12 " alt="Srbija A tim" width="28px" height="28px"> </span> Srbija A tim </a> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/fudbalska-reprezentacija-srbije/selekcija-u21" class="icon-link" title="U 21" > <span class="icon"> <img src=" /theme/img/teams-carousel/fss-logo.png?v=12?v=12 " alt="U 21" width="28px" height="28px"> </span> U 21 </a> </li> </ul> </li> <li class="main-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal" class="main-link" title="Međunarodni fudbal"> Međunarodni fudbal </a> <ul class="sidebar-submenu"> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/liga-sampiona" class="icon-link" title="Liga šampiona" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/27-UEFA-CL-1.png?v=12 " alt="Liga šampiona" width="28px" height="28px"> </span> Liga šampiona </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/27/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/27/utakmice/6890" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/27/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/liga-evrope" class="icon-link" title="Liga Evrope" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/28-UEFA_EL-1.png?v=12 " alt="Liga Evrope" width="28px" height="28px"> </span> Liga Evrope </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/28/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/28/utakmice/7006" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/28/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/lige-konferencija" class="icon-link" title="Liga konferencija" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/Europa_Conference_league.png?v=12 " alt="Liga konferencija" width="28px" height="28px"> </span> Liga konferencija </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/569/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/569/utakmice/6970" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/569/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/premijer-liga" class="icon-link" title="Premijer liga" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/3-Premier-League-logo-1.png.png?v=12 " alt="Premijer liga" width="28px" height="28px"> </span> Premijer liga </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/3/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/3/utakmice/6885" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/3/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/bundesliga" class="icon-link" title="Bundesliga" > <span class="icon"> <img src=" /theme/img/teams-carousel/bundesliga-logo.png?v=12?v=12 " alt="Bundesliga" width="28px" height="28px"> </span> Bundesliga </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/6/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/6/utakmice/6932" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/6/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/serija-a" class="icon-link" title="Serija A" > <span class="icon"> <img src=" https://football.cache.proxy.sportal365.com/assets/tournament/logo/7-Serie-A-logo.png-1.png?v=12 " alt="Serija A" width="28px" height="28px"> </span> Serija A </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/7/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/7/utakmice/6998" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/7/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> <li class="sub-item"> <a href="https://sportal.blic.rs/fudbal/medjunarodni-fudbal/primera-vesti" class="icon-link" title="La Liga" > <span class="icon"> <img src=" /theme/img/teams-carousel/laliga.png?v=12?v=12 " alt="La Liga" width="28px" height="28px"> </span> La Liga </a> <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> <!-- Ako je otvoren submenu ne ispisujte toggle-submenu a ul listi dodajte klasu open-submenu --> <ul class="sidebar-subsubmenu"> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/5/klubovi" title="Timovi"> Timovi </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/5/utakmice/6946" title="Rezultati"> Rezultati </a> </li> <li class="subsub-item"> <a href="https://sportal.blic.rs/rezultati/takmicenje/5/tabela" title="Tabela"> Tabela </a> </li> </ul> </li> </ul> </li> </ul> <!-- ovaj link .show-more ispisujete samo ako li ima visinu tj klasu has-height --> <a href="#" class="show-more"> <span class="more">VIŠE</span> <span class="less">MANJE</span> <span class='toggle-more'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> </li> <li class="top-menu-item"> <a href="https://sportal.blic.rs/kosarka" class="top-level-link" title="Košarka"> Košarka <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> <ul class="sidebar-main-menu"> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/kk-crvena-zvezda" class="main-link" title="KK Crvena zvezda">KK Crvena zvezda</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/kk-partizan" class="main-link" title="KK Partizan">KK Partizan</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="main-link" title="Evroliga">Evroliga</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/aba-liga" class="main-link" title="ABA liga">ABA liga</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/nba" class="main-link" title="NBA">NBA</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/kosarkaska-reprezentacija-srbije" class="main-link" title="Reprezentacija">Reprezentacija</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/evrokup" class="main-link" title="Evrokup">Evrokup</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/kosarka-srbija" class="main-link" title="Srbija">Srbija</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/3x3" class="main-link" title="3x3">3x3</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/evropsko-prvenstvo-u-kosarci" class="main-link" title="EP u košarci">EP u košarci</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> </ul> </li> <li class="top-menu-item"> <a href="https://sportal.blic.rs/tenis" class="top-level-link" title="Tenis"> Tenis <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> <ul class="sidebar-main-menu"> <li class="main-item"> <a href="https://sportal.blic.rs/tenis/novak-djokovic" class="main-link" title="Novak Đoković">Novak Đoković</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/tenis/grend-slem" class="main-link" title="Grend slem">Grend slem</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> </ul> </li> <li class="top-menu-item"> <a href="https://sportal.blic.rs/odbojka" class="top-level-link" title="Odbojka"> Odbojka <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> <ul class="sidebar-main-menu"> <li class="main-item"> <a href="https://sportal.blic.rs/odbojka/odbojka-srbija" class="main-link" title="Domaća liga">Domaća liga</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/odbojka/reprezentacija-srbije" class="main-link" title="Reprezentacija Srbije">Reprezentacija Srbije</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/odbojka/odbojka-evropski-kupovi" class="main-link" title="Evro kupovi">Evro kupovi</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> </ul> </li> <li class="top-menu-item"> <a href="https://sportal.blic.rs/sportske-vesti" class="top-level-link" title="Sportske vesti"> Sportske vesti <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> <ul class="sidebar-main-menu"> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/oi-2024" class="main-link" title="OI 2024">OI 2024</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/sportal-kvizovi" class="main-link" title="Kvizovi">Kvizovi</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/najbolji-momenti-u-2023" class="main-link" title="30 najboljih sportskih momenata u 2023.">30 najboljih sportskih momenata u 2023.</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/najmomenti-srpskog-sporta" class="main-link" title="100 najboljih momenata srpskog sporta">100 najboljih momenata srpskog sporta</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/rukomet" class="main-link" title="Rukomet">Rukomet</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/formula-1" class="main-link" title="Formula 1">Formula 1</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/boks" class="main-link" title="Boks">Boks</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/snuker" class="main-link" title="Snuker">Snuker</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/atletika" class="main-link" title="Atletika">Atletika</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/auto-moto" class="main-link" title="Auto-moto">Auto-moto</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/nfl" class="main-link" title="NFL">NFL</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/biciklizam" class="main-link" title="Biciklizam">Biciklizam</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/vaterpolo" class="main-link" title="Vaterpolo">Vaterpolo</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/zimski-sportovi" class="main-link" title="Zimski sportovi">Zimski sportovi</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a href="https://sportal.blic.rs/sportske-vesti/borilacki-sportovi" class="main-link" title="Borilački sportovi">Borilački sportovi</a> <!--Kao i u prvom li elementu i ovde mozete imati ul.sidebar-submenu--> </li> <li class="main-item"> <a class="main-link" title="E-Sport" href="/e-sport">E-Sport</a> </li> </ul> </li> <li class="top-menu-item"> <!-- a href="/fudbal/srbija/superliga" class="top-level-link" title="Superliga">Superliga</a --> <a href="/video" class="top-level-link" title="VIDEO">VIDEO</a> </li> <li class="top-menu-item"> <a href="https://sportal.blic.rs/rezultati/utakmice" class="top-level-link" title="Livec Score"> Live Score <span class='toggle-submenu'> <svg width="14px" height="12px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#chevron-down"></use> </svg> </span> </a> <ul class="sidebar-main-menu"> <li class="main-item"> <a href="https://sportal.blic.rs/rezultati/utakmice" class="main-link" title="Fudbal">Fudbal</a> </li> <li class="main-item"> <a href="https://sportal.blic.rs/kosarka/rezultati/utakmice" class="main-link" title="Košarka">Košarka</a> </li> </ul> </li> <li class="fantasy-top-menu-link top-menu-item"> <a href="https://sportal.blic.rs/fans-united/aktuelna-igra" class="top-level-link">Game Center</a> </li> </ul> </nav> <nav class="sidebar-tag-navigation"> <div class="sidebar-tag-list"> <a href="/najnovije-vesti" title="Najnovije vesti">Najnovije vesti</a> <a href="/fudbal/srbija/superliga" title="Superliga">Superliga</a> <a href="/rezultati/utakmice" title="Fudbal Live Score">Fudbal Live Score</a> <a href="/kosarka/rezultati/utakmice" title="Košarka Live Score">Košarka Live Score</a> <a href="/sportal-specijal" title="Specijal">Specijal</a> </div> </nav> </div> </div> </section> </header> <main class="euroleague-theme"> <div class="single-layout custom-landing-single-news"> <div class="container"> <div class="banner d-md-none"> <div class="banner-wrapper" style='width: 100%; min-height: 100px;'> <div id='Billboard_Mobile' class="wrapperAd"></div> </div> </div> <div class="banner d-none d-md-flex"> <div class="banner-wrapper" style='width: 1060px; min-height: 280px; text-align: center;'> <div id='Billboard_Desktop' class="wrapperAd" style="position: absolute !important; top: 50%; left: 50%; transform: translate(-50%, -50%);"></div> </div> </div> <div class="row align-items-start justify-content-between"> <div class="col-12 col-xl-9 main-content"> <div class="single-news-header" data-category="#7bf1a8"> <figure class="lead-image"> <picture> <source srcset="https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-sm.webp 360w, https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-m.webp 830w, https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-l.webp 940w" sizes="100vw" type="image/webp" > <img src="https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-l.jpeg" alt="Frank Nilikina posle derbija (Foto: Sport klub printscreen)" srcset="https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-sm.jpeg 360w, https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-m.jpeg 830w, https://sportal.blic.rs/storage/images/2024/11/21/22:29:09_2024112122284016038_original_am-l.jpeg 940w" sizes="100vw" width="940" height="627" > </picture> <div class="lead-image-data"> <span class="icon"> i </span> <p class=""> <span class="description">Frank Nilikina posle derbija (Foto: Sport klub printscreen)</span> </p> </div> </figure> <div> <div class="breadcrumbs"> <a href="https://sportal.blic.rs/kosarka"> Košarka </a> <a href="https://sportal.blic.rs/kosarka/kk-partizan">KK Partizan</a> </div> <h1 class="single-news-title"> Obradović poveo ludnicu u svlačionici, a Nilikina sa srpskim na tribinama /VIDEO/ </h1> </div> </div> <div class="banner d-md-none"> <div class="banner-wrapper" style='width: 100%; min-height: 280px;'> <div id='P1_Mobile' class="wrapperAd"> </div> </div> </div> <div class="single-news-content"> <div class="single-news-info"> <p> <a href="https://sportal.blic.rs/autor/vladimir-kolarik/2022041811402103993/vesti"> Vladimir Kolarik </a> - Vest objavljena: <span>23:25 - 21.11.2024</span> </p> </div> <article class="single-news"> <div id="single-news-content" class="single-news-content"> <h5>Košarkaši Partizana su na najbolji mogući način prekinuli crni niz u Evroligi - pobedom na nad najvećim rivalom i to na njegovom terenu. Koliko je ova pobeda bila važna za crno-bele, najbolje ilustruje slavlje u svlačionici nakon utakmice.</h5> <div class="banner d-md-none"> <div class="banner-wrapper-special" style='width: 100%; min-height: 280px;'> <div id='In_Text_1_Mobile' class="wrapperAd" style="display: block !important; text-align: center; "> </div> </div> </div> <p>Ekipa <a target="_self" class="editor-link" href="https://sportal.blic.rs/zeljko-obradovic">Željka Obradovića </a>je praktično od početka do kraja kontrolisala situaciju na terenu i na kraju slavila ubedljivu pobedu, u prvom ovosezonskom okršaju sa<a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/kk-crvena-zvezda"> Crvenom zvezdom</a>.</p> <div class="single-widget-box sport-widgets-container"> <div data-widget-id='basketball-single-event' data-match-id='84f2d416-4c40-4173-8498-6b6bae9f8b0b' data-widget-type='event' data-widget-sport='basketball' data-odds-display='false'></div> </div> <p>Ovaj trijumf došao je nakon šest vezanih poraza u elitnom evropskom takmičenju, od kojih su čak četiri došla u utakmicama koje je odlučivala jedna lopta.</p><p>Svakako da je to dobro poljuljalo samopouzdanje košarkaša<a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/kk-partizan"> Partizana</a>, koji su ipak večeras izašli maksimalno motivisano i skoncentrisano na teren i došli do pobede koja se može ispostaviti i kao prekretnica sezone.</p> <div class="banner d-none d-md-flex"> <div class="banner-wrapper-special" style='width:100%; min-height: 280px;'> <div id='In_Text_1_Desktop' class="wrapperAd" style="display: block !important; text-align: center; position: absolute !important; top: 50%; left: 50%; transform: translate(-50%, -50%);"> </div> </div> </div> <div class="banner d-md-none"> <div class="banner-wrapper-special" style='width: 100%; min-height: 280px;'> <div id='In_Text_2_Mobile' class="wrapperAd lazyAd" style="display: block !important; text-align: center; "> </div> </div> </div> <div class="embed-responsive"> <div class="pulsembed_embed" data-run-module="pulsembed/pulsembed.init" data-src="//pulsembed.eu/p2em/YLp1_7KBF/" data-height-hint="56.25%" data-height-origin-hint="56.25%" data-sandbox="standard" data-author-name="" data-embed-id="YLp1_7KBF" data-provider-name="pulsevideo" data-extra-embed-params="%7B%22mvpId%22%3A%222402192.1046631398%22%2C%22imageUrl%22%3A%22https%3A%2F%2Focdn.eu%2Fpulscms%2FMDA_%2Fbb5aa639fef538826e0e7364d2bf3bc5.jpg%22%2C%22previewUrl%22%3A%22https%3A%2F%2Fmedia.onet.pl%2F_ms%2Fpreview-5db12746-5490-4b7a-ade8-ea813968a888.1000.mp4%22%7D" data-embed-img="https://ocdn.eu/pulscms-transforms/1/-Rzk9kpTURBXy9iYjVhYTYzOWZlZjUzODgyNmUwZTczNjRkMmJmM2JjNS5qcGeRkwXNArzNAYuBoTAB"><a href="https://rasrs-blic.embed.videos.ringpublishing.com/2402192.1046631398" target="_blank">Kako su igrači Partizana proslavili pobedu</a></div> </div> <p>Koliko je slavlje protiv najvećeg rivala važno košarkašima crno-belih, najbolje dočarava i njihovo slavlje u svlačionici, gde čak ni poslovično staloženi Željko Obradović nije krio emocije.</p><p>Na znam svog trenera igrači su svi kao jedan poleteli ka Tajriku Džonsu, koji je ushićeno uleteo u svlačionicu, a onda je počela žurka koju možete videti u priloženom videu.</p> <div class="embed-responsive"> <blockquote class="twitter-tweet"><p lang="zxx" dir="ltr"><a href="https://t.co/xdkhnQi2mF">pic.twitter.com/xdkhnQi2mF</a></p>— Животјеједнатомбола (@dobri__duh) <a href="https://twitter.com/dobri__duh/status/1859720013806174322?ref_src=twsrc%5Etfw">November 21, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> </div> <p>Takođe, košarkaši Partizana su posle utakmice radost podelili i sa svojim navijačima, kojih je večeras u Beogradskoj areni bilo oko 1.000.</p> <p>U slavlju je prednjači Frenk Nilikina, koji je u jednom momentu uzviknuo "Ko je najbolji?" gledajući ka tribinama, na šta su mu navijači uzvratili "Partizan"!.</p> <div class="embed-responsive"> <blockquote class="instagram-media" data-instgrm-captioned data-instgrm-permalink="https://www.instagram.com/reel/DCpoLqJslQP/?utm_source=ig_embed&utm_campaign=loading" data-instgrm-version="14" style=" background:#FFF; border:0; border-radius:3px; box-shadow:0 0 1px 0 rgba(0,0,0,0.5),0 1px 10px 0 rgba(0,0,0,0.15); margin: 1px; max-width:540px; min-width:326px; padding:0; width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><div style="padding:16px;"> <a href="https://www.instagram.com/reel/DCpoLqJslQP/?utm_source=ig_embed&utm_campaign=loading" style=" background:#FFFFFF; line-height:0; padding:0 0; text-align:center; text-decoration:none; width:100%;" target="_blank"> <div style=" display: flex; flex-direction: row; align-items: center;"> <div style="background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 40px; margin-right: 14px; width: 40px;"></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 100px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 60px;"></div></div></div><div style="padding: 19% 0;"></div> <div style="display:block; height:50px; margin:0 auto 12px; width:50px;"><svg width="50px" height="50px" viewBox="0 0 60 60" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-511.000000, -20.000000)" fill="#000000"><g><path d="M556.869,30.41 C554.814,30.41 553.148,32.076 553.148,34.131 C553.148,36.186 554.814,37.852 556.869,37.852 C558.924,37.852 560.59,36.186 560.59,34.131 C560.59,32.076 558.924,30.41 556.869,30.41 M541,60.657 C535.114,60.657 530.342,55.887 530.342,50 C530.342,44.114 535.114,39.342 541,39.342 C546.887,39.342 551.658,44.114 551.658,50 C551.658,55.887 546.887,60.657 541,60.657 M541,33.886 C532.1,33.886 524.886,41.1 524.886,50 C524.886,58.899 532.1,66.113 541,66.113 C549.9,66.113 557.115,58.899 557.115,50 C557.115,41.1 549.9,33.886 541,33.886 M565.378,62.101 C565.244,65.022 564.756,66.606 564.346,67.663 C563.803,69.06 563.154,70.057 562.106,71.106 C561.058,72.155 560.06,72.803 558.662,73.347 C557.607,73.757 556.021,74.244 553.102,74.378 C549.944,74.521 548.997,74.552 541,74.552 C533.003,74.552 532.056,74.521 528.898,74.378 C525.979,74.244 524.393,73.757 523.338,73.347 C521.94,72.803 520.942,72.155 519.894,71.106 C518.846,70.057 518.197,69.06 517.654,67.663 C517.244,66.606 516.755,65.022 516.623,62.101 C516.479,58.943 516.448,57.996 516.448,50 C516.448,42.003 516.479,41.056 516.623,37.899 C516.755,34.978 517.244,33.391 517.654,32.338 C518.197,30.938 518.846,29.942 519.894,28.894 C520.942,27.846 521.94,27.196 523.338,26.654 C524.393,26.244 525.979,25.756 528.898,25.623 C532.057,25.479 533.004,25.448 541,25.448 C548.997,25.448 549.943,25.479 553.102,25.623 C556.021,25.756 557.607,26.244 558.662,26.654 C560.06,27.196 561.058,27.846 562.106,28.894 C563.154,29.942 563.803,30.938 564.346,32.338 C564.756,33.391 565.244,34.978 565.378,37.899 C565.522,41.056 565.552,42.003 565.552,50 C565.552,57.996 565.522,58.943 565.378,62.101 M570.82,37.631 C570.674,34.438 570.167,32.258 569.425,30.349 C568.659,28.377 567.633,26.702 565.965,25.035 C564.297,23.368 562.623,22.342 560.652,21.575 C558.743,20.834 556.562,20.326 553.369,20.18 C550.169,20.033 549.148,20 541,20 C532.853,20 531.831,20.033 528.631,20.18 C525.438,20.326 523.257,20.834 521.349,21.575 C519.376,22.342 517.703,23.368 516.035,25.035 C514.368,26.702 513.342,28.377 512.574,30.349 C511.834,32.258 511.326,34.438 511.181,37.631 C511.035,40.831 511,41.851 511,50 C511,58.147 511.035,59.17 511.181,62.369 C511.326,65.562 511.834,67.743 512.574,69.651 C513.342,71.625 514.368,73.296 516.035,74.965 C517.703,76.634 519.376,77.658 521.349,78.425 C523.257,79.167 525.438,79.673 528.631,79.82 C531.831,79.965 532.853,80.001 541,80.001 C549.148,80.001 550.169,79.965 553.369,79.82 C556.562,79.673 558.743,79.167 560.652,78.425 C562.623,77.658 564.297,76.634 565.965,74.965 C567.633,73.296 568.659,71.625 569.425,69.651 C570.167,67.743 570.674,65.562 570.82,62.369 C570.966,59.17 571,58.147 571,50 C571,41.851 570.966,40.831 570.82,37.631"></path></g></g></g></svg></div><div style="padding-top: 8px;"> <div style=" color:#3897f0; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:550; line-height:18px;">View this post on Instagram</div></div><div style="padding: 12.5% 0;"></div> <div style="display: flex; flex-direction: row; margin-bottom: 14px; align-items: center;"><div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(0px) translateY(7px);"></div> <div style="background-color: #F4F4F4; height: 12.5px; transform: rotate(-45deg) translateX(3px) translateY(1px); width: 12.5px; flex-grow: 0; margin-right: 14px; margin-left: 2px;"></div> <div style="background-color: #F4F4F4; border-radius: 50%; height: 12.5px; width: 12.5px; transform: translateX(9px) translateY(-18px);"></div></div><div style="margin-left: 8px;"> <div style=" background-color: #F4F4F4; border-radius: 50%; flex-grow: 0; height: 20px; width: 20px;"></div> <div style=" width: 0; height: 0; border-top: 2px solid transparent; border-left: 6px solid #f4f4f4; border-bottom: 2px solid transparent; transform: translateX(16px) translateY(-4px) rotate(30deg)"></div></div><div style="margin-left: auto;"> <div style=" width: 0px; border-top: 8px solid #F4F4F4; border-right: 8px solid transparent; transform: translateY(16px);"></div> <div style=" background-color: #F4F4F4; flex-grow: 0; height: 12px; width: 16px; transform: translateY(-4px);"></div> <div style=" width: 0; height: 0; border-top: 8px solid #F4F4F4; border-left: 8px solid transparent; transform: translateY(-4px) translateX(8px);"></div></div></div> <div style="display: flex; flex-direction: column; flex-grow: 1; justify-content: center; margin-bottom: 24px;"> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; margin-bottom: 6px; width: 224px;"></div> <div style=" background-color: #F4F4F4; border-radius: 4px; flex-grow: 0; height: 14px; width: 144px;"></div></div></a><p style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; line-height:17px; margin-bottom:0; margin-top:8px; overflow:hidden; padding:8px 0 7px; text-align:center; text-overflow:ellipsis; white-space:nowrap;"><a href="https://www.instagram.com/reel/DCpoLqJslQP/?utm_source=ig_embed&utm_campaign=loading" style=" color:#c9c8cd; font-family:Arial,sans-serif; font-size:14px; font-style:normal; font-weight:normal; line-height:17px; text-decoration:none;" target="_blank">A post shared by KK Partizan Mozzart Bet (@partizanbc)</a></p></div></blockquote> <script async src="//www.instagram.com/embed.js"></script> </div> <p>Tu nije bio kraj slavlju, pošto su navijači potom i zaustavili autobus sa košarkašima na ulici, gde se prenela ludnica iz dvorane.</p> <p><strong>VIDEO: Ovo će biti derbi za pamćenje! Glasno navijanje crno-belih najavilo spektakl</strong></p> <div class="embed-responsive"> <div class="pulsembed_embed" data-run-module="pulsembed/pulsembed.init" data-src="//pulsembed.eu/p2em/6Cl9Tvpwu/" data-height-hint="56.25%" data-height-origin-hint="56.25%" data-sandbox="standard" data-author-name="" data-embed-id="6Cl9Tvpwu" data-provider-name="pulsevideo" data-extra-embed-params="%7B%22mvpId%22%3A%222402154.774526050%22%2C%22imageUrl%22%3A%22https%3A%2F%2Focdn.eu%2Fpulscms%2FMDA_%2Faf1d4aacd9f49d0fd1684b76f62f5ff1.jpg%22%2C%22previewUrl%22%3A%22https%3A%2F%2Fmedia.onet.pl%2F_ms%2Fpreview-bc56825e-dc2f-4826-8776-ee0c4bb11189.1000.mp4%22%7D" data-embed-img="https://ocdn.eu/pulscms-transforms/1/XbWk9kpTURBXy9hZjFkNGFhY2Q5ZjQ5ZDBmZDE2ODRiNzZmNjJmNWZmMS5qcGeRkwXNArzNAYuBoTAB"><a href="https://rasrs-blic.embed.videos.ringpublishing.com/2402154.774526050" target="_blank">Navijanje navijača crno-belih u Areni</a></div> </div> <p><strong>PROČITAJTE JOŠ:</strong></p> <p><a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/evroliga/partizan-je-vise-zeleo-pobedu-od-crvene-zvezde/2024112122040344038">Partizan je više želeo pobedu!</a><br><br><a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/evroliga/ovako-izgleda-tabela-evrolige-posle-derbija-crvena-zvezda-partizan/2024112111341212698">Partizan nije bio favorit, i sve je "poremetio": Evo kako izgleda tabela Evrolige posle Večitog derbija!</a><br><br><a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/evroliga/zeljko-obradovic-posle-pobede-kk-partizan-u-evroliga-derbiju-hvala-zvezdi/2024112111230831717">"Želim da se zahvalim Zvezdi!“ Obradović otkrio ključ pobede: Ali posao nije završen! /VIDEO/</a><br><br><a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/evroliga/partizan-ima-tezak-raspored-u-evroligi-do-kraja-2024-10-paklenih-utakmica/2024112111493420946">Šta čeka Partizan do kraja godine u Evroligi: Raspored je paklen!</a><br><br><a target="_self" class="editor-link" href="https://sportal.blic.rs/kosarka/evroliga/kk-crvena-zvezda-ima-saren-raspored-u-evroligi-do-kraja-2024/2024112111555288865">Šta čeka Zvezdu do kraja godine u Evroligi: Četiri teška gostovanja i dva "zicera" kod kuće</a></p> <div id="taboola"></div> <div class="banner d-md-none"> <div class="banner-wrapper-special" style='width: 100%; min-height: 280px;'> <div id='In_Text_3_Mobile' class="wrapperAd lazyAd" style="display: block !important; text-align: center; "> </div> </div> </div> <div class="banner d-none d-md-flex"> <div class="banner-wrapper-special" style='width:100%; min-height: 280px;'> <div id='In_Text_2_Desktop' class="wrapperAd lazyAd" style="display: block !important; text-align: center; position: absolute !important; top: 50%; left: 50%; transform: translate(-50%, -50%);"> </div> </div> </div> <hr style="color: rgb(254, 248, 251, 0.5);"> <div class="tags-share" style="margin-top: 8px;"> <p>Saznajte više o ovim temama</p> <div class="tags-share-inner"> <div class="single-news-tags mb-7"> <h6 class='tag-label mb-3'>Tagovi:</h6> <div class="news-tags"> <a href="https://sportal.blic.rs/kk-partizan">KK Partizan</a> <a href="https://sportal.blic.rs/evroliga">Evroliga</a> <a href="https://sportal.blic.rs/kk-crvena-zvezda">KK Crvena zvezda</a> </div> </div> <div class='single-news-share'> <a href="#" class="tooltip-wrapper" id="comments_btn"> <img src="https://sportal.blic.rs/theme/img/share/comments.svg" alt="Komentari" width="50px" height="50px"> <p class="custom-tooltip">Komentari</p> <span class="comments-number cp-number"></span> </a> <a href="" id="fb-share" target="_blank" class="share-link tooltip-wrapper"> <img src="https://sportal.blic.rs/theme/img/share/facebook.svg" data-social="facebook" alt="Facebook" width="50px" height="50px"> <p class="custom-tooltip">Podeli na Facebook-u</p> </a> <a href="#" id="wa-share" target="_blank" class="share-link tooltip-wrapper"> <img src="https://sportal.blic.rs/theme/img/share/whatsapp.svg" data-social="whatsapp" alt="WhatsApp" width="50px" height="50px"> <p class="custom-tooltip">Podeli na Whatsapp-u</p> </a> <a href="#" id="tw-share" target="_blank" class="share-link tooltip-wrapper"> <img src="https://sportal.blic.rs/theme/img/share/twitter-x.png" data-social="twitter" alt="Twitter" style="border-radius: 30%" width="50px" height="50px"> <p class="custom-tooltip">Podeli na Twitter-u</p> </a> <a href="https://sportal.blic.rs/rezultati/utakmice" class="tooltip-wrapper"> <img src="https://sportal.blic.rs/theme/img/share/live.svg" alt="Livescore" width="50px" height="50px"> <p class="custom-tooltip">LiveScore</p> </a> <a href="https://sportal.blic.rs/video" class="tooltip-wrapper"> <img src="https://sportal.blic.rs/theme/img/share/video.svg" alt="Video" width="50px" height="50px"> <p class="custom-tooltip">Video</p> </a> </div> <script> let shareUrl = 'https://sportal.blic.rs/kosarka/kk-partizan/obradovic-poveo-ludnicu-u-svlacionici-a-nilikina-sa-srpskim-na-tribinama-video/2024112122250652527' let fbShare = document.getElementById('fb-share'); let waShare = document.getElementById('wa-share'); let twShare = document.getElementById('tw-share'); fbShare.setAttribute('href', `http://www.facebook.com/share.php?u=${encodeURIComponent(shareUrl)}&utm_medium=social&utm_source=facebook&utm_campaign=share-button`); waShare.setAttribute('href', `https://wa.me?text=${encodeURIComponent(shareUrl)}&utm_medium=social&utm_source=whatsapp&utm_campaign=share-button`); twShare.setAttribute('href', `https://twitter.com/intent/tweet?url=${encodeURIComponent(shareUrl)}&utm_medium=social&utm_source=twitter&utm_campaign=share-button`) //GA4 share - attach GA4 event on share btn click. let shareLinks = document.getElementsByClassName('share-link'); for(let i=0; i<shareLinks.length; ++i) { let element = shareLinks[i]; let shareTarget = null; element.addEventListener('click', e => { if(e.target.tagName == 'IMG') { //shareTarget = e.target.alt.toLowerCase(); <- This cannot be used because it seems that some browsers // convert 'alt' value to native (e.g. cyrillic) alphabet ??!! shareTarget = e.target.getAttribute('data-social'); } else if(e.target.tagName = 'A') { let imgEl = e.target.firstElementChild; shareTarget = imgEl.getAttribute('data-social'); } else { return console.error("Invalid selector, expected <img> or <a> element, received -> " + e.target.tagName); } // send GA4 GTM 'share' event if(shareTarget) { gtagLayerPush({ event: 'share', method: shareTarget, link_url: shareUrl }) } }, {capture: true, passive: true}); } // bind 'go to comments' button let commentsBtn = document.querySelector('#comments_btn'); if(commentsBtn) { commentsBtn.addEventListener('click', e => { e.preventDefault(); const y = document.getElementById("comments-container").getBoundingClientRect().top + window.pageYOffset - 100; window.scrollTo({top: y, behavior: "smooth"}) }); } </script> </div> </div> <div class="author-data"> <div class="author-info"> <figure class="author-image"> <img src="https://sportal365images.com/process/smp-images-production/sportal.blic.rs/17042024/bf46ed24-e7e0-44ba-8db1-fff62cd6ccbe.jpg?operations=autocrop(512:512)" alt="" width="40px" height="40px"> </figure> <div class="info"> <h6 class="name"> <a href="https://sportal.blic.rs/autor/vladimir-kolarik/2022041811402103993/vesti" style="color: #1c242e;"> Vladimir Kolarik </a> </h6> <p class="position">U sportskom novinarstvu od 2012. godine, a od 2020. godine d...</p> </div> </div> <p class="data">23:25 - 21.11.2024</p> </div> </div> </article> <div class="search-generative-experiance"> <div class="text-box"> <h4 class="box-title"> <span> <img src="https://sportal.blic.rs/theme/img/groups.png" alt=""> </span> Pridružite se </h4> <p>Saznajte sve o najvažnijim vestima i događajima, pridružite se našoj WhatsApp zajednici ili čitajte na Google News.</p> </div> <div class="buttons-box"> <a href="https://whatsapp.com/channel/0029VaC6VrI7YSd0AUkRAP3x" class="whatsapp-btn" target="_blank"> <span><img src="https://sportal.blic.rs/theme/img/whatsapp.png" width="22" alt="WhatsApp"></span> Sportal WhatsApp </a> <a href="https://news.google.com/publications/CAAqBwgKMOGxpQswpLy9Aw?hl=sr&gl=RS&ceid=RS%3Asr" class="google-btn google-news-btn" target="_blank"> <span><img src="https://sportal.blic.rs/theme/css/assets/google.png" width="24" alt="Google News"></span> Google News </a> <a href="https://link.sportal.rs/join/7ok/sign-up-sportal-newsletter-weekly" class="newsletter-btn" target="_blank"> <span><img src="https://sportal.blic.rs/theme/img/icons/letter.png" width="20" alt="Newsletter"></span> Nedeljni Njuzleter </a> </div> </div> <div id="comments-container"></div> <!--Akla Placement: P1 Sportal BA --> <div id="aklapSpo2085" class="aklaplace"></div> <iframe src="https://www.nin.rs/exchange-widget/nin/widget-v1.html" class="nin-widget"></iframe> <!--Akla Placement: P1 SPortalBlic_Promo_Obj--> <div id="aklapSPPObj" class="aklaplace"></div> <!--Akla Placement: P1 SPortalBlic_Promo_Rep--> <div id="aklapSPPRep" class="aklaplace"></div> <!--Akla Placement: P1 SPortalBlic_Promo_247--> <div id="aklapSPP247" class="aklaplace"></div> <!--Akla Placement: P1 SPortalBlic_Promo_RAS --> <div id="aklapSPo100" class="aklaplace"></div> <!--Akla Placement: P1 SPortalBlic_Promo_SD --> <div id="aklapSPo2067" class="aklaplace"></div> <!--Akla Placement: P2 SPortalBlic_Promo_Alo --> <div id="aklapSPo2070" class="aklaplace"></div> <div class="banner d-md-none"> <div class="banner-wrapper" style='width: 100%; min-height: 280px;'> <div id='P2_Mobile' class="wrapperAd lazyAd"> </div> </div> </div> </div> </div> <div class="col-12 col-xl-3 sidebar flex-column d-none d-lg-flex"> <div class="banner-holder" style="height: 1000px;"> <div class="banner"> <div class="banner-wrapper" style='min-width: 300px; min-height: 250px;'> <div id='P1_Desktop' class="wrapperAd"> </div> </div> </div> </div> <div class="banner-holder" style="height: 1000px;"> <div class="banner"> <div class="banner-wrapper" style='min-width: 300px; min-height: 250px;'> <div id='P2_Desktop' class="wrapperAd lazyAd"> </div> </div> </div> </div> <div class="banner-holder" style="flex: 1; padding-bottom: 0;"> <div class="banner" style="margin-bottom: 0;"> <div class="banner-wrapper" style='min-width: 300px; min-height: 250px; margin-bottom: 0;'> <div id='P3_Desktop' class="wrapperAd lazyAd"> </div> </div> </div> </div> </div> </div> </div> </div> <section class="landing-four-news-video-wrapper"> <div class="container"> <div class="landing-section-title-wrapper"> <h2 class="landing-section-title"><span>Video</span></h2> </div> <div class="landing-four-news"> <article class="news-item video-item "> <div class="comments-wrapper"> <svg width="13px" height="13px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#comment-alt"></use> </svg> <span class="comments-number cp-list-comments-num" data-story-id="2025021413125797732"></span> </div> <a href="https://sportal.blic.rs/video/srpski-timovi-dominiraju-u-januaru-ovi-potezi-su-obelezili-evroligu-u-januaru/2025021413125797732" class="news-item-image"> <picture> <source srcset="https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-sm.webp 77w, https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-m.webp 224w, https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-l.webp 299w, https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-xl.webp 737w" sizes="100vw" type="image/webp" > <img src="https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-xl.jpeg" alt="" srcset="https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-sm.jpeg 77w, https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-m.jpeg 224w, https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-l.jpeg 299w, https://sportal.blic.rs/storage/images/2025/02/14/13:09:25_2025021413092515697_original_ai-xl.jpeg 737w" sizes="100vw" width="737" height="491" loading="lazy" class="lazyload" > </picture> </a> <div class="news-item-data"> <div class="time-red-box"> <span class="hour">14</span> <span class="minute">12</span> </div> <div class="news-item-category-wrapper"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="news-item-category">Evroliga</a> <p class="news-item-date">14:12 - 14.02.2025</p> </div> <h2 class="news-item-title"> <a href="https://sportal.blic.rs/video/srpski-timovi-dominiraju-u-januaru-ovi-potezi-su-obelezili-evroligu-u-januaru/2025021413125797732">🎥 Srpski timovi dominiraju u januaru: Ovi potezi su obeležili Evroligu u januaru</a> </h2> <p class="news-item-description">Na prvom mestu se zasluženo nalazi najbolji potez ovog meseca u Evroligi, a u glavnoj ulozi su Pokuševski i Tajrik!</p> </div> <!-- .news-item-data--> </article> <!-- .news-item--> <article class="news-item video-item "> <div class="comments-wrapper"> <svg width="13px" height="13px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#comment-alt"></use> </svg> <span class="comments-number cp-list-comments-num" data-story-id="2025021314585153691"></span> </div> <a href="https://sportal.blic.rs/video/misko-raznatovic-otkrio-ko-ga-je-pomirio-sa-zeljkom-obradovicem-ali-i-kada-ce-guduric-u-zvezdu/2025021314585153691" class="news-item-image"> <picture> <source srcset="https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-sm.webp 77w, https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-m.webp 224w, https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-l.webp 299w, https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-xl.webp 737w" sizes="100vw" type="image/webp" > <img src="https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-xl.jpeg" alt="Miško Ražnatović i Nikola Jokić, Foto: Starsport" srcset="https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-sm.jpeg 77w, https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-m.jpeg 224w, https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-l.jpeg 299w, https://sportal.blic.rs/storage/images/2024/07/02/21:19:46_2024070221192902005_original_ai-xl.jpeg 737w" sizes="100vw" width="737" height="491" loading="lazy" class="lazyload" > </picture> </a> <div class="news-item-data"> <div class="time-red-box"> <span class="hour">15</span> <span class="minute">58</span> </div> <div class="news-item-category-wrapper"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="news-item-category">Evroliga</a> <p class="news-item-date">15:58 - 13.02.2025</p> </div> <h2 class="news-item-title"> <a href="https://sportal.blic.rs/video/misko-raznatovic-otkrio-ko-ga-je-pomirio-sa-zeljkom-obradovicem-ali-i-kada-ce-guduric-u-zvezdu/2025021314585153691">🎥 Miško Ražnatović otkrio ko ga je pomirio sa Željkom Obradovićem, ali i kada će Gudurić u Zvezdu</a> </h2> <p class="news-item-description">Čuveni košarkaški agent, Miško Ražnatović, govorio je za naš Sportal.gr, i prvi put je opisao kako je Vasilis Spanulis postao trener i kako je popravio svoje odnose sa Željkom Obradovićem.</p> </div> <!-- .news-item-data--> </article> <!-- .news-item--> <article class="news-item video-item "> <div class="comments-wrapper"> <svg width="13px" height="13px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#comment-alt"></use> </svg> <span class="comments-number cp-list-comments-num" data-story-id="2025021309293183676"></span> </div> <a href="https://sportal.blic.rs/video/cima-moneke-otvorio-dusu-u-poslednjih-15-godina-roditelje-sam-uzivo-video-dva-puta/2025021309293183676" class="news-item-image"> <picture> <source srcset="https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-sm.webp 77w, https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-m.webp 224w, https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-l.webp 299w, https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-xl.webp 737w" sizes="100vw" type="image/webp" > <img src="https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-xl.jpeg" alt="Čima Moneke, Detalj sa meča košarka evroliga, KK Crvena zvezda – KK Baskonija/Foto: Aleksandar Dimitrijević/Sportal" srcset="https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-sm.jpeg 77w, https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-m.jpeg 224w, https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-l.jpeg 299w, https://sportal.blic.rs/storage/images/2024/10/10/08:37:11_2024100919292281574_original_ai-xl.jpeg 737w" sizes="100vw" width="737" height="491" loading="lazy" class="lazyload" > </picture> </a> <div class="news-item-data"> <div class="time-red-box"> <span class="hour">10</span> <span class="minute">29</span> </div> <div class="news-item-category-wrapper"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="news-item-category">Evroliga</a> <p class="news-item-date">10:29 - 13.02.2025</p> </div> <h2 class="news-item-title"> <a href="https://sportal.blic.rs/video/cima-moneke-otvorio-dusu-u-poslednjih-15-godina-roditelje-sam-uzivo-video-dva-puta/2025021309293183676">🎥 Čima Moneke otvorio dušu: U poslednjih 15 godina, roditelje sam uživo video dva puta</a> </h2> <p class="news-item-description">Gledajući fotografije koje je okačio na svoj Instagram profil, Čima Moneke se prisetio nekih, njemu dragih uspomena.</p> </div> <!-- .news-item-data--> </article> <!-- .news-item--> <article class="news-item video-item "> <div class="comments-wrapper"> <svg width="13px" height="13px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/regular.svg#comment-alt"></use> </svg> <span class="comments-number cp-list-comments-num" data-story-id="2025021308124129012"></span> </div> <a href="https://sportal.blic.rs/video/poarije-cilj-mi-je-da-ostavim-trag-u-evroligi/2025021308124129012" class="news-item-image"> <picture> <source srcset="https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-sm.webp 77w, https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-m.webp 224w, https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-l.webp 299w, https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-xl.webp 737w" sizes="100vw" type="image/webp" > <img src="https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-xl.jpeg" alt="" srcset="https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-sm.jpeg 77w, https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-m.jpeg 224w, https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-l.jpeg 299w, https://sportal.blic.rs/storage/images/2025/02/13/08:11:08_2025021308110887065_original_ai-xl.jpeg 737w" sizes="100vw" width="737" height="491" loading="lazy" class="lazyload" > </picture> </a> <div class="news-item-data"> <div class="time-red-box"> <span class="hour">09</span> <span class="minute">12</span> </div> <div class="news-item-category-wrapper"> <a href="https://sportal.blic.rs/kosarka/evroliga" class="news-item-category">Evroliga</a> <p class="news-item-date">09:12 - 13.02.2025</p> </div> <h2 class="news-item-title"> <a href="https://sportal.blic.rs/video/poarije-cilj-mi-je-da-ostavim-trag-u-evroligi/2025021308124129012">🎥 Poarije: Cilj mi je da ostavim trag u Evroligi</a> </h2> <p class="news-item-description">Vesan Poarije bi želeo da bude "onaj" koji će imati najviše osvojenih Evroliga.</p> </div> <!-- .news-item-data--> </article> <!-- .news-item--> </div> </div> </section> </main> <template id="quiz_template"> <div class="quiz-popup-wrapper"> <div class="quiz-popup"> <figure class="sportal-logo"> <img src="https://sportal.blic.rs/theme/img/quiz-logo.png" alt=""> </figure> <h2>Kviz</h2> <a href="#">Reši kviz i saznaj <span><img src="https://sportal.blic.rs/theme/img/quiz-logo.png" alt=""></span> </a> </div> </div> </template> <template id="single_match_widget_template"> <div class="fansunited-widget-single-box fansunited-widget-wrapper"> <div class="fansunited-widget-content"> <div class="fansunited-widget-titles"> <h3></h3> <h1>Vreme je za <span>igru!</span> Ako vam do sad nisu verovali da se razumete u fudbal, nabavite dokaz. <span>Pogodi rezultate!</span></h1> </div> <figure class="fansunited-widget-image"> <img src="https://sportal.blic.rs/theme/img/fu-landing-fans.png" alt=""> </figure> </div> <div class="match-box"> </div> <div class="btn-wrapper"> <a href="https://sportal.blic.rs/fans-united/top-X" class="view-all-btn" data-modal="fansunitedWidgetModal">Pogledaj igru</a> </div> <div class="fansunited-widget-modal"> <div class="modal"> <div class="modal-bg modal-exit"></div> <div class="modal-container"> <figure class="modal-image"> <img src="https://sportal.blic.rs/theme/img/fansunited-widget2.png" alt=""> </figure> <div class="modal-text"> <h3>Još jedan korak</h3> <h4>Ako želite da učestvujete u igri morate da se registrujete</h4> <a href="https://sportal.blic.rs/private/login?source=fans-united" class="modal-btn">Želim da se registrujem</a> <p>Već imate nalog? <a href="https://sportal.blic.rs/private/login?source=fans-united">Ulogujte se</a></p> </div> <button class="modal-close modal-exit"> <svg width="26px" height="26px"> <use xlink:href="https://sportal.blic.rs/theme/img/fontawesome/solid.svg#times"></use> </svg> </button> </div> </div> </div> </div> </template> <template id="match_widget_match_template"> <div class="single-match"> <p class="single-match-info"> <span></span> </p> <div class="single-match-teams"> <div class="single-team home-team"> <div class="team-data"> <figure class="team-logo"> <img src="#" alt=""> </figure> <p class="team-name"><a href="#"></a></p> </div> <div class="team-result"> <h1 class="bet-result">0</h1> </div> </div> <div class="single-team away-team"> <div class="team-data"> <figure class="team-logo"> <img src="#" alt=""> </figure> <p class="team-name"><a href="#"></a></p> </div> <div class="team-result"> <h1 class="bet-result">0</h1> </div> </div> </div> <div class="single-match-footer"> <div class="match-footer-item"> <p>Konačan rezultat:</p> <div class="score"> <span>-</span>:<span>-</span> </div> </div> <div class="match-footer-item match-points-earned"> <p>Osvojili ste:</p> <span>0</span><span>bodova</span> </div> </div> </div> </template> <footer class="euroleague-theme"> <div class="footer-top"> <div class="container"> <div class="footer-top-wrapper"> <div class="footer-list-wrapper"> <ul class="footer-menu list-unstyled"> <span class="footer-menu-title">Kategorije</span> <li class="footer-item"> <a href="https://sportal.blic.rs/fudbal" class="footer-link">Fudbal</a> </li> <li class="footer-item"> <a href="https://sportal.blic.rs/kosarka" class="footer-link">Košarka</a> </li> <li class="footer-item"> <a href="https://sportal.blic.rs/tenis" class="footer-link">Tenis</a> </li> <li class="footer-item"> <a href="https://sportal.blic.rs/odbojka" class="footer-link">Odbojka</a> </li> <li class="footer-item"> <a href="https://sportal.blic.rs/sportske-vesti" class="footer-link">Sportske vesti</a> </li> <li class="footer-item"> <a href="https://sportal.blic.rs/e-sport" class="footer-link">E-Sport</a> </li> </ul> <ul class="footer-menu list-unstyled"> <span class="footer-menu-title">Košarka</span> <li class="footer-item"> <a href="/kosarka/aba-liga" class="footer-link">ABA liga</a> </li> <li class="footer-item"> <a href="/kosarka/evroliga" class="footer-link">Evroliga</a> </li> <li class="footer-item"> <a href="/kosarka/evrokup" class="footer-link">Evrokup</a> </li> <li class="footer-item"> <a href="/kosarka/nba" class="footer-link">NBA</a> </li> <li class="footer-item"> <a href="/kosarka/reprezentacija" class="footer-link">Reprezentacija Srbije</a> </li> </ul> <div class="footer-social"> <p>Follow us</p> <a href="https://www.facebook.com/sportal.rs/" target="_blank" data-social="facebook"> <img src="https://sportal.blic.rs/theme/img/social/facebook.png" alt="Facebook" width="26px" height="26px"> </a> <a href="https://twitter.com/SportalSrbija" target="_blank" data-social="twitter"> <img src="https://sportal.blic.rs/theme/img/social/twitter.png" alt="Twitter" width="26px" height="26px"> </a> <a href="https://www.instagram.com/sportalrs/" target="_blank" data-social="instagram"> <img src="https://sportal.blic.rs/theme/img/social/instagram.png" alt="Instagram" width="26px" height="26px"> </a> <a href="https://www.tiktok.com/@sportal.rs" target="_blank" data-social="tiktok"> <img src="https://sportal.blic.rs/theme/img/social/tiktok.png" alt="Tiktok" width="26px" height="26px"> </a> <a href="https://news.google.com/publications/CAAqBwgKMOGxpQswpLy9Aw?hl=sr&gl=RS&ceid=RS%3Asr" class="google-news-btn" target="_blank"> <img src="https://sportal.blic.rs/theme/css/assets/google.png" alt="Sportal on Google News"> </a> </div> </div> </div> </div> </div> <div class="footer-bottom"> <div class="container"> <div class="footer-bottom-wrapper"> <div class="footer-bottom-link-wrapper d-md-none d-flex"> <a href="/ringier-ostalo/impressum/2022052014300168077" class="footer-bottom-link">Impressum</a> <a href="/ringier-ostalo/o-nama" class="footer-bottom-link">O nama</a> </div> <div class="footer-bottom-link-wrapper"> <a href="/ringier-ostalo/impressum/2022052014300168077" class="footer-bottom-link d-none d-md-block" >Impressum</a> <a href="/ringier-ostalo/o-nama" class="footer-bottom-link d-none d-md-block">O nama</a> <a href="/ringier-ostali/uslovi-koriscenja/2022052014232850934" class="footer-bottom-link">Uslovi Korišćenja</a> <a href="/ringier-ostalo/marketing/2024011913032818483" class="footer-bottom-link">Marketing</a> <a href="/ringier-ostalo/urednicka-politika/2024041721260318499" class="footer-bottom-link">Urednička politika</a> </div> <div class="logo-footer-wrapper"> <a href="https://sportal365.com/" class="logo-footer"> <img src="https://sportal.blic.rs/theme/img/logo-footer.svg?v=12" alt="Sportal 365 logo" width="191" height="37"> </a> </div> <p class="copyright">copyright 2025 - <a href="javascript:void(0);" style="cursor: text;">Ringier Sports Media</a></p> </div> </div> </div> </footer> <div class='overlay close-menu'></div> <script src="https://sportal.blic.rs/theme/js/swiper.min.js" type="text/javascript"></script> <script src="https://sportal.blic.rs/theme/js/fslightbox.js" type="text/javascript"></script> <script src="https://sportal.blic.rs/theme/js/glider.min.js" type="text/javascript"></script> <script src="https://sportal.blic.rs/theme/js/main.js?v=13" type="text/javascript"></script> <script> document.addEventListener('DOMContentLoaded', () => { function ninWidgetChangeMode(mode, widgetIframe) { console.log('changin mode'); let modeAction = 'remove-dark-mode'; if(mode == 'dark') { modeAction = 'add-dark-mode'; } if(!widgetIframe) { widgetIframe = document.querySelector('iframe.nin-widget'); } if(widgetIframe && widgetIframe.contentWindow) { console.log("Calling widgetIframe with action = " + modeAction); widgetIframe.contentWindow.postMessage({action: modeAction}, "*"); } else { console.warn("NIN widget dark mode change - unsupported."); } } let widgetIframe = document.querySelector('iframe.nin-widget'); if(widgetIframe) { // Initialy widget is white, that is why we call this on load. widgetIframe.onload = () => { let mode = sessionStorage.getItem('mode'); if(mode && mode == 'dark') { ninWidgetChangeMode(mode); } } } // This event fires when client clicks on the bulb icon in the menu window.addEventListener('sportal-dark-mode-change', () => { let mode = sessionStorage.getItem('mode'); if(mode) { ninWidgetChangeMode(mode) } }); }); </script> <script> var blade = { urls: { gamePage: "https://sportal.blic.rs/fans-united/igra/{gameId}", teamPage: "https://sportal.blic.rs/rezultati/klub/{id}" } }; /** * Fill widget data. * * @param Object data * * @return void */ function makeMatchElement(matchData) { let el = document.getElementById("match_widget_match_template") .content.firstElementChild.cloneNode(true); let infoDiv = el.querySelector('.single-match-info > span'); infoDiv.innerHTML = matchData.context.competition.name; // show match start datetime infoDiv.after(formatFansunitedDateValue(matchData.kickoffAt)); el.querySelector('.home-team .team-name > a').innerHTML = matchData.homeTeam.name; el.querySelector('.away-team .team-name > a').innerHTML = matchData.awayTeam.name; el.querySelector('.home-team .team-logo > img').src = matchData.homeTeam.assets.logo; el.querySelector('.away-team .team-logo > img').src = matchData.awayTeam.assets.logo; let homeTeamUrl = blade.urls.teamPage.replace('{id}', matchData.homeTeam.id); let awayTeamUrl = blade.urls.teamPage.replace('{id}', matchData.awayTeam.id); el.querySelector('.home-team .team-name > a').href = homeTeamUrl; el.querySelector('.away-team .team-name > a').href = awayTeamUrl; el.querySelector('.single-match-footer .score > span:nth-child(1)').innerHTML = matchData.scores.ftScore.homeGoals ?? 0; el.querySelector('.single-match-footer .score > span:nth-child(2)').innerHTML = matchData.scores.ftScore.awayGoals ?? 0; el.querySelector('.home-team .bet-result').innerHTML = 0; el.querySelector('.away-team .bet-result').innerHTML = 0; return el; } /** * Load user predictions and attach them to DOM elements received in * matchesWidgetsMap. * * @param string userId * @param Object matchesWidgetsMap * * @return void */ function loadFuUserPredictions(userId, matchesWidgetsMap) { let matchIds = Object.keys(matchesWidgetsMap); // Get user match predictions and show it in widget match rows window.FansUnitedSDK.predictor.getUserPredictionsForMatches(userId, matchIds, {}, true).then((responseObject) => { console.debug("getUserPredictionsForMatches(): "); console.debug(matchIds); console.debug(responseObject); responseObject.data.forEach((gamePrediction) => { gamePrediction.fixtures.forEach((matchPrediction) => { if(matchesWidgetsMap[matchPrediction.matchId]) { let matchElPart = matchesWidgetsMap[matchPrediction.matchId]; matchElPart.querySelector('.home-team .bet-result').innerHTML = matchPrediction.prediction.value.split(':')[0]; matchElPart.querySelector('.away-team .bet-result').innerHTML = matchPrediction.prediction.value.split(':')[1]; matchElPart.querySelector('.match-footer-item.match-points-earned span').innerHTML = matchPrediction.result.points; // <- NOTE: This selector will select first span // set result prediction color by adding a class let cssClass = matchPrediction.result.outcome.toLowerCase().replace('_', '-'); matchElPart.classList.add(cssClass + '-result'); } }); /* if(gamePrediction.gameType == 'TOP_X' && gamePrediction.gameInstanceId) { topxGameId = gamePrediction.gameInstanceId; } */ }); }) .catch((reason) => { if(manageFuJwtErrors(reason) === true) { console.warn("Managed JWT error for getUserPredictionsForMatches()."); return; } console.error("getUserPredictionsForMatches() error:"); console.error(reason); }); } /** * Load fansunited game and show matches. * * @param HTMLElement targetEl | target element to which * | widgetEl will be appended * @param HTMLElement widgetEl | target element inside which * | game widget will be created * @param string gameId * @param array articleMatchIds | match IDs bound to the article * @param string userId * * @return void */ function loadFuGame(targetEl, widgetEl, gameId, articleMatchIds, userId) { window.FansUnitedSDK.topX.getGameById(gameId).then((responseObject) => { console.debug("GAME"); console.debug(responseObject); // First validate response if(responseObject.type != 'TOP_X') { console.error("Unexpected type. Only 'Top X' games are managed."); return; } if(!Array.isArray(responseObject.fixtures)) { console.error("There are no game fixtures for this match"); return; } // Map will be in the form {matchID: matchHTMLElement} let matchesWidgetsMap = {}; responseObject.fixtures.forEach((matchData) => { let matchEl = makeMatchElement(matchData.matchModel); matchesWidgetsMap[matchData.matchModel.id] = matchEl; widgetEl.querySelector('.match-box').append(matchEl); // add class to mark that this match is bound to the article if(articleMatchIds.includes(matchData.matchModel.id)) { matchEl.classList.add('article-bound-match'); } }); if(userId) { loadFuUserPredictions(userId, matchesWidgetsMap); } targetEl.append(widgetEl); }) .catch((reason) => { if(manageFuJwtErrors(reason) === true) { console.warn("Managed JWT error for getGameById()."); return; } console.error("getGameById() error:"); console.error(reason); }); } /** * Load game match widget (create and populate DOM element); * * @param string gameId * @param array articleMatchIds | match IDs bound to the article * @param HTMLElement targetElement | target element after which * | this widget will be appended * @param string title * @param string subtitle * @param string userId * * @return void */ function loadFuTopXWidget(gameId, articleMatchIds, targetEl, title, subtitle, userId) { let widgetEl = document.getElementById("single_match_widget_template") .content.firstElementChild.cloneNode(true); // set URL from game ID widgetEl.querySelector('.btn-wrapper > a.view-all-btn').href = blade.urls.gamePage.replace('{gameId}', gameId); // set title widgetEl.querySelector('.fansunited-widget-titles > h3').innerHTML = title; loadFuGame(targetEl, widgetEl, gameId, articleMatchIds, userId); } </script> <script> /* * Send displayed odds inside football widget to google analytics using gtag(). * * @param HTMLElement data * * @return void */ function onFootballWidgetV1LoadCallback(data) { console.log("Football widgets V1 loaded"); let oddsWrappers = data.node.getElementsByClassName('widget-livescore__odds'); for(let i=0; i<oddsWrappers.length; ++i) { let wrapper = oddsWrappers[i]; let urlElements = wrapper.getElementsByClassName('block-anchor'); // gets 3 odds value wrappers (1, X, 2) if(urlElements.length > 0) { gtag('event', 'efbet_odds_view', { 'event_label': 'Efbet odds displayed', 'event_category': 'efbet_odds', 'non_interaction': true, }); //'url': urlElements[0].href // we're taking URL value from first odds value a.href } }; } function initFootballWidgetsV1() { let widgetLoaderConfig = { CDN_URL: 'https://widgets.sportal365.com', ODD_CLIENT: 'blic_rs', APP_LINK: 'desktop', API_URL: 'https://football.cache.proxy.sportal365.com/', API_KEY: '506ac9a5d577bbc66b0c48ad0cdb1b43:f6532597b3786aa617c41e7f8ed6ffd7', LANG: 'en', REQUEST_INTERVAL: 30, ENABLE_BET_SLIP: false, AUTHOR: false, THEME: "light", TOURNAMENT_ORDER: "blic_rs_all", LINK_OPTIONS_V2: { 'player': { 'url':'/rezultati/igrac/{playerId}' }, 'team': { 'url': '/rezultati/klub/{teamId}/vesti' }, 'tournament': { 'url': '/rezultati/takmicenje/{tournamentId}' }, 'match': { 'url': '/rezultati/utakmica/{matchId}', 'sort': { 'criteria': 'alphabetically', 'direction': 'asc' } }, 'configuration': { 'newWindow': false }, 'standings_tournament': { 'url': '/rezultati/takmicenje/{standingsId}/tabela' } }, ON_WIDGET_LOAD: (data) => { // Uncomment following 2 lines of code if on-load-widget event is needed //let event = new Event('football_widget_v1_loaded'); //document.dispatchEvent(event); onFootballWidgetV1LoadCallback(data); } }; setTimeout(() => { let smp = new SMPWidgetsLoader(widgetLoaderConfig); }, 200); } /** * Load CDN script and CSS link and initialize widgets loader. * * @return HTMLScriptElement */ function loadFootballWidgetV1Scripts(initOnLoad, checkWidgetsExist) { if(checkWidgetsExist && document.querySelectorAll('[data-widgetid]').length === 0) { console.log("No V1 football widgets on the page found. Exiting."); return; } if(window.SMPWidgetsLoader) { console.log("Football widgets V1 loader script already loaded"); return; } let scriptCss = document.createElement('link'); scriptCss.id = 'football_widget_v1_css_el'; scriptCss.href = "https://sportal.blic.rs/theme/css/sport-widgets.css?v=127"; scriptCss.rel = 'stylesheet'; scriptCss.type = 'text/css'; document.head.appendChild(scriptCss); let scriptTag = document.createElement('script'); scriptTag.id = 'football_widget_v1_script_el'; scriptTag.src = 'https://widgets.sportal365.com/loader.bundle.min.js?v=13'; if(initOnLoad) { scriptTag.onload = function() { initFootballWidgetsV1() }; } document.head.appendChild(scriptTag); return scriptTag; } document.addEventListener('DOMContentLoaded', () => { console.log("Loading football widgets V1"); loadFootballWidgetV1Scripts(true, true); }); </script> <script> /* * Send displayed odds inside basketball widget to google analytics using gtag(). * * @param Array data * * @return void */ function onFootballLivescoresWidgetV2LoadCallback(data) { console.log("Football widgets V2 loaded"); /* NOTE: Odds counting not set because there is currently no on odds provider which would allow development/testing. */ // Set user selected widgets theme on load autoSetFootballWidgetsV2Theme(); } /** * Change widgets theme by looking for existance of 'dark-mode' class on body * HTML element. This class is switched on/off in /theme/js/main.min.js checkMode() * and called on bulb icon click. */ function autoSetFootballWidgetsV2Theme() { let theme = 'light'; if(document.body.classList.contains('dark-mode')) { theme = 'dark'; } window.smpFootballWidgets.widgetData.widgetAttributes['data-theme'] = theme; window.smpFootballWidgets.RefreshAllWidgets() } /** * Return our config object for football widget v2. * This can be used as config param in LoadSmpWidget() and AddSmpWidget(). */ function getFootballWidgetV2Config() { return { sdkOptions : { dataConfigApiUrl : 'https://football.cache.proxy.sportal365.com/', dataConfigStandingsApiUrl: 'https://standing-api.sandbox.g.sportal365.com', dataConfigApiKey : '506ac9a5d577bbc66b0c48ad0cdb1b43:f6532597b3786aa617c41e7f8ed6ffd7', dataConfigProject: 'sportal.blic.rs', dataConfigOddClient : "blic_rs", dataConfigTimezone: 'Europe/Belgrade', dataConfigCompetitionList : 'blic_rs_all', dataConfigLang : "sr" }, widgetAttributes: { "data-theme": "light", "data-entity-links": { 'player': { 'url':'/rezultati/igrac/{playerId}' }, 'team': { 'url': '/rezultati/klub/{teamId}/vesti' }, 'competition': { 'url': '/rezultati/takmicenje/{competitionId}' }, 'standings': { 'url': '/rezultati/takmicenje/{competitionId}/tabela' }, 'match': { 'url': '/rezultati/utakmica/{matchId}', 'sort': { 'criteria': 'alphabetically', 'direction': 'asc' } }, configuration: { newWindow: false } }, //"data-odds-betting-id": window.footballOddsProviderId ?? -1, "data-labels": { all: "All" }, }, themes: { dark: { colors: { //fullTimeMatchStatusColor: 'red', sportEntityContainerPrimaryBgColor: "rgb(51, 58, 67)", primaryBackgroundColor: "rgb(51, 58, 67)", hiContrast : "white", rowBackgroundColor : "#1c242e", highLighted: "greenbl", }, } }, onLoaded: (data) => { // Uncomment following 2 lines of code if on-load-widget event is needed //let event = new Event('football_widget_v2_loaded'); //document.dispatchEvent(event); onFootballLivescoresWidgetV2LoadCallback(data); // Add event listener for V2 theme change let bulb = document.querySelector('.header-action > .icon.dark-light'); bulb.addEventListener('click', function() { // Timeout is set to allow body class to be changed by // checkMode() before the call of target class. setTimeout(autoSetFootballWidgetsV2Theme, 5); }); }, }; } /** * Algorithm to get one odds provider id from many depending on factor value * and randomness. * * oddsProviders must have the following structure: * [ * { * 'id': 1234, * 'factor': 12.0 * }, * ... * ] */ function getFootballOddsProviderId(oddsProviders) { //simple randomization start let id = -1; const multipliedOddsProviders = [ ...oddsProviders, ...oddsProviders, ...oddsProviders, ...oddsProviders, ...oddsProviders, ...oddsProviders, ]; const totalProviders = oddsProviders.length; if (totalProviders === 0) { return id; } const randomIndex = new Date().getMilliseconds() % totalProviders; id = oddsProviders[randomIndex].id; return id; //simple randomization end const totalFactor = oddsProviders.reduce((acc, item) => acc + item.factor, 0); const randomNum = Math.random() * totalFactor; let factorSum = 0; for (const item of oddsProviders) { factorSum += item.factor; if (randomNum < factorSum) { return item.id; } } return -1; } /* * https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge */ function isObject(item) { return (item && typeof item === 'object' && !Array.isArray(item)); } /** * Deep merge two objects. * * Used for initFootballWidgetsV2() * * @param target * @param ...sources * * @link https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge */ function mergeDeep(target, ...sources) { if (!sources.length) return target; const source = sources.shift(); if (isObject(target) && isObject(source)) { for (const key in source) { if (isObject(source[key])) { if (!target[key]) Object.assign(target, { [key]: {} }); mergeDeep(target[key], source[key]); } else { Object.assign(target, { [key]: source[key] }); } } } return mergeDeep(target, ...sources); } /** * Call football widget V2 constructor with configuration parameters, * event listeners and callbacks. * * @param array configAppend | array to append to default config values. * * @return void */ function initFootballWidgetsV2(configAppend=null) { /* smpFootballWidgets.subscribe('bettingLogo', (data) => console.log('Click betting logo:', data) ); smpFootballWidgets.subscribe('event', (data) => console.log('Click event score:', data) ); smpFootballWidgets.subscribe('team', (data) => console.log('Click team:', data) ); smpFootballWidgets.subscribe('player', (data) => console.log('Click player:', data) ); smpFootballWidgets.subscribe('competition', (data) => console.log('Click competition:', data) ); smpFootballWidgets.subscribe('bettingMarketValue', (data) => console.log('Click betting market value:', data) ); */ let config = getFootballWidgetV2Config(); if(configAppend) { config = mergeDeep(config, configAppend); } smpFootballWidgets.LoadSmpWidget(config); } /** * Load CDN script and initialize widget loader. * * @return HTMLScriptElement */ function loadFootballWidgetV2Scripts(initOnLoad, checkWidgetsExist, configAppend=null) { if(checkWidgetsExist && document.querySelectorAll('[data-widget-id]').length === 0) { console.log("No widgets with data-widget-id found on this page... Exiting"); return; } if(window.smpFootballWidgets) { console.log("Football widgets V2 loader script already loaded."); return; } let scriptTag = document.createElement('script'); scriptTag.id = 'football_widget_v2_script_el'; scriptTag.src = 'https://widgets.sportal365.com/football.8.6.1.js'; scriptTag.type = 'module'; scriptTag.crossorigin = 'crossorigin'; if(initOnLoad) { scriptTag.onload = function() { initFootballWidgetsV2(configAppend) }; } document.head.appendChild(scriptTag); return scriptTag; } document.addEventListener('DOMContentLoaded', () => { console.log("Loading football Widgets V2"); loadFootballWidgetV2Scripts(true, true); }); </script> <script> /** * Change widgets theme by looking for existance of 'dark-mode' class on body * HTML element. This class is switched on/off in /theme/js/main.min.js checkMode() * and called on bulb icon click. */ function autoSetBasketballWidgetsTheme() { let theme = 'light'; if(document.body.classList.contains('dark-mode')) { theme = 'dark'; } window.smpBasketballWidgets.widgetData.widgetAttributes['data-theme'] = theme; window.smpBasketballWidgets.RefreshAllWidgets() } /* * Send displayed odds inside basketball widget to google analytics using gtag(). * * @param Array data * * @return void */ function onBasketballLivescoresWidgetLoadCallback(data) { // Set user selected widgets theme on load autoSetBasketballWidgetsTheme(); if(!data.games) { console.info("onBasketballLivescoresWidgetLoadCallback(): Missing data.games key!"); return false; } for(let i=0; i<data.games.length; ++i) { if(data.games[i].odds.length > 0) { gtag('event', 'efbet_basketball_odds_view', { 'event_label': 'Efbet baasketball odds displayed', 'event_category': 'efbet_basketball_odds', 'non_interaction': true, }); //'url': data.games[i].odds[0].markets['12'].selections['1'].urls[0].url } } } /** * Initialize Basketball Widgets with callbacks and theme configured. */ function initBasketballWidgets() { /* smpBasketballWidgets.subscribe('bettingLogo', (data) => console.log('Click betting logo:', data) ); smpBasketballWidgets.subscribe('event', (data) => console.log('Click event score:', data) ); smpBasketballWidgets.subscribe('team', (data) => console.log('Click team:', data) ); smpBasketballWidgets.subscribe('player', (data) => console.log('Click player:', data) ); smpBasketballWidgets.subscribe('competition', (data) => console.log('Click competition:', data) ); smpBasketballWidgets.subscribe('bettingMarketValue', (data) => console.log('Click betting market value:', data) ); */ smpBasketballWidgets.LoadSmpWidget({ sdkOptions: { dataConfigApiUrl: 'https://basketball.cache.proxy.sportal365.com/', dataConfigApiKey: 'sportal.blic.rs:aTXNlZQU28BWlbJmKgavhQFCgLKzHqmv', dataConfigStandingsApiUrl: 'https://standing.cache.proxy.sportal365.com', dataConfigPlayoffApiUrl: 'https://playoffs.cache.proxy.sportal365.com/playoffs', dataConfigLang: 'rs', dataConfigProject: 'sportal.blic.rs', dataConfigOddClient: 'blic_rs', dataConfigTimezone: 'Europe/Belgrade', dataConfigCompetitionList : 'blic_rs_all', }, widgetAttributes: { 'data-theme': 'light', 'data-entity-links' : { 'player':{'url':'/kosarka/rezultati/igrac/{playerId}'}, 'team':{'url':'/kosarka/rezultati/klub/{teamId}/vesti'}, //'standings': { 'url': '/kosarka/rezultati/takmicenje/{standingsId}/tabela' }, 'standings': { 'url': '/kosarka/rezultati/takmicenje/{competitionId}/tabela' }, 'competition': {'url': '/kosarka/rezultati/takmicenje/{competitionId}/vesti'}, /* Not added because there are no Basketball API endpoints or widgets to get data for the following page: "game": { "url": "https://www.flashscore.com/game-{teamId}-{teamId}#{gameId}", "sort": {"criteria": "alphabetically", "direction": "asc"} }, */ 'configuration': { 'newWindow': false } }, /*"data-odds-betting-id": window.basketballOddsProviderId ?? -1,*/ }, themes: { dark: { colors: { //fullTimeMatchStatusColor: 'red', sportEntityContainerPrimaryBgColor: "rgb(51, 58, 67)", primaryBackgroundColor: "rgb(51, 58, 67)", hiContrast : "white", rowBackgroundColor : "#1c242e", highLighted: "greenbl", }, } }, onLoaded: (data) => { onBasketballLivescoresWidgetLoadCallback(data); // Add event listener for V2 theme change let bulb = document.querySelector('.header-action > .icon.dark-light'); bulb.addEventListener('click', function() { // Timeout is set to allow body class to be changed by // checkMode() before the call of target class. setTimeout(autoSetBasketballWidgetsTheme, 5); }); }, }); }; /** * Load CDN script and initialize widget loader. */ function loadBasketballWidgetScripts(initOnLoad, checkWidgetsExist) { if(checkWidgetsExist && document.querySelectorAll('[data-widget-id]').length === 0) { console.log("No widgets with data-widget-id found on this page... Exiting"); return; } if(window.smpBasketbalWidgets) { console.log("Basketball widgets loader script already loaded."); return; } //setTimeout(() => { let scriptTag = document.createElement('script'); scriptTag.id = 'basketball_widget_script_el'; scriptTag.src = 'https://widgets.sportal365.com/basketball.8.6.1.js'; scriptTag.type = 'module'; scriptTag.crossorigin = 'crossorigin'; if(initOnLoad) { scriptTag.onload = function() { initBasketballWidgets() }; } document.head.appendChild(scriptTag); //}, 1000); } document.addEventListener('DOMContentLoaded', () => { loadBasketballWidgetScripts(true, true); }); </script> <script> /** * Change widgets theme by looking for existance of 'dark-mode' class on body * HTML element. This class is switched on/off in /theme/js/main.min.js checkMode() * and called on bulb icon click. */ function autoSetTennisWidgetsTheme() { let theme = 'light'; if(document.body.classList.contains('dark-mode')) { theme = 'dark'; } window.smpTennisWidgets.widgetData.widgetAttributes['data-theme'] = theme; window.smpTennisWidgets.RefreshAllWidgets() } /* * Send displayed odds inside tennis widget to google analytics using gtag(). * * @param Array data * * @return void */ function onTennisLivescoresWidgetLoadCallback(data) { // Set user selected widgets theme on load autoSetTennisWidgetsTheme(); if(!data.games) { console.info("onTennisLivescoresWidgetLoadCallback(): Missing data.games key!"); return false; } for(let i=0; i<data.games.length; ++i) { if(data.games[i].odds.length > 0) { gtag('event', 'efbet_tennis_odds_view', { 'event_label': 'Efbet tennis odds displayed', 'event_category': 'efbet_tennis_odds', 'non_interaction': true, }); } } } /** * Initialize Tennis Widgets with callbacks and theme configured. */ function initTennisWidgets() { /* smpTennisWidgets.subscribe('bettingLogo', (data) => console.log('Click betting logo:', data) ); smpTennisWidgets.subscribe('event', (data) => console.log('Click event score:', data) ); smpTennisWidgets.subscribe('team', (data) => console.log('Click team:', data) ); smpTennisWidgets.subscribe('player', (data) => console.log('Click player:', data) ); smpTennisWidgets.subscribe('competition', (data) => console.log('Click competition:', data) ); smpTennisWidgets.subscribe('bettingMarketValue', (data) => console.log('Click betting market value:', data) ); */ smpTennisWidgets.LoadSmpWidget({ sdkOptions: { dataConfigApiUrl: 'https://tennis.cache.proxy.sportal365.com', dataConfigApiKey: 'sportal.blic.rs:aTXNlZQU28BWlbJmKgavhQFCgLKzHqmv', dataConfigLang: 'rs', dataConfigProject: 'sportal.blic.rs', dataConfigOddClient: 'blic_rs', dataConfigTimezone: 'Europe/Belgrade', dataConfigStandingsApiUrl: 'https://standing.cache.proxy.sportal365.com', dataConfigPlayoffApiUrl: 'https://playoffs.cache.proxy.sportal365.com', dataConfigCompetitionList : 'all', }, widgetAttributes: { 'data-theme': 'light', 'data-entity-links' : { //'player':{'url':'/kosarka/rezultati/igrac/{playerId}'}, //'team':{'url':'/kosarka/rezultati/klub/{teamId}/vesti'}, //'standings': { 'url': '/kosarka/rezultati/takmicenje/{standingsId}/tabela' }, //'standings': { 'url': '/kosarka/rezultati/takmicenje/{competitionId}/tabela' }, //'competition': {'url': '/kosarka/rezultati/takmicenje/{competitionId}/vesti'}, /* Not added because there are no Tennis API endpoints or widgets to get data for the following page: "game": { "url": "https://www.flashscore.com/game-{teamId}-{teamId}#{gameId}", "sort": {"criteria": "alphabetically", "direction": "asc"} }, */ 'configuration': { 'newWindow': false } }, }, themes: { dark: { colors: { sportEntityContainerPrimaryBgColor: "rgb(51, 58, 67)", primaryBackgroundColor: "rgb(51, 58, 67)", hiContrast : "white", rowBackgroundColor : "#1c242e", highLighted: "greenbl", }, } }, onLoaded: (data) => { onTennisLivescoresWidgetLoadCallback(data); // Add event listener for V2 theme change let bulb = document.querySelector('.header-action > .icon.dark-light'); bulb.addEventListener('click', function() { // Timeout is set to allow body class to be changed by // checkMode() before the call of target class. setTimeout(autoSetTennisWidgetsTheme, 5); }); }, }); }; /** * Load CDN script and initialize widget loader. */ function loadTennisWidgetScripts(initOnLoad, checkWidgetsExist) { if(checkWidgetsExist && document.querySelectorAll('[data-widget-id]').length === 0) { console.log("No widgets with data-widget-id found on this page... Exiting"); return; } if(window.smpBasketbalWidgets) { console.log("Tennis widgets loader script already loaded."); return; } let scriptTag = document.createElement('script'); scriptTag.id = 'tennis_widget_script_el'; scriptTag.src = 'https://widgets.sportal365.com/tennis.8.6.1.js'; scriptTag.type = 'module'; scriptTag.crossorigin = 'crossorigin'; if(initOnLoad) { scriptTag.onload = function() { initTennisWidgets() }; } document.head.appendChild(scriptTag); } document.addEventListener('DOMContentLoaded', () => { loadTennisWidgetScripts(true, true); }); </script> <script> /** * Get user login status and with that data modify comments_platfrom_config. * Then, boot scripts and styles for the commenting platform. * * @return void */ function runCommentsPlatform() { if(userIsLoggedIn()) { commentingPlatformConfig.isUserLoggedIn = false; commentingPlatformConfig.isUserProfileComplete = false; commentingPlatformConfig.loginUrl = "https://sportal.blic.rs/private/login?source=comment_platform&login_case=comment"; let authStatusData = getAuthStatusData(); if(authStatusData.logged_in == 1 ) { commentingPlatformConfig.isUserLoggedIn = true; commentingPlatformConfig.user_id = authStatusData.user_id; if(authStatusData.comments_required_is_set == 1 ) { commentingPlatformConfig.username = authStatusData.nickname; commentingPlatformConfig.isUserProfileComplete = true; } else { // <- NOTE: Username must be set in this case because if "" is // tha value then commenting platform would conclude that user // is not logged in, regardless of commentingPlatformConfig.isUserLoggedIn=true. commentingPlatformConfig.username = "*ANONIMAN*"; console.log("All required registration data for comments is not set."); console.log(authStatusData); } } } loadCommentsScript(); } document.addEventListener('DOMContentLoaded', async function() { runCommentsPlatform(); }); </script> <script> /** * Boot fansunited widget. * * @param HTMLElement containerEl * @param array matchIds * @param Object authStatus * * @return void */ function bootFuTopXWidget(containerEl, matchIds, authStatus) { let title = containerEl.dataset.title; let gameId = containerEl.dataset.gameid; let subtitle = ""; loadFuTopXWidget(gameId, matchIds, containerEl, title, subtitle, authStatus.user_id); } /** * This function should be called when fansunited SDK has booted up. * * @return void */ function onFansUnitedBooted() { // Get match IDs bound to this article let matchIds = []; if(!Array.isArray(matchIds)) { matchIds = []; } let authStatus = getAuthStatusData(); let topXContainers = document.getElementsByClassName('widget-fu-top-x'); for(let i=0; i<topXContainers.length; ++i) { let widgetCointainer = topXContainers[i]; bootFuTopXWidget(widgetCointainer, matchIds, authStatus); } } document.addEventListener('fansunited_sdk_booted', () => { onFansUnitedBooted(); }); // set event listeners for widget modals document.addEventListener('DOMContentLoaded', () => { //let fuWidgets = document.querySelectorAll('.widget-fu').parent; let contentWrapper = document.querySelector('#single-news-content'); // Since buttons which open tipster modal are dynamically added we have to // add click event listeners using event delegation with .closest(). contentWrapper.addEventListener('click', (e) => { if(e.target.closest('.btn-wrapper')) { // Get target URL let successRedirectTargetUrl = e.target.closest('.btn-wrapper').querySelector('a').href; let overridenUrl = "https://sportal.blic.rs/private/login?source=fans-united"; //if(authCheckAndRedirect((url) => {origRedirectUrl = url;}, (url) => {origRedirectUrl = url;}) !== true) { if(!authCheckAndRedirect(null, (url) => {overridenUrl = url;}, successRedirectTargetUrl, false)) { e.preventDefault(); let wrapperEl = e.target.closest('.fansunited-widget-wrapper'); // Set URLs in modal links wrapperEl.querySelectorAll('.modal-text a').forEach((linkEl) => { linkEl.href = overridenUrl + '&redirect_target=' + successRedirectTargetUrl; }) let modal = wrapperEl.querySelector('.fansunited-widget-modal > .modal'); modal.classList.add('open'); } } else if(e.target.closest('.modal-close')) { let wrapperEl = e.target.closest('.fansunited-widget-wrapper'); let modal = wrapperEl.querySelector('.fansunited-widget-modal > .modal'); modal.classList.remove('open'); } }); }); </script> <script src="https://sportal.blic.rs/theme/js/fansunited.js" type="text/javascript"></script> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/fansunited-sdk-umd@1.58.0/index.min.js?ver=1.x.x" id="fusdkcdn-js"></script> <script> var common = { anonymousUsername: "*ANONIMNI KORISNIK*", closedCountdownText: "ZATVORENO", defaultPlayerImg: "https://sportal.blic.rs/theme/img/teams/team-04.png", defaultTeamImg: "https://sportal.blic.rs/theme/img/teams/team-04.png", }; var commonBlade = { active_template_id: "3Pt8VYcgzXUqAAlW2s3yJ8", rankings_count_per_page: 10, urls: { activeGamePage: "https://sportal.blic.rs/fans-united/aktuelna-igra", playerPage: "https://sportal.blic.rs/rezultati/igrac/{id}", teamPage: "https://sportal.blic.rs/rezultati/klub/{id}", competitionPage: "https://sportal.blic.rs/rezultati/takmicenje/{id}", requireLoginPage: "https://sportal.blic.rs/fans-united/autorizacija-neophodna", authLogin: "https://sportal.blic.rs/private/login?source=fans-united", authUpdateProfile: "https://sportal.blic.rs/private/login?source=fans-united&login_case=gamification" } }; var fansunitedConsts = { // TODO: Here add fansunited SDK response const values from fansunited.*.blade files }; /** * Auth check and redirect to different endpoints if user is not logged in * or his profile doesn't have all required data set. * If callbacks are supplied they are called instead of direct redirection. * * @param Function notLoggedInClbk * @param Function requiredMissingClbk * @param string targetRedirect * * @return mixed */ function authCheckAndRedirect( notLoggedInClbk=null, requiredMissingClbk=null, redirectTarget="", performRedirect=true ) { if(!userIsLoggedIn()) { console.debug("authCheckAndRedirect(): User is not logged in"); //url = commonBlade.urls.requireLoginPage; // you must also change & to ? if this URL is used url = commonBlade.urls.authLogin; url += redirectTarget ? '&redirect_target=' + redirectTarget : ''; if(notLoggedInClbk) { return notLoggedInClbk(url); } if(performRedirect) { window.location = url; } return false; } let statusData = getAuthStatusData(); console.debug("authCheckAndRedirect(): auth status data ="); console.debug(statusData); if(!statusData.fantasy_required_is_set) { url = commonBlade.urls.authUpdateProfile; url += redirectTarget ? '&redirect_target=' + redirectTarget : ''; if(requiredMissingClbk) { return requiredMissingClbk(url); } if(performRedirect) { window.location = url; } return false; } return true; } /** * Format input date value to our standardized date format representation. * * @param mixed inputVal * * @return string */ function formatFansunitedDateValue(inputVal) { // let matchStart = (new Date(matchData.matchModel.kickoffAt).toLocaleString('sr')); <- TODO: This with format instead of the following let formatted = (new Date(inputVal).toLocaleDateString('sr')) + ' ' + (new Date(inputVal).toLocaleTimeString('sr', {hour: '2-digit', minute: '2-digit'})); return formatted; } </script> <script> /** * Boot fansunited SDK. * * @return void */ function bootFansUnited() { // We're erasing fansunited localStorage because if we don't, we would // receive cached logged-in user responses when user is logged-out. localStorage.removeItem('FansUnited'); window.FansUnitedSDK = FansUnitedSDK.FansUnitedSDK({ apiKey: "AIzaSyAv697oc5D2xiMbfruh_uMm8erwKwhSJGI", clientId: "sportal_rs", idSchema: "sportal365", environment: "prod", lang: "en", errorHandlingMode: "standard", authProvider: { getIdToken: () => { let idToken = getSsoIdToken(); // NOTE: This function is called around 100 times per fansunted // SDK function call. That bug was reported to fansunited // team, but they haven't solved it yet. console.debug("FANSUNITED BOOTING WITH id_token = " + idToken); if (!idToken) { // No token found, return empty string return ''; } return idToken; }, logout: () => {} } }); let event = new Event('fansunited_sdk_booted'); document.dispatchEvent(event); } /* * Return static styling rules for user profile tier. * * @param string tierId * * @return string */ function getTierStyling(tierId) { switch(tierId) { case 'bronze': return { 'background_color': '#cd7f32' } case 'silver': return { 'background_color': '#c0c0c0' } case 'gold': return { 'background_color': '#ffdf00' } case 'platinum': return { 'background_color': '#e5e4e2' } case 'diamond': return { 'background_color': '#e5e4e2' } default: console.warn('getTierStyling(): unknown tierId -> "' + tierId + '"'); return { 'background_color': 'none' } } throw new Error("This code part should be unreachable!"); } /** * Get client data and populate his profile in lead_info.blade * * @param string templateId * @param Function onSuccessClbk * @param Function onFailClbk * * @return void */ function bootFuClientProfile(templateId, onSuccessClbk=null, onFailClbk=null) { // Fetch and mark client's nickname and avatar image let profileInfoPromise = window.FansUnitedSDK.profile.getOwn().getInfo().then((responseObject) => { console.debug("bootFuClientProfile(): profile.getOwn().getInfo():"); console.debug(responseObject); let profileInfo = responseObject; document.querySelector('.profile-name').innerHTML = profileInfo.nickname ?? common.anonymousUsername; // document.querySelector('.profile-image').innerHTML = responseObject.avatar return responseObject; }); // Fetch and mark client's tier and number of points let statsPromise = window.FansUnitedSDK.profile.getOwn().getStats().then((responseObject) => { console.debug("bootFuClientProfile(): profile.getOwn().getStats():"); console.debug(responseObject); document.querySelector('.profile-data-item .points-number').innerHTML = responseObject.points; // Fetch and mark client's tier window.FansUnitedSDK.loyalty.getConfig().then((resObj) => { console.debug("bootFuClientProfile(): loyalty.getConfig():"); console.debug(resObj); let nextTierPoints = 100000000000000000000000000000; // setting very large number as initial value resObj.rewards.tiers.forEach((tier) => { // determine amount of points for the next tier if(tier.points > responseObject.points && tier.points < nextTierPoints) { nextTierPoints = tier.points; } if(tier.enabled) { // display client tier if(tier.id === responseObject.tier) { let styling = getTierStyling(tier.id); console.debug("Tier styling object:"); console.debug(styling); document.querySelector('.profile-bedge').style = 'background-color:' + styling.background_color + ';'; document.querySelector('.profile-bedge > span').after(tier.label); } } else { console.log("Fansunited tier is not enabled"); } }); // set advancement necessary to next tier as a percentage in a progress bar let percentage = Math.round((responseObject.points/nextTierPoints) * 100); document.querySelector('.profile-data-item .points-graphic > div').style = "width: " + percentage + "%"; }); return responseObject; }); // Fetch and mark client's ranking let rankingsPromise = window.FansUnitedSDK.loyalty.getOwnRankings({'type': 'template', 'leaderboardIds': [templateId]}).then((responseObject) => { console.debug("bootFuClientProfile(): loyalty.getOwnRankings()"); console.debug(responseObject); let rankPosition = 'nerangiran'; if(Array.isArray(responseObject.data) && responseObject.data.length > 0) { rankPosition = responseObject.data[0].position + ". <span>mesto</span>"; } document.querySelector('.profile-data-item > .place-number').innerHTML = rankPosition; return responseObject; }); // When all resolves unhide "lead info" Promise.all([profileInfoPromise, statsPromise, rankingsPromise]).then((results) => { // show populated "lead info" header document.querySelector('.lead-info-profile').classList.remove('d-none'); document.querySelector('.lead-info-general').classList.remove('d-none'); if(onSuccessClbk) { onSuccessClbk(); } }) .catch((reason) => { if(onFailClbk) { onFailClbk(reason); } else { console.error("bootFuClientProfile() error:"); if(manageFuJwtErrors(reason) === true) { return; } console.error(reason); } }); } /** * Boot client trophies. * First get all client's trophies and then get all/available, cross compare * and show. * TODO: Refactor. Function too long, nesting too deep. * * @param Function nodeInserterFunc * @param Function onSuccessClbk * @param Function onFailClbk * * @return void */ function manageFuTrophies(nodeInserterFunc, onSuccessClbk, onFailClbk) { // Fetch and cross compare all and allowed trophies with client won trophies. let crosCompareTrophies = (allClientWonTrophies) => { // Get trophies allowed for clients window.FansUnitedSDK.loyalty.getClientBadges().then((responseObject) => { console.debug("manageFuTrophies(): loyalty.getClientBadges()"); console.debug(responseObject); let allClientAvailableTrophiesGroups = responseObject; // Get trophies(badges) from config endpoint window.FansUnitedSDK.loyalty.getConfig().then((responseObject) => { // DEBUG console.debug("manageFuTrophies(): loyalty.getConfig()"); console.debug(responseObject); let allTrophiesGroups = responseObject.rewards.badges; for(let key in allTrophiesGroups) { for(let i=0; i<allTrophiesGroups[key].length; ++i) { let item = allTrophiesGroups[key][i]; if(!allClientAvailableTrophiesGroups[key] || !allClientAvailableTrophiesGroups[key].includes(item.id)) { console.log(`Client doesn't have '${item.id}' badge available. Skipping.`) continue; } if(!item.enabled) { continue; } // Set to true if trophy is earned by the client let earned = false; if(allClientWonTrophies) { if(allClientWonTrophies.includes(item.id)) { earned = true; } } nodeInserterFunc(item, key, earned); } } onSuccessClbk(); }) // end .loyalty.getConfig().then(() => { }) // end .loyalty.getClientBadges().then(() => { .catch(onFailClbk); // common catch for both SDK calls } // end (allClientWonTrophies) => { let clientWonTrophies = []; // First resolve client won badges and then call other two methods in any case. window.FansUnitedSDK.profile.getOwn().getBadges().then((result) => { console.debug("ALL CLIENT WON TROPHIES RESULT:"); console.debug(result); clientWonTrophies = result; }) .catch((reason) => { onFailClbk(reason); }) .finally(() => { crosCompareTrophies(clientWonTrophies); }); } /** * Get latest OPEN game. If there is none get latest PENDING GAME. If there * is no PENDING game find latest SETTLED game. When active game is found, * call success calback. * * @param Function onSuccessClbk * * @return void */ function getFuActiveGameId(onSuccessClbk) { // NOTE: Initial values must be null and not empty string because // of later checks with null coalescing operators (??). let lastSettledGameId = null; let lastPendingGameId = null; let lastOpenGameId = null; let lastLiveGameId = null; window.FansUnitedSDK.topX.getGames({}, true).then((responseObject) => { console.debug("GET GAMES"); console.debug(responseObject); for(let i=0; i<responseObject.data.length; ++i) { let item = responseObject.data[i]; if(item.status == 'PENDING' && !lastPendingGameId) { // This check is intended to check when game is still marked as pending but it // has already started or is finished (this is allowed in management portal). if(new Date() > new Date(item.predictionsCutoff)) { console.debug("SKIPPING PENDING FINISHED GAME"); continue; } lastPendingGameId = item.id; } else if(item.status == 'SETTLED') { if(!lastSettledGameId) { lastSettledGameId = item.id; } else { continue; } } else if(item.status == 'OPEN' && !lastOpenGameId) { lastOpenGameId = item.id; } else if(item.status == 'LIVE' && !lastLiveGameId) { lastLiveGameId = item.id; } else if(item.status == 'CANCELED') { continue; } else { console.error("getFuActiveGameId() -> Unmanaged status : '" + item.status + "'"); } }; let activeGameId = lastLiveGameId ?? (lastOpenGameId ?? (lastPendingGameId ?? lastSettledGameId)); onSuccessClbk(activeGameId); }); } /** * Manage fansunited JWT errors. * Return true if error was successfully managed. Return false otherwise. * * @param Object reason * * @return boolean */ function manageFuJwtErrors(reason) { if(!reason || !reason.error) { console.error("manageFuJwtErrors(): No reason.error object received!"); return false; } if(reason.error.message === "The provided JWT token is expired") { console.error("TODO: Call refresh token endpoint over ajax"); console.info("Calling refresh token automatically"); refreshToken(); return true; } if(reason.error.message === "Invalid JWT token is provided") { console.error("Invalid JWT") console.info("Logging out user from frontend automatically"); frontLogoutUser(); return true; } return false; } /** * Append message as an HTML element to target HTML element. * * @param HTMLElement targetEl * @param string message * @param HTMLElement * * @return void */ function appendMessageElement(targetEl, message, insertBefore=null) { let textNode = document.createElement('p'); textNode.classList.add('fansunited-notification-text'); textNode.appendChild(document.createTextNode(message)); if(insertBefore) { targetEl.insertBefore(textNode, insertBefore); } else { targetEl.append(textNode); } } // Ensure that client auth token is fresh if he is logged in and then boot fansunited. if(userIsLoggedIn()) { ensureAuthTokenFresh(bootFansUnited, () => { // This error happens on the staging server when new code is uploaded. // Because we are removing docker container and setting it up all over // again, user data in Redis container while users' cookies are left // intact in their browsers. ensureAuthTokenFresh() calls the server // which looks for user refresh_token in Redis store, and the store // is empty, hence the error. console.error("Token isn't fresh and couldn't be refreshed."); console.info("Frontend code - logging out user as a remedy."); frontLogoutUser(); bootFansUnited(); }); } else { console.log("User is not logged in"); bootFansUnited(); } </script> <script> if(document.querySelectorAll('.aklaplace').length > 0){ document.addEventListener("scroll", function handleAklaScript(e) { if(window.scrollY > 300){ if(!document.querySelector("aklamator-main-script")){ let script = document.createElement('script'); script.id = "aklamator-main-script" script.async = true; script.src = "https://s.aklamator.com/i/w.js"; document.head.appendChild(script); e.currentTarget.removeEventListener(e.type, handleAklaScript) } } }) } </script> <script> if(document.querySelectorAll('.gallery-slider').length > 0){ var swiper3 = new Swiper(".gallery-thumbs-1", { spaceBetween: 0, slidesPerView: 4, freeMode: true, watchSlidesProgress: true, }); var swiper4 = new Swiper(".gallery-top-1", { spaceBetween: 0, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, thumbs: { swiper: swiper3, }, }); } </script> <script> // GA4 - on any (whole site) <a href> click -> fire event 'select_content' document.addEventListener('click', function(e) { if (e.target.tagName === 'A') { let placement = null; let placementEl = e.target.closest('div'); if(placementEl) { let classes = placementEl.className.split(" "); if(classes.length > 0) { placement = 'div' classes.forEach(cls => { placement += '.' + cls; }); } } if(!placement) { console.error("Didn't send gtag('select_content'). Couldn't supply 'placement' value."); return false; } if(!e.target.href) { console.error("Didn't send gtag('select_content'). Couldn't supply 'link_id' value."); return false; } let data = { placement: placement, link_id: e.target.href } gtagLayerPush({ event: 'select_content', ...data }); } }, {capture: true, passive: true}); // OneSignal event listeners // List events: https://documentation.onesignal.com/docs/web-push-sdk //window.addEventListener('DOMContentLoaded', function(e) { window.addEventListener('load', function(e) { if(!window.OneSignal) { console.error("Couldn't set custom OneSignal events. window.OneSignal isn't defined."); return; } console.log("Loading OneSignal listeners"); window.OneSignal.push(function() { // Occurs when native browser prompt is shown OneSignal.on('permissionPromptDisplay', function(e) { console.log("OneSignal: The native prompt displayed"); }); // native prompt window.OneSignal.on('notificationPermissionChange', function(permissionChange) { console.log("Permision change"); console.log(permissionChange); var newPermission = permissionChange.to; console.log('New permission state:', newPermission); let data = { method: 'native prompt' }; if(newPermission == 'granted') { data.push_action = 'allow'; } else if(newPermission == 'denied') { data.push_action = 'block'; } else if(newPermission == 'default') { data.push_action = 'close'; } gtagLayerPush({ event: 'manage_push', ...data }); }); // slide prompt OneSignal.on('popoverAllowClick', function() { gtagLayerPush({ event: 'manage_push', method: 'slide prompt', push_action: 'activate' }); }); OneSignal.on('popoverCancelClick', function() { gtagLayerPush({ event: 'manage_push', method: 'slide prompt', push_action: 'close' // <- There is no 'cancel' push_action. We were requested to send 'close'. }) }); }); // This event can be listened to via the on() or once() listener /* window.OneSignal.push(["getNotificationPermission", function(permission) { console.log("Site Notification Permission:", permission); }]); */ }); // GA4 video events - expecting 'message' event trigger with window.postMessage() call from pulse embed plugin. window.addEventListener('message', function (e) { if (e.data.type === "ga4-video-embed") { if (e.origin !== "https://pulsembed.eu") { console.error("window.postMessage() -> message event handler: We don't trust '" + e.origin + "' origin.") return false; } console.log("Received message event. Type == ga4-video-embed. Data:"); console.log(e.data); let gtmData = { 'video_provider': e.data.params.video_provider, 'video_title': e.data.params.video_title, 'video_url': e.data.params.video_url, }; if(['video_start', 'video_progress', 'video_complete'].indexOf(e.data.params.event) === -1) { console.error("window.postMessage() -> message event handler: " + "Received invalid event value = " + e.data.params.event); return false; } if(e.data.params.event == 'video_progress') { gtmData.video_percent = e.data.params.video_percent; } if(!window.dataLayer) { console.error("window.dataLayer isn't accessible!"); return false; } // DEBUG //console.log("Sending '" + e.data.params.event + "' event gtag data:"); //console.log(gtmData); gtagLayerPush({ event: e.data.params.event, ...gtmData }); } }, false); // Send GA4 event on google news button click (there are possibly two in the // same page - one in the footer, the other in the 'search-generative-experiance' // wiget) document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('.google-news-btn').forEach((el) => { el.addEventListener('click', function(e) { gtag('event', 'follow', { method: 'google news', }); }); }); }); </script> <iframe srcdoc="<script src='https://cdn.performax.cz/acc/loader.js?aab=loader'></script>" style="display: none" data-web="sportal.blic.rs" data-hash="68e2d2f3cb192c6b869cd39e646b078f"></iframe> </body> </html>