{"version":3,"file":"init.js","mappings":"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","sources":["webpack://App/./Resources/Scripts/darkMode.ts","webpack://App/./Resources/Scripts/navigation.ts","webpack://App/./Resources/Scripts/svgParser.ts","webpack://App/./node_modules/twitter-widgets/index.js","webpack://App/webpack/bootstrap","webpack://App/./Resources/Scripts/init.ts"],"sourcesContent":["export function saveDarkMode() {\r\n if (dotvvm.viewModels.root.viewModel.IsDarkModeEnabled()) {\r\n document.cookie = \"dark-mode=true; path=/\"\r\n }\r\n else {\r\n document.cookie = \"dark-mode=false; path=/\"\r\n }\r\n}\r\n\r\nexport function updateTwitterTheme() {\r\n\r\n const parent = document.querySelector(\".panel__timeline\")\r\n\r\n if (parent) {\r\n let theme = 'light'\r\n if (dotvvm.viewModels.root.viewModel.IsDarkModeEnabled()) {\r\n theme = 'dark'\r\n }\r\n\r\n const button = document.createElement('a')\r\n button.innerHTML = \"Tweets by update_conf\"\r\n button.setAttribute(\"data-chrome\", 'nofooter noborders')\r\n button.setAttribute('data-theme', theme)\r\n button.setAttribute('hidden', 'true')\r\n button.setAttribute(\"href\", dotvvm.viewModels.root.viewModel.TwitterHtml())\r\n\r\n const oldIframe = parent.getElementsByTagName('iframe')[0]\r\n parent.appendChild(button)\r\n parent.removeChild(oldIframe)\r\n }\r\n}","export function initNav() {\r\n const body = document.querySelector('body')\r\n const html = document.querySelector('html')\r\n const tabletResolution = window.screen.width <= 1024\r\n\r\n const navMenu = document.getElementById('navMenu')\r\n const openBtn = document.getElementById(\"navBtn\") as HTMLButtonElement\r\n const openBtnMobile = document.getElementById(\"navBtnMobile\") as HTMLButtonElement\r\n\r\n const userBtn = document.getElementById('userBtn') as HTMLButtonElement\r\n const userMenu = document.getElementById('userMenu')\r\n\r\n function setMenuOpen() {\r\n navMenu.classList.toggle('nav__menu--open')\r\n if (tabletResolution) {\r\n body.classList.toggle('overflow-hidden')\r\n html.classList.toggle('overflow-hidden')\r\n }\r\n }\r\n\r\n //Main Menu\r\n if (openBtn) {\r\n openBtn.addEventListener('click', () => {\r\n setMenuOpen()\r\n })\r\n }\r\n if (openBtnMobile) {\r\n openBtnMobile.addEventListener('click', () => {\r\n setMenuOpen()\r\n })\r\n }\r\n\r\n //User Menu\r\n if (userBtn) {\r\n userBtn.addEventListener('click', () => {\r\n userMenu.classList.toggle('user-menu__pop-up--open')\r\n if (tabletResolution) {\r\n body.classList.toggle('overflow-hidden')\r\n html.classList.toggle('overflow-hidden')\r\n }\r\n })\r\n }\r\n\r\n //Handle outside click\r\n document.addEventListener('mouseup', (e) => {\r\n if (navMenu.classList.contains('nav__menu--open')) {\r\n if (!navMenu.contains(e.target as Node) && e.target !== openBtn && e.target !== openBtnMobile) {\r\n navMenu.classList.remove('nav__menu--open')\r\n if (tabletResolution) {\r\n body.classList.remove('overflow-hidden')\r\n html.classList.remove('overflow-hidden')\r\n }\r\n }\r\n }\r\n if (userMenu) {\r\n if (userMenu.classList.contains('user-menu__pop-up--open')) {\r\n if (!userMenu.contains(e.target as Node) && e.target !== userBtn) {\r\n userMenu.classList.remove('user-menu__pop-up--open')\r\n if (tabletResolution) {\r\n body.classList.remove('overflow-hidden')\r\n html.classList.remove('overflow-hidden')\r\n }\r\n }\r\n }\r\n }\r\n })\r\n}","/// \r\n\r\nconst $ = (window as any).jQuery;\r\nconst ko = (window as any).ko as KnockoutStatic;\r\n\r\nexport function initSvgParser() {\r\n\r\n ko.bindingHandlers[\"svg\"] = {\r\n init(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {\r\n const url = valueAccessor();\r\n const request = new XMLHttpRequest();\r\n request.open(\"GET\", url, true);\r\n request.onreadystatechange = () => {\r\n if (request.readyState === 4) {\r\n if (request.status === 200 || request.status === 0) {\r\n $(element).replaceWith(request.response);\r\n }\r\n }\r\n };\r\n request.send();\r\n }\r\n };\r\n}","(function(window) {\n\tvar TwitterWidgetsLoader = {\n\t\tsrc: 'https://platform.twitter.com/widgets.js',\n\t\tloading: false,\n\t\tlisteners: [],\n\t\tinterval: 50,\n\n\t\tload: function(callback) {\n\t\t\tvar _this = this;\n\n\t\t\tif(callback) {\n\t\t\t\tthis.listeners.push(callback);\n\t\t\t}\n\n\t\t\tif (window.twttr && window.twttr.widgets) {\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t_this._done();\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.loading) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.loading = true;\n\n\t\t\tvar script = document.createElement('script');\n\t\t\tscript.type = 'text/javascript';\n\t\t\tscript.src = this.src;\n\t\t\tscript.addEventListener('error', function() {\n\t\t\t\t_this._done(new Error('Twitter widgets JS failed to load. Is there an ad blocker enabled?'));\n\t\t\t});\n\t\t\tdocument.body.appendChild(script);\n\n\t\t\tthis._poll();\n\t\t},\n\n\t\t_poll: function() {\n\t\t\tif (window.twttr && window.twttr.widgets) {\n\t\t\t\treturn this._done();\n\t\t\t}\n\n\t\t\tvar _this = this;\n\n\t\t\tsetTimeout(function() {\n\t\t\t\t_this._poll();\n\t\t\t}, this.interval);\n\t\t},\n\n\t\t_done: function(error) {\n\t\t\twhile (this.listeners.length) {\n\t\t\t\tthis.listeners.pop()(error, window.twttr);\n\t\t\t}\n\t\t}\n\t};\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = TwitterWidgetsLoader;\n\t} else {\n\t\twindow.TwitterWidgetsLoader = TwitterWidgetsLoader;\n\t}\n})(window);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","///\r\n\r\nimport { saveDarkMode, updateTwitterTheme } from './darkMode'\r\nimport { initNav } from './navigation'\r\nimport { initSvgParser } from './svgParser'\r\n\r\nconst $ = (window as any).jQuery\r\nconst twttr = require('twitter-widgets');\r\nconst dotvvm = (window as any).dotvvm\r\n\r\nconst tabletWidth = 1024\r\nconst panelButton = document.getElementById('panelButton')\r\nconst twitterWall = document.getElementById('twitter-widget-0')\r\n\r\nfunction collapsePanel() {\r\n const panelCollapsed = document.querySelector('.panel__header--collapsed') != null\r\n\r\n if (window.innerWidth <= tabletWidth && !panelCollapsed) {\r\n setTimeout(function () {\r\n panelButton.click()\r\n }, 1)\r\n }\r\n}\r\n\r\ndotvvm.events.init.subscribe(() => {\r\n initSvgParser()\r\n initNav()\r\n\r\n dotvvm.viewModels.root.viewModel.IsDarkModeEnabled.subscribe(() => {\r\n saveDarkMode()\r\n\r\n if (twitterWall) {\r\n updateTwitterTheme()\r\n twttr.widgets.load()\r\n }\r\n });\r\n\r\n if (panelButton) {\r\n collapsePanel()\r\n }\r\n}) "],"names":["dotvvm","viewModels","root","viewModel","IsDarkModeEnabled","document","cookie","parent","querySelector","theme","button","createElement","innerHTML","setAttribute","TwitterHtml","oldIframe","getElementsByTagName","appendChild","removeChild","body","html","tabletResolution","window","screen","width","navMenu","getElementById","openBtn","openBtnMobile","userBtn","userMenu","setMenuOpen","classList","toggle","addEventListener","e","contains","target","remove","$","jQuery","ko","bindingHandlers","init","element","valueAccessor","allBindingsAccessor","bindingContext","url","request","XMLHttpRequest","open","onreadystatechange","readyState","status","replaceWith","response","send","TwitterWidgetsLoader","src","loading","listeners","interval","load","callback","_this","this","push","twttr","widgets","setTimeout","_done","script","type","Error","_poll","error","length","pop","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","panelButton","twitterWall","events","subscribe","initSvgParser","initNav","saveDarkMode","updateTwitterTheme","panelCollapsed","innerWidth","click","collapsePanel"],"sourceRoot":""}