{"id":1602,"date":"2025-06-26T21:22:46","date_gmt":"2025-06-27T01:22:46","guid":{"rendered":"https:\/\/dmcc-series.com\/live-bracket-pro\/"},"modified":"2025-08-30T15:17:32","modified_gmt":"2025-08-30T19:17:32","slug":"live-bracket-pro","status":"publish","type":"page","link":"https:\/\/dmcc-series.com\/en\/live-bracket-pro\/","title":{"rendered":"Live Bracket &#8211; Pro"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1602\" class=\"elementor elementor-1602 elementor-1598\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5713e69 e-flex e-con-boxed e-con e-parent\" data-id=\"5713e69\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-079a62e elementor-widget__width-inherit elementor-widget elementor-widget-n-accordion\" data-id=\"079a62e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;multiple&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-7970\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-7970\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Qualifying score <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-7970\" class=\"elementor-element elementor-element-0b2dada e-flex e-con-boxed e-con e-child\" data-id=\"0b2dada\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7845e42 elementor-widget elementor-widget-html\" data-id=\"7845e42\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Countdown Timer -->\r\n<div style=\"margin-bottom: 10px; font-weight: bold; font-size: 18px;\">\r\n  Updated in: <span id=\"countdownTimer\">60s<\/span>\r\n<\/div>\r\n\r\n<!-- Table Container -->\r\n<div id=\"sheetDataWrapper\" style=\"overflow-x:auto;\">\r\n  <div id=\"sheetData\">Loading...<\/div>\r\n<\/div>\r\n\r\n<!-- Firebase SDK -->\r\n<script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.22.2\/firebase-app-compat.js\"><\/script>\r\n<script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.22.2\/firebase-database-compat.js\"><\/script>\r\n\r\n<script>\r\n  const firebaseConfig = {\r\n    databaseURL: \"https:\/\/drift-live-default-rtdb.firebaseio.com\/\"\r\n  };\r\n  firebase.initializeApp(firebaseConfig);\r\n  const db = firebase.database();\r\n\r\n  function renderTable(values) {\r\n    let html = '<table>';\r\n    values.forEach((row, rowIndex) => {\r\n      html += `<tr class=\"${rowIndex === 0 ? 'black-row' : ''}\">`;\r\n      row.forEach((cell, colIndex) => {\r\n        if (colIndex === 6 || colIndex === 11) return; \/\/ skip SPEED columns\r\n        const tag = rowIndex === 0 ? 'th' : 'td';\r\n        const redClass = (colIndex === 6 || colIndex === 11) ? 'red-col' : '';\r\n        html += `<${tag} class=\"${redClass}\">${cell}<\/${tag}>`;\r\n      });\r\n      html += '<\/tr>';\r\n    });\r\n    html += '<\/table>';\r\n    document.getElementById('sheetData').innerHTML = html;\r\n  }\r\n\r\n  \/\/ Countdown logic\r\n  let secondsLeft = 60;\r\n  const countdownDisplay = document.getElementById('countdownTimer');\r\n\r\n  function resetCountdown() {\r\n    secondsLeft = 60;\r\n    countdownDisplay.style.color = '';\r\n    countdownDisplay.innerText = `${secondsLeft}s`;\r\n\r\n    if (window.countdownInterval) clearInterval(window.countdownInterval);\r\n\r\n    window.countdownInterval = setInterval(() => {\r\n      secondsLeft--;\r\n      countdownDisplay.innerText = `${secondsLeft}s`;\r\n      if (secondsLeft < 0) {\r\n        countdownDisplay.style.color = 'red';\r\n      }\r\n    }, 1000);\r\n  }\r\n\r\n  \/\/ Firebase listener\r\n  db.ref('scoring').on('value', (snapshot) => {\r\n    const data = snapshot.val();\r\n    if (data && data.rows) {\r\n      renderTable(data.rows);\r\n      resetCountdown();\r\n    } else {\r\n      document.getElementById('sheetData').innerText = \"Aucune donn\u00e9e trouv\u00e9e.\";\r\n    }\r\n  });\r\n<\/script>\r\n\r\n<style>\r\n  #sheetDataWrapper {\r\n    width: 100%;\r\n    max-width: 100%;\r\n  }\r\n\r\n  #sheetData table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n    min-width: 600px;\r\n  }\r\n\r\n  #sheetData th,\r\n  #sheetData td {\r\n    padding: 8px 12px;\r\n    text-align: center;\r\n    border: 1px solid #ccc;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #sheetData th {\r\n    font-weight: bold;\r\n    background-color: #f2f2f2;\r\n  }\r\n\r\n  .black-row th,\r\n  .black-row td {\r\n    background-color: #000 !important;\r\n    color: #fff !important;\r\n  }\r\n\r\n  .red-col {\r\n    background-color: red !important;\r\n    color: white !important;\r\n  }\r\n\r\n  @media screen and (max-width: 768px) {\r\n    #sheetData th,\r\n    #sheetData td {\r\n      padding: 6px 8px;\r\n      font-size: 14px;\r\n    }\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-7971\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-7971\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Qualifying results <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-7971\" class=\"elementor-element elementor-element-b2be25a e-con-full e-flex e-con e-child\" data-id=\"b2be25a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c9ac5ce elementor-widget elementor-widget-html\" data-id=\"c9ac5ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- Firebase SDK -->\r\n<script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.22.2\/firebase-app-compat.js\"><\/script>\r\n<script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.22.2\/firebase-database-compat.js\"><\/script>\r\n\r\n<!-- Countdown -->\r\n<div style=\"margin-bottom: 10px; font-weight: bold; font-size: 18px;\">\r\n  Update: <span id=\"countdownTimerQualif\">60s<\/span>\r\n<\/div>\r\n\r\n<!-- Table -->\r\n<div id=\"qualifTableWrapper\" style=\"overflow-x:auto;\">\r\n  <div id=\"qualifTable\">Loading...<\/div>\r\n<\/div>\r\n\r\n<script>\r\n  const firebaseQualif = firebase.initializeApp({\r\n    databaseURL: \"https:\/\/drift-live-default-rtdb.firebaseio.com\/\"\r\n  }, \"qualifApp\");\r\n\r\n  const dbQualif = firebaseQualif.database();\r\n\r\n  function renderQualifTable(values) {\r\n    let html = '<table>';\r\n    values.forEach((row, rowIndex) => {\r\n      const isStyledRow = [0, 1, 2, 11].includes(rowIndex);\r\n      const rowClass = isStyledRow ? ' class=\"custom-row\"' : '';\r\n      html += `<tr${rowClass}>`;\r\n      row.forEach((cell) => {\r\n        html += rowIndex === 0\r\n          ? `<th>${cell}<\/th>`\r\n          : `<td>${cell}<\/td>`;\r\n      });\r\n      html += '<\/tr>';\r\n    });\r\n    html += '<\/table>';\r\n    document.getElementById('qualifTable').innerHTML = html;\r\n  }\r\n\r\n  let qualifSecondsLeft = 60;\r\n  const qualifCountdown = document.getElementById('countdownTimerQualif');\r\n\r\n  function resetQualifCountdown() {\r\n    qualifSecondsLeft = 60;\r\n    qualifCountdown.style.color = '';\r\n    qualifCountdown.innerText = `${qualifSecondsLeft}s`;\r\n    if (window.qualifInterval) clearInterval(window.qualifInterval);\r\n    window.qualifInterval = setInterval(() => {\r\n      qualifSecondsLeft--;\r\n      qualifCountdown.innerText = `${qualifSecondsLeft}s`;\r\n      if (qualifSecondsLeft < 0) qualifCountdown.style.color = 'red';\r\n    }, 1000);\r\n  }\r\n\r\n  dbQualif.ref('Qualifs').on('value', (snapshot) => {\r\n    const data = snapshot.val();\r\n    if (data && data.rows) {\r\n      renderQualifTable(data.rows);\r\n      resetQualifCountdown();\r\n    } else {\r\n      document.getElementById('qualifTable').innerText = \"Aucune donn\u00e9e trouv\u00e9e.\";\r\n    }\r\n  });\r\n<\/script>\r\n\r\n<style>\r\n  #qualifTableWrapper table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n    min-width: 600px;\r\n  }\r\n\r\n  #qualifTableWrapper th,\r\n  #qualifTableWrapper td {\r\n    padding: 8px 12px;\r\n    text-align: center;\r\n    border: 1px solid #ccc;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  .custom-row {\r\n    background-color: #000;\r\n    color: #fff;\r\n  }\r\n\r\n  #qualifTableWrapper th {\r\n    background-color: #000;\r\n    color: #fff;\r\n  }\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-7972\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-7972\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Top 16 <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-7972\" class=\"elementor-element elementor-element-2ca363f e-flex e-con-boxed e-con e-child\" data-id=\"2ca363f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2b7cb4 elementor-widget elementor-widget-html\" data-id=\"e2b7cb4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<iframe id=\"liveIframe\" src=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTX7ydLD4_W1pdj2MnxtSNG6sxO3udMjimL1VPPvt4Z_MBPs-Hxze33sU58PcIOyAMSMF0_VzKw8j3d\/pubhtml?gid=886369702&amp;single=true&amp;widget=true&amp;headers=false\" width=\"100%\" height=\"800\" style=\"border: none;\">\r\n<\/iframe>\r\n\r\n<script>\r\n  setInterval(function() {\r\n    const iframe = document.getElementById(\"liveIframe\");\r\n    iframe.src = iframe.src;\r\n  }, 60000); \/\/ 60000 ms = 1 minute\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Qualifying score Updated in: 60s Loading&#8230; Qualifying results Update: 60s Loading&#8230; Top 16 Updated in: 60s Loading&#8230; Update: 60s Loading&#8230;<\/p>\n","protected":false},"author":233903676,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_crdt_document":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"footnotes":""},"class_list":["post-1602","page","type-page","status-publish","hentry"],"acf":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/Pgl5nb-pQ","jetpack-related-posts":[{"id":1598,"url":"https:\/\/dmcc-series.com\/live-bracket-pro\/","url_meta":{"origin":1602,"position":0},"title":"Live Bracket &#8211; Pro","author":"C\u00e9dric Mallette","date":"June 26, 2025","format":false,"excerpt":"Pointage de Qualification Mise \u00e0 jour dans : 60s Chargement... R\u00e9sultats de Qualifications Mise \u00e0 jour : 60s Chargement... Top 16 Mise \u00e0 jour dans : 60s Chargement... Mise \u00e0 jour : 60s Chargement...","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1348,"url":"https:\/\/dmcc-series.com\/en\/test-bracket\/","url_meta":{"origin":1602,"position":1},"title":"test bracket","author":"C\u00e9dric Mallette","date":"May 16, 2025","format":false,"excerpt":"Loading...","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1346,"url":"https:\/\/dmcc-series.com\/test-bracket\/","url_meta":{"origin":1602,"position":2},"title":"test bracket","author":"C\u00e9dric Mallette","date":"May 16, 2025","format":false,"excerpt":"Mise \u00e0 jour : 60s Chargement...","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1596,"url":"https:\/\/dmcc-series.com\/en\/live-bracket-pro-am\/","url_meta":{"origin":1602,"position":3},"title":"Live Bracket &#8211; Pro-Am","author":"C\u00e9dric Mallette","date":"June 26, 2025","format":false,"excerpt":"Qualifying score Update: 60s Loading... Qualifying results Update: 60s Loading... TOP 16 Update: 60s Loading... Update: 60s Loading...","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1592,"url":"https:\/\/dmcc-series.com\/live-bracket-pro-am\/","url_meta":{"origin":1602,"position":4},"title":"Live Bracket &#8211; Pro-Am","author":"C\u00e9dric Mallette","date":"June 26, 2025","format":false,"excerpt":"Pointage de Qualification Mise \u00e0 jour : 60s Chargement... R\u00e9sultats de Qualifications Mise \u00e0 jour : 60s Chargement... TOP 16 Mise \u00e0 jour : 60s Chargement... Mise \u00e0 jour : 60s Chargement...","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3226,"url":"https:\/\/dmcc-series.com\/contender-qualification\/","url_meta":{"origin":1602,"position":5},"title":"Contender Qualification","author":"C\u00e9dric Mallette","date":"May 7, 2026","format":false,"excerpt":"R\u00e9sultat Qualification Live Connexion Firebase... Pointage Qualification Live Connexion Firebase...","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/pages\/1602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/users\/233903676"}],"replies":[{"embeddable":true,"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/comments?post=1602"}],"version-history":[{"count":37,"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/pages\/1602\/revisions"}],"predecessor-version":[{"id":2280,"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/pages\/1602\/revisions\/2280"}],"wp:attachment":[{"href":"https:\/\/dmcc-series.com\/en\/wp-json\/wp\/v2\/media?parent=1602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}