{"version":3,"names":["node","document","getElementById","raw","getAttribute","textContent","preloaded","JSON","parse","currentUser","window","sessionStorage","removeItem","groups","Array","isArray","writeIfIn","names","cookie","found","some","group","indexOf","name","e","PALETTES","light","dark","RELOADED","TTL","ids","site","user_color_schemes","forEach","scheme","Object","keys","theme","String","id","paletteId","choose","irreApplyTheme","location","reload","link","querySelector","served","match","exec","wanted","RegExp","test","getItem","setItem","MISSIONS","TRIED","top","pathname","frame","createElement","settled","settle","removeEventListener","onMessage","remove","event","origin","data","type","yes","sso","signIn","forget","irreTopbarRefresh","fetch","credentials","headers","Accept","then","response","json","body","encodeURIComponent","href","form","method","action","style","display","token","value","csrf","appendChild","submit","catch","addEventListener","setTimeout","hidden","setAttribute","tabIndex","src","__irreTopbarBound","OPEN","MEMBER_NAME","OFFICER_NAME","ADMIN_NAME","MEMBER","OFFICER","ADMIN","THEME","currentTheme","markSwitch","bar","button","toggleTheme","Math","floor","Date","now","keepalive","URLSearchParams","documentElement","reveal","member","classList","toggle","call","querySelectorAll","panel","burger","setOpen","open","nav","setGroupOpen","closeGroups","keep","target","closest","preventDefault","pop","setAccountOpen","signOut","box","accountBox","contains","key","ACCOUNT_ATTRS","SILHOUETTE","showAccount","html","img","avatar","onerror","label","schedule","refocus","focus","go","disabled","irreAccountLogout","url","MutationObserver","observe","attributes","attributeFilter","APP_ROW","LEFT_CLUSTER","RIGHT_CLUSTER","reach","clusterSelector","side","row","rowBox","getBoundingClientRect","bottom","cluster","r","c","max","ceil","right","left","over","inner","getComputedStyle","room","clientWidth","parseFloat","paddingLeft","paddingRight","gap","columnGap","needed","children","child","cs","position","scrollWidth","width","fit","watchAppHeader","pair","removeProperty","setProperty","add","pending","requestAnimationFrame","fonts","ready","appHeader","isConnected","childList","subtree","records","observer","disconnect"],"sources":["theme-1-inline-common-header.js"],"sourcesContent":["\n(function () {\n  try {\n    var node = document.getElementById('data-preloaded');\n    if (!node) {\n      return;\n    }\n\n        var raw = node.getAttribute('data-preloaded') || node.textContent;\n    if (!raw) {\n      return;\n    }\n    var preloaded = JSON.parse(raw);\n    if (!preloaded || !preloaded.currentUser) {\n      return;\n    }\n\n        window.sessionStorage.removeItem('irre-sso-tried');\n\n        var groups = (JSON.parse(preloaded.currentUser) || {}).groups;\n    if (!Array.isArray(groups)) {\n      return;\n    }\n\n        function writeIfIn(names, cookie) {\n      var found = groups.some(function (group) {\n        return names.indexOf(group && group.name) !== -1;\n      });\n\n      document.cookie = cookie + (found ? '=1' : '=')\n        + '; path=/'\n        + '; domain=.lesirreductibles.com'\n        + '; max-age=' + (found ? '43200' : '0')\n        + '; secure; samesite=lax';\n    }\n\n    writeIfIn([\"IRREductibles\", \"Reservistes-IRRE\", \"Officiers\", \"Admins\", \"SysAdmins\"], 'irre_member');\n    writeIfIn([\"Officiers\", \"Admins\", \"SysAdmins\"], 'irre_officer');\n    writeIfIn([\"Admins\", \"SysAdmins\"], 'irre_admin');\n  } catch (e) {\n      }\n})();\n\n(function () {\n  var PALETTES = {\n    light: \"IRRE\",\n    dark: \"IRRE sombre\",\n  };\n  var RELOADED = 'irre-theme-reloaded';\n  var TTL = '; max-age=34560000; secure; samesite=lax';\n\n    var ids = {};\n  try {\n    var node = document.getElementById('data-preloaded');\n    var raw = node && (node.getAttribute('data-preloaded') || node.textContent);\n    var site = JSON.parse(JSON.parse(raw).site);\n    (site.user_color_schemes || []).forEach(function (scheme) {\n      Object.keys(PALETTES).forEach(function (theme) {\n        if (scheme.name === PALETTES[theme]) {\n          ids[theme] = String(scheme.id);\n        }\n      });\n    });\n  } catch (e) {\n      }\n\n  function paletteId(theme) {\n    return ids[theme] || null;\n  }\n\n    function choose(id) {\n    document.cookie = 'color_scheme_id=' + id + '; path=/' + TTL;\n  }\n\n    window.irreApplyTheme = function (theme) {\n    var id = paletteId(theme);\n    if (id) {\n      choose(id);\n    }\n    window.location.reload();\n  };\n\n  try {\n    var link = document.querySelector('link.light-scheme');\n    var served = link && link.getAttribute('data-scheme-id');\n    var match = /(?:^|;\\s*)irre_theme=(light|dark):\\d+(?:\\s*;|\\s*$)/.exec(document.cookie);\n\n    if (!match) {\n      if (served && served === paletteId('dark')) {\n        document.cookie = 'irre_theme=dark:1; path=/; domain=.lesirreductibles.com' + TTL;\n      }\n      return;\n    }\n\n    var wanted = paletteId(match[1]);\n    if (!wanted) {\n      return;\n    }\n    if (!new RegExp('(?:^|;\\\\s*)color_scheme_id=' + wanted + '(?:\\\\s*;|\\\\s*$)').test(document.cookie)) {\n      choose(wanted);\n    }\n\n        if (served && served !== wanted) {\n      if (window.sessionStorage.getItem(RELOADED) !== wanted) {\n        window.sessionStorage.setItem(RELOADED, wanted);\n        window.location.reload();\n      }\n    } else {\n      window.sessionStorage.removeItem(RELOADED);\n    }\n  } catch (e) {\n      }\n})();\n\n(function () {\n  var MISSIONS = 'https://missions.lesirreductibles.com';\n  var TRIED = 'irre-sso-tried';\n  try {\n    if (window.top !== window\n        || !/(?:^|;\\s*)irre_member=1(?:\\s*;|\\s*$)/.test(document.cookie)\n        || /^\\/(auth|session|login|signup)(\\/|$)/.test(window.location.pathname)\n        || window.sessionStorage.getItem(TRIED)) {\n      return;\n    }\n        var node = document.getElementById('data-preloaded');\n    var raw = node && (node.getAttribute('data-preloaded') || node.textContent);\n    if (!raw || JSON.parse(raw).currentUser) {\n      return;\n    }\n    window.sessionStorage.setItem(TRIED, '1');\n  } catch (e) {\n    return;\n  }\n\n  var frame = document.createElement('iframe');\n  var settled = false;\n\n  function settle() {\n    settled = true;\n    window.removeEventListener('message', onMessage);\n    frame.remove();\n  }\n\n  function onMessage(event) {\n    if (event.origin !== MISSIONS || !event.data || event.data.type !== 'irre-missions:login') {\n      return;\n    }\n    var yes = event.data.sso === true;\n    settle();\n    if (yes) {\n      signIn();\n    } else {\n      forget();\n    }\n  }\n\n    function forget() {\n    [\"irre_member\", \"irre_officer\",\n     \"irre_admin\"].forEach(function (name) {\n      document.cookie = name + '=; path=/; domain=.lesirreductibles.com; max-age=0; secure; samesite=lax';\n    });\n    if (typeof window.irreTopbarRefresh === 'function') {\n      window.irreTopbarRefresh();\n    }\n  }\n\n    function signIn() {\n    window.fetch('/session/csrf', {\n      credentials: 'same-origin',\n      headers: { 'X-Requested-With': 'XMLHttpRequest', Accept: 'application/json' },\n    }).then(function (response) {\n      return response.json();\n    }).then(function (body) {\n      document.cookie = 'destination_url=' + encodeURIComponent(window.location.href)\n        + '; path=/; secure; samesite=lax';\n      var form = document.createElement('form');\n      form.method = 'post';\n      form.action = '/auth/oidc';\n      form.style.display = 'none';\n      var token = document.createElement('input');\n      token.type = 'hidden';\n      token.name = 'authenticity_token';\n      token.value = body.csrf;\n      form.appendChild(token);\n      document.body.appendChild(form);\n      form.submit();\n    }).catch(function () {\n          });\n  }\n\n  window.addEventListener('message', onMessage);\n  setTimeout(function () {\n    if (!settled) {\n      settle();\n    }\n  }, 8000);\n  frame.hidden = true;\n  frame.setAttribute('aria-hidden', 'true');\n  frame.tabIndex = -1;\n  frame.src = MISSIONS + '/auth/silent';\n  document.body.appendChild(frame);\n})();\n\n(function () {\n  if (window.__irreTopbarBound) {\n    return;\n  }\n  window.__irreTopbarBound = true;\n\n  var OPEN = 'is-open';\n\n    var MEMBER_NAME = 'irre_member';\n  var OFFICER_NAME = 'irre_officer';\n  var ADMIN_NAME = 'irre_admin';\n  var MEMBER = /(?:^|;\\s*)irre_member=1(?:\\s*;|\\s*$)/;\n  var OFFICER = /(?:^|;\\s*)irre_officer=1(?:\\s*;|\\s*$)/;\n  var ADMIN = /(?:^|;\\s*)irre_admin=1(?:\\s*;|\\s*$)/;\n\n    var THEME = /(?:^|;\\s*)irre_theme=(light|dark):\\d+(?:\\s*;|\\s*$)/;\n\n  function currentTheme() {\n    var match = THEME.exec(document.cookie);\n    return match ? match[1] : 'light';\n  }\n\n    function markSwitch(bar) {\n    var button = bar.querySelector('.irre-topbar__theme');\n    if (button) {\n      button.setAttribute('aria-pressed', currentTheme() === 'dark' ? 'true' : 'false');\n    }\n  }\n\n  function toggleTheme() {\n    var theme = currentTheme() === 'dark' ? 'light' : 'dark';\n    document.cookie = 'irre_theme=' + theme + ':' + Math.floor(Date.now() / 1000) +\n      '; path=/; domain=.lesirreductibles.com; max-age=34560000; secure; samesite=lax';\n\n    var bar = document.querySelector('.irre-topbar');\n    if (bar) {\n      markSwitch(bar);\n    }\n\n        if (MEMBER.test(document.cookie) && window.fetch) {\n      fetch('https://roster.lesirreductibles.com/theme', {\n        method: 'POST',\n        credentials: 'include',\n        keepalive: true,\n        body: new URLSearchParams({ theme: theme }),\n      }).catch(function () {});\n    }\n\n    if (typeof window.irreApplyTheme === 'function') {\n      window.irreApplyTheme(theme);\n    } else {\n      document.documentElement.setAttribute('data-theme', theme);\n    }\n  }\n\n  function reveal(bar) {\n    var member = MEMBER.test(document.cookie);\n\n    markSwitch(bar);\n\n    bar.classList.toggle('irre-topbar--member', member);\n        bar.classList.toggle('irre-topbar--officer', OFFICER.test(document.cookie));\n    bar.classList.toggle('irre-topbar--admin', ADMIN.test(document.cookie));\n\n        [].forEach.call(bar.querySelectorAll('[data-irre-member-href]'), function (link) {\n      var wanted = link.getAttribute(member ? 'data-irre-member-href' : 'data-irre-href');\n      if (wanted && link.getAttribute('href') !== wanted) {\n        link.setAttribute('href', wanted);\n      }\n    });\n  }\n\n  function panel() {\n    return document.getElementById('irre-topbar-nav');\n  }\n\n  function burger() {\n    return document.querySelector('.irre-topbar__burger');\n  }\n\n  function setOpen(open) {\n    var nav = panel();\n    var button = burger();\n    if (!nav || !button) {\n      return;\n    }\n    nav.classList.toggle(OPEN, open);\n    button.classList.toggle(OPEN, open);\n    button.setAttribute('aria-expanded', open ? 'true' : 'false');\n  }\n\n    function setGroupOpen(group, open) {\n    if (!group) {\n      return;\n    }\n\n    group.classList.toggle(OPEN, open);\n\n    var toggle = group.querySelector('.irre-topbar__toggle');\n    if (toggle) {\n      toggle.setAttribute('aria-expanded', open ? 'true' : 'false');\n    }\n  }\n\n    function closeGroups(keep) {\n    [].forEach.call(document.querySelectorAll('.irre-topbar__group'), function (group) {\n      if (group !== keep) {\n        setGroupOpen(group, false);\n      }\n    });\n  }\n\n  document.addEventListener('click', function (event) {\n    var target = event.target;\n    if (!target || typeof target.closest !== 'function') {\n      return;\n    }\n\n        if (target.closest('.irre-topbar__theme')) {\n      event.preventDefault();\n      toggleTheme();\n      return;\n    }\n\n        var pop = target.closest('.irre-topbar__account-pop');\n    if (pop) {\n      if (target.closest('.irre-topbar__account-cancel')) {\n        setAccountOpen(false, true);\n      } else if (target.closest('.irre-topbar__account-go')) {\n        signOut();\n      }\n      return;\n    }\n\n    if (target.closest('.irre-topbar__account-btn')) {\n      event.preventDefault();\n      closeGroups(null);\n      setOpen(false);\n      var box = accountBox();\n      setAccountOpen(!!box && box.querySelector('.irre-topbar__account-pop').hidden, false);\n      return;\n    }\n\n    if (target.closest('.irre-topbar__burger')) {\n      event.preventDefault();\n      setAccountOpen(false, false);\n      var nav = panel();\n      setOpen(!(nav && nav.classList.contains(OPEN)));\n      return;\n    }\n\n    var toggle = target.closest('.irre-topbar__toggle');\n    if (toggle) {\n            event.preventDefault();\n      var group = toggle.closest('.irre-topbar__group');\n      closeGroups(group);\n      setGroupOpen(group, !(group && group.classList.contains(OPEN)));\n      return;\n    }\n\n        closeGroups(null);\n    setOpen(false);\n    setAccountOpen(false, false);\n  });\n\n  document.addEventListener('keydown', function (event) {\n    if (event.key === 'Escape') {\n      closeGroups(null);\n      setOpen(false);\n      setAccountOpen(false, true);\n    }\n  });\n\n    var ACCOUNT_ATTRS = ['data-irre-account-name', 'data-irre-account-avatar', 'data-irre-account-logout'];\n\n    var SILHOUETTE = 'data:image/svg+xml,' + encodeURIComponent(\n    '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 64 64\">' +\n    '<rect width=\"64\" height=\"64\" fill=\"#3a4a63\"/>' +\n    '<circle cx=\"32\" cy=\"25\" r=\"11\" fill=\"#c9d1dc\"/>' +\n    '<path d=\"M12 58c2-12 10-18 20-18s18 6 20 18z\" fill=\"#c9d1dc\"/></svg>');\n\n  function accountBox() {\n    return document.querySelector('.irre-topbar__account');\n  }\n\n  function showAccount() {\n    var box = accountBox();\n    if (!box) {\n      return;\n    }\n    var html = document.documentElement;\n    var name = html.getAttribute('data-irre-account-name');\n    if (!name) {\n      setAccountOpen(false, false);\n      box.hidden = true;\n      return;\n    }\n\n    var button = box.querySelector('.irre-topbar__account-btn');\n    var img = box.querySelector('.irre-topbar__avatar');\n    var avatar = html.getAttribute('data-irre-account-avatar') || SILHOUETTE;\n    if (!img.onerror) {\n      img.onerror = function () {\n        if (img.getAttribute('src') !== SILHOUETTE) {\n          img.setAttribute('src', SILHOUETTE);\n        }\n      };\n    }\n    if (img.getAttribute('data-irre-wanted') !== avatar) {\n      img.setAttribute('data-irre-wanted', avatar);\n      img.setAttribute('src', avatar);\n    }\n    var label = 'Connecté en tant que ' + name + ' — cliquer pour se déconnecter';\n    button.setAttribute('title', label);\n    button.setAttribute('aria-label', label);\n    box.querySelector('.irre-topbar__account-name').textContent = name;\n\n    if (box.hidden) {\n      box.hidden = false;\n            schedule();\n    }\n  }\n\n    function setAccountOpen(open, refocus) {\n    var box = accountBox();\n    if (!box) {\n      return;\n    }\n    var pop = box.querySelector('.irre-topbar__account-pop');\n    var button = box.querySelector('.irre-topbar__account-btn');\n    if (!open && pop.hidden) {\n      return;\n    }\n    pop.hidden = !open;\n    button.setAttribute('aria-expanded', open ? 'true' : 'false');\n    if (open) {\n            box.querySelector('.irre-topbar__account-cancel').focus();\n    } else if (refocus) {\n      button.focus();\n    }\n  }\n\n  function signOut() {\n    var box = accountBox();\n    var go = box && box.querySelector('.irre-topbar__account-go');\n    if (!go || go.disabled) {\n      return;\n    }\n    go.disabled = true;\n\n        [MEMBER_NAME, OFFICER_NAME, ADMIN_NAME].forEach(function (name) {\n      document.cookie = name + '=; path=/; domain=.lesirreductibles.com; max-age=0; secure; samesite=lax';\n    });\n\n    if (typeof window.irreAccountLogout === 'function') {\n      window.irreAccountLogout();\n      return;\n    }\n    var url = document.documentElement.getAttribute('data-irre-account-logout');\n    if (!url) {\n      go.disabled = false;\n      return;\n    }\n    var form = document.createElement('form');\n    form.method = 'post';\n    form.action = url;\n    form.style.display = 'none';\n    document.body.appendChild(form);\n    form.submit();\n  }\n\n  showAccount();\n  if (window.MutationObserver) {\n    new MutationObserver(showAccount).observe(document.documentElement, {\n      attributes: true,\n      attributeFilter: ACCOUNT_ATTRS,\n    });\n  }\n\n      var APP_ROW = '.d-header .wrap, #header, .pf-v5-c-masthead';\n  var LEFT_CLUSTER = '.d-header .header-sidebar-toggle, #header .header-start, .pf-v5-c-masthead__toggle';\n  var RIGHT_CLUSTER = '.d-header .panel, #header .header-end';\n\n    function reach(clusterSelector, side) {\n    var row = document.querySelector(APP_ROW);\n    if (!row) {\n            return null;\n    }\n\n    var rowBox = row.getBoundingClientRect();\n    var bar = document.querySelector('.irre-topbar');\n\n        if (!bar || rowBox.top >= bar.getBoundingClientRect().bottom - 1) {\n      return null;\n    }\n\n    var cluster = document.querySelector(clusterSelector);\n    if (!cluster) {\n            return 0;\n    }\n    var r = rowBox;\n    var c = cluster.getBoundingClientRect();\n        return Math.max(0, Math.ceil(side === 'left' ? c.right - r.left : r.right - c.left));\n  }\n\n    function over(bar) {\n    var inner = bar.querySelector('.irre-topbar__inner');\n    if (!inner) {\n      return false;\n    }\n\n    var style = getComputedStyle(inner);\n    var room = inner.clientWidth - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);\n    var gap = parseFloat(style.columnGap) || 0;\n    var needed = -gap;\n\n    [].forEach.call(inner.children, function (child) {\n      var cs = getComputedStyle(child);\n      if (cs.display === 'none' || cs.position === 'absolute') {\n        return;\n      }\n      needed += gap + Math.max(child.scrollWidth, Math.ceil(child.getBoundingClientRect().width));\n    });\n\n    return needed > room + 0.5;\n  }\n\n  function fit() {\n    var bar = document.querySelector('.irre-topbar');\n    if (!bar) {\n      return;\n    }\n\n        watchAppHeader();\n\n        reveal(bar);\n\n        [['--irre-app-left', reach(LEFT_CLUSTER, 'left')], ['--irre-app-right', reach(RIGHT_CLUSTER, 'right')]]\n      .forEach(function (pair) {\n        if (pair[1] === null) {\n          document.documentElement.style.removeProperty(pair[0]);\n        } else {\n          document.documentElement.style.setProperty(pair[0], pair[1] + 'px');\n        }\n      });\n\n        bar.classList.remove('irre-topbar--tight');\n    bar.classList.remove('irre-topbar--cramped');\n\n    if (over(bar)) {\n      bar.classList.add('irre-topbar--tight');\n\n      if (over(bar)) {\n        bar.classList.add('irre-topbar--cramped');\n      }\n    }\n  }\n\n\n\n    var pending = false;\n\n  function schedule() {\n    if (pending) {\n      return;\n    }\n    pending = true;\n    requestAnimationFrame(function () {\n      pending = false;\n      fit();\n    });\n  }\n\n  schedule();\n  window.addEventListener('resize', schedule);\n    window.irreTopbarRefresh = schedule;\n    if (document.fonts && document.fonts.ready) {\n    document.fonts.ready.then(schedule);\n  }\n\n    var appHeader = null;\n\n  function watchAppHeader() {\n    if (appHeader && appHeader.isConnected) {\n      return true;\n    }\n\n    appHeader = document.querySelector('.d-header-wrap, #header, .pf-v5-c-masthead');\n    if (!appHeader) {\n      return false;\n    }\n\n    if (window.MutationObserver) {\n      new MutationObserver(schedule).observe(appHeader, {\n        childList: true,\n        subtree: true,\n        attributes: true,\n        attributeFilter: ['class', 'style'],\n      });\n    }\n\n    schedule();\n    return true;\n  }\n\n  if (!watchAppHeader() && window.MutationObserver) {\n    new MutationObserver(function (records, observer) {\n      if (watchAppHeader()) {\n        observer.disconnect();\n      }\n          }).observe(document, { childList: true, subtree: true });\n  }\n\n    window.addEventListener('load', schedule);\n})();"],"mappings":"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","ignoreList":[]}