(function(e){function t(t){for(var n,s,r=t[0],l=t[1],c=t[2],u=0,d=[];unew RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(e)}},T=x,O=(a("d16d"),Object(v["a"])(T,S,I,!1,null,"68c1bd5c",null)),E=O.exports,A=a("5cc6"),$=a.n(A),z={name:"Header",inject:["visibleComponents"],components:{PageTitle:C,Nav:E},props:{pageInfo:Object},data(){return{titleVisible:(this.visibleComponents||A["visibleComponents"]).pageTitle,navVisible:(this.visibleComponents||A["visibleComponents"]).navigation}}},L=z,j=(a("6ea3"),Object(v["a"])(L,h,p,!1,null,"73a6fa67",null)),N=j.exports,M=function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.text&&""!==e.text?a("footer",{domProps:{innerHTML:e._s(e.text)}}):a("footer",[e._v(" Developed by "),a("a",{attrs:{href:e.authorUrl}},[e._v(e._s(e.authorName))]),e._v(". Licensed under "),a("a",{attrs:{href:e.licenseUrl}},[e._v(e._s(e.license))]),e._v(" "+e._s(e.showCopyright?"ยฉ":"")+" "+e._s(e.date)+". Get the "),a("a",{attrs:{href:e.repoUrl}},[e._v("Source Code")]),e._v(". ")])},B=[],V={name:"Footer",props:{text:String,authorName:{type:String,default:"Alicia Sykes"},authorUrl:{type:String,default:"https://aliciasykes.com"},license:{type:String,default:"MIT"},licenseUrl:{type:String,default:"https://gist.github.com/Lissy93/143d2ee01ccc5c052a17"},date:{type:String,default:""+(new Date).getFullYear()},showCopyright:{type:Boolean,default:!0},repoUrl:{type:String,default:"https://github.com/lissy93/dashy"}}},D=V,P=(a("ed9b"),Object(v["a"])(D,M,B,!1,null,"64591bd5",null)),H=P.exports,U=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide-fade"}},[e.isLoading?a("div",{class:e.c,attrs:{id:"loading"},on:{click:function(t){e.c="hide"}}},[a("h2",[e._v("Dashy")]),a("div",{staticClass:"inner-container"},[a("p",[e._v("Loading")]),a("span",{staticClass:"dots-cont"},[a("span",{staticClass:"dot dot-1"}),a("span",{staticClass:"dot dot-2"}),a("span",{staticClass:"dot dot-3"}),a("span",{staticClass:"dot dot-4"})])])]):e._e()])},R=[],K={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},F=K,W=(a("2bb3"),Object(v["a"])(F,U,R,!1,null,"a7bc1de6",null)),q=W.exports,G=a("8b8e"),J=a.n(G);class Y{constructor(){this.conf=J.a}appConfig(){let e={};this.conf&&(e=this.conf.appConfig||{});let t=A["appConfig"];return localStorage[A["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[A["localStorageKeys"].APP_CONFIG]):e!=={}&&(t=e),t.layout=localStorage[A["localStorageKeys"].LAYOUT_ORIENTATION]||e.layout||A["layout"],t.iconSize=localStorage[A["localStorageKeys"].ICON_SIZE]||e.iconSize||A["iconSize"],t.language=localStorage[A["localStorageKeys"].LANGUAGE]||e.language||A["language"],t}pageInfo(){const e=A["pageInfo"];let t;try{t=JSON.parse(localStorage[A["localStorageKeys"].PAGE_INFO])}catch(s){t={}}let a={};this.conf&&(a=this.conf.pageInfo||{});const n=a||e;return n.title=t.title||a.title||e.title,n.logo=t.logo||a.logo||e.logo,n.description=t.description||a.description||e.description,n.navLinks=t.navLinks||a.navLinks||e.navLinks,n.footerText=t.footerText||a.footerText||e.footerText,n}sections(){const e=localStorage[A["localStorageKeys"].CONF_SECTIONS];if(e)try{const t=JSON.parse(e);if(t.length>=1)return t}catch(a){}let t=[];return this.conf&&(t=this.conf.sections||[]),t}config(){return{appConfig:this.appConfig(),pageInfo:this.pageInfo(),sections:this.sections()}}}var X=a("0e40"),Z=a("cb40"),Q=a("3b11");const ee=[{name:"English",code:"en",locale:X,flag:"๐Ÿ‡ฌ๐Ÿ‡ง"},{name:"German",code:"de",locale:Z,flag:"๐Ÿ‡ฉ๐Ÿ‡ช"},{name:"Dutch",code:"nl",locale:Q,flag:"๐Ÿ‡ณ๐Ÿ‡ฑ"}],te={};ee.forEach(e=>{te[e.code]=e.locale});const ae=te,ne=(()=>{const e=new Y;return e.config()})(),se=e=>{const t=e.hideComponents||{},a=e=>"boolean"===typeof e;return{pageTitle:a(t.hideHeading)?!t.hideHeading:A["visibleComponents"].pageTitle,navigation:a(t.hideNav)?!t.hideNav:A["visibleComponents"].navigation,searchBar:a(t.hideSearch)?!t.hideSearch:A["visibleComponents"].searchBar,settings:a(t.hideSettings)?!t.hideSettings:A["visibleComponents"].settings,footer:a(t.hideFooter)?!t.hideFooter:A["visibleComponents"].footer,splashScreen:a(t.hideSplashScreen)?!t.hideSplashScreen:A["visibleComponents"].splashScreen}},oe=()=>{const e=localStorage[A["localStorageKeys"].THEME],t=ne.appConfig.theme;return e||t||A["theme"]},ie=()=>{const e=JSON.parse(localStorage[A["localStorageKeys"].CUSTOM_COLORS]||"{}"),t=ne.appConfig.customColors||{};return Object.assign(t,e)},re=()=>{const e=[],t=ne.sections||[];return t.forEach(t=>{const a=t.items.filter(e=>e.hotkey);e.push(a.map(e=>({hotkey:e.hotkey,url:e.url})))}),e.flat()},le=()=>{const e=localStorage[A["localStorageKeys"].LANGUAGE]||ne.appConfig.language||A["language"],t=ee.find(t=>t.code===e);return t},ce=()=>{const e="V1.5.4";console.log(`%cDashy ${e} ๐Ÿš€`,"color:#00af87; background:#0b1021; font-size:36px; padding: 0.5rem 0.5rem 0; margin: 1rem auto; font-family: Rockwell; border: 2px solid #00af87; border-radius: 4px;font-weight: bold; text-shadow: 1px 1px 1px #00af87bf;")},ue=()=>{console.log("%cโš ๏ธ Error โš ๏ธ","background:#21bbca; color:#0b1021; font-size:20px; padding:0.25rem 0.5rem; margin: 1rem auto 0.25rem; font-family: 'Trebuchet MS', Helvetica; border: 2px solid yellow; border-radius: 4px; font-weight: bold;")},de=()=>{console.log("%c๐Ÿ›If you have found a bug, raise an issue on GitHub, at:\nhttps://git.io/JnqPR","color:#dddd10; font-size: 14px; font-family: 'Trebuchet MS', Helvetica;")},_e=new Y,me=_e.config(),ge=se(me.appConfig)||A["visibleComponents"];var he={name:"app",components:{Header:N,Footer:H,LoadingScreen:q},provide:{config:me,visibleComponents:ge},data(){return{isLoading:!0,showFooter:ge.footer,appConfig:_e.appConfig(),pageInfo:_e.pageInfo(),visibleComponents:ge}},methods:{getFooterText(){return this.pageInfo&&this.pageInfo.footerText?this.pageInfo.footerText:""},injectCustomStyles(e){const t=document.createElement("style");t.textContent=e,document.head.append(t)},shouldShowSplash(){return(this.visibleComponents||A["visibleComponents"]).splashScreen||!localStorage[A["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()?setTimeout(()=>{this.isLoading=!1},A["splashScreenTime"]||1500):this.isLoading=!1},applyLanguage(){let e=A["language"];const t=this.$i18n.availableLocales,a=localStorage[A["localStorageKeys"].LANGUAGE]||this.appConfig.language;if(a&&t.includes(a))e=a;else{const a=window.navigator.language||"",n=a.split("-")[0];t.includes(a)?e=a:t.includes(n)&&(e=n)}this.$i18n.locale=e,document.getElementsByTagName("html")[0].setAttribute("lang",e)}},mounted(){if(this.applyLanguage(),this.hideSplash(),this.appConfig.customCss){const e=this.appConfig.customCss.replace(/<\/?[^>]+(>|$)/g,"");this.injectCustomStyles(e)}ce()}},pe=he,fe=(a("5c0b"),Object(v["a"])(pe,m,g,!1,null,null,null)),be=fe.exports,ke=a("8c4f"),we=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"home",style:e.getBackgroundImage()},[a("SettingsContainer",{ref:"filterComp",staticClass:"settings-outer",attrs:{displayLayout:e.layout,iconSize:e.itemSizeBound,externalThemes:e.getExternalCSSLinks(),sections:e.getSections(e.sections),appConfig:e.appConfig,pageInfo:e.pageInfo,modalOpen:e.modalOpen},on:{"user-is-searchin":e.searching,"change-display-layout":e.setLayoutOrientation,"change-icon-size":e.setItemSize,"change-modal-visibility":e.updateModalVisibility}}),e.checkTheresData(e.sections)?a("div",{class:"item-group-container orientation-"+e.layout+" item-size-"+e.itemSizeBound},e._l(e.getSections(e.sections),(function(t,n){return a("ItemGroup",{key:n,class:0===e.filterTiles(t.items).length&&e.searchValue?"no-results":"",attrs:{title:t.name,icon:t.icon||void 0,displayData:e.getDisplayData(t),groupId:"section-"+n,items:e.filterTiles(t.items),itemSize:e.itemSizeBound},on:{itemClicked:function(t){return e.finishedSearching()},"change-modal-visibility":e.updateModalVisibility}})})),1):e._e(),e.checkIfResults()?a("div",{staticClass:"no-data"},[e._v(" "+e._s(e.searchValue?e.$t("home.no-results"):e.$t("home.no-data"))+" ")]):e._e()],1)},ve=[],ye=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("section",[e.searchVisible?a("SearchBar",{ref:"SearchBar",attrs:{active:!e.modalOpen},on:{"user-is-searchin":e.userIsTypingSomething}}):e._e(),a("div",{staticClass:"options-outer"},[a("div",{class:"options-container "+(e.settingsVisible?"":"hide")},[a("ThemeSelector",{attrs:{externalThemes:e.externalThemes,confTheme:e.getInitialTheme(),userThemes:e.getUserThemes()},on:{modalChanged:e.modalChanged}}),a("LayoutSelector",{attrs:{displayLayout:e.displayLayout},on:{layoutUpdated:e.updateDisplayLayout}}),a("ItemSizeSelector",{attrs:{iconSize:e.iconSize},on:{iconSizeUpdated:e.updateIconSize}}),a("ConfigLauncher",{attrs:{sections:e.sections,pageInfo:e.pageInfo,appConfig:e.appConfig},on:{modalChanged:e.modalChanged}}),e.isUserLoggedIn()?a("AppButtons"):e._e()],1),a("div",{class:"show-hide-container "+(e.settingsVisible?"hide-btn":"show-btn")},[a("button",{directives:[{name:"tooltip",rawName:"v-tooltip",value:(e.settingsVisible?"Hide":"Open")+" Settings Menu",expression:"`${settingsVisible? 'Hide' : 'Open'} Settings Menu`"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.toggleSettingsVisibility()}}},[e.settingsVisible?a("IconClose"):a("IconOpen")],1)])]),a("KeyboardShortcutInfo"),a("AppInfoModal")],1)},Ce=[],Se=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",[a("label",{attrs:{for:"filter-tiles"}},[e._v(e._s(e.$t("search.search-label")))]),a("input",{directives:[{name:"model",rawName:"v-model",value:e.input,expression:"input"}],ref:"filter",attrs:{id:"filter-tiles",placeholder:e.$t("search.search-placeholder")},domProps:{value:e.input},on:{input:[function(t){t.target.composing||(e.input=t.target.value)},e.userIsTypingSomething],keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.clearFilterInput.apply(null,arguments)}}}),e.input.length>0?a("i",{staticClass:"clear-search",attrs:{title:e.$t("search.clear-search-tooltip")},on:{click:e.clearFilterInput}},[e._v("x")]):e._e()])},Ie=[];class xe{constructor(e){this.index=e}resetIndex(){this.index=0}arrowNavigation(e){void 0===this.index?this.index=0:37===e?this.index-=1:38===e?this.index=xe.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=xe.goToNext(this.index)),this.index=xe.getSafeElementIndex(this.index),xe.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=xe.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=xe.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>xe.selectItemByIndex(e).offsetTop===t,a=(e,n)=>e>=xe.getNumResults()?a(0,n):t(e,n)?a(e-1,n):e,n=xe.selectItemByIndex(e).offsetTop;return a(e,n)}static goToPrevious(e){const t=(e,t)=>xe.selectItemByIndex(e).offsetTopxe.selectItemByIndex(e).offsetTop===t,a=(e,n)=>e>=xe.getNumResults()?a(0,n):t(e,n)?a(e+1,n):e,n=xe.selectItemByIndex(e).offsetTop;return a(e,n)}static goToNext(e){const t=(e,t)=>xe.selectItemByIndex(e).offsetTop>xe.selectItemByIndex(t).offsetTop,a=xe.findNextRow(e),n=a-e,s=a-xe.findPreviousRow(e)-1,o=t(e,a)?0:s-n;return a+o}}var Te={name:"FilterTile",props:{active:Boolean},data(){return{input:"",akn:new xe,getCustomKeyShortcuts:re}},mounted(){window.addEventListener("keydown",e=>{const t=document.activeElement.id,{key:a,keyCode:n}=e;this.active&&(/^[a-zA-Z]$/.test(a)&&"filter-tiles"!==t?(this.$refs.filter&&this.$refs.filter.focus(),this.userIsTypingSomething()):/^[0-9]$/.test(a)?this.handleHotKey(a):n>=37&&n<=40?this.akn.arrowNavigation(n):27===n&&this.clearFilterInput())})},methods:{userIsTypingSomething(){this.$emit("user-is-searchin",this.input)},clearFilterInput(){this.input="",this.userIsTypingSomething(),document.activeElement.blur(),this.akn.resetIndex()},handleHotKey(e){const t=this.getCustomKeyShortcuts();t.forEach(t=>{t.hotkey===parseInt(e,10)&&t.url&&window.open(t.url,"_blank")})}}},Oe=Te,Ee=(a("b021"),Object(v["a"])(Oe,Se,Ie,!1,null,"2350dd8e",null)),Ae=Ee.exports,$e=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"config-options"},[a("span",[e._v(e._s(e.$t("settings.config-launcher-label")))]),a("div",{staticClass:"config-buttons"},[a("IconSpanner",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.config-launcher-tooltip")),expression:"tooltip($t('settings.config-launcher-tooltip'))"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.showEditor()}}})],1),a("modal",{attrs:{name:e.modalNames.CONF_EDITOR,resizable:!0,width:"60%",height:"85%",classes:"dashy-modal"},on:{closed:function(t){return e.$emit("modalChanged",!1)}}},[a("ConfigContainer",{attrs:{config:e.combineConfig()}})],1),a("modal",{attrs:{name:e.modalNames.LANG_SWITCHER,classes:"dashy-modal",resizable:!0,width:"30%",height:"25%"}},[a("LanguageSwitcher")],1)],1)},ze=[],Le=a("35c3"),je=a.n(Le),Ne=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("Tabs",{ref:"tabView",attrs:{navAuto:!0,name:"Add Item"}},[a("TabItem",{staticClass:"main-tab",attrs:{name:e.$t("config.main-tab")}},[a("div",{staticClass:"main-options-container"},[a("div",{staticClass:"config-buttons"},[a("h2",[e._v("Configuration Options")]),a("a",{staticClass:"hyperlink-wrapper",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[a("button",{staticClass:"config-button center"},[a("DownloadIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.download-config-button"))+" ")],1)]),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(2)}}},[a("EditIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.edit-config-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(4)}}},[a("CustomCssIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.edit-css-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(){return e.navigateToTab(3)}}},[a("CloudIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.backupId?e.$t("config.edit-cloud-sync-button"):e.$t("config.cloud-sync-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openLanguageSwitchModal()}}},[a("LanguageIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.change-language-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openRebuildAppModal()}}},[a("RebuildIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.rebuild-app-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.resetLocalSettings()}}},[a("DeleteIcon",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.reset-settings-button"))+" ")],1),a("button",{staticClass:"config-button center",on:{click:function(t){return e.openAboutModal()}}},[a("IconAbout",{staticClass:"button-icon"}),e._v(" "+e._s(e.$t("config.app-info-button"))+" ")],1),a("p",{staticClass:"small-screen-note",staticStyle:{display:"none"}},[e._v(" You are using a very small screen, and some screens in this menu may not be optimal ")]),a("p",{staticClass:"language"},[e._v(e._s(e.getLanguage()))]),a("AppVersion")],1),a("div",{staticClass:"config-note"},[a("span",[e._v(e._s(e.$t("config.backup-note")))])])]),a("RebuildApp")],1),a("TabItem",{staticClass:"code-container",attrs:{name:e.$t("config.view-config-tab")}},[a("pre",{attrs:{id:"conf-yaml"}},[e._v(e._s(e.yaml))]),a("div",{staticClass:"yaml-action-buttons"},[a("h2",[e._v(e._s(e.$t("config.actions-label")))]),a("a",{staticClass:"yaml-button download",on:{click:function(t){return e.downloadConfigFile("conf.yml",e.yaml)}}},[e._v(" "+e._s(e.$t("config.download-config-button"))+" ")]),a("a",{staticClass:"yaml-button copy",on:{click:function(t){return e.copyConfigToClipboard()}}},[e._v(" "+e._s(e.$t("config.copy-config-label"))+" ")]),a("a",{staticClass:"yaml-button reset",on:{click:function(t){return e.resetLocalSettings()}}},[e._v(" "+e._s(e.$t("config.reset-config-label"))+" ")])])]),a("TabItem",{attrs:{name:e.$t("config.edit-config-tab")}},[a("JsonEditor",{attrs:{config:e.config}})],1),a("TabItem",{attrs:{name:e.$t("cloud-sync.title")}},[a("CloudBackupRestore",{attrs:{config:e.config}})],1),a("TabItem",{attrs:{name:e.$t("config.custom-css-tab")}},[a("CustomCssEditor",{attrs:{config:e.config}})],1)],1)},Me=[],Be=a("d97e");const Ve=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),De=e=>{throw new Error("Error in Json to YAML conversion: "+e)},Pe=e=>{let t="";const a={undefined(){return"null"},null(){return"null"},number(e){return e},boolean(e){return e?"true":"false"},string(e){return JSON.stringify(e)},array(e){let n="";return 0===e.length?(n+="[]",n):(t=t.replace(/$/," "),e.forEach(e=>{const s=a[Object(Be["typeOf"])(e)];s||De(Object(Be["typeOf"])(e)),n+=`\n${t}- ${s(e,!0)}`}),t=t.replace(/ {2}/,""),n)},object(e,n,s){let o="";return 0===Object.keys(e).length?(o+="{}",o):(s||(t=t.replace(/$/," ")),Object.keys(e).forEach((s,i)=>{const r=e[s],l=a[Object(Be["typeOf"])(r)];"undefined"!==typeof r&&(l||De(Object(Be["typeOf"])(r)),n&&0===i||(o+="\n"+t),o+=`${s}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return Ve(a[Object(Be["typeOf"])(e)](e,!0,!0)+"\n")};var He=Pe,Ue=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"json-editor-outer"},[a("v-jsoneditor",{attrs:{options:e.options},model:{value:e.jsonData,callback:function(t){e.jsonData=t},expression:"jsonData"}}),a("div",{staticClass:"save-options"},[a("span",{staticClass:"save-option-title"},[e._v(e._s(e.$t("config-editor.save-location-label"))+":")]),a("div",{staticClass:"option"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"local",value:"local",disabled:!e.allowWriteToDisk},domProps:{checked:e._q(e.saveMode,"local")},on:{change:function(t){e.saveMode="local"}}}),a("label",{staticClass:"save-option-label",attrs:{for:"local"}},[e._v(" "+e._s(e.$t("config-editor.location-local-label"))+" ")])]),a("div",{staticClass:"option"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.saveMode,expression:"saveMode"}],staticClass:"radio-option",attrs:{type:"radio",id:"file",value:"file",disabled:!e.allowWriteToDisk},domProps:{checked:e._q(e.saveMode,"file")},on:{change:function(t){e.saveMode="file"}}}),a("label",{staticClass:"save-option-label",attrs:{for:"file"}},[e._v(" "+e._s(e.$t("config-editor.location-disk-label"))+" ")])])]),a("button",{class:"save-button "+(e.isValid?"":"err"),on:{click:function(t){return e.save()}}},[e._v(" "+e._s(e.$t("config-editor.save-button"))+" ")]),a("p",{staticClass:"errors"},[a("ul",[e._l(e.errorMessages,(function(t,n){return a("li",{key:n,class:"type-"+t.type},[e._v(" "+e._s(t.msg)+" ")])})),e.errorMessages.length<1?a("li",{staticClass:"type-valid"},[e._v(" "+e._s(e.$t("config-editor.valid-label"))+" ")]):e._e()],2)]),void 0!==e.saveSuccess?a("p",{class:"response-output status-"+(e.saveSuccess?"success":"fail")},[e._v(" "+e._s(e.saveSuccess?e.$t("config-editor.status-success-msg"):e.$t("config-editor.status-fail-msg"))+" ")]):e._e(),a("p",{staticClass:"response-output"},[e._v(e._s(e.responseText))]),e.saveSuccess?a("p",{staticClass:"response-output"},[e._v(" "+e._s(e.$t("config-editor.success-note-l1"))+" "+e._s(e.$t("config-editor.success-note-l2"))+" "+e._s(e.$t("config-editor.success-note-l3"))+" ")]):e._e(),a("p",{staticClass:"note"},[e._v(e._s(e.$t("config.backup-note")))])],1)},Re=[],Ke=a("bcb2"),Fe=a.n(Ke),We=a("831b"),qe=a("94f8"),Ge=a.n(qe);const Je=e=>{const t=e=>e.toString().toUpperCase(),a=Ge()(t(e.user)+t(e.hash));return t(a)},Ye=e=>{const t=e.map(e=>Je(e));let a=!1;return document.cookie.split(";").forEach(e=>{if(e&&e.split("=").length>1){const n=e.split("=")[0].trim(),s=e.split("=")[1].trim();n===A["cookieKeys"].AUTH_TOKEN&&t.includes(s)&&(a=!0)}}),a},Xe=(e,t,a,n)=>{let s;return e?t?a.forEach(a=>{a.user.toLowerCase()===e.toLowerCase()&&(s=a.hash.toLowerCase()===Ge()(t).toString().toLowerCase()?{correct:!0,msg:n.successMsg}:{correct:!1,msg:n.incorrectPassword})}):s={correct:!1,msg:n.missingPassword}:s={correct:!1,msg:n.missingUsername},s||{correct:!1,msg:n.incorrectUsername}},Ze=(e,t,a)=>{const n=new Date,s=new Date(n.setTime(n.getTime()+a)).toGMTString(),o={user:e,hash:Ge()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${Je(o)};`+(a>0?"expires="+s:""),localStorage.setItem(A["localStorageKeys"].USERNAME,e)},Qe=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(A["localStorageKeys"].USERNAME)},et=e=>{if(!e||0===e.length)return!0;if(!Ye(e))return!1;const t=localStorage[A["localStorageKeys"].USERNAME];let a=!1;return e.forEach(e=>{e.user===t&&"admin"===e.type&&(a=!0)}),a};var tt=a("bc3a"),at=a.n(tt),nt={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:Fe.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:We,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:He,responseText:"",saveSuccess:void 0,allowWriteToDisk:this.shouldAllowWriteToDisk()}},computed:{isValid(){return this.errorMessages.length<1}},mounted(){this.allowWriteToDisk||(this.saveMode="local")},methods:{shouldAllowWriteToDisk(){const{appConfig:e}=this.config;return!1!==e.allowConfigEdit&&et(e.auth)},save(){"local"!==this.saveMode&&this.allowWriteToDisk?"file"===this.saveMode?this.writeConfigToDisk():this.$toasted.show(this.$t("config-editor.error-msg-save-mode")):this.saveConfigLocally()},writeConfigToDisk(){const e=this.jsonParser(this.jsonData),t=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.5.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,a=t+"/config-manager/save",n={"Content-Type":"text/plain"},s={config:e,timestamp:new Date},o=at.a.post(a,s,n);o.then(e=>{this.saveSuccess=e.data.success||!1,this.responseText=e.data.message,this.saveSuccess?(this.carefullyClearLocalStorage(),this.showToast(this.$t("config-editor.success-msg-disk"),!0)):this.showToast(this.$t("config-editor.error-msg-cannot-save"),!1)}).catch(e=>{this.saveSuccess=!1,this.responseText=e,this.showToast(e,!1)})},saveConfigLocally(){const e=this.jsonData;e.sections&&localStorage.setItem(A["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),e.pageInfo&&localStorage.setItem(A["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig&&(e.appConfig.auth=this.config.appConfig.auth||[],localStorage.setItem(A["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig))),e.appConfig.theme&&localStorage.setItem(A["localStorageKeys"].THEME,e.appConfig.theme),this.showToast(this.$t("config-editor.success-msg-local"),!0)},carefullyClearLocalStorage(){localStorage.removeItem(A["localStorageKeys"].PAGE_INFO),localStorage.removeItem(A["localStorageKeys"].APP_CONFIG),localStorage.removeItem(A["localStorageKeys"].CONF_SECTIONS)},validationErrors(e){const t=[];e.forEach(e=>{switch(e.type){case"validation":t.push({type:"validation",msg:this.$t("config-editor.warning-msg-validation")+": "+`${e.error.keyword} ${e.error.message}`});break;case"error":t.push({type:"parse",msg:e.message});break;default:t.push({type:"editor",msg:this.$t("config-editor.error-msg-bad-json")});break}}),this.errorMessages=t},showToast(e,t){this.$toasted.show(e,{className:"toast-"+(t?"success":"error")})}}},st=nt,ot=(a("80a7"),Object(v["a"])(st,Ue,Re,!1,null,null,null)),it=ot.exports,rt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"css-editor-outer"},[a("prism-editor",{staticClass:"my-editor",attrs:{highlight:e.highlighter,"line-numbers":""},model:{value:e.customCss,callback:function(t){e.customCss=t},expression:"customCss"}}),a("button",{staticClass:"save-button",on:{click:function(t){return e.save()}}},[e._v(e._s(e.$t("config.css-save-btn")))]),a("p",{staticClass:"quick-note"},[a("b",[e._v(e._s(e.$t("config.css-note-label"))+":")]),e._v(" "+e._s(e.$t("config.css-note-l1"))+" "+e._s(e.$t("config.css-note-l2"))+" "+e._s(e.$t("config.css-note-l3"))+" ")]),a("CustomThemeMaker",{staticClass:"color-config",attrs:{themeToEdit:e.currentTheme}})],1)},lt=[],ct=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"theme-configurator-wrapper "+(e.showingAllVars?"showing-all":"")},[a("h3",{staticClass:"configurator-title"},[e._v(e._s(e.$t("theme-maker.title")))]),a("div",{staticClass:"color-row-container"},e._l(Object.keys(e.customColors),(function(t){return a("div",{key:t,staticClass:"color-row"},[a("label",{staticClass:"color-name",attrs:{for:"color-input-"+t}},[e._v(" "+e._s(t.replaceAll("-"," "))+" ")]),e.isColor(t,e.customColors[t])?a("v-swatches",{attrs:{"show-fallback":"","fallback-input-type":"color","popover-x":"left",swatches:e.swatches},on:{input:function(a){return e.setVariable(t,e.customColors[t])}},model:{value:e.customColors[t],callback:function(a){e.$set(e.customColors,t,a)},expression:"customColors[colorName]"}},[a("input",{staticClass:"swatch-input form__input__element",style:e.makeSwatchStyles(t),attrs:{slot:"trigger",id:"color-input-"+t,readonly:""},domProps:{value:e.customColors[t]},slot:"trigger"})]):a("input",{staticClass:"misc-input",attrs:{id:"color-input-"+t},domProps:{value:e.customColors[t]},on:{input:function(a){return e.setVariable(t,e.customColors[t])}}})],1)})),0),a("p",{staticClass:"action-text-btn",on:{click:e.exportToClipboard}},[e._v(" "+e._s(e.$t("theme-maker.export-button"))+" ")]),a("p",{staticClass:"action-text-btn show-all-vars-btn",on:{click:e.resetAndSave}},[e._v(" "+e._s(e.$t("theme-maker.reset-button"))+" '"+e._s(e.themeToEdit)+"' ")]),a("p",{staticClass:"action-text-btn",on:{click:e.findAllVariableNames}},[e._v(" "+e._s(e.$t("theme-maker.show-all-button"))+" ")]),a("div",{staticClass:"action-buttons"},[a("Button",{attrs:{click:e.saveChanges}},[a("SaveIcon"),e._v(" "+e._s(e.$t("theme-maker.save-button"))+" ")],1),a("Button",{attrs:{click:e.resetUnsavedColors}},[a("CancelIcon"),e._v(" "+e._s(e.$t("theme-maker.cancel-button"))+" ")],1)],1)])},ut=[],dt=a("7f75"),_t=a.n(dt),mt=(a("b3a4"),function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("button",{class:e.disallow?"disallowed":"",attrs:{disabled:e.disabled},on:{click:function(t){return e.click()}}},[e._t("default"),e._t("text"),e._t("icon")],2)}),gt=[],ht={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},pt=ht,ft=(a("24e6"),Object(v["a"])(pt,mt,gt,!1,null,"ec408f00",null)),bt=ft.exports,kt=a("90ff"),wt=a.n(kt),vt=a("90de"),yt=a.n(vt),Ct={name:"ThemeMaker",components:{VSwatches:_t.a,Button:bt,SaveIcon:wt.a,CancelIcon:yt.a},data(){return{customColors:this.makeInitialData(A["mainCssVars"]),showingAllVars:!1,swatches:A["swatches"]}},props:{themeToEdit:String},methods:{getCssVariableValue(e){return getComputedStyle(document.documentElement).getPropertyValue(e).trim()||"inherit"},setVariable(e,t){document.documentElement.style.setProperty("--"+e,t)},saveChanges(){const e=JSON.parse(localStorage[A["localStorageKeys"].CUSTOM_COLORS]||"{}");e[this.themeToEdit]=this.customColors,localStorage.setItem(A["localStorageKeys"].CUSTOM_COLORS,JSON.stringify(e)),this.$toasted.show(this.$t("theme-maker.saved-toast",{theme:this.themeToEdit})),this.$emit("closeThemeConfigurator")},resetUnsavedColors(){const e=Object.keys(this.customColors);e.forEach(e=>{document.documentElement.style.removeProperty("--"+e)}),this.customColors=this.makeInitialData(A["mainCssVars"]),this.$emit("closeThemeConfigurator")},resetAndSave(){const e=JSON.parse(localStorage[A["localStorageKeys"].CUSTOM_COLORS]||"{}");delete e[this.themeToEdit],localStorage.setItem(A["localStorageKeys"].CUSTOM_COLORS,JSON.stringify(e)),this.resetUnsavedColors(),this.$toasted.show(this.$t("theme-maker.reset-toast",{theme:this.themeToEdit}))},exportToClipboard(){const e=this.themeToEdit.replace(/^\w/,e=>e.toUpperCase());let t=`// Custom Colors for ${e}\n`;Object.keys(this.customColors).forEach(e=>{t+=`--${e}: ${this.customColors[e]};\n`}),navigator.clipboard.writeText(t),this.$toasted.show(this.$t("theme-maker.copied-toast",{theme:e}))},makeInitialData(e){const t={},a=e=>/^--/.exec(e),n=e=>a(e)?e:"--"+e,s=e=>a(e)?e.replace("--",""):e;return e.forEach(e=>{t[s(e)]=this.getCssVariableValue(n(e))}),t},findAllVariableNames(){const e=Array.from(document.styleSheets).filter(e=>null===e.href||e.href.startsWith(window.location.origin)).reduce((e,t)=>[...e,...Array.from(t.cssRules).reduce((e,t)=>":root"===t.selectorText?[...e,...Array.from(t.style).filter(e=>e.startsWith("--"))]:e,[])],[]);this.customColors=this.makeInitialData(e),this.showingAllVars=!0},getForegroundColor(e){const t=e=>{const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t||t.length<3)return"black";const a=e=>parseInt(t[e],16);return t?{r:a(1),g:a(2),b:a(3)}:null},a=e=>(299*e.r+587*e.g+114*e.b)/1e3;return a(t(e.trim()))<100?"white":"black"},makeSwatchStyles(e){const t=this.getForegroundColor(this.customColors[e]);return`background:${this.customColors[e]};color:${t}; border: 1px solid ${t}`},isColor(e,t){if(/rem|px|%/.exec(t))return!1;const a=["--curve-factor","--curve-factor-navbar","--curve-factor-small","--dimming-factor","--scroll-bar-width","--header-height","--footer-height","--item-group-padding","--item-shadow","--item-hover-shadow:","--item-icon-transform","--item-icon-transform-hover","--item-group-shadow","--context-menu-shadow","--settings-container-shadow","--side-bar-width"];return!a.includes("--"+e)}}},St=Ct,It=(a("369e"),Object(v["a"])(St,ct,ut,!1,null,null,null)),xt=It.exports,Tt=a("e57a"),Ot=a("8c7a"),Et=(a("6605"),a("dff1"),a("cabf"),{name:"JsonEditor",props:{config:Object},components:{CustomThemeMaker:xt,PrismEditor:Tt["a"]},data(){return{customCss:this.config.appConfig.customCss||"\n\n\n\n\n",currentTheme:oe()}},methods:{validate(e){return""===e||e.match(/((?:^\s*)([\w#.@*,:\-.:>,*\s]+)\s*{(?:[\s]*)((?:[A-Za-z\- \s]+[:]\s*['"0-9\w .,/()\-!%]+;?)*)*\s*}(?:\s*))/gim)},save(){let e="";if(this.validate(this.customCss)){const t={...this.config.appConfig};t.customCss=this.customCss,localStorage.setItem(A["localStorageKeys"].APP_CONFIG,JSON.stringify(t)),e="Changes saved succesfully",this.inject(this.customCss),""===this.customCss&&setTimeout(()=>{location.reload()},1500)}else e="Error - Invalid CSS";this.$toasted.show(e)},inject(e){const t=e.replace(/<\/?[^>]+(>|$)/g,""),a=document.createElement("style");a.textContent=t,document.head.append(a)},highlighter(e){return Object(Ot["highlight"])(e,Ot["languages"].css)}}}),At=Et,$t=(a("9e50"),Object(v["a"])(At,rt,lt,!1,null,null,null)),zt=$t.exports,Lt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"cloud-backup-restore-wrapper"},[a("div",{staticClass:"section intro"},[a("h2",[e._v(e._s(e.$t("cloud-sync.title")))]),a("p",{staticClass:"intro"},[e._v(" "+e._s(e.$t("cloud-sync.intro-l1"))+" "),a("br"),a("br"),e._v(" "+e._s(e.$t("cloud-sync.intro-l2"))+" "),a("br"),e._v(" "+e._s(e.$t("cloud-sync.intro-l3"))+" "),a("a",{attrs:{href:"https://github.com/Lissy93/dashy/blob/master/docs/backup-restore.md"}},[e._v("docs")])])]),a("div",{staticClass:"section backup-section"},[(e.backupId,a("h3",[e._v(e._s(e.$t("cloud-sync.backup-title-setup")))])),a("Input",{attrs:{name:"backup-password",label:e.backupId?e.$t("cloud-sync.password-label-update"):e.$t("cloud-sync.password-label-setup"),layout:"vertical",type:"password"},model:{value:e.backupPassword,callback:function(t){e.backupPassword=t},expression:"backupPassword"}}),a("Button",{attrs:{click:e.checkPass},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(" "+e._s(e.backupId?e.$t("cloud-sync.backup-button-update"):e.$t("cloud-sync.backup-button-setup"))+" ")]},proxy:!0},{key:"icon",fn:function(){return[a("IconBackup")]},proxy:!0}])}),e.backupId?a("div",{staticClass:"results-view"},[a("span",{staticClass:"backup-id-label"},[e._v(e._s(e.$t("cloud-sync.backup-id-label"))+": ")]),a("pre",{staticClass:"backup-id-value"},[e._v(e._s(e.backupId))]),a("span",{staticClass:"backup-id-note"},[e._v(e._s(e.$t("cloud-sync.backup-id-note")))])]):e._e()],1),a("div",{staticClass:"section restore-section"},[a("h3",[e._v(e._s(e.$t("cloud-sync.restore-title")))]),a("Input",{attrs:{name:"restore-code",label:e.$t("cloud-sync.restore-id-label")},model:{value:e.restoreCode,callback:function(t){e.restoreCode=t},expression:"restoreCode"}}),a("Input",{attrs:{name:"restore-password",label:e.$t("cloud-sync.restore-password-label"),type:"password"},model:{value:e.restorePassword,callback:function(t){e.restorePassword=t},expression:"restorePassword"}}),a("Button",{attrs:{click:e.restoreBackup},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.$t("cloud-sync.restore-button")))]},proxy:!0},{key:"icon",fn:function(){return[a("IconRestore")]},proxy:!0}])})],1)])},jt=[],Nt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"input-container "+e.layout},[e.label?a("label",{attrs:{for:"name"}},[e._v(e._s(e.label))]):e._e(),a("input",{attrs:{type:e.type,name:e.name,id:e.name,placeholder:e.placeholder},domProps:{value:e.value},on:{input:function(t){return e.updateValue(t.target.value)}}})])},Mt=[],Bt={name:"Input",props:{value:String,label:String,name:String,placeholder:String,type:{default:"text",type:String},layout:{validator:e=>-1!==["horizontal","vertical"].indexOf(e),type:String,default:"vertical"}},methods:{updateValue(e){this.$emit("input",e)}}},Vt=Bt,Dt=(a("2d25"),Object(v["a"])(Vt,Nt,Mt,!1,null,"5df13ed2",null)),Pt=Dt.exports,Ht=a("3a1e"),Ut=a.n(Ht),Rt=a("e6a4"),Kt=a.n(Rt),Ft=a("c198"),Wt=a.n(Ft),qt=a("f8d5"),Gt=a.n(qt);const Jt=A["backupEndpoint"],Yt=(e,t)=>{const a=JSON.stringify(e),n=Wt.a.encrypt(a,t);return n.toString()},Xt=(e,t)=>Wt.a.decrypt(e,t).toString(Gt.a),Zt=e=>Ge()(e).toString().slice(0,14),Qt=(e,t)=>at.a.post(Jt,{userData:Yt(e,t),subHash:Zt(t)}),ea=(e,t,a)=>at.a.put(Jt,{backupId:a,userData:Yt(e,t),subHash:Zt(t)}),ta=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),aa=(e,t)=>{const a=ta({backupId:e,subHash:Zt(t)}),n=`${Jt}/?${a}`;return new Promise((e,a)=>{at.a.get(n).then(n=>{if(!n.data||n.data.errorMsg)a(n.data.errorMsg||"Error");else{const o=Xt(n.data.userData.userData,t);try{e(JSON.parse(o))}catch(s){a(s)}}})})};var na={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[A["localStorageKeys"].BACKUP_ID]||""}},components:{Button:bt,Input:Pt,IconBackup:Ut.a,IconRestore:Kt.a},methods:{restoreBackup(){aa(this.restoreCode,this.restorePassword).then(e=>{this.restoreFromBackup(e,this.restoreCode)}).catch(e=>{this.showErrorMsg(e)})},checkPass(){const e=localStorage[A["localStorageKeys"].BACKUP_HASH]||void 0;e?e===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg(this.$t("cloud-sync.backup-error-password")):this.makeBackup()},makeBackup(){Qt(this.config,this.backupPassword).then(e=>{e.data&&!e.data.errorMsg&&e.data.backupId?this.updateUiAfterBackup(e.data.backupId,!1):this.showErrorMsg(e.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown"))})},makeUpdate(){ea(this.config,this.backupPassword,this.backupId).then(e=>{e.data&&!e.data.errorMsg&&e.data.backupId?this.updateUiAfterBackup(e.data.backupId,!0):this.showErrorMsg(e.data.errorMsg||"Error")}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown"))})},restoreFromBackup(e,t){localStorage.setItem(A["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),localStorage.setItem(A["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),localStorage.setItem(A["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig.theme&&localStorage.setItem(A["localStorageKeys"].THEME,e.appConfig.theme),this.setBackupIdLocally(t,this.restorePassword),this.showSuccessMsg(this.$t("cloud-sync.restore-success-msg")),setTimeout(()=>{location.reload()},1500)},updateUiAfterBackup(e,t=!1){this.setBackupIdLocally(e,this.backupPassword),this.showSuccessMsg(`${t?"Update":"Backup"} ${this.$t("cloud-sync.backup-success-msg")}`),this.backupPassword=""},showErrorMsg(e){this.$toasted.show(e,{className:"toast-error"})},showSuccessMsg(e){this.$toasted.show(e,{className:"toast-success"})},makeHash(e){return Ge()(e).toString()},setBackupIdLocally(e,t){this.backupId=e;const a=this.makeHash(t);localStorage.setItem(A["localStorageKeys"].BACKUP_ID,e),localStorage.setItem(A["localStorageKeys"].BACKUP_HASH,a)}}},sa=na,oa=(a("5583"),Object(v["a"])(sa,Lt,jt,!1,null,"079113a8",null)),ia=oa.exports,ra=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.modalName,resizable:!0,width:"50%",height:"60%",classes:"dashy-modal"}},[a("div",{staticClass:"rebuild-app-container"},[a("h3",{staticClass:"rebuild-app-title"},[e._v(e._s(e.$t("app-rebuild.title")))]),a("p",[e._v(" "+e._s(e.$t("app-rebuild.rebuild-note-l1"))+" "+e._s(e.$t("app-rebuild.rebuild-note-l2"))),a("br"),e._v(" "+e._s(e.$t("app-rebuild.rebuild-note-l3"))+" ")]),a("Button",{attrs:{click:e.startBuild,disabled:e.loading||!e.allowRebuild,disallow:!e.allowRebuild},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(" "+e._s(e.loading?e.$t("app-rebuild.rebuilding-status-1"):e.$t("app-rebuild.rebuild-button"))+" ")]},proxy:!0},{key:"icon",fn:function(){return[a("RebuildIcon")]},proxy:!0}])}),e.allowRebuild?e._e():a("div",[a("p",{staticClass:"disallow-rebuild-msg"},[e._v(e._s(e.$t("app-rebuild.error-permission")))])]),e.loading?a("div",{staticClass:"loader-info"},[a("LoadingAnimation",{staticClass:"loader"}),a("p",{staticClass:"loading-message"},[e._v(e._s(e.$t("app-rebuild.rebuilding-status-2"))+"...")])],1):e._e(),void 0!==e.success?a("div",{staticClass:"rebuild-response"},[e.success?a("p",{staticClass:"response-status success"},[e._v(" โœ… "+e._s(e.$t("app-rebuild.success-msg"))+" ")]):a("p",{staticClass:"response-status failure"},[e._v(" โŒ "+e._s(e.$t("app-rebuild.fail-msg"))+" ")]),a("pre",{staticClass:"output"},[a("code",[e._v(e._s(e.output||e.error))])]),a("p",{staticClass:"rebuild-message"},[e._v(e._s(e.message))]),e.success?a("p",{staticClass:"rebuild-message"},[e._v(" "+e._s(e.$t("app-rebuild.reload-note"))+" ")]):e._e(),e.success?a("Button",{attrs:{click:e.refreshPage},scopedSlots:e._u([{key:"text",fn:function(){return[e._v(e._s(e.$t("app-rebuild.reload-button")))]},proxy:!0},{key:"icon",fn:function(){return[a("ReloadIcon")]},proxy:!0}],null,!1,3658341317)}):e._e()],1):e._e()],1)])},la=[],ca=a("0911"),ua=a.n(ca),da=a("3ff5"),_a=a.n(da),ma=a("6266"),ga=a.n(ma),ha={name:"RebuildApp",inject:["config"],components:{Button:bt,RebuildIcon:ua.a,ReloadIcon:_a.a,LoadingAnimation:ga.a},data:()=>({modalName:A["modalNames"].REBUILD_APP,loading:!1,success:void 0,error:"",output:"",message:"",allowRebuild:!0}),methods:{startBuild(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.5.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,at.a.get(t).then(e=>{this.finished(e.data||!1)}).catch(e=>{this.finished({success:!1,error:e})})},finished(e){if(this.loading=!1,e){const{success:t,output:a,error:n,message:s}=e;this.success=t,this.output=a,this.message=s,this.error=n}this.$toasted.show(this.success?"โœ… "+this.$t("app-rebuild.success-msg"):"โŒ "+this.$t("app-rebuild.fail-msg"),{className:"toast-"+(this.success?"success":"error")})},refreshPage(){location.reload()}},mounted(){this.config&&this.config.appConfig&&!1===this.config.appConfig.allowConfigEdit&&(this.allowRebuild=!1)}},pa=ha,fa=(a("1171"),Object(v["a"])(pa,ra,la,!1,null,"306fcc3a",null)),ba=fa.exports,ka=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"app-version"},[a("p",[e._v(" "+e._s(e.$t("updates.app-version-note"))+" "+e._s(e.appVersion)+" ")]),e.checksEnabled?a("div",[e.finished?e._e():a("p",[e._v(" "+e._s(e.error?"Error checking for updates.":"Chcekcing for Updates...")+" ")]),e.finished&&e.isUpToDate?a("p",{staticClass:"up-to-date"},[e._v(" โœ… "+e._s(e.$t("updates.up-to-date"))+" ")]):e.finished&&!e.veryOutOfDate?a("p",{staticClass:"update-availible"},[e._v(" โš ๏ธ"+e._s(e.$t("updates.out-of-date"))+": "),a("b",[e._v(e._s(e.latestVersion))])]):e.finished&&e.veryOutOfDate?a("p",{staticClass:"big-update-availible"},[e._v(" โ— "+e._s(e.$t("updates.out-of-date"))+": "),a("b",[e._v(e._s(e.latestVersion))]),a("span",{staticClass:"please-update"},[e._v(" "+e._s(e.$t("updates.unsupported-version-l1"))+"."),a("br"),e._v(" "+e._s(e.$t("updates.unsupported-version-2"))+" "+e._s(e.latestVersion)+" ")])]):e._e()]):e._e()])},wa=[],va={name:"AppInfoModal",inject:["config"],data(){return{appVersion:"1.5.4",latestVersion:"",checksEnabled:!0,isUpToDate:!0,veryOutOfDate:!1,finished:!1,error:!1}},mounted(){const e=this.config.appConfig||{};!this.appVersion||e&&e.disableUpdateChecks?this.checksEnabled=!1:this.checkVersion()},methods:{checkVersion(){const e="https://raw.githubusercontent.com/Lissy93/dashy/master/package.json";at.a.get(e).then(e=>{e&&e.data&&e.data.version&&(this.latestVersion=e.data.version,this.isUpToDate=this.checkIfUpToDate(this.appVersion,this.latestVersion),this.finished=!0)}).catch(()=>{this.error=!0})},checkIfUpToDate(e,t){const a=e=>parseInt(e.replaceAll(".",""),10),n=a(t)-a(e);return n>5&&(this.veryOutOfDate=!0),n<=0}}},ya=va,Ca=(a("f255"),Object(v["a"])(ya,ka,wa,!1,null,"49d7ffdf",null)),Sa=Ca.exports,Ia=a("cbd9"),xa=a.n(Ia),Ta=a("0278"),Oa=a.n(Ta),Ea=a("e7fa"),Aa=a.n(Ea),$a=a("7da9"),za=a.n($a),La=a("6780"),ja=a.n(La),Na=a("0845"),Ma=a.n(Na),Ba=a("2413"),Va=a.n(Ba),Da={name:"ConfigContainer",data(){return{jsonParser:He,backupId:localStorage[A["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.5.4",latestVersion:""}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:it,CustomCssEditor:zt,CloudBackupRestore:ia,RebuildApp:ba,AppVersion:Sa,DownloadIcon:xa.a,DeleteIcon:Oa.a,EditIcon:Aa.a,CloudIcon:ja.a,CustomCssIcon:za.a,LanguageIcon:Ma.a,RebuildIcon:ua.a,IconAbout:Va.a},methods:{navigateToTab(e){const t=this.$refs.tabView.navItems[e];this.$refs.tabView.activeTabItem(t)},openRebuildAppModal(){this.$modal.show(A["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show(A["modalNames"].ABOUT_APP)},openLanguageSwitchModal(){this.$modal.show(A["modalNames"].LANG_SWITCHER)},copyConfigToClipboard(){navigator.clipboard.writeText(this.jsonParser(this.config)),this.$toasted.show(this.$t("config.data-copied-msg"))},resetLocalSettings(){const e=`${this.$t("config.reset-config-msg-l1")}${this.$t("config.reset-config-msg-l2")}\n\n${this.$t("config.reset-config-msg-l3")}`,t=confirm(e);t&&(localStorage.clear(),this.$toasted.show(this.$t("config.data-cleared-msg")),setTimeout(()=>{location.reload(!0)},1900))},downloadConfigFile(e,t){const a=document.createElement("a");a.setAttribute("href","data:text/plain;charset=utf-8, "+encodeURIComponent(t)),a.setAttribute("download",e),a.style.display="none",document.body.appendChild(a),a.click(),document.body.removeChild(a)},getLanguage(){const e=le();return e?`${e.flag} ${e.name}`:""}}},Pa=Da,Ha=(a("6aa0"),a("1d47"),Object(v["a"])(Pa,Ne,Me,!1,null,"b12d106e",null)),Ua=Ha.exports,Ra=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"language-switcher"},[a("h3",{staticClass:"title"},[e._v(e._s(e.$t("language-switcher.title")))]),a("p",{staticClass:"intro"},[e._v(e._s(e.$t("language-switcher.dropdown-label"))+":")]),a("v-select",{staticClass:"language-dropdown",attrs:{selectOnTab:!0,options:e.availibleLanguages,label:"name",input:e.setLangLocally()},model:{value:e.language,callback:function(t){e.language=t},expression:"language"}}),a("Button",{staticClass:"save-button",attrs:{click:e.saveLanguage,disallow:!e.language}},[e._v(" "+e._s(e.$t("language-switcher.save-button"))+" "),a("SaveConfigIcon")],1),e.language?a("p",[e._v(e._s(e.language.flag)+" "+e._s(e.language.name))]):e._e(),e.$i18n.availableLocales.length<=1?a("p",{staticClass:"sad-times"},[e._v(" There are not currently any additional languages supported, but stay tuned as more are on their way! ")]):e._e()],1)},Ka=[],Fa={name:"LanguageSwitcher",inject:["config"],components:{Button:bt,SaveConfigIcon:wt.a},data(){return{availibleLanguages:ee,language:"",modalName:A["modalNames"].LANG_SWITCHER}},methods:{saveLanguage(){const e=this.language;if(this.checkLocale(e)){localStorage.setItem(A["localStorageKeys"].LANGUAGE,e.code),this.setLangLocally();const t=e.flag+" "+`${this.$t("language-switcher.success-msg")} ${e.name}`;this.$toasted.show(t,{className:"toast-success"}),this.$modal.hide(this.modalName)}else this.$toasted.show("Unable to update language",{className:"toast-error"})},checkLocale(e){if(!e||!e.code)return!1;const t=this.$i18n.availableLocales;return t.includes(e.code)},setLangLocally(){this.language&&this.language.code&&(this.$i18n.locale=this.language.code)}}},Wa=Fa,qa=(a("570c"),Object(v["a"])(Wa,Ra,Ka,!1,null,"631f0843",null)),Ga=qa.exports,Ja={name:"ConfigLauncher",data(){return{modalNames:A["modalNames"]}},components:{IconSpanner:je.a,ConfigContainer:Ua,LanguageSwitcher:Ga},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show(A["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},combineConfig(){const e={};return e[A["topLevelConfKeys"].APP_CONFIG]=this.appConfig,e[A["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,e[A["topLevelConfKeys"].SECTIONS]=this.sections,e[A["topLevelConfKeys"].APP_CONFIG].theme=localStorage[A["localStorageKeys"].THEME]||e[A["topLevelConfKeys"].APP_CONFIG].theme,e},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Ya=Ja,Xa=(a("ed9d"),Object(v["a"])(Ya,$e,ze,!1,null,"2553c886",null)),Za=Xa.exports,Qa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeThemeConfigurator,expression:"closeThemeConfigurator"}],staticClass:"theme-selector-section"},[a("div",[a("span",{staticClass:"theme-label"},[e._v(e._s(e.$t("settings.theme-label")))]),a("v-select",{staticClass:"theme-dropdown",attrs:{options:e.themeNames,tabindex:-2},model:{value:e.selectedTheme,callback:function(t){e.selectedTheme=t},expression:"selectedTheme"}})],1),a("IconPalette",{staticClass:"color-button",on:{click:e.openThemeConfigurator}}),e.themeConfiguratorOpen?a("CustomThemeMaker",{attrs:{themeToEdit:e.selectedTheme},on:{closeThemeConfigurator:function(t){return e.closeThemeConfigurator()}}}):e._e()],1)},en=[];const tn=function(e){ue(),console.warn(e),de()};var an=tn;const nn=()=>oe(),sn=e=>{A["mainCssVars"].forEach(e=>{document.documentElement.style.removeProperty("--"+e)});const t=ie()[e];t&&Object.keys(t).forEach(e=>{document.documentElement.style.setProperty("--"+e,t[e])})},on=e=>{const t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},rn=function(){const e=e=>{const t=document.createElement("link");return t.rel="stylesheet",t.href=e,document.head.appendChild(t),new Promise((e,a)=>{t.onload=t=>{const{sheet:a}=t.target;a.disabled=!0,e(a)},t.onerror=a})},t=(e,t)=>!(!t||"custom"!==t&&!e[t])||(an(`Theme: '${t||"[not selected]"}' does not exist.`),!1),a=(e,a)=>{if(t(e,a)){const t=e;Object.keys(e).forEach(e=>{t[e].disabled=e!==a})}},n={};return{add(t,a){return e(a).then(e=>{n[t]=e})},set theme(e){a(n,e)},get theme(){return Object.keys(n).find(e=>!n[e].disabled)}}};var ln=a("4400"),cn=a.n(ln),un={name:"ThemeSelector",props:{externalThemes:Object,confTheme:String,userThemes:Array},components:{CustomThemeMaker:xt,IconPalette:cn.a},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),builtInThemes:[...$.a.builtInThemes,...this.userThemes],themeHelper:new rn,themeConfiguratorOpen:!1,ApplyLocalTheme:on,ApplyCustomVariables:sn}},computed:{themeNames:function(){const e=Object.keys(this.externalThemes),t=["custom"];return[...e,...this.builtInThemes,...t]}},created(){const e=Object.keys(this.externalThemes).map(e=>this.themeHelper.add(e,this.externalThemes[e]));this.isThemeLocal(this.selectedTheme)?this.updateTheme(this.selectedTheme):this.selectedTheme!==$.a.theme&&Promise.all(e).then(()=>{this.updateTheme(this.selectedTheme)})},methods:{getInitialTheme(){return localStorage[A["localStorageKeys"].THEME]||this.confTheme||$.a.theme},isThemeLocal(e){return this.builtInThemes.includes(e)},openThemeConfigurator(){this.$emit("modalChanged",!0),this.themeConfiguratorOpen=!0},closeThemeConfigurator(){this.themeConfiguratorOpen=!1},updateTheme(e){"Default"===e?(this.resetToDefault(),this.themeHelper.theme="Default"):this.isThemeLocal(e)?this.ApplyLocalTheme(e):this.themeHelper.theme=e,this.ApplyCustomVariables(e),localStorage.setItem(A["localStorageKeys"].THEME,e)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},dn=un,_n=(a("4ade"),Object(v["a"])(dn,Qa,en,!1,null,null,null)),mn=_n.exports,gn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"options-label"},[e._v(e._s(e.$t("settings.layout-label")))]),a("div",{staticClass:"display-options"},[a("IconDeafault",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-auto")),expression:"tooltip($t('settings.layout-auto'))"}],class:"layout-icon "+("auto"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("auto")}}}),a("IconHorizontal",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-horizontal")),expression:"tooltip($t('settings.layout-horizontal'))"}],class:"layout-icon "+("horizontal"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("horizontal")}}}),a("IconVertical",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.layout-vertical")),expression:"tooltip($t('settings.layout-vertical'))"}],class:"layout-icon "+("vertical"===e.displayLayout?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateDisplayLayout("vertical")}}})],1)])},hn=[],pn=a("c715"),fn=a.n(pn),bn=a("570d"),kn=a.n(bn),wn=a("f9d7"),vn=a.n(wn),yn={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:fn.a,IconHorizontal:kn.a,IconVertical:vn.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Cn=yn,Sn=(a("5dbe"),Object(v["a"])(Cn,gn,hn,!1,null,"b3a6111c",null)),In=Sn.exports,xn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"options-label"},[e._v(e._s(e.$t("settings.item-size-label")))]),a("div",{staticClass:"display-options"},[a("IconSmall",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-small")),expression:"tooltip($t('settings.item-size-small'))"}],class:"layout-icon "+("small"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("small")}}}),a("IconMedium",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-medium")),expression:"tooltip($t('settings.item-size-medium'))"}],class:"layout-icon "+("medium"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("medium")}}}),a("IconLarge",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.item-size-large")),expression:"tooltip($t('settings.item-size-large'))"}],class:"layout-icon "+("large"===e.iconSize?"selected":""),attrs:{tabindex:"-2"},on:{click:function(t){return e.updateIconSize("large")}}})],1)])},Tn=[],On=a("d8e8"),En=a.n(On),An=a("7075"),$n=a.n(An),zn=a("922c"),Ln=a.n(zn),jn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:En.a,IconMedium:$n.a,IconLarge:Ln.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Nn=jn,Mn=(a("89e2"),Object(v["a"])(Nn,xn,Tn,!1,null,"1ff45660",null)),Bn=Mn.exports,Vn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticClass:"display-options"},[a("IconLogout",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.sign-out-tooltip")),expression:"tooltip($t('settings.sign-out-tooltip'))"}],staticClass:"layout-icon",attrs:{tabindex:"-2"},on:{click:function(t){return e.logout()}}})],1)])},Dn=[],Pn=a("0123"),Hn=a.n(Pn),Un={name:"AppButtons",components:{IconLogout:Hn.a},methods:{logout(){Qe(),this.$toasted.show(this.$t("login.logout-message")),setTimeout(()=>{location.reload(!0)},500)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Rn=Un,Kn=(a("0175"),Object(v["a"])(Rn,Vn,Dn,!1,null,"57c401c7",null)),Fn=Kn.exports,Wn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide-fade"}},[e.shouldHide?e._e():a("div",{staticClass:"kb-sc-info"},[a("h5",[e._v("There are keyboard shortcuts! โŒจ๏ธ๐Ÿ™Œ")]),a("div",{staticClass:"close",attrs:{title:"Hide forever [Esc]"},on:{click:function(t){return e.hideWelcomeHelper()}}},[e._v("x")]),a("p",{attrs:{title:"Press [Esc] to hide this tip forever. See there's even a shortcut for that! ๐Ÿš€"}},[e._v(" Just start typing to filter. Then use the tab key to cycle through results, and press enter to launch the selected item, or alt + enter to open in a modal. You can hit Esc at anytime to clear the search. Easy ๐Ÿฅณ ")])])])},qn=[],Gn={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[A["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem(A["localStorageKeys"].HIDE_WELCOME_BANNER,!0),window.removeEventListener("keyup",this.keyPressEvent)},keyPressEvent(e){27===e.keyCode&&this.hideWelcomeHelper()}},mounted(){const e=this.shouldHideWelcomeMessage();e?this.$destroy():(window.setTimeout(()=>{this.shouldHide=e},this.timeDelay),window.addEventListener("keyup",this.keyPressEvent))}},Jn=Gn,Yn=(a("9517"),Object(v["a"])(Jn,Wn,qn,!1,null,"c5f17d9a",null)),Xn=Yn.exports,Zn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.modalName,resizable:!0,width:"40%",height:"60%",classes:"dashy-modal"}},[a("div",{staticClass:"about-modal"},[a("router-link",{attrs:{to:"/about"}},[a("h2",[e._v("Dashy")])]),a("AppVersion"),a("h3",[e._v("Service Worker Status")]),a("code",{domProps:{innerHTML:e._s(e.serviceWorkerInfo)}},[e._v(e._s(e.serviceWorkerInfo))]),a("br"),a("h3",[e._v("Config Validation Status")]),a("code",[e._v(e._s(e.getIsConfigValidStatus()))]),a("br"),a("h3",[e._v("Help & Support")]),a("ul",[a("li",[a("a",{attrs:{href:"https://git.io/JnqPR"}},[e._v("Report a Bug")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxL"}},[e._v("Request a Feature")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxs"}},[e._v("Ask a Question")])]),a("li",[a("a",{attrs:{href:"https://git.io/JnDxn"}},[e._v("Leave Feedback")])]),a("li",[a("a",{attrs:{href:"https://github.com/Lissy93/dashy/discussions"}},[e._v("Join the Discussion")])])]),a("p",{staticClass:"small-note"},[e._v("Please include the following info in your bug report:")]),a("a",{on:{click:function(t){e.showInfo=!e.showInfo}}},[e._v(e._s(e.showInfo?"Hide":"Show")+" system info")]),e.showInfo?a("div",{staticClass:"system-info"},[a("h4",[e._v("System Info")]),a("code",[a("b",[e._v("Dashy Version:")]),e._v(" V "+e._s(e.appVersion))]),a("br"),a("code",[a("b",[e._v("Browser:")]),e._v(" "+e._s(e.systemInfo.browser))]),a("br"),a("code",[a("b",[e._v("Is Mobile?")]),e._v(" "+e._s(e.systemInfo.isMobile?"Yes":"No"))]),a("br"),a("code",[a("b",[e._v("OS:")]),e._v(" "+e._s(e.systemInfo.os))]),a("br")]):e._e(),a("h3",[e._v("About")]),a("p",{staticClass:"about-text"},[e._v(" Documentation and Source Code available on "),a("a",{attrs:{href:"https://github.com/lissy93/dashy"}},[e._v("GitHub")])]),a("h3",[e._v("License")]),a("code",[e._v("Licensed under MIT X11. Copyright ยฉ 2021")])],1)])},Qn=[],es={name:"AppInfoModal",components:{AppVersion:Sa},data(){return{modalName:A["modalNames"].ABOUT_APP,appVersion:"1.5.4",systemInfo:this.getSystemInfo(),serviceWorkerInfo:"Checking...",showInfo:!1}},mounted(){setTimeout(()=>{this.serviceWorkerInfo=this.getSwStatus()},100)},methods:{getIsConfigValidStatus(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.5.4",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===e?"Config validation status is missing":"Config is "+(e?"Valid":"Invalid")},getSwStatus(){const e=sessionStorage[A["sessionStorageKeys"].SW_STATUS],t=e?JSON.parse(e):{};let a="";return t.registered&&(a+="Service worker registered
"),t.ready&&(a+="Dashy is being served from service worker
"),t.cached&&(a+="Content has been cached for offline use
"),t.updateFound&&(a+="New content is downloading
"),t.updated&&(a+="New content is available; please refresh
"),t.offline&&(a+="No internet connection found. App is running in offline mode
"),t.error&&(a+="Error during service worker registration
"),t.devMode&&(a+="App running in dev mode, no need for service worker
"),0===a.length&&(a+="No service worker info available"),a},getSystemInfo(){const{userAgent:e}=navigator;let t="Unknown";-1!==e.indexOf("Win")?t="Windows":-1!==e.indexOf("Mac")?t="MacOS":-1!==e.indexOf("Android")?t="Android":-1!==e.indexOf("iPhone")?t="iOS":-1!==e.indexOf("Linux")?t="Linux":-1!==e.indexOf("X11")&&(t="UNIX");let a="Unknown";a=-1!==e.indexOf("Opera")?"Opera":-1!==e.indexOf("Chrome")?"Chrome":-1!==e.indexOf("Safari")?"Safari":-1!==e.indexOf("Firefox")?"Firefox":-1!==e.indexOf("MSIE")?"IE":"Unknown";const n=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:t,browser:a,userAgent:e,isMobile:n}}}},ts=es,as=(a("d636"),Object(v["a"])(ts,Zn,Qn,!1,null,"77ccbcae",null)),ns=as.exports,ss=a("5703"),os=a.n(ss),is=a("5f32"),rs=a.n(is),ls={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,externalThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:Ae,ConfigLauncher:Za,ThemeSelector:mn,LayoutSelector:In,ItemSizeSelector:Bn,AppButtons:Fn,KeyboardShortcutInfo:Xn,AppInfoModal:ns,IconOpen:os.a,IconClose:rs.a},inject:["visibleComponents"],methods:{userIsTypingSomething(e){this.$emit("user-is-searchin",e)},clearFilterInput(){this.$refs.SearchBar.clearFilterInput()},updateDisplayLayout(e){this.$emit("change-display-layout",e)},updateIconSize(e){this.$emit("change-icon-size",e)},modalChanged(e){this.$emit("change-modal-visibility",e)},getInitialTheme(){return this.appConfig.theme||""},isUserLoggedIn(){return!!localStorage[A["localStorageKeys"].USERNAME]},getUserThemes(){const e=this.appConfig.cssThemes||[];return"string"===typeof e?[e]:e},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem(A["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[A["localStorageKeys"].HIDE_SETTINGS]||(this.visibleComponents||A["visibleComponents"]).settings)}},data(){return{settingsVisible:this.getSettingsVisibility(),searchVisible:(this.visibleComponents||A["visibleComponents"]).searchBar}}},cs=ls,us=(a("665e"),Object(v["a"])(cs,ye,Ce,!1,null,"25781e16",null)),ds=us.exports,_s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("Collapsable",{attrs:{title:e.title,icon:e.icon,uniqueKey:e.groupId,collapsed:e.displayData.collapsed,cols:e.displayData.cols,rows:e.displayData.rows,color:e.displayData.color,customStyles:e.displayData.customStyles}},[!e.items||e.items.length<1?a("div",{staticClass:"no-items"},[e._v(" No Items to Show Yet ")]):a("div",{class:"there-are-items "+(e.isGridLayout?"item-group-grid":""),style:e.gridStyle},[e._l(e.items,(function(t,n){return a("Item",{key:n+"_"+e.makeId(t.title),attrs:{id:n+"_"+e.makeId(t.title),url:t.url,title:t.title,description:t.description,icon:t.icon,target:t.target,color:t.color,backgroundColor:t.backgroundColor,statusCheckUrl:t.statusCheckUrl,statusCheckHeaders:t.statusCheckHeaders,itemSize:e.newItemSize,hotkey:t.hotkey,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval()},on:{itemClicked:function(t){return e.$emit("itemClicked")},triggerModal:e.triggerModal}})})),a("div",{ref:"modalContainer"})],2),a("IframeModal",{ref:"iframeModal-"+e.groupId,attrs:{name:"iframeModal-"+e.groupId},on:{closed:function(t){return e.$emit("itemClicked")},modalChanged:e.modalChanged}})],1)},ms=[],gs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"item-wrapper"},[a("a",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.getTooltipOptions(),expression:"getTooltipOptions()"}],class:"item "+(e.icon?"":"short")+" size-"+e.itemSize,style:"--open-icon: "+e.getUnicodeOpeningIcon()+"; "+e.customStyles,attrs:{href:"modal"!==e.target?e.url:"#",target:"newtab"===e.target?"_blank":"",rel:"noopener noreferrer",tabindex:"0",id:"link-"+e.id},on:{click:e.itemOpened,mouseup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&2!==t.button?null:e.openContextMenu.apply(null,arguments)},contextmenu:function(e){e.preventDefault()}}},[a("div",{class:"tile-title "+(e.icon?"":"bounce"),attrs:{id:"tile-"+e.id}},[a("span",{staticClass:"text"},[e._v(e._s(e.title))]),a("p",{staticClass:"description"},[e._v(e._s(e.description))])]),a("Icon",{staticClass:"bounce",style:e.customStyles,attrs:{icon:e.icon,url:e.url,size:e.itemSize,color:e.color}}),a("ItemOpenMethodIcon",{staticClass:"opening-method-icon",attrs:{isSmall:!e.icon||"small"===e.itemSize,openingMethod:e.target,position:"medium"===e.itemSize?"bottom right":"top right",hotkey:e.hotkey}}),e.enableStatusCheck?a("StatusIndicator",{staticClass:"status-indicator",attrs:{statusSuccess:e.statusResponse?e.statusResponse.successStatus:void 0,statusText:e.statusResponse?e.statusResponse.message:void 0}}):e._e()],1),a("ContextMenu",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.closeContextMenu,expression:"closeContextMenu"}],attrs:{show:e.contextMenuOpen,posX:e.contextPos.posX,posY:e.contextPos.posY,id:"context-menu-"+e.id},on:{contextItemClick:e.contextItemClick}})],1)},hs=[],ps=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"item-icon"},["font-awesome"===e.iconType?a("i",{class:e.icon+" "+e.size}):"emoji"===e.iconType?a("i",{class:"emoji-icon "+e.size},[e._v(e._s(e.getEmoji(e.iconPath)))]):e.icon?a("img",{class:"tile-icon "+e.size+" "+(e.broken?"broken":""),attrs:{src:e.iconPath},on:{error:e.imageNotFound}}):e._e(),e.broken?a("BrokenImage",{staticClass:"missing-image"}):e._e()],1)},fs=[],bs=a("9635"),ks=a.n(bs),ws=a("e0a2"),vs=a.n(ws),ys=a("492d"),Cs={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:ks.a},computed:{iconType:function(){return this.determineImageType(this.icon)},iconPath:function(){return this.getIconPath(this.icon,this.url)}},data(){return{broken:!1}},methods:{isUrl(e){const t=new RegExp(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-/]))?/);return t.test(e)},isImage(e){const t=/(?:\.([^.]+))?$/,a=["png","jpg"],n=t.exec(e);return n.length>=1&&a.includes(n[1])},isEmoji(e){return vs.a.test(e)&&e.match(/./gu).length?{isEmoji:!0,emojiType:"glyph"}:new RegExp(/^:.*:$/).test(e)?{isEmoji:!0,emojiType:"shortcode"}:"U+"===e.substring(0,2)&&7===e.length?{isEmoji:!0,emojiType:"unicode"}:{isEmoji:!1,emojiType:""}},getEmoji(e){const{emojiType:t}=this.isEmoji(e);if("shortcode"===t){if(ys[e])return ys[e]}else if("unicode"===t)return String.fromCodePoint(parseInt(e.substr(2),16));return e},getFavicon(e){if(this.shouldUseDefaultFavicon(e)){const t=e.split("/");if(t.length>=2)return`${t[0]}/${t[1]}/${t[2]}/favicon.ico`}else if(e.includes("http")){const t=this.getHostName(e),a=this.config.appConfig.faviconApi||A["faviconApi"],n=A["faviconApiEndpoints"][a];return n.replace("$URL",t)}return""},shouldUseDefaultFavicon(e){const t=/(127\.)|(192\.168\.)|(10\.)|(172\.1[6-9]\.)|(172\.2[0-9]\.)|(172\.3[0-1]\.)|(::1$)|([fF][cCdD])|(localhost)/;return t.test(e)||"local"===this.config.appConfig.faviconApi},getLocalImagePath(e){return"/item-icons/"+e},getGenerativeIcon(e){return`https://ipsicon.io/${this.getHostName(e)}.svg`},getIconPath(e,t){switch(this.determineImageType(e)){case"url":return e;case"img":return this.getLocalImagePath(e);case"favicon":return this.getFavicon(t);case"generative":return this.getGenerativeIcon(t);case"svg":return e;case"emoji":return e;default:return""}},determineImageType(e){let t="";return t=e?e.endsWith(".svg")?"svg":this.isUrl(e)?"url":this.isImage(e)?"img":e.includes("fa-")?"font-awesome":"favicon"===e?"favicon":"generative"===e?"generative":this.isEmoji(e).isEmoji?"emoji":"none":"none",t},getHostName(e){try{return new URL(e).hostname}catch(t){return e}},imageNotFound(){this.broken=!0,an(`The path to '${this.icon}' could not be resolved`)}}},Ss=Cs,Is=(a("de40"),Object(v["a"])(Ss,ps,fs,!1,null,null,null)),xs=Is.exports,Ts=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{class:e.makeClass(e.position,e.isSmall,e.isTransparent)},["newtab"===e.openingMethod?a("NewTabOpenIcon"):"sametab"===e.openingMethod?a("SameTabOpenIcon"):"modal"===e.openingMethod?a("IframeOpenIcon"):"workspace"===e.openingMethod?a("WorkspaceOpenIcon"):e._e()],1),e.hotkey?a("div",{class:"hotkey-denominator "+e.makeClass(e.position,e.isSmall,e.isTransparent)},[e._v(" "+e._s(e.hotkey)+" ")]):e._e()])},Os=[],Es=a("237e"),As=a.n(Es),$s=a("2352"),zs=a.n($s),Ls=a("1946"),js=a.n(Ls),Ns=a("3b49"),Ms=a.n(Ns),Bs={name:"ItemOpenMethodIcon",props:{openingMethod:String,isSmall:Boolean,position:String,isTransparent:Boolean,hotkey:Number},methods:{makeClass(e="top right",t=!1,a=!1){return`opening-method-icon\n ${e||"top right"}\n ${t?"short":""}\n ${a?"transparent":""}`}},components:{NewTabOpenIcon:As.a,SameTabOpenIcon:zs.a,IframeOpenIcon:js.a,WorkspaceOpenIcon:Ms.a}},Vs=Bs,Ds=(a("b5c9"),Object(v["a"])(Vs,Ts,Os,!1,null,"b0684bc4",null)),Ps=Ds.exports,Hs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:{content:e.statusText||e.otherStatusText,classes:["status-tooltip","tip-"+e.color()]},expression:"{\n content: statusText || otherStatusText, classes: ['status-tooltip', `tip-${color()}`] }"}],staticClass:"indicator",on:{click:function(t){return e.showToast()}}},[a("div",{class:"dot dot-"+e.color()},[e._m(0)])])},Us=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",[a("span")])}],Rs={name:"StatusIndicator",props:{statusText:String,statusSuccess:Boolean},methods:{color(){switch(this.statusSuccess){case void 0:return new Date-this.startTime>2e3?"grey":"yellow";case!0:return"green";default:return"red"}}},data(){return{startTime:new Date,otherStatusText:"Checking..."}},mounted(){setTimeout(()=>{this.statusText||(this.otherStatusText="Request timed out")},2e3)}},Ks=Rs,Fs=(a("e697"),a("45d4"),Object(v["a"])(Ks,Hs,Us,!1,null,"46972ad8",null)),Ws=Fs.exports,qs=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("transition",{attrs:{name:"slide"}},[e.show&&e.menuEnabled?a("div",{staticClass:"context-menu",style:e.posX&&e.posY?"top:"+e.posY+"px;left:"+e.posX+"px;":""},[a("ul",[a("li",{on:{click:function(t){return e.launch("sametab")}}},[a("SameTabOpenIcon"),a("span",[e._v("Open in Current Tab")])],1),a("li",{on:{click:function(t){return e.launch("newtab")}}},[a("NewTabOpenIcon"),a("span",[e._v("Open in New Tab")])],1),a("li",{on:{click:function(t){return e.launch("modal")}}},[a("IframeOpenIcon"),a("span",[e._v("Open in Pop-Up Modal")])],1),a("li",{on:{click:function(t){return e.launch("workspace")}}},[a("WorkspaceOpenIcon"),a("span",[e._v("Open in Workspace View")])],1)])]):e._e()])},Gs=[],Js={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:zs.a,NewTabOpenIcon:As.a,IframeOpenIcon:js.a,WorkspaceOpenIcon:Ms.a},props:{posX:Number,posY:Number,show:Boolean},data(){return{menuEnabled:!this.isMenuDisabled()}},methods:{launch(e){this.$emit("contextItemClick",e)},isMenuDisabled(){return!(!this.config||!this.config.appConfig)&&!!this.config.appConfig.disableContextMenu}}},Ys=Js,Xs=(a("6850"),Object(v["a"])(Ys,qs,Gs,!1,null,null,null)),Zs=Xs.exports,Qs={name:"Item",props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,hotkey:Number,target:{type:String,default:"newtab",validator:e=>-1!==["newtab","sametab","modal","workspace"].indexOf(e)},itemSize:String,enableStatusCheck:Boolean,statusCheckHeaders:Object,statusCheckUrl:String,statusCheckInterval:Number},data(){return{contextMenuOpen:!1,getId:this.id,customStyles:{color:this.color,background:this.backgroundColor},statusResponse:void 0,contextPos:{posX:void 0,posY:void 0}}},components:{Icon:xs,ItemOpenMethodIcon:Ps,StatusIndicator:Ws,ContextMenu:Zs},methods:{itemOpened(e){e.altKey||"modal"===this.target?(e.preventDefault(),this.$emit("triggerModal",this.url)):this.$emit("itemClicked")},openContextMenu(e){this.contextMenuOpen=!this.contextMenuOpen,e&&window&&(this.contextPos={posX:e.clientX+window.pageXOffset,posY:e.clientY+window.pageYOffset})},closeContextMenu(){this.contextMenuOpen=!1},getTooltipOptions(){const e=this.hotkey?`\nPress '${this.hotkey}' to launch`:"";return{disabled:!this.description,content:this.description+e,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:this.statusResponse?"left":"auto",delay:{show:600,hide:200},classes:"item-description-tooltip"}},getUnicodeOpeningIcon(){switch(this.target){case"newtab":return'"\\f360"';case"sametab":return'"\\f24d"';case"modal":return'"\\f2d0"';default:return'"\\f054"'}},checkWebsiteStatus(){this.statusResponse=void 0;const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.5.4",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=this.statusCheckUrl||this.url,a=this.statusCheckHeaders||{},n=`${e}/ping?url=${t}`;at.a.get(n,{headers:a}).then(e=>{e.data&&(this.statusResponse=e.data)}).catch(()=>{this.statusResponse={statusText:"Failed to make request",statusSuccess:!1}})},contextItemClick(e){const{url:t}=this;switch(this.contextMenuOpen=!1,e){case"newtab":window.open(t,"_blank");break;case"sametab":window.open(t,"_self");break;case"modal":this.$emit("triggerModal",t);break;case"workspace":hi.push({name:"workspace",query:{url:t}});break;default:window.open(t,"_blank")}}},mounted(){this.enableStatusCheck&&this.checkWebsiteStatus(),this.statusCheckInterval>0&&setInterval(this.checkWebsiteStatus,1e3*this.statusCheckInterval)}},eo=Qs,to=(a("826e"),a("f719"),Object(v["a"])(eo,gs,hs,!1,null,null,null)),ao=to.exports,no=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"collapsable "+e.checkSpanNum(e.cols,"col")+" "+e.checkSpanNum(e.rows,"row"),style:(e.color?"background: "+e.color:"")+"; "+e.sanitizeCustomStyles(e.customStyles)+";"},[a("input",{staticClass:"toggle",attrs:{id:"collapsible-"+e.uniqueKey,type:"checkbox",tabIndex:"-1"},domProps:{checked:e.getCollapseState()},on:{change:e.collapseChanged}}),a("label",{staticClass:"lbl-toggle",attrs:{for:"collapsible-"+e.uniqueKey,tabindex:"-1"}},[e.icon?a("Icon",{staticClass:"section-icon",attrs:{icon:e.icon,size:"small",url:e.title}}):e._e(),a("h3",[e._v(e._s(e.title))])],1),a("div",{staticClass:"collapsible-content"},[a("div",{staticClass:"content-inner"},[e._t("default")],2)])])},so=[],oo={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:xs},methods:{checkSpanNum(e,t){const a=4;let n=/^\d*$/.test(e)?parseInt(e,10):1;return n=n>a?a:n,`${t}-${n}`},sanitizeCustomStyles(e){return e?e.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const e=()=>localStorage.setItem(A["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[A["localStorageKeys"].COLLAPSE_STATE]||e();try{JSON.parse(localStorage[A["localStorageKeys"].COLLAPSE_STATE])}catch{e()}return JSON.parse(localStorage[A["localStorageKeys"].COLLAPSE_STATE])},getCollapseState(){const e=this.initialiseStorage();let t=!this.collapsed;return void 0!==e[this.uniqueKey]&&(t=e[this.uniqueKey]),t},setCollapseState(e,t){const a=JSON.parse(localStorage[A["localStorageKeys"].COLLAPSE_STATE]);a[e]=t,localStorage.setItem(A["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(a))},collapseChanged(e){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),e.srcElement.checked)}}},io=oo,ro=(a("eb58"),Object(v["a"])(io,no,so,!1,null,"ac1beaa4",null)),lo=ro.exports,co=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("modal",{attrs:{name:e.name,resizable:!0,width:"80%",height:"80%",classes:"dashy-modal"},on:{closed:function(t){return e.modalClosed()}}},[a("div",{attrs:{slot:"top-right"},on:{click:function(t){return e.hide()}},slot:"top-right"},[e._v("Close")]),a("a",{staticClass:"close-button",attrs:{title:"Close"},on:{click:function(t){return e.hide()}}},[e._v("x")]),e.url?a("iframe",{staticClass:"frame",attrs:{src:e.url},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.close.apply(null,arguments)}}}):a("div",{staticClass:"no-url"},[e._v("No URL Specified")])])},uo=[],_o={name:"IframeModal",props:{name:String},data:()=>({url:"#"}),methods:{show(e){this.url=e,this.$modal.show(this.name),this.$emit("modalChanged",!0)},hide(){this.$modal.hide(this.name)},modalClosed(){this.$emit("modalChanged",!1)}}},mo=_o,go=(a("eda6"),Object(v["a"])(mo,co,uo,!1,null,null,null)),ho=go.exports,po={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:lo,Item:ao,IframeModal:ho},computed:{newItemSize(){return this.displayData.itemSize||this.itemSize},isGridLayout(){return"grid"===this.displayData.sectionLayout||!(!this.displayData.itemCountX&&!this.displayData.itemCountY)},gridStyle(){let e="";return e+=this.displayData.itemCountX?`grid-template-columns: repeat(${this.displayData.itemCountX}, 1fr);`:"",e+=this.displayData.itemCountY?`grid-template-rows: repeat(${this.displayData.itemCountY}, 1fr);`:"",e}},methods:{makeId(e){return e.replace(/\s+/g,"-").replace(/[^a-zA-Z ]/g,"").toLowerCase()},triggerModal(e){this.$refs["iframeModal-"+this.groupId].show(e)},modalChanged(e){this.$emit("change-modal-visibility",e)},shouldEnableStatusCheck(e){const t=this.config.appConfig.statusCheck||!1;return void 0!==e?e:t},getStatusCheckInterval(){let e=this.config.appConfig.statusCheckInterval;return e?(e>60&&(e=60),e<1&&(e=0),e):0}}},fo=po,bo=(a("196f"),Object(v["a"])(fo,_s,ms,!1,null,"cce3e8c4",null)),ko=bo.exports,wo={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:ds,ItemGroup:ko},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{layoutOrientation:{get(){return this.appConfig.layout||$.a.layout},set:function(e){localStorage.setItem(A["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||$.a.iconSize},set:function(e){localStorage.setItem(A["localStorageKeys"].ICON_SIZE,e),this.itemSizeBound=e}}},methods:{checkTheresData(e){const t=localStorage[A["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},getSections(e){const t=localStorage[A["localStorageKeys"].CONF_SECTIONS];if(t){const e=JSON.parse(t);if(e.length>=1)return e}return e},searching(e){this.searchValue=e||""},finishedSearching(){this.$refs.filterComp.clearFilterInput()},getDomainFromUrl(e){if(!e)return"";const t=/^(?:https?:\/\/)?(?:w{3}\.)?([a-z\d.-]+)\.(?:[a-z.]{2,10})(?:[/\w.-]*)*/,a=e.match(t);return a?a[1]:""},filterTiles(e){return e?e.filter(e=>{const{title:t,description:a,provider:n,url:s}=e,o=this.searchValue.toLowerCase();return t&&t.toLowerCase().includes(o)||n&&n.toLowerCase().includes(o)||a&&a.toLowerCase().includes(o)||this.getDomainFromUrl(s).includes(o)}):[]},getDisplayData(e){return e.displayData?e.displayData:{}},setLayoutOrientation(e){this.layoutOrientation=e},setItemSize(e){this.iconSize=e},updateModalVisibility(e){this.modalOpen=e},getExternalCSSLinks(){const e={};if(this.appConfig&&this.appConfig.externalStyleSheet){const t=this.appConfig.externalStyleSheet;Array.isArray(t)?t.forEach((t,a)=>{e["External Stylesheet "+(a+1)]=t}):e["External Stylesheet"]=this.appConfig.externalStyleSheet}return e.Default="#",e},checkIfFontAwesomeNeeded(){let e=!1;if(!this.sections)return!1;this.sections.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0),t.items.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0)})});const t=localStorage[A["localStorageKeys"].THEME];return["material","material-dark"].includes(t)&&(e=!0),e},initiateFontAwesome(){if(this.appConfig.enableFontAwesome||this.checkIfFontAwesomeNeeded()){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||$.a.fontAwesomeKey;e.setAttribute("src",`https://kit.fontawesome.com/${t}.js`),document.head.appendChild(e)}},checkIfResults(){if(this.sections){let e=!0;return this.sections.forEach(t=>{this.filterTiles(t.items).length>0&&(e=!1)}),e}return!1},getBackgroundImage(){return this.appConfig&&this.appConfig.backgroundImg?`background: url('${this.appConfig.backgroundImg}');background-size:cover;`:""}},mounted(){this.initiateFontAwesome(),this.layout=this.layoutOrientation,this.itemSizeBound=this.iconSize}},vo=wo,yo=(a("2ea6"),Object(v["a"])(vo,we,ve,!1,null,"3e41ec85",null)),Co=yo.exports,So=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"login-page"},[a("form",{staticClass:"login-form"},[a("h2",{staticClass:"login-title"},[e._v(e._s(e.$t("login.title")))]),a("Input",{staticClass:"login-field username",attrs:{type:"text",label:e.$t("login.username-label")},model:{value:e.username,callback:function(t){e.username=t},expression:"username"}}),a("Input",{staticClass:"login-field password",attrs:{type:"password",label:e.$t("login.password-label")},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),a("label",[e._v(e._s(e.$t("login.remember-me-label")))]),a("v-select",{staticClass:"login-time-dropdown",attrs:{selectOnTab:!0,options:e.dropDownMenu},model:{value:e.timeout,callback:function(t){e.timeout=t},expression:"timeout"}}),a("Button",{staticClass:"login-button",attrs:{click:e.submitLogin}},[e._v(" "+e._s(e.$t("login.login-button"))+" ")]),a("transition",{attrs:{name:"bounce"}},[a("p",{directives:[{name:"show",rawName:"v-show",value:e.message,expression:"message"}],class:"login-error-message "+e.status},[e._v(e._s(e.message))])])],1)])},Io=[],xo={name:"login",components:{Button:bt,Input:Pt},props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting",timeout:{label:this.$t("login.remember-me-never"),time:0}}},computed:{dropDownMenu(){return[{label:this.$t("login.remember-me-never"),time:0},{label:this.$t("login.remember-me-hour"),time:144e5},{label:this.$t("login.remember-me-day"),time:864e5},{label:this.$t("login.remember-me-week"),time:6048e5}]},responseMessages(){return{missingUsername:this.$t("login.error-missing-username"),missingPassword:this.$t("login.error-missing-password"),incorrectUsername:this.$t("login.error-incorrect-username"),incorrectPassword:this.$t("login.error-incorrect-password"),successMsg:this.$t("login.success-message")}}},methods:{submitLogin(){const e=this.timeout?this.timeout.time:0,t=Xe(this.username,this.password,this.appConfig.auth||[],this.responseMessages);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(Ze(this.username,this.password,e),setTimeout(()=>{hi.push({path:"/"})},250))},setTheme(){const e=localStorage[A["localStorageKeys"].THEME]||$.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme()}},To=xo,Oo=(a("206d"),Object(v["a"])(To,So,Io,!1,null,null,null)),Eo=Oo.exports,Ao=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"work-space"},[a("SideBar",{attrs:{sections:e.sections},on:{"launch-app":e.launchApp}}),a("WebContent",{attrs:{url:e.url}})],1)},$o=[],zo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("nav",{staticClass:"side-bar"},e._l(e.sections,(function(t,n){return a("div",{key:n},[a("div",{staticClass:"side-bar-item-container",on:{click:function(t){return e.openSection(n)}}},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.name}})],1),a("transition",{attrs:{name:"slide"}},[e.isOpen[n]?a("SideBarSection",{attrs:{items:t.items},on:{"launch-app":e.launchApp}}):e._e()],1)],1)})),0)},Lo=[],jo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip,expression:"tooltip"}],class:"side-bar-item "+(e.icon?"w-icon":"text-only"),on:{click:function(t){return e.itemClicked()}}},[e.icon?a("Icon",{attrs:{icon:e.icon,size:"small",url:e.url}}):a("p",{staticClass:"small-title"},[e._v(e._s(e.title))])],1)},No=[],Mo={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:xs},methods:{itemClicked(){this.url&&this.$emit("launch-app",this.url)}},data(){return{tooltip:{disabled:!this.title,content:this.title,trigger:"hover focus",hideOnTargetClick:!0,html:!1,placement:"right-start",delay:{show:800,hide:1e3}}}}},Bo=Mo,Vo=(a("5e61"),Object(v["a"])(Bo,jo,No,!1,null,"d979f4fe",null)),Do=Vo.exports,Po=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"sub-side-bar"},e._l(e.items,(function(t,n){return a("div",{key:n},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.title,url:t.url},on:{"launch-app":e.launchApp}})],1)})),0)},Ho=[],Uo={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:Do},methods:{launchApp(e){this.$emit("launch-app",e)}}},Ro=Uo,Ko=(a("cf1c"),Object(v["a"])(Ro,Po,Ho,!1,null,"56ddb963",null)),Fo=Ko.exports,Wo={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:Do,SideBarSection:Fo},methods:{openSection(e){this.isOpen=this.isOpen.map((t,a)=>a===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},qo=Wo,Go=(a("85e1"),Object(v["a"])(qo,zo,Lo,!1,null,"31476576",null)),Jo=Go.exports,Yo=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"web-content"},[a("iframe",{attrs:{src:e.url}})])},Xo=[],Zo={name:"WebContent",props:{url:String}},Qo=Zo,ei=(a("44e9"),Object(v["a"])(Qo,Yo,Xo,!1,null,"a2564c04",null)),ti=ei.exports,ai={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:"",GetTheme:nn,ApplyLocalTheme:on,ApplyCustomVariables:sn}),components:{SideBar:Jo,WebContent:ti},methods:{launchApp(e){this.url=e},setTheme(){const e=this.GetTheme();this.ApplyLocalTheme(e),this.ApplyCustomVariables(e)},initiateFontAwesome(){const e=document.createElement("script"),t=this.appConfig.fontAwesomeKey||$.a.fontAwesomeKey;e.setAttribute("src",`https://kit.fontawesome.com/${t}.js`),document.head.appendChild(e)},repositionFooter(){document.getElementsByTagName("footer")[0].style.position="fixed"}},mounted(){const e=this.$route;e.query&&e.query.url&&(this.url=decodeURI(e.query.url)),this.setTheme(),this.initiateFontAwesome()}},ni=ai,si=(a("6423"),Object(v["a"])(ni,Ao,$o,!1,null,"62772a5b",null)),oi=si.exports,ii=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("pre",[a("code",[e._v(e._s(e.jsonParser(e.config)))])])},ri=[],li={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:He}}},ci=li,ui=(a("6cd5"),Object(v["a"])(ci,ii,ri,!1,null,"33cd2d90",null)),di=ui.exports;n["a"].use(ke["a"]);const _i=()=>{const e=ne.appConfig.auth;return!e||0===e.length||Ye(e)},mi=new ke["a"]({routes:[{path:"/",name:"home",component:Co,props:ne,meta:{title:ne.pageInfo.title||"Home Page",metaTags:A["metaTagData"]}},{path:"/workspace",name:"workspace",component:oi,props:ne,meta:{title:ne.pageInfo.title||"Dashy Workspace",metaTags:A["metaTagData"]}},{path:"/login",name:"login",component:Eo,props:{appConfig:ne.appConfig},beforeEnter:(e,t,a)=>{_i()&&mi.push({path:"/"}),a()}},{path:"/about",name:"about",component:()=>a.e("about").then(a.bind(null,"f820"))},{path:"/download",name:"download",component:di,props:ne,meta:{title:ne.pageInfo.title||"Download Dashy Config",metaTags:A["metaTagData"]}}]});mi.beforeEach((e,t,a)=>{"login"===e.name||_i()?a():a({name:"login"})});const gi="Dashy";mi.afterEach(e=>{n["a"].nextTick(()=>{document.title=e.meta.title||gi})});var hi=mi,pi=a("9483");const fi=e=>{const t={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},a=sessionStorage[A["sessionStorageKeys"].SW_STATUS],n=a?JSON.parse(a):t;try{const t={...n,...e};sessionStorage.setItem(A["sessionStorageKeys"].SW_STATUS,JSON.stringify(t))}catch(s){console.warn("Error setting SW data",s)}},bi=()=>{let e=!0;return J.a&&J.a.appConfig&&J.a.appConfig.disableServiceWorker&&(e=!1,fi({disabledByUser:!0})),e},ki=()=>{bi()&&Object(pi["a"])("/service-worker.js",{ready(){fi({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){fi({registered:!0}),console.log("Service worker has been registered.")},cached(){fi({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){fi({updateFound:!0}),console.log("New content is downloading.")},updated(){fi({updated:!0}),console.log("New content is available; please refresh.")},offline(){fi({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(e){fi({error:!0}),console.error("Error during service worker registration:",e)}})};var wi=ki;const vi=[];function yi(e,t,a){const{target:n}=e;t===n||t.contains(n)||a(e)}var Ci={bind(e,t){const a=e;a.dataset.outsideClickIndex=vi.length;const n=t.value,s=e=>{yi(e,a,n)};document.addEventListener("click",s),document.addEventListener("touchstart",s),vi.push(s)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,a=vi[t];document.removeEventListener("click",a),vi.splice(t,1)}};const Si=(e,t)=>{const n=(new Y).appConfig()||{};if(n.enableErrorReporting){const n=a("2075"),{Integrations:s}=a("688d"),o="https://3138ea85f15a4fa883a5b27a4dc8ee28@o937511.ingest.sentry.io/5887934";n.init({Vue:e,dsn:o,integrations:[new s.BrowserTracing({routingInstrumentation:n.vueRouterInstrumentation(t)})],tracesSampleRate:1})}};var Ii=Si;n["a"].use(s["a"]),n["a"].use(o["a"]),n["a"].use(r.a),n["a"].use(u["a"]),n["a"].use(_.a,A["toastedOptions"]),n["a"].component("v-select",c.a),n["a"].directive("clickOutside",Ci),n["a"].config.productionTip=!1;const xi=new s["a"]({locale:A["language"],fallbackLocale:A["language"],messages:ae});wi(),Ii(n["a"],hi);const Ti=e=>e(be);new n["a"]({router:hi,render:Ti,i18n:xi}).$mount("#app")},5703:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-sliders-h fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"sliders-h",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z"}})]))}}},"570c":function(e,t,a){"use strict";a("f94d")},"570d":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-th-list fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"th-list",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"}})]))}}},"58c1":function(e,t,a){},"5c0b":function(e,t,a){"use strict";a("9c0c")},"5cc6":function(e,t){e.exports={pageInfo:{title:"Dashy",description:"",navLinks:[{title:"Home",path:"/"},{title:"Source",path:"https://github.com/Lissy93/dashy"}],footerText:""},appConfig:{},language:"en",iconSize:"medium",layout:"auto",theme:"default",fontAwesomeKey:"0821c65656",faviconApi:"faviconkit",builtInThemes:["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","oblivion","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","blue-purple","material-original","material-dark-original","cyberpunk","vaporware","high-contrast-dark","high-contrast-light"],visibleComponents:{pageTitle:!0,navigation:!0,searchBar:!0,settings:!0,footer:!0},localStorageKeys:{LANGUAGE:"language",HIDE_WELCOME_BANNER:"hideWelcomeHelpers",LAYOUT_ORIENTATION:"layoutOrientation",COLLAPSE_STATE:"collapseState",ICON_SIZE:"iconSize",THEME:"theme",CUSTOM_COLORS:"customColors",CONF_SECTIONS:"confSections",PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",BACKUP_ID:"backupId",BACKUP_HASH:"backupHash",HIDE_SETTINGS:"hideSettings",USERNAME:"username"},cookieKeys:{AUTH_TOKEN:"authenticationToken"},sessionStorageKeys:{SW_STATUS:"serviceWorkerStatus"},modalNames:{CONF_EDITOR:"CONF_EDITOR",CLOUD_BACKUP:"CLOUD_BACKUP",REBUILD_APP:"REBUILD_APP",THEME_MAKER:"THEME_MAKER",ABOUT_APP:"ABOUT_APP",LANG_SWITCHER:"LANG_SWITCHER"},topLevelConfKeys:{PAGE_INFO:"pageInfo",APP_CONFIG:"appConfig",SECTIONS:"sections"},mainCssVars:["primary","background","background-darker"],splashScreenTime:1900,metaTagData:[{name:"description",content:"A simple static homepage for you're server"}],toastedOptions:{position:"bottom-center",duration:2500,keepOnHover:!0,className:"toast-message",iconPack:"fontawesome"},backupEndpoint:"https://dashy-sync-service.as93.net",faviconApiEndpoints:{mcapi:"https://eu.mc-api.net/v3/server/favicon/$URL",clearbit:"https://logo.clearbit.com/$URL",faviconkit:"https://api.faviconkit.com/$URL/64",google:"https://www.google.com/s2/favicons?sz=128&domain_url=$URL",allesedv:"https://f1.allesedv.com/128/$URL",webmasterapi:"https://api.webmasterapi.com/v1/favicon/yEwx0ZFs0CSPshHq/$URL"},swatches:[["#eb5cad","#985ceb","#5346f3","#5c90eb"],["#5cdfeb","#00CCB4","#5ceb8d","#afeb5c"],["#eff961","#ebb75c","#eb615c","#eb2d6c"],["#060913","#141b33","#1c2645","#263256"],["#2b2d42","#1a535c","#372424","#312437"],["#f5f5f5","#d9d9d9","#bfbfbf","#9a9a9a"],["#636363","#363636","#313941","#0d0d0d"]]}},"5dbe":function(e,t,a){"use strict";a("fae5")},"5e61":function(e,t,a){"use strict";a("b315")},"5f32":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-times-circle fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"times-circle",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"}})]))}}},6266:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:[i,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",width:"100",height:"100",preserveAspectRatio:"xMidYMid"},u),...d},o.concat([a("defs",[a("clipPath",{attrs:{id:"a"}},[a("path",{attrs:{d:"M20 0h60v100H20z"}})])]),a("path",{attrs:{fill:"none",stroke:"var(--primary, #00af87)","stroke-width":"6","stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":"10","clip-path":"url(#a)",d:"M90 76.7V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5H55c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5h-3.4c-2.7 0-5-2.2-5-5V28.3c0-2.7-2.2-5-5-5h-3.4c-2.7 0-5 2.2-5 5v43.4c0 2.7-2.2 5-5 5H15c-2.7 0-5-2.2-5-5V23.3"}},[a("animateTransform",{attrs:{attributeName:"transform",type:"translate",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"-20 0;7 0",keyTimes:"0;1"}}),a("animate",{attrs:{attributeName:"stroke-dasharray",repeatCount:"indefinite",dur:"1.4925373134328357s",values:"0 72 125 232;0 197 125 233",keyTimes:"0;1"}})])]))}}},6423:function(e,t,a){"use strict";a("2143")},6504:function(e,t,a){},"665e":function(e,t,a){"use strict";a("bddf")},6780:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-cloud-upload-alt fa-w-20",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"cloud-upload-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 640 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M395.5 267.5l-99-99c-4.7-4.7-12.3-4.7-17 0l-99 99c-7.6 7.6-2.2 20.5 8.5 20.5h67v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-84h67c10.7 0 16.1-12.9 8.5-20.5zm148.2-67.4C539.7 142.1 491.4 96 432 96c-7.6 0-15.1.8-22.4 2.3C377.7 58.3 328.1 32 272 32c-84.6 0-155.5 59.7-172.3 139.8C39.9 196.1 0 254.4 0 320c0 88.4 71.6 160 160 160h336c79.5 0 144-64.5 144-144 0-61.8-39.2-115.8-96.3-135.9zM496 432H160c-61.9 0-112-50.1-112-112 0-56.4 41.7-103.1 96-110.9V208c0-70.7 57.3-128 128-128 53.5 0 99.3 32.8 118.4 79.4 11.2-9.6 25.7-15.4 41.6-15.4 35.3 0 64 28.7 64 64 0 11.8-3.2 22.9-8.8 32.4 2.9-.3 5.9-.4 8.8-.4 53 0 96 43 96 96s-43 96-96 96z"}})]))}}},6850:function(e,t,a){"use strict";a("18b8")},"6aa0":function(e,t,a){"use strict";a("8aa0")},"6cab":function(e,t,a){},"6cd5":function(e,t,a){"use strict";a("6504")},"6ea3":function(e,t,a){"use strict";a("edaf")},7075:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-expand fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"}})]))}}},7645:function(e,t,a){},"78d0":function(e,t,a){},"7da9":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-css3-alt fa-w-12",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fab","data-icon":"css3-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"}})]))}}},"7eb0":function(e,t,a){},"7f59":function(e,t,a){},"80a7":function(e,t,a){"use strict";a("7eb0")},"826e":function(e,t,a){"use strict";a("939b")},"831b":function(e){e.exports=JSON.parse('{"type":"object","required":["sections"],"additionalProperties":false,"properties":{"pageInfo":{"type":"object","properties":{"title":{"type":"string","description":"Title and heading for the app"},"description":{"type":"string","description":"Sub-title, displayed in header"},"navLinks":{"type":"array","maxItems":6,"description":"Quick access links, displayed in header","items":{"type":"object","additionalProperties":false,"required":["title","path"],"properties":{"title":{"type":"string"},"path":{"type":"string"}}}},"footerText":{"type":"string"},"logo":{"type":"string","description":"Path to an optional image asset, to be displayed in the header","pattern":"^(http|/)","examples":["/web-icons/dashy-logo.png","https://i.ibb.co/yhbt6CY/dashy.png"]}},"required":["title"],"additionalProperties":false},"appConfig":{"type":"object","description":"Application configuration","properties":{"backgroundImg":{"type":"string","description":"A URL to an image asset to be displayed as background"},"language":{"type":"string","description":"The ISO code of your desired language, must have translations present, check docs for more info"},"theme":{"type":"string","default":"callisto","description":"A theme to be applied by default on first load","examples":["callisto","thebe","dracula","material","material-dark","colorful","nord","nord-frost","minimal-dark","minimal-light","matrix","matrix-red","hacker-girl","raspberry-jam","bee","tiger","material-original","material-dark-original","vaporware","high-contrast-dark","high-contrast-light"]},"enableFontAwesome":{"type":"boolean","default":true,"description":"Should load font-awesome assets"},"fontAwesomeKey":{"type":"string","pattern":"^[a-z0-9]{10}$","description":"API key for font-awesome"},"faviconApi":{"enum":["local","faviconkit","google","clearbit","webmasterapi","allesedv"],"default":"faviconkit","description":"Which service to use to resolve favicons. Set to local to do this locally instead"},"layout":{"enum":["horizontal","vertical","auto","sidebar"],"default":"auto","description":"Specifies sections layout orientation on the home screen"},"iconSize":{"enum":["small","medium","large"],"default":"medium","description":"The size of each link item / icon"},"hideComponents":{"type":"object","description":"Hide individual parts of the page. If not set, all components are visible by default","properties":{"hideHeading":{"type":"boolean","default":"false","description":"If set to true, the page heading & subtitle will be hidden"},"hideNav":{"type":"boolean","default":"false","description":"If set to true, the navigation menu will be hidden"},"hideSearch":{"type":"boolean","default":"false","description":"If set to true, the search bar will be hidden"},"hideSettings":{"type":"boolean","default":"false","description":"If set to true, the settings buttons will be hidden"},"hideFooter":{"type":"boolean","default":"false","description":"If set to true, the page footer will be hidden"},"hideSplashScreen":{"type":"boolean","default":"true","description":"If set to true, the loading / splash screen will not be shown"}}},"cssThemes":{"type":"array","description":"Theme names to be added to the dropdown","items":{"type":"string"}},"customColors":{"type":"object","description":"Set a custom color palette for any theme"},"externalStyleSheet":{"description":"URL or URLs of external stylesheets to add to dropdown/ load","type":["string","array"],"items":{"type":"string"}},"customCss":{"type":"string","description":"Any custom CSS overides, must be minified"},"statusCheck":{"type":"boolean","default":false,"description":"Displays an online/ offline status for each of your services"},"statusCheckInterval":{"type":"number","default":0,"description":"How often to recheck statuses. If set to 0, status will only be checked on page load"},"auth":{"type":"array","description":"Usernames and hashed credentials for frontend authentication","items":{"type":"object","additionalProperties":false,"required":["user","hash"],"properties":{"user":{"type":"string","description":"The username for a user"},"hash":{"type":"string","description":"A SHA-256 hashed password for that user","minLength":64,"maxLength":64},"type":{"enum":["admin","normal"],"description":"User type, denoting privilege level, either admin or normal","default":"normal"}}}},"allowConfigEdit":{"type":"boolean","default":true,"description":"Can user write changes to conf.yml file from the UI. If set to false, preferences are only stored locally"},"disableServiceWorker":{"type":"boolean","default":false,"description":"If set to true, then service workers will not be used to cache page contents"},"disableContextMenu":{"type":"boolean","default":false,"description":"If set to true, custom right-click context menu will be disabled"},"disableUpdateChecks":{"type":"boolean","default":false,"description":"Prevents Dashy from checking for updates"},"enableErrorReporting":{"type":"boolean","default":false,"description":"Enable anonymous crash reports. This helps bugs be found and fixed, in order to make Dashy more stable. Reporting is off by default, and no data will EVER be collected without your explicit and active concent."}},"additionalProperties":false},"sections":{"type":"array","description":"Array of sections, containing items","items":{"type":"object","required":["name","items"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Title/ heading for a section"},"icon":{"type":"string","description":"Icon will be displayed next to title"},"displayData":{"type":"object","additionalProperties":false,"description":"Optional meta data for customizing a section","properties":{"collapsed":{"type":"boolean","default":false,"description":"If true, section needs to be clicked to open"},"color":{"type":"string","description":"Hex code, or HTML color for section fill"},"customStyles":{"type":"string","description":"CSS overides for section container"},"itemSize":{"enum":["small","medium","large"],"default":"medium","description":"Size of items within the section"},"rows":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans vertically"},"cols":{"type":"number","minimum":1,"maximum":5,"default":1,"description":"The amount of space that the section spans horizontally"},"sectionLayout":{"enum":["grid","auto"],"default":"auto","description":"If set to grid, items have uniform width, and itemCount can be set"},"itemCountX":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per column"},"itemCountY":{"type":"number","minimum":1,"maximum":12,"description":"Number of items per row"}}},"items":{"type":"array","description":"Array of items to display with a section","items":{"type":"object","additionalProperties":false,"required":["title"],"properties":{"title":{"type":"string","description":"Text shown on the item"},"description":{"type":"string","nullable":true,"description":"Short description, shown on hover or in a tooltip"},"icon":{"type":"string","nullable":true,"description":"An icon, either as a font-awesome identifier, local or remote URL, or the word favicon or generative"},"url":{"type":"string","description":"The destination to navigate to when item is clicked"},"target":{"enum":["newtab","sametab","modal","workspace"],"default":"newtab","description":"Opening method, when item is clicked"},"hotkey":{"type":"number","description":"A numeric shortcut key, between 0 and 9. Useful for quickly launching frequently used applications"},"color":{"type":"string","description":"A custom fill color of the item"},"provider":{"type":"string","description":"Provider name, e.g. Microsoft"},"statusCheck":{"type":"boolean","default":false,"description":"Whether or not to display online/ offline status for this service. Will override appConfig.statusCheck"},"statusCheckUrl":{"type":"string","description":"If you\'ve enabled statusCheck, and want to use a different URL to what is defined under the item, then specify it here"},"statusCheckHeaders":{"type":"object","description":" If you\'re endpoint requires any specific headers for the status checking, then define them here"}}}}}}}}}')},"832d":function(e,t,a){},"85e1":function(e,t,a){"use strict";a("1036")},"89e2":function(e,t,a){"use strict";a("1653")},"8aa0":function(e,t,a){},"8b35":function(e,t,a){},"8b8e":function(e,t){e.exports={pageInfo:{title:"Dashy",navLinks:[{title:"Home",path:"/"},{title:"About",path:"/about"},{title:"Source Code",path:"https://github.com/Lissy93/dashy"}]},appConfig:{theme:"colorful",fontAwesomeKey:"0821c65656"},sections:[{name:"Getting Started",items:[{title:"Source",description:"Source code and documentation on GitHub",icon:"fab fa-github",url:"https://github.com/Lissy93/dashy"},{title:"Issues",description:"View currently open issues, or raise a new one",icon:"fas fa-bug",url:"https://github.com/Lissy93/dashy/issues"},{title:"Demo 1",description:"Live Demo #1",icon:"far fa-rocket",url:"https://dashy-demo-1.netlify.app"},{title:"Demo 2",description:"Live Demo #2",icon:"fad fa-planet-ringed",url:"https://dashy-demo-2.netlify.app"}]}]}},"8d7c":function(e,t,a){},"905d":function(e,t,a){},"90de":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-window-close fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"window-close",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z"}})]))}}},"90ff":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-save fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"save",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M433.941 129.941l-83.882-83.882A48 48 0 00316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 00-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 01-6-6V86a6 6 0 016-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 011.757 4.243V426a6 6 0 01-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"}})]))}}},"922c":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-expand-arrows-alt fa-w-14",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"expand-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M448 344v112a23.94 23.94 0 01-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 01-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0124-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0124 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z"}})]))}}},"939b":function(e,t,a){},9517:function(e,t,a){"use strict";a("a8d0")},9635:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:[i,r],style:[l,c],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{d:"M132.893 310.534l-30.082 10.911L91.9 291.364l30.081-10.911z"}}),a("path",{attrs:{d:"M271.552 301.072l-77.856-46.72-41.616 15.152 10.944 30.064 27.28-9.92 82.144 49.28 97.6-65.072L480 315.088V480H32V347.2l40.8-14.848-10.928-30.048L0 324.8V512h512V292.912l-146.048-54.768z"}}),a("path",{attrs:{d:"M0 0v278.848l66.576-24.224-10.928-30.064L32 233.152V32h448v168.912l-114.048-42.768-94.4 62.928-77.856-46.72-47.84 17.392 10.944 30.064 33.504-12.16 82.144 49.28 97.6-65.072L512 247.088V0z"}}),a("path",{attrs:{d:"M96.656 243.686L85.721 213.63l30.07-10.94 10.935 30.055z"}})]))}}},"96bd":function(e,t,a){},"97fb":function(e,t,a){},"9c0c":function(e,t,a){},"9e50":function(e,t,a){"use strict";a("3323")},"9e96":function(e,t,a){},a4c2:function(e,t,a){},a8d0:function(e,t,a){},b021:function(e,t,a){"use strict";a("905d")},b315:function(e,t,a){},b5c9:function(e,t,a){"use strict";a("7645")},bddf:function(e,t,a){},c715:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-table fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"table",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"}})]))}}},c924:function(e,t,a){},cb40:function(e){e.exports=JSON.parse('{"home":{"no-results":"keine Suchresultate","no-data":"keine Daten Konfiguriert"},"search":{"search-label":"Suche","search-placeholder":"Starte tippen um zu filtern","clear-search-tooltip":"Leere die Suche"},"login":{"title":"Dashy","username-label":"Username","password-label":"Passwort","login-button":"Login","remember-me-label":"Angemeldet bleiben fรผr","remember-me-never":"Niemals","remember-me-hour":"4 Stunden","remember-me-day":"1 Tag","remember-me-week":"1 Woche"},"config":{"main-tab":"Config","view-config-tab":"zeige Config","edit-config-tab":"bearbeite Config","custom-css-tab":"eigene Styles","heading":"Konfiguration optionen","download-config-button":"Download Config","edit-config-button":"bearbeite Config","edit-css-button":"bearbeite Custom CSS","cloud-sync-button":"aktiviere Cloud Sync","edit-cloud-sync-button":"bearbeite Cloud Sync","rebuild-app-button":"Anwendung neu erstellen","change-language-button":"รคndere App Sprache","reset-settings-button":"Lokale Einstellungen zurรผcksetzten","app-info-button":"App Info","backup-note":"Es wird empfohlen ein Backup der Konfiguration zu erstellen, bevor ร„nderungen durchgefรผhrt werden.","reset-config-msg-l1":"Dadurch werden alle Benutzereinstellungen aus dem lokalen Speicher entfernt, hat jedoch keine Auswirkungen auf Ihre Datei \'conf.yml\'.","reset-config-msg-l2":"Sie sollten zuerst alle ร„nderungen, die Sie lokal vorgenommen haben, sichern, wenn Sie sie in Zukunft verwenden mรถchten.","reset-config-msg-l3":"Sind Sie sicher, dass Sie fortfahren mรถchten?","data-cleared-msg":"Daten erfolgreich gelรถscht","actions-label":"Aktionen","copy-config-label":"Config kopieren","data-copied-msg":"Config wurde in die Zwischenablage kopiert","reset-config-label":"Config zurรผcksetzten","css-save-btn":"ร„nderungen speichern","css-note-label":"Bemerkung","css-note-l1":"Sie mรผssen die Seite aktualisieren, damit Ihre ร„nderungen wirksam werden.","css-note-l2":"Stilรผberschreibungen werden nur lokal gespeichert, daher wird empfohlen, eine Kopie Ihres CSS zu erstellen.","css-note-l3":"Um alle benutzerdefinierten Stile zu entfernen, lรถschen Sie den Inhalt und klicken Sie auf ร„nderungen speichern."},"settings":{"theme-label":"Theme","layout-label":"Layout","layout-auto":"Auto","layout-horizontal":"Horizontal","layout-vertical":"Vertikal","item-size-label":"Item grรถรŸe","item-size-small":"klein","item-size-medium":"mittel","item-size-large":"groรŸ","config-launcher-label":"Config"},"updates":{"app-version-note":"Dashy version","up-to-date":"Up-to-Date","out-of-date":"Update Verfรผgbar","unsupported-version-l1":"Sie verwenden eine nicht unterstรผtzte Version von Dashy","unsupported-version-l2":"Fรผr die beste Erfahrung und aktuelle Sicherheitspatches aktualisieren Sie bitte auf"},"language-switcher":{"title":"ร„ndere die Applikationssprache","dropdown-label":"Sprache Auswรคhlen","save-button":"Speichern","success-msg":"Sprache geรคndert zu"},"theme-maker":{"title":"Theme Konfigurator","export-button":"Benutzerdefinierte Variablen exportieren","reset-button":"Styles zurรผcksetzen fรผr","show-all-button":"Alle Variablen anzeigen","save-button":"Speichern","cancel-button":"Abbrechen","saved-toast":"{theme} wurde Erfolgreich geupdated","copied-toast":"Theme Daten fรผr {theme} in Zwischenablage kopiert.","reset-toast":"Benutzerdefinierte Farben fรผr {theme} entfernt"},"config-editor":{"save-location-label":"Speicherort","location-local-label":"Lokal","location-disk-label":"ร„nderungen in die Konfigurationsdatei schreiben","save-button":"speichere ร„nderungen","valid-label":"Config ist gรผltig","status-success-msg":"Aufgabe abgeschlossen","status-fail-msg":"Aufgabe fehlgeschlagen","success-msg-disk":"Konfigurationsdatei erfolgreich auf die Festplatte geschrieben","success-msg-local":"Lokale ร„nderungen erfolgreich gespeichert","success-note-l1":"Die App sollte automatisch rebuild werden.","success-note-l2":"Dies kann bis zu einer Minute dauern.","success-note-l3":"Sie mรผssen die Seite aktualisieren, damit die ร„nderungen wirksam werden.","error-msg-save-mode":"Bitte wรคhlen Sie einen Speichermodus: Lokal oder Datei","error-msg-cannot-save":"Beim Speichern der Konfiguration ist ein Fehler aufgetreten","error-msg-bad-json":"Fehler in JSON, mรถglicherweise fehlerhaft","warning-msg-validation":"Validierungswarnung"},"app-rebuild":{"title":"Rebuild Application","rebuild-note-l1":"Damit die in die Datei conf.yml geschriebenen ร„nderungen wirksam werden, ist ein rebuild erforderlich.","rebuild-note-l2":"Dies sollte automatisch passieren, aber wenn nicht, kรถnnen Sie es hier manuell auslรถsen.","rebuild-note-l3":"Dies ist bei lokal gespeicherten ร„nderungen nicht erforderlich.","rebuild-button":"Start Build","rebuilding-status-1":"Building...","rebuilding-status-2":"Das kann ein paar minuten dauern","error-permission":"Sie sind nicht berechtigt, diese Aktion auszulรถsen","success-msg":"Build erfolgreich abgeschlossen","fail-msg":"Build-Vorgang fehlgeschlagen","reload-note":"Ein Neuladen der Seite ist jetzt erforderlich, damit die ร„nderungen wirksam werden.","reload-button":"Seite neuladen"},"cloud-sync":{"title":"Cloud Backup & Wiederherstellung","intro-l1":"Cloud-Backup und Wiederherstellung ist eine optionale Funktion, mit der Sie Ihre Config in das Internet hochladen und dann auf einem anderen Gerรคt oder einer anderen Dashy-Instanz wiederherstellen kรถnnen.","intro-l2":"Alle Daten sind vollstรคndig Ende-zu-Ende mit AES verschlรผsselt. Ihr Passwort wird als Schlรผssel verwendet wird.","intro-l3":"Weitere Informationen finden Sie im","backup-title-setup":"Backup erstellen","backup-title-update":"Backup aktualisieren","password-label-setup":"Passwort auswรคhlen","password-label-update":"Passwort eigeben","backup-button-setup":"Backup","backup-button-update":"Backup aktualisieren","backup-id-label":"Your Backup ID","backup-id-note":"Dies wird verwendet, um spรคter aus Backups wiederherzustellen. Bewahren Sie es zusammen mit Ihrem Passwort an einem sicheren Ort auf.","restore-title":"Backup wiederherstellen","restore-id-label":"Restore ID","restore-password-label":"Passwort","restore-button":"wiederherstellen","backup-error-unknown":"Anfrage kann nicht verarbeitet werden","backup-error-password":"Falsches Passwort. Bitte geben Sie Ihr aktuelles Passwort ein.","backup-success-msg":"Erfolgreich beendet","restore-success-msg":"Config erfolgreich wiederhergestellt"}}')},cbd9:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-file-download fa-w-12",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"file-download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M216 236.07c0-6.63-5.37-12-12-12h-24c-6.63 0-12 5.37-12 12v84.01h-48.88c-10.71 0-16.05 12.97-8.45 20.52l72.31 71.77c4.99 4.95 13.04 4.95 18.03 0l72.31-71.77c7.6-7.54 2.26-20.52-8.45-20.52H216v-84.01zM369.83 97.98L285.94 14.1c-9-9-21.2-14.1-33.89-14.1H47.99C21.5.1 0 21.6 0 48.09v415.92C0 490.5 21.5 512 47.99 512h287.94c26.5 0 48.07-21.5 48.07-47.99V131.97c0-12.69-5.17-24.99-14.17-33.99zM255.95 51.99l76.09 76.08h-76.09V51.99zM336 464.01H47.99V48.09h159.97v103.98c0 13.3 10.7 23.99 24 23.99H336v287.95z"}})]))}}},cf1c:function(e,t,a){"use strict";a("8d7c")},d16d:function(e,t,a){"use strict";a("18dd")},d636:function(e,t,a){"use strict";a("78d0")},d8e8:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-compress-arrows-alt fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"compress-arrows-alt",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z"}})]))}}},de40:function(e,t,a){"use strict";a("7f59")},e0a2:function(e,t){e.exports=/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/},e697:function(e,t,a){"use strict";a("2574")},e6a4:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-download fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fal","data-icon":"download",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M452 432c0 11-9 20-20 20s-20-9-20-20 9-20 20-20 20 9 20 20zm-84-20c-11 0-20 9-20 20s9 20 20 20 20-9 20-20-9-20-20-20zm144-48v104c0 24.3-19.7 44-44 44H44c-24.3 0-44-19.7-44-44V364c0-24.3 19.7-44 44-44h99.4L87 263.6c-25.2-25.2-7.3-68.3 28.3-68.3H168V40c0-22.1 17.9-40 40-40h96c22.1 0 40 17.9 40 40v155.3h52.7c35.6 0 53.4 43.1 28.3 68.3L368.6 320H468c24.3 0 44 19.7 44 44zm-261.7 17.7c3.1 3.1 8.2 3.1 11.3 0L402.3 241c5-5 1.5-13.7-5.7-13.7H312V40c0-4.4-3.6-8-8-8h-96c-4.4 0-8 3.6-8 8v187.3h-84.7c-7.1 0-10.7 8.6-5.7 13.7l140.7 140.7zM480 364c0-6.6-5.4-12-12-12H336.6l-52.3 52.3c-15.6 15.6-41 15.6-56.6 0L175.4 352H44c-6.6 0-12 5.4-12 12v104c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12V364z"}})]))}}},e7fa:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-edit fa-w-18",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"edit",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"}})]))}}},eb58:function(e,t,a){"use strict";a("9e96")},eba9:function(e,t,a){},ec1d:function(e,t,a){"use strict";a("f254")},ed9b:function(e,t,a){"use strict";a("a4c2")},ed9d:function(e,t,a){"use strict";a("96bd")},eda6:function(e,t,a){"use strict";a("1864")},edaf:function(e,t,a){},f254:function(e,t,a){},f255:function(e,t,a){"use strict";a("339a")},f719:function(e,t,a){"use strict";a("27c1")},f94d:function(e,t,a){},f9d7:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:n,data:s,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=s;return a("svg",{class:["svg-inline--fa fa-columns fa-w-16",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"fas","data-icon":"columns",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"}})]))}}},fae5:function(e,t,a){},ffb5:function(e,t,a){}}); //# sourceMappingURL=dashy.161b865b.js.map