(function(e){function t(t){for(var s,n,r=t[0],l=t[1],c=t[2],u=0,d=[];unew RegExp(/(http|https):\/\/(\S+)(:[0-9]+)?/).test(e)}},E=T,j=(a("d16d"),Object(S["a"])(E,x,O,!1,null,"68c1bd5c",null)),A=j.exports,z=a("5cc6"),$=a.n(z);const L=e=>!z["hideFurnitureOn"].includes(e);var M={name:"Header",inject:["visibleComponents"],components:{PageTitle:I,Nav:A},props:{pageInfo:Object},data(){return{titleVisible:(this.visibleComponents||z["visibleComponents"]).pageTitle,navVisible:(this.visibleComponents||z["visibleComponents"]).navigation}},computed:{visible(){return L(this.$route.name)}}},N=M,V=(a("a9d3"),Object(S["a"])(N,f,b,!1,null,"6b8e7f1e",null)),P=V.exports,D=function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.text&&""!==e.text&&e.visible?a("footer",{domProps:{innerHTML:e._s(e.text)}}):e.visible?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(". ")]):e._e()},B=[],U={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"}},computed:{visible(){return L(this.$route.name)}}},H=U,R=(a("9f61"),Object(S["a"])(H,D,B,!1,null,"d162889c",null)),K=R.exports,F=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()])},q=[],W={name:"LoadingScreen",props:{isLoading:{type:Boolean,default:!1}},data:()=>({c:""})},G=W,J=(a("2bb3"),Object(S["a"])(G,F,q,!1,null,"a7bc1de6",null)),Y=J.exports,Z=a("8b8e"),X=a.n(Z);class Q{constructor(){this.conf=X.a}appConfig(){let e={};this.conf&&(e=this.conf.appConfig||{});let t=z["appConfig"];return localStorage[z["localStorageKeys"].APP_CONFIG]?t=JSON.parse(localStorage[z["localStorageKeys"].APP_CONFIG]):e!=={}&&(t=e),t.layout=localStorage[z["localStorageKeys"].LAYOUT_ORIENTATION]||e.layout||z["layout"],t.iconSize=localStorage[z["localStorageKeys"].ICON_SIZE]||e.iconSize||z["iconSize"],t.language=localStorage[z["localStorageKeys"].LANGUAGE]||e.language||z["language"],e.auth&&(t.auth=e.auth),t}pageInfo(){const e=z["pageInfo"];let t;try{t=JSON.parse(localStorage[z["localStorageKeys"].PAGE_INFO])}catch(n){t={}}let a={};this.conf&&(a=this.conf.pageInfo||{});const s=a||e;return s.title=t.title||a.title||e.title,s.logo=t.logo||a.logo||e.logo,s.description=t.description||a.description||e.description,s.navLinks=t.navLinks||a.navLinks||e.navLinks,s.footerText=t.footerText||a.footerText||e.footerText,s}sections(){const e=localStorage[z["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 ee=a("94f8"),te=a.n(ee),ae=a("82dc");const se=()=>{const e="V1.7.3";console.log(`\n%cDashy ${e} ๐Ÿš€`,"color:#0dd8d8; background:#0b1021; font-size:1.5rem; padding:0.15rem 0.25rem; margin: 1rem auto; font-family: Rockwell; border: 2px solid #0dd8d8; border-radius: 4px;font-weight: bold; text-shadow: 1px 1px 1px #00af87bf;")},ne=e=>{console.info(`\n%cโš ๏ธ Warning โš ๏ธ%c \n${e} \n\n%cThis is likely not an issue with Dashy, but rather your configuration. If you think it is a bug, please open a ticket on GitHub: https://git.io/JukXk`,"color:#ceb73f; background: #ceb73f33; font-size:1.5rem; padding:0.15rem; margin: 1rem auto; font-family: Rockwell, Tahoma, 'Trebuchet MS', Helvetica; border: 2px solid #ceb73f; border-radius: 4px; font-weight: bold; text-shadow: 1px 1px 1px #000000bf;","font-weight: bold; font-size: 1rem;color: #ceb73f;","color: #ceb73f; font-size: 0.75rem; font-family: Tahoma, 'Trebuchet MS', Helvetica;")},oe=function(e){ne(e),ae["d"](e)};var ie=oe;const re=()=>{const e=new Q,t=e.config();return t.appConfig||{}},le=()=>{const e="From V 1.6.5 onwards, the structure of the users object has changed.";console.warn(e)},ce=()=>{const e=re();return e.auth&&e.auth.enableKeycloak||!1},ue=()=>{const e=re();if(!ce())return!1;const{keycloak:t}=e.auth,{serverUrl:a,realm:s,clientId:n}=t;return a&&s&&n?t:(ie("Keycloak config missing- please ensure you specify: serverUrl, realm, clientId"),!1)},de=()=>{const e=re(),t=e.auth||{};return Array.isArray(t)?(le(),t):t.users||[]},me=e=>{const t=e=>e.toString().toUpperCase(),a=te()(t(e.user)+t(e.hash));return t(a)},pe=()=>{const e=de(),t=e.map(e=>me(e));let a=!1;return document.cookie.split(";").forEach(e=>{if(e&&e.split("=").length>1){const s=e.split("=")[0].trim(),n=e.split("=")[1].trim();s===z["cookieKeys"].AUTH_TOKEN&&t.includes(n)&&(a=!0)}}),a},_e=()=>{const e=de();return e.length>0},ge=()=>{const e=re();return e.enableGuestAccess?(le(),!0):e.auth&&!Array.isArray(e.auth)&&e.auth.enableGuestAccess||!1},he=(e,t,a,s)=>{let n;return e?t?a.forEach(a=>{a.user.toLowerCase()===e.toLowerCase()&&(n=a.hash.toLowerCase()===te()(t).toString().toLowerCase()?{correct:!0,msg:s.successMsg}:{correct:!1,msg:s.incorrectPassword})}):n={correct:!1,msg:s.missingPassword}:n={correct:!1,msg:s.missingUsername},n||{correct:!1,msg:s.incorrectUsername}},fe=(e,t,a)=>{const s=new Date,n=new Date(s.setTime(s.getTime()+a)).toGMTString(),o={user:e,hash:te()(t).toString().toLowerCase()};document.cookie=`authenticationToken=${me(o)};`+(a>0?"expires="+n:""),localStorage.setItem(z["localStorageKeys"].USERNAME,e)},be=()=>{document.cookie="authenticationToken=null",localStorage.removeItem(z["localStorageKeys"].USERNAME)},ke=()=>{if(!pe())return!1;const e=localStorage[z["localStorageKeys"].USERNAME];if(!e)return!1;let t=!1;return de().forEach(a=>{a.user===e&&(t=a)}),t},ve=()=>{const e=ge(),t=!pe();return e&&t},we=()=>{const e=de();if(0===e.length)return!0;if(!pe())return!1;const t=localStorage[z["localStorageKeys"].USERNAME];let a=!1;return e.forEach(e=>{e.user===t&&"admin"===e.type&&(a=!0)}),a},ye=()=>{const{notConfigured:e,loggedIn:t,guestAccess:a}=z["userStateEnum"];return _e()?pe()?t:ge()?a:e:e},Se=(e,t)=>{let a=!1;return e.forEach(e=>{e.toLowerCase()===t&&(a=!0)}),a},Ce=(e,t,a)=>{const s=()=>{if(!t)return!0;const a=e.hideForUsers||[],s=t.user.toLowerCase();return!Se(a,s)},n=()=>{if(!t)return!0;const a=t.user.toLowerCase(),s=e.showForUsers||[];return s.length<1||Se(s,a)},o=()=>{const t=e.hideForGuests;return!(t&&a)};return s()&&n()&&o()},Ie=e=>{const t=ke(),a=ve();return e.filter(e=>{const s=e.displayData||{};return Ce(s,t,a)})};var xe=Ie,Oe=a("0e40"),Te=a("cb40"),Ee=a("3b11"),je=a("e316"),Ae=a("794b"),ze=a("eb26");const $e=[{name:"English",code:"en",locale:Oe,flag:"๐Ÿ‡ฌ๐Ÿ‡ง"},{name:"German",code:"de",locale:Te,flag:"๐Ÿ‡ฉ๐Ÿ‡ช"},{name:"Dutch",code:"nl",locale:Ee,flag:"๐Ÿ‡ณ๐Ÿ‡ฑ"},{name:"French",code:"fr",locale:je,flag:"๐Ÿ‡ฒ๐Ÿ‡ซ"},{name:"Slovenian",code:"sl",locale:Ae,flag:"๐Ÿ‡ธ๐Ÿ‡ฎ"},{name:"็ฎ€ไฝ“ไธญๆ–‡",code:"cn",locale:ze,flag:"๐Ÿ‡จ๐Ÿ‡ณ"}],Le={};$e.forEach(e=>{Le[e.code]=e.locale});const Me=Le,Ne=(()=>{const e=new Q;return{appConfig:e.appConfig(),pageInfo:e.pageInfo(),sections:xe(e.sections())}})(),Ve=e=>{const t=e.hideComponents||{},a=e=>"boolean"===typeof e;return{pageTitle:a(t.hideHeading)?!t.hideHeading:z["visibleComponents"].pageTitle,navigation:a(t.hideNav)?!t.hideNav:z["visibleComponents"].navigation,searchBar:a(t.hideSearch)?!t.hideSearch:z["visibleComponents"].searchBar,settings:a(t.hideSettings)?!t.hideSettings:z["visibleComponents"].settings,footer:a(t.hideFooter)?!t.hideFooter:z["visibleComponents"].footer,splashScreen:a(t.hideSplashScreen)?!t.hideSplashScreen:z["visibleComponents"].splashScreen}},Pe=()=>{const e=localStorage[z["localStorageKeys"].THEME],t=Ne.appConfig.theme;return e||t||z["theme"]},De=()=>{const e=JSON.parse(localStorage[z["localStorageKeys"].CUSTOM_COLORS]||"{}"),t=Ne.appConfig.customColors||{};return Object.assign(t,e)},Be=()=>{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()},Ue=()=>{const e=localStorage[z["localStorageKeys"].LANGUAGE]||Ne.appConfig.language||z["language"],t=$e.find(t=>t.code===e);return t},He=new Q,Re=He.config(),Ke=Ve(Re.appConfig)||z["visibleComponents"];var Fe={name:"app",components:{Header:P,Footer:K,LoadingScreen:Y},provide:{config:Re,visibleComponents:Ke},data(){return{isLoading:!0,showFooter:Ke.footer,appConfig:He.appConfig(),pageInfo:He.pageInfo(),visibleComponents:Ke}},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||z["visibleComponents"]).splashScreen||!localStorage[z["localStorageKeys"].HIDE_WELCOME_BANNER]},hideSplash(){this.shouldShowSplash()?setTimeout(()=>{this.isLoading=!1},z["splashScreenTime"]||1500):this.isLoading=!1},applyLanguage(){let e=z["language"];const t=this.$i18n.availableLocales,a=localStorage[z["localStorageKeys"].LANGUAGE]||this.appConfig.language;if(a&&t.includes(a))e=a;else{const a=window.navigator.language||"",s=a.split("-")[0];t.includes(a)?e=a:t.includes(s)&&(e=s)}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)}se()}},qe=Fe,We=(a("5c0b"),Object(S["a"])(qe,g,h,!1,null,null,null)),Ge=We.exports,Je=a("8c4f"),Ye=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.allSections,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.filteredTiles,(function(t,s){return a("Section",{key:s,class:e.searchValue&&0===e.filterTiles(t.items,e.searchValue).length?"no-results":"",attrs:{title:t.name,icon:t.icon||void 0,displayData:e.getDisplayData(t),groupId:"section-"+s,items:e.filterTiles(t.items,e.searchValue),searchTerm:e.searchValue,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)},Ze=[],Xe=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}}),"noone"!=e.userState?a("AuthButtons",{attrs:{userType:e.userState}}):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)},Qe=[],et=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",{on:{submit:function(t){return t.preventDefault(),e.searchSubmitted.apply(null,arguments)}}},[a("label",{attrs:{for:"filter-tiles"}},[e._v(e._s(e.$t("search.search-label")))]),a("div",{staticClass:"search-wrap"},[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.webSearchEnabled&&e.input.length>0?a("p",{staticClass:"web-search-note"},[e._v(" "+e._s(e.$t("search.enter-to-search-web"))+" ")]):e._e()]),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()])},tt=[];class at{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=at.goToPrevious(this.index):39===e?this.index+=1:40===e&&(this.index=at.goToNext(this.index)),this.index=at.getSafeElementIndex(this.index),at.selectItemByIndex(this.index).focus()}static getNumResults(){return document.getElementsByClassName("item").length}static getSafeElementIndex(e){const t=at.getNumResults();return e<0?t-1:e>=t?0:e}static selectItemByIndex(e){return e>=0&&e<=at.getNumResults()?document.getElementsByClassName("item")[e]:[document.getElementsByClassName("item")]}static findPreviousRow(e){const t=(e,t)=>at.selectItemByIndex(e).offsetTop===t,a=(e,s)=>e>=at.getNumResults()?a(0,s):t(e,s)?a(e-1,s):e,s=at.selectItemByIndex(e).offsetTop;return a(e,s)}static goToPrevious(e){const t=(e,t)=>at.selectItemByIndex(e).offsetTopat.selectItemByIndex(e).offsetTop===t,a=(e,s)=>e>=at.getNumResults()?a(0,s):t(e,s)?a(e+1,s):e,s=at.selectItemByIndex(e).offsetTop;return a(e,s)}static goToNext(e){const t=(e,t)=>at.selectItemByIndex(e).offsetTop>at.selectItemByIndex(t).offsetTop,a=at.findNextRow(e),s=a-e,n=a-at.findPreviousRow(e)-1,o=t(e,a)?0:n-s;return a+o}}var st={name:"FilterTile",inject:["config"],props:{active:Boolean},data(){return{input:"",akn:new at,getCustomKeyShortcuts:Be}},computed:{webSearchEnabled(){const{appConfig:e}=this.config;return!e||!e.webSearch||!e.webSearch.disableWebSearch}},mounted(){window.addEventListener("keydown",e=>{const t=document.activeElement.id,{key:a,keyCode:s}=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):s>=37&&s<=40?this.akn.arrowNavigation(s):27===s&&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")})},launchWebSearch(e,t){switch(t){case"newtab":window.open(e,"_blank");break;case"sametab":window.open(e,"_self");break;case"workspace":Cr.push({name:"workspace",query:{url:e}});break;default:ie("Unknown opening method: "+t),window.open(e,"_blank")}},searchSubmitted(){const{appConfig:e}=this.config,t=e.webSearch||{};if(this.webSearchEnabled){const e=t.openingMethod||z["defaultSearchOpeningMethod"],a=t.searchEngine||z["defaultSearchEngine"];let s=z["searchEngineUrls"][a];s||ie("Search engine not found - "+a),"custom"===a&&t.customSearchEngine&&(s=t.customSearchEngine),s+=encodeURIComponent(this.input),this.launchWebSearch(s,e)}}}},nt=st,ot=(a("2d9a"),Object(S["a"])(nt,et,tt,!1,null,"5e211d9a",null)),it=ot.exports,rt=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.closeViewSwitcher,expression:"closeViewSwitcher"}],staticClass:"config-options"},[a("span",{staticClass:"config-label"},[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()}}}),a("IconViewMode",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("alternate-views.alternate-view-heading")),expression:"tooltip($t('alternate-views.alternate-view-heading'))"}],attrs:{tabindex:"-2"},on:{click:function(t){return e.openChangeViewMenu()}}})],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:"35%",height:"35%"}},[a("LanguageSwitcher")],1),e.viewSwitcherOpen?a("div",{staticClass:"view-switcher"},[a("ul",[a("li",[a("router-link",{attrs:{to:"/home"}},[a("IconHome"),a("span",[e._v(e._s(e.$t("alternate-views.default")))])],1)],1),a("li",[a("router-link",{attrs:{to:"/minimal"}},[a("IconMinimalView"),a("span",[e._v(e._s(e.$t("alternate-views.minimal")))])],1)],1),a("li",[a("router-link",{attrs:{to:"/workspace"}},[a("IconWorkspaceView"),a("span",[e._v(e._s(e.$t("alternate-views.workspace")))])],1)],1)])]):e._e()],1)},lt=[],ct=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(1)}}},[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(3)}}},[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(2)}}},[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",{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)},ut=[],dt=a("d97e");const mt=e=>e.split("\n").map(e=>e.trimRight()).join("\n"),pt=e=>{throw new Error("Error in Json to YAML conversion: "+e)},_t=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 s="";return 0===e.length?(s+="[]",s):(t=t.replace(/$/," "),e.forEach(e=>{const n=a[Object(dt["typeOf"])(e)];n||pt(Object(dt["typeOf"])(e)),s+=`\n${t}- ${n(e,!0)}`}),t=t.replace(/ {2}/,""),s)},object(e,s,n){let o="";return 0===Object.keys(e).length?(o+="{}",o):(n||(t=t.replace(/$/," ")),Object.keys(e).forEach((n,i)=>{const r=e[n],l=a[Object(dt["typeOf"])(r)];"undefined"!==typeof r&&(l||pt(Object(dt["typeOf"])(r)),s&&0===i||(o+="\n"+t),o+=`${n}: ${l(r)}`)}),t=t.replace(/ {2}/,""),o)},function(){return"[object Function]"}};return mt(a[Object(dt["typeOf"])(e)](e,!0,!0)+"\n")};var gt=_t,ht=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,s){return a("li",{key:s,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(),e.allowWriteToDisk?e._e():a("p",{staticClass:"no-permission-note"},[e._v(" "+e._s(e.$t("config-editor.not-admin-note"))+" ")]),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)},ft=[],bt=a("bc3a"),kt=a.n(bt),vt=a("13c2"),wt=a("bcb2"),yt=a.n(wt),St=a("831b"),Ct={name:"JsonEditor",props:{config:Object},components:{VJsoneditor:yt.a},data(){return{jsonData:this.config,errorMessages:[],saveMode:"file",options:{schema:St,mode:"tree",modes:["tree","code","preview"],name:"config",onValidationError:this.validationErrors},jsonParser:gt,responseText:"",saveSuccess:void 0,allowWriteToDisk:this.shouldAllowWriteToDisk(),progress:new vt["a"]({color:"var(--progress-bar)"})}},computed:{isValid(){return this.errorMessages.length<1}},mounted(){this.allowWriteToDisk||(this.saveMode="local")},methods:{shouldAllowWriteToDisk(){const{appConfig:e}=this.config;return!1!==e.allowConfigEdit&&we()},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.7.3",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,a=t+"/config-manager/save",s={"Content-Type":"text/plain"},n={config:e,timestamp:new Date},o=kt.a.post(a,n,s);this.progress.start(),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),this.progress.end()}).catch(e=>{this.saveSuccess=!1,this.responseText=e,this.showToast(e,!1),this.progress.end()})},saveConfigLocally(){const e=this.jsonData;e.sections&&localStorage.setItem(z["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),e.pageInfo&&localStorage.setItem(z["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig&&(e.appConfig.auth=this.config.appConfig.auth||[],localStorage.setItem(z["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig))),e.appConfig.theme&&localStorage.setItem(z["localStorageKeys"].THEME,e.appConfig.theme),this.showToast(this.$t("config-editor.success-msg-local"),!0)},carefullyClearLocalStorage(){localStorage.removeItem(z["localStorageKeys"].PAGE_INFO),localStorage.removeItem(z["localStorageKeys"].APP_CONFIG),localStorage.removeItem(z["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")})}}},It=Ct,xt=(a("80a7"),Object(S["a"])(It,ht,ft,!1,null,null,null)),Ot=xt.exports,Tt=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"css-editor-outer"},[a("div",{staticClass:"css-wrapper"},[a("h2",{staticClass:"css-input-title"},[e._v("Custom CSS")]),a("textarea",{directives:[{name:"model",rawName:"v-model",value:e.customCss,expression:"customCss"}],staticClass:"css-editor",domProps:{value:e.customCss},on:{input:function(t){t.target.composing||(e.customCss=t.target.value)}}}),e._v(" "),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)},Et=[],jt=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)])},At=[],zt=a("7f75"),$t=a.n(zt),Lt=(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)}),Mt=[],Nt={name:"Button",props:{text:String,click:Function,disabled:Boolean,disallow:Boolean}},Vt=Nt,Pt=(a("24e6"),Object(S["a"])(Vt,Lt,Mt,!1,null,"ec408f00",null)),Dt=Pt.exports,Bt=a("90ff"),Ut=a.n(Bt),Ht=a("90de"),Rt=a.n(Ht),Kt={name:"ThemeMaker",components:{VSwatches:$t.a,Button:Dt,SaveIcon:Ut.a,CancelIcon:Rt.a},data(){return{customColors:this.makeInitialData(z["mainCssVars"]),showingAllVars:!1,swatches:z["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[z["localStorageKeys"].CUSTOM_COLORS]||"{}");e[this.themeToEdit]=this.customColors,localStorage.setItem(z["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(z["mainCssVars"]),this.$emit("closeThemeConfigurator")},resetAndSave(){const e=JSON.parse(localStorage[z["localStorageKeys"].CUSTOM_COLORS]||"{}");delete e[this.themeToEdit],localStorage.setItem(z["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),s=e=>a(e)?e:"--"+e,n=e=>a(e)?e.replace("--",""):e;return e.forEach(e=>{t[n(e)]=this.getCssVariableValue(s(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)}}},Ft=Kt,qt=(a("369e"),Object(S["a"])(Ft,jt,At,!1,null,null,null)),Wt=qt.exports,Gt={name:"StyleEditor",props:{config:Object},components:{CustomThemeMaker:Wt},data(){return{customCss:this.config.appConfig.customCss||"\n\n",currentTheme:Pe()}},methods:{validate(e){return""===e||e.match(/([#.@]?[\w.:> ]+)[\s]{[\r\n]?([A-Za-z\- \r\n\t]+[:][\s]*[\w ./()\-!]+;[\r\n]*(?:[A-Za-z\- \r\n\t]+[:][\s]*[\w ./()\-!]+;[\r\n]*(2)*)*)}/gim)},save(){let e="";if(this.validate(this.customCss)){const t={...this.config.appConfig};t.customCss=this.customCss,localStorage.setItem(z["localStorageKeys"].APP_CONFIG,JSON.stringify(t)),e="Changes saved successfully",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)}}},Jt=Gt,Yt=(a("9e50"),Object(S["a"])(Jt,Tt,Et,!1,null,null,null)),Zt=Yt.exports,Xt=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)])},Qt=[],ea=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)}}})])},ta=[],aa={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)}}},sa=aa,na=(a("2d25"),Object(S["a"])(sa,ea,ta,!1,null,"5df13ed2",null)),oa=na.exports,ia=a("3a1e"),ra=a.n(ia),la=a("e6a4"),ca=a.n(la),ua=a("c198"),da=a.n(ua),ma=a("f8d5"),pa=a.n(ma);const _a=z["backupEndpoint"],ga=(e,t)=>{const a=JSON.stringify(e),s=da.a.encrypt(a,t);return s.toString()},ha=(e,t)=>da.a.decrypt(e,t).toString(pa.a),fa=e=>te()(e).toString().slice(0,14),ba=(e,t)=>kt.a.post(_a,{userData:ga(e,t),subHash:fa(t)}),ka=(e,t,a)=>kt.a.put(_a,{backupId:a,userData:ga(e,t),subHash:fa(t)}),va=e=>Object.entries(e).map(e=>e.map(encodeURIComponent).join("=")).join("&"),wa=(e,t)=>{const a=va({backupId:e,subHash:fa(t)}),s=`${_a}/?${a}`;return new Promise((e,a)=>{kt.a.get(s).then(s=>{if(!s.data||s.data.errorMsg)a(s.data.errorMsg||"Error");else{const o=ha(s.data.userData.userData,t);try{e(JSON.parse(o))}catch(n){a(n)}}})})};var ya={name:"CloudBackupRestore",props:{config:Object},data(){return{backupPassword:"",restorePassword:"",restoreCode:"",backupId:localStorage[z["localStorageKeys"].BACKUP_ID]||"",progress:new vt["a"]({color:"var(--progress-bar)"})}},components:{Button:Dt,Input:oa,IconBackup:ra.a,IconRestore:ca.a},methods:{restoreBackup(){this.progress.start(),wa(this.restoreCode,this.restorePassword).then(e=>{this.restoreFromBackup(e,this.restoreCode),this.progress.end()}).catch(e=>{this.showErrorMsg(e),this.progress.end()})},checkPass(){const e=localStorage[z["localStorageKeys"].BACKUP_HASH]||void 0;this.backupPassword?e?e===this.makeHash(this.backupPassword)?this.makeUpdate():this.showErrorMsg(this.$t("cloud-sync.backup-error-password")):this.makeBackup():this.showErrorMsg(this.$t("cloud-sync.backup-missing-password"))},makeBackup(){this.progress.start(),ba(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"),this.progress.end()}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown")),this.progress.end()})},makeUpdate(){this.progress.start(),ka(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"),this.progress.end()}).catch(()=>{this.showErrorMsg(this.$t("cloud-sync.backup-error-unknown")),this.progress.end()})},restoreFromBackup(e,t){localStorage.setItem(z["localStorageKeys"].CONF_SECTIONS,JSON.stringify(e.sections)),localStorage.setItem(z["localStorageKeys"].APP_CONFIG,JSON.stringify(e.appConfig)),localStorage.setItem(z["localStorageKeys"].PAGE_INFO,JSON.stringify(e.pageInfo)),e.appConfig.theme&&localStorage.setItem(z["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 te()(e).toString()},setBackupIdLocally(e,t){this.backupId=e;const a=this.makeHash(t);localStorage.setItem(z["localStorageKeys"].BACKUP_ID,e),localStorage.setItem(z["localStorageKeys"].BACKUP_HASH,a)}}},Sa=ya,Ca=(a("fd60"),Object(S["a"])(Sa,Xt,Qt,!1,null,"1c13f001",null)),Ia=Ca.exports,xa=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)])},Oa=[],Ta=a("0911"),Ea=a.n(Ta),ja=a("3ff5"),Aa=a.n(ja),za=a("6266"),$a=a.n(za),La={name:"RebuildApp",inject:["config"],components:{Button:Dt,RebuildIcon:Ea.a,ReloadIcon:Aa.a,LoadingAnimation:$a.a},data:()=>({modalName:z["modalNames"].REBUILD_APP,loading:!1,success:void 0,error:"",output:"",message:"",allowRebuild:!0,progress:new vt["a"]({color:"var(--progress-bar)"})}),methods:{startBuild(){const e=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.7.3",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,t=e+"/config-manager/rebuild";this.loading=!0,this.progress.start(),kt.a.get(t).then(e=>{this.finished(e.data||!1),this.progress.end()}).catch(e=>{this.finished({success:!1,error:e}),this.progress.end()})},finished(e){if(this.loading=!1,e){const{success:t,output:a,error:s,message:n}=e;this.success=t,this.output=a,this.message=n,this.error=s}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)}},Ma=La,Na=(a("14f0"),Object(S["a"])(Ma,xa,Oa,!1,null,"5f2548f2",null)),Va=Na.exports,Pa=function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.isVersionValid()?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()]):e._e()},Da=[],Ba={name:"AppInfoModal",inject:["config"],data(){return{appVersion:"1.7.3",progress:new vt["a"]({color:"var(--progress-bar)"}),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";this.progress.start(),kt.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,this.progress.end())}).catch(()=>{this.error=!0,this.progress.end()})},checkIfUpToDate(e,t){const a=e=>parseInt(e.replaceAll(".",""),10),s=a(t)-a(e);return s>5&&(this.veryOutOfDate=!0),s<=0},isVersionValid(){const e=!Number.isNaN(parseInt(this.appVersion.replaceAll(".",""),10));return e||ie(`Unable to check for updates, because current version is unavailible. ${this.appVersion} is not a valid version.`),e}}},Ua=Ba,Ha=(a("a57c"),Object(S["a"])(Ua,Pa,Da,!1,null,"3b1179a6",null)),Ra=Ha.exports,Ka=a("cbd9"),Fa=a.n(Ka),qa=a("0278"),Wa=a.n(qa),Ga=a("e7fa"),Ja=a.n(Ga),Ya=a("7da9"),Za=a.n(Ya),Xa=a("6780"),Qa=a.n(Xa),es=a("0845"),ts=a.n(es),as=a("2413"),ss=a.n(as),ns={name:"ConfigContainer",data(){return{jsonParser:gt,backupId:localStorage[z["localStorageKeys"].BACKUP_ID]||"",appVersion:"1.7.3",latestVersion:""}},props:{config:Object},computed:{sections:function(){return this.config.sections},yaml(){return this.jsonParser(this.config)}},components:{JsonEditor:Ot,CustomCssEditor:Zt,CloudBackupRestore:Ia,RebuildApp:Va,AppVersion:Ra,DownloadIcon:Fa.a,DeleteIcon:Wa.a,EditIcon:Ja.a,CloudIcon:Qa.a,CustomCssIcon:Za.a,LanguageIcon:ts.a,RebuildIcon:Ea.a,IconAbout:ss.a},methods:{navigateToTab(e){const t=this.$refs.tabView.navItems[e];this.$refs.tabView.activeTabItem(t)},openRebuildAppModal(){this.$modal.show(z["modalNames"].REBUILD_APP)},openAboutModal(){this.$modal.show(z["modalNames"].ABOUT_APP)},openLanguageSwitchModal(){this.$modal.show(z["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=Ue();return e?`${e.flag} ${e.name}`:""}}},os=ns,is=(a("3a5c"),a("1d47"),Object(S["a"])(os,ct,ut,!1,null,"1360f75f",null)),rs=is.exports,ls=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)},cs=[],us={name:"LanguageSwitcher",inject:["config"],components:{Button:Dt,SaveConfigIcon:Ut.a},data(){return{availibleLanguages:$e,language:"",modalName:z["modalNames"].LANG_SWITCHER}},methods:{saveLanguage(){const e=this.language;if(this.checkLocale(e)){localStorage.setItem(z["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)}}},ds=us,ms=(a("570c"),Object(S["a"])(ds,ls,cs,!1,null,"631f0843",null)),ps=ms.exports,_s=a("35c3"),gs=a.n(_s),hs=a("36fa"),fs=a.n(hs),bs=a("5b44"),ks=a.n(bs),vs=a("3b49"),ws=a.n(vs),ys=a("3168"),Ss=a.n(ys),Cs={name:"ConfigLauncher",data(){return{modalNames:z["modalNames"],viewSwitcherOpen:!1}},components:{ConfigContainer:rs,LanguageSwitcher:ps,IconSpanner:gs.a,IconViewMode:fs.a,IconHome:ks.a,IconWorkspaceView:ws.a,IconMinimalView:Ss.a},props:{sections:Array,pageInfo:Object,appConfig:Object},methods:{showEditor:function(){this.$modal.show(z["modalNames"].CONF_EDITOR),this.$emit("modalChanged",!0)},combineConfig(){const e={};return e[z["topLevelConfKeys"].APP_CONFIG]=this.appConfig,e[z["topLevelConfKeys"].PAGE_INFO]=this.pageInfo,e[z["topLevelConfKeys"].SECTIONS]=this.sections,e[z["topLevelConfKeys"].APP_CONFIG].theme=localStorage[z["localStorageKeys"].THEME]||e[z["topLevelConfKeys"].APP_CONFIG].theme,e},tooltip(e){return{content:e,trigger:"hover focus",delay:250}},openChangeViewMenu(){this.viewSwitcherOpen=!this.viewSwitcherOpen},closeViewSwitcher(){this.viewSwitcherOpen=!1}}},Is=Cs,xs=(a("35ec"),Object(S["a"])(Is,rt,lt,!1,null,"5c0fa7fb",null)),Os=xs.exports,Ts=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",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.$t("theme-maker.title"),expression:"$t('theme-maker.title')"}],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)},Es=[];const js=()=>Pe(),As=e=>{z["mainCssVars"].forEach(e=>{document.documentElement.style.removeProperty("--"+e)});const t=De()[e];t&&Object.keys(t).forEach(e=>{document.documentElement.style.setProperty("--"+e,t[e])})},zs=e=>{const t=document.getElementsByTagName("html")[0];t.hasAttribute("data-theme")&&t.removeAttribute("data-theme"),t.setAttribute("data-theme",e)},$s=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])||(ie(`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})}},s={};return{add(t,a){return e(a).then(e=>{s[t]=e})},set theme(e){a(s,e)},get theme(){return Object.keys(s).find(e=>!s[e].disabled)}}};var Ls=a("4400"),Ms=a.n(Ls),Ns={name:"ThemeSelector",props:{externalThemes:Object,confTheme:String,userThemes:Array},components:{CustomThemeMaker:Wt,IconPalette:Ms.a},watch:{selectedTheme(e){this.updateTheme(e)}},data(){return{selectedTheme:this.getInitialTheme(),builtInThemes:[...$.a.builtInThemes,...this.userThemes],themeHelper:new $s,themeConfiguratorOpen:!1,ApplyLocalTheme:zs,ApplyCustomVariables:As}},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[z["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(z["localStorageKeys"].THEME,e)},resetToDefault(){document.getElementsByTagName("html")[0].removeAttribute("data-theme")}}},Vs=Ns,Ps=(a("4ade"),Object(S["a"])(Vs,Ts,Es,!1,null,null,null)),Ds=Ps.exports,Bs=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)])},Us=[],Hs=a("c715"),Rs=a.n(Hs),Ks=a("570d"),Fs=a.n(Ks),qs=a("f9d7"),Ws=a.n(qs),Gs={name:"LayoutSelector",data(){return{input:""}},props:{displayLayout:String},components:{IconDeafault:Rs.a,IconHorizontal:Fs.a,IconVertical:Ws.a},methods:{updateDisplayLayout(e){this.$emit("layoutUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},Js=Gs,Ys=(a("5dbe"),Object(S["a"])(Js,Bs,Us,!1,null,"b3a6111c",null)),Zs=Ys.exports,Xs=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)])},Qs=[],en=a("d8e8"),tn=a.n(en),an=a("7075"),sn=a.n(an),nn=a("922c"),on=a.n(nn),rn={name:"IconSizeSelector",data(){return{input:""}},props:{iconSize:String},components:{IconSmall:tn.a,IconMedium:sn.a,IconLarge:on.a},methods:{updateIconSize(e){this.$emit("iconSizeUpdated",e)},tooltip(e){return{content:e,trigger:"hover focus",delay:250}}}},ln=rn,cn=(a("89e2"),Object(S["a"])(ln,Xs,Qs,!1,null,"1ff45660",null)),un=cn.exports,dn=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("span",{staticClass:"user-type-note"},[e._v(e._s(e.makeText()))]),a("div",{staticClass:"display-options"},[e.userType==e.userStateEnum.loggedIn?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()}}}):e._e(),e.userType==e.userStateEnum.guestAccess?a("IconLogout",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.tooltip(e.$t("settings.sign-in-tooltip")),expression:"tooltip($t('settings.sign-in-tooltip'))"}],staticClass:"layout-icon",attrs:{tabindex:"-2"},on:{click:function(t){return e.goToLogin()}}}):e._e()],1)])},mn=[],pn=a("0123"),_n=a.n(pn),gn={name:"AuthButtons",components:{IconLogout:_n.a},props:{userType:Number},data(){return{userStateEnum:z["userStateEnum"]}},methods:{logout(){be(),this.$toasted.show(this.$t("login.logout-message")),setTimeout(()=>{Cr.push({path:"/login"})},500)},goToLogin(){Cr.push({path:"/login"})},tooltip(e){return{content:e,trigger:"hover focus",delay:250}},makeText(){if(this.userType===z["userStateEnum"].loggedIn){const e=localStorage[z["localStorageKeys"].USERNAME];return this.$t("settings.sign-in-welcome",{username:e})}return this.userType===z["userStateEnum"].guestAccess?this.$t("settings.sign-in-tooltip"):""}}},hn=gn,fn=(a("9d61"),Object(S["a"])(hn,dn,mn,!1,null,"54f0e676",null)),bn=fn.exports,kn=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 ๐Ÿฅณ ")])])])},vn=[],wn={name:"KeyboardShortcutInfo",data(){return{shouldHide:!0,timeDelay:3e3}},methods:{shouldHideWelcomeMessage(){return!!localStorage[z["localStorageKeys"].HIDE_WELCOME_BANNER]},hideWelcomeHelper(){this.shouldHide=!0,localStorage.setItem(z["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))}},yn=wn,Sn=(a("9517"),Object(S["a"])(yn,kn,vn,!1,null,"c5f17d9a",null)),Cn=Sn.exports,In=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)])},xn=[],On={name:"AppInfoModal",components:{AppVersion:Ra},data(){return{modalName:z["modalNames"].ABOUT_APP,appVersion:"1.7.3",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.7.3",BASE_URL:"/"}).VUE_APP_CONFIG_VALID;return void 0===e?"Config validation status is missing":"Config is "+(e?"Valid":"Invalid")},getSwStatus(){const e=sessionStorage[z["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 s=!!navigator.userAgent.match(/iphone|android|blackberry/gi)||!1;return{os:t,browser:a,userAgent:e,isMobile:s}}}},Tn=On,En=(a("d636"),Object(S["a"])(Tn,In,xn,!1,null,"77ccbcae",null)),jn=En.exports,An=a("5703"),zn=a.n(An),$n=a("5f32"),Ln=a.n($n),Mn={name:"SettingsContainer",props:{displayLayout:String,iconSize:String,externalThemes:Object,appConfig:Object,pageInfo:Object,sections:Array,modalOpen:Boolean},components:{SearchBar:it,ConfigLauncher:Os,ThemeSelector:Ds,LayoutSelector:Zs,ItemSizeSelector:un,AuthButtons:bn,KeyboardShortcutInfo:Cn,AppInfoModal:jn,IconOpen:zn.a,IconClose:Ln.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||""},getUserThemes(){const e=this.appConfig.cssThemes||[];return"string"===typeof e?[e]:e},toggleSettingsVisibility(){this.settingsVisible=!this.settingsVisible,localStorage.setItem(z["localStorageKeys"].HIDE_SETTINGS,this.settingsVisible)},getSettingsVisibility(){return JSON.parse(localStorage[z["localStorageKeys"].HIDE_SETTINGS]||(this.visibleComponents||z["visibleComponents"]).settings)}},computed:{userState(){return ye()}},data(){return{settingsVisible:this.getSettingsVisibility(),searchVisible:(this.visibleComponents||z["visibleComponents"]).searchBar}}},Nn=Mn,Vn=(a("2efb"),Object(S["a"])(Nn,Xe,Qe,!1,null,"797ad208",null)),Pn=Vn.exports,Dn=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.sortedItems,(function(t){return a("Item",{key:e.makeId(e.title,t.title),attrs:{id:e.makeId(e.title,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,provider:t.provider,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval(),statusCheckAllowInsecure:t.statusCheckAllowInsecure},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)},Bn=[],Un=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&&"workspace"!==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 no-icon"),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)},Hn=[],Rn=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)))]):"mdi"===e.iconType?a("span",{class:"mdi "+e.icon+" "+e.size}):"si"===e.iconType?a("svg",{class:"simple-icons "+e.size,attrs:{role:"img",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[a("path",{attrs:{d:e.getSimpleIcon(e.icon)}})]):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)},Kn=[],Fn=a("5c3d"),qn=a.n(Fn),Wn=a("9635"),Gn=a.n(Wn),Jn=a("e0a2"),Yn=a.n(Jn),Zn=a("492d"),Xn={name:"Icon",inject:["config"],props:{icon:String,url:String,size:String},components:{BrokenImage:Gn.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=["svg","png","jpg"],s=t.exec(e);return s.length>=1&&a.includes(s[1])},isEmoji(e){return Yn.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(Zn[e])return Zn[e]}else if("unicode"===t)return String.fromCodePoint(parseInt(e.substr(2),16));return e},getFavicon(e,t){if(this.shouldUseDefaultFavicon(e)){const t=e.split("/");if(t.length>=2)return`${t[0]}/${t[1]}/${t[2]}/${z["iconCdns"].faviconName}`}else if(e.includes("http")){const a=this.getHostName(e),s=t||this.config.appConfig.faviconApi||z["faviconApi"],n=z["faviconApiEndpoints"][s];return n.replace("$URL",a)}return""},getCustomFavicon(e,t){const a=t.split("favicon-")[1];if(a){if(Object.keys(z["faviconApiEndpoints"]).includes(a))return this.getFavicon(e,a);ie(`The specified favicon API, '${a}' cannot be found.`)}else ie("Favicon API not specified");this.broken=!0},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`${z["iconCdns"].localPath}/${e}`},getGenerativeIcon(e){return`${z["iconCdns"].generative}/${this.getHostName(e)}.svg`},getSimpleIcon(e){const t=e.replace("si-",""),a=qn.a.Get(t);return a.path},getIconPath(e,t){switch(this.determineImageType(e)){case"url":return e;case"img":return this.getLocalImagePath(e);case"favicon":return this.getFavicon(t);case"custom-favicon":return this.getCustomFavicon(t,e);case"generative":return this.getGenerativeIcon(t);case"mdi":return e;case"simple-icons":return this.getSimpleIcon(e);case"svg":return e;case"emoji":return e;default:return""}},determineImageType(e){let t="";return t=e?this.isUrl(e)?"url":this.isImage(e)?"img":e.includes("fa-")?"font-awesome":e.includes("mdi-")?"mdi":e.includes("si-")?"si":e.includes("favicon-")?"custom-favicon":"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,ie(`The path to '${this.icon}' could not be resolved`)}}},Qn=Xn,eo=(a("de40"),Object(S["a"])(Qn,Rn,Kn,!1,null,null,null)),to=eo.exports,ao=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()])},so=[],no=a("237e"),oo=a.n(no),io=a("2352"),ro=a.n(io),lo=a("1946"),co=a.n(lo),uo={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:oo.a,SameTabOpenIcon:ro.a,IframeOpenIcon:co.a,WorkspaceOpenIcon:ws.a}},mo=uo,po=(a("b5c9"),Object(S["a"])(mo,ao,so,!1,null,"b0684bc4",null)),_o=po.exports,go=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)])])},ho=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("span",[a("span")])}],fo={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)}},bo=fo,ko=(a("fa0b"),a("45d4"),Object(S["a"])(bo,go,ho,!1,null,"2dae74ce",null)),vo=ko.exports,wo=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(e._s(e.$t("menu.sametab")))])],1),a("li",{on:{click:function(t){return e.launch("newtab")}}},[a("NewTabOpenIcon"),a("span",[e._v(e._s(e.$t("menu.newtab")))])],1),a("li",{on:{click:function(t){return e.launch("modal")}}},[a("IframeOpenIcon"),a("span",[e._v(e._s(e.$t("menu.modal")))])],1),a("li",{on:{click:function(t){return e.launch("workspace")}}},[a("WorkspaceOpenIcon"),a("span",[e._v(e._s(e.$t("menu.workspace")))])],1)])]):e._e()])},yo=[],So={name:"ContextMenu",inject:["config"],components:{SameTabOpenIcon:ro.a,NewTabOpenIcon:oo.a,IframeOpenIcon:co.a,WorkspaceOpenIcon:ws.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}}},Co=So,Io=(a("6850"),Object(S["a"])(Co,wo,yo,!1,null,null,null)),xo=Io.exports,Oo={name:"Item",inject:["config"],props:{id:String,title:String,subtitle:String,description:String,icon:String,color:String,backgroundColor:String,url:String,provider: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,statusCheckAllowInsecure:Boolean},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:to,ItemOpenMethodIcon:_o,StatusIndicator:vo,ContextMenu:xo},methods:{itemOpened(e){e.altKey||"modal"===this.target?(e.preventDefault(),this.$emit("triggerModal",this.url)):"workspace"===this.target?Cr.push({name:"workspace",query:{url:this.url}}):this.$emit("itemClicked"),this.config.appConfig.disableSmartSort||(this.incrementMostUsedCount(this.id),this.incrementLastUsedCount(this.id))},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(){if(!this.description&&!this.provider)return{};const e=this.description?this.description:"",t=this.provider?"Provider: "+this.provider:"",a=e&&t?"
":"",s=this.hotkey?`
Press '${this.hotkey}' to launch`:"";return{content:t+a+e+s,trigger:"hover focus",hideOnTargetClick:!0,html:!0,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"'}},makeApiUrl(){const{url:e,statusCheckUrl:t,statusCheckHeaders:a,statusCheckAllowInsecure:s}=this,n=e=>encodeURIComponent(e);this.statusResponse=void 0;const o=Object({NODE_ENV:"production",VUE_APP_VERSION:"1.7.3",BASE_URL:"/"}).VUE_APP_DOMAIN||window.location.origin,i="?&url="+n(t||e),r=a?"&headers="+n(JSON.stringify(a)):"",l=s?"&enableInsecure=true":"";return`${o}/ping/${i}${r}${l}`},checkWebsiteStatus(){const e=this.makeApiUrl();kt.a.get(e).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":Cr.push({name:"workspace",query:{url:t}});break;default:window.open(t,"_blank")}},incrementMostUsedCount(e){const t=JSON.parse(localStorage.getItem(z["localStorageKeys"].MOST_USED)||"{}");let a=t[e]||0;a+=1,t[e]=a,localStorage.setItem(z["localStorageKeys"].MOST_USED,JSON.stringify(t))},incrementLastUsedCount(e){const t=JSON.parse(localStorage.getItem(z["localStorageKeys"].LAST_USED)||"{}");t[e]=(new Date).getTime(),localStorage.setItem(z["localStorageKeys"].LAST_USED,JSON.stringify(t))}},mounted(){this.enableStatusCheck&&this.checkWebsiteStatus(),this.statusCheckInterval>0&&setInterval(this.checkWebsiteStatus,1e3*this.statusCheckInterval)}},To=Oo,Eo=(a("826e"),a("f719"),Object(S["a"])(To,Un,Hn,!1,null,null,null)),jo=Eo.exports,Ao=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)])])},zo=[],$o={name:"CollapsableContainer",props:{uniqueKey:String,title:String,icon:String,collapsed:Boolean,cols:Number,rows:Number,color:String,customStyles:String},components:{Icon:to},methods:{checkSpanNum(e,t){const a=4;let s=/^\d*$/.test(e)?parseInt(e,10):1;return s=s>a?a:s,`${t}-${s}`},sanitizeCustomStyles(e){return e?e.replace(/[^a-zA-Z0-9- :;.]/g,""):""},initialiseStorage(){const e=()=>localStorage.setItem(z["localStorageKeys"].COLLAPSE_STATE,JSON.stringify({}));localStorage[z["localStorageKeys"].COLLAPSE_STATE]||e();try{JSON.parse(localStorage[z["localStorageKeys"].COLLAPSE_STATE])}catch{e()}return JSON.parse(localStorage[z["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[z["localStorageKeys"].COLLAPSE_STATE]);a[e]=t,localStorage.setItem(z["localStorageKeys"].COLLAPSE_STATE,JSON.stringify(a))},collapseChanged(e){this.initialiseStorage(),this.setCollapseState(this.uniqueKey.toString(),e.srcElement.checked)}}},Lo=$o,Mo=(a("eb58"),Object(S["a"])(Lo,Ao,zo,!1,null,"ac1beaa4",null)),No=Mo.exports,Vo=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")])])},Po=[],Do={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)}}},Bo=Do,Uo=(a("eda6"),Object(S["a"])(Bo,Vo,Po,!1,null,null,null)),Ho=Uo.exports,Ro={name:"Section",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean},components:{Collapsable:No,Item:jo,IframeModal:Ho},computed:{sortOrder(){return this.displayData.sortBy||z["sortOrder"]},sortedItems(){let{items:e}=this;return this.config.appConfig.disableSmartSort||("alphabetical"===this.sortOrder?this.sortAlphabetically(e):"reverse-alphabetical"===this.sortOrder?this.sortAlphabetically(e).reverse():"most-used"===this.sortOrder?e=this.sortByMostUsed(e):"last-used"===this.sortOrder?e=this.sortBLastUsed(e):"random"===this.sortOrder?e=this.sortRandomly(e):this.sortOrder&&"default"!==this.sortOrder&&ie(`Unknown Sort order '${this.sortOrder}' under '${this.title}'`)),e},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,t){const a=e.split("").map(e=>e.charCodeAt(0)).reduce((e,t)=>e+t);return`${a}_${t.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},sortAlphabetically(e){return e.sort((e,t)=>e.title>t.title?1:-1)},sortByMostUsed(e){const t=JSON.parse(localStorage.getItem(z["localStorageKeys"].MOST_USED)||"{}"),a=e=>t[this.makeId(this.title,e.title)]||0;return e.reverse().sort((e,t)=>a(e)t[this.makeId(this.title,e.title)]||0;return e.reverse().sort((e,t)=>a(e)({value:e,sort:Math.random()})).sort((e,t)=>e.sort-t.sort).map(({value:e})=>e)}}},Ko=Ro,Fo=(a("2bfa"),Object(S["a"])(Ko,Dn,Bn,!1,null,"d4cb7a0e",null)),qo=Fo.exports;const Wo=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]:""},Go=(e,t)=>{if(!e)return!1;const a=e=>e.toString().toLowerCase().replace(/[^\w\s]/gi,"");return a(e).includes(a(t))},Jo=(e,t)=>e?e.filter(e=>{const{title:a,description:s,provider:n,url:o,tags:i}=e;return Go(a,t)||Go(n,t)||Go(s,t)||Go(i,t)||Go(Wo(o),t)}):[];var Yo=Jo,Zo={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{SettingsContainer:Pn,Section:qo},data:()=>({searchValue:"",layout:"",itemSizeBound:"",modalOpen:!1}),computed:{allSections(){const e=localStorage[z["localStorageKeys"].CONF_SECTIONS];if(e){const t=JSON.parse(e);if(t.length>=1)return t}return this.sections},filteredTiles(){const e=this.allSections;return e.filter(e=>this.filterTiles(e.items,this.searchValue))},layoutOrientation:{get(){return this.appConfig.layout||$.a.layout},set:function(e){localStorage.setItem(z["localStorageKeys"].LAYOUT_ORIENTATION,e),this.layout=e}},iconSize:{get(){return this.appConfig.iconSize||$.a.iconSize},set:function(e){localStorage.setItem(z["localStorageKeys"].ICON_SIZE,e),this.itemSizeBound=e}}},methods:{checkTheresData(e){const t=localStorage[z["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},searching(e){this.searchValue=e||""},finishedSearching(){this.$refs.filterComp.clearFilterInput()},filterTiles(e,t){return Yo(e,t)},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},checkIfIconLibraryNeeded(e){let t=!1;return!!this.allSections&&(this.allSections.forEach(a=>{a.icon&&a.icon.includes(e)&&(t=!0),a.items.forEach(a=>{a.icon&&a.icon.includes(e)&&(t=!0)})}),t)},checkIfFontAwesomeNeeded(){let e=this.checkIfIconLibraryNeeded("fa-");const t=localStorage[z["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",`${z["iconCdns"].fa}/${t}.js`),document.head.appendChild(e)}},checkIfMdiNeeded(){return this.checkIfIconLibraryNeeded("mdi-")},initiateMaterialDesignIcons(){if(this.checkIfMdiNeeded()){const e=document.createElement("link");e.setAttribute("rel","stylesheet"),e.setAttribute("href",z["iconCdns"].mdi),document.head.appendChild(e)}},checkIfResults(){if(this.allSections){let e=!0;return this.allSections.forEach(t=>{this.filterTiles(t.items,this.searchValue).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.initiateMaterialDesignIcons(),this.layout=this.layoutOrientation,this.itemSizeBound=this.iconSize}},Xo=Zo,Qo=(a("71a4"),Object(S["a"])(Xo,Ye,Ze,!1,null,"68c585be",null)),ei=Qo.exports,ti=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"login-page"},[e.isUserAlreadyLoggedIn?a("div",{staticClass:"already-logged-in"},[a("h2",[e._v(e._s(e.$t("login.already-logged-in-title")))]),a("p",{staticClass:"already-logged-in"},[e._v(" "+e._s(e.$t("login.already-logged-in-text"))+" "),a("span",{staticClass:"username"},[e._v(e._s(e.existingUsername))])]),a("Button",{staticClass:"login-button",attrs:{click:e.stayLoggedIn}},[e._v(" "+e._s(e.$t("login.proceed-to-dashboard"))+" ")]),a("Button",{staticClass:"login-button",attrs:{click:e.getOut}},[e._v(e._s(e.$t("login.log-out-button")))]),a("span",{staticClass:"already-logged-in-note"},[e._v(" You need to log out, in order to proceed as a different user. ")]),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):e._e(),!e.isUserAlreadyLoggedIn&&e.isAuthenticationEnabled?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):e._e(),e.isGuestAccessEnabled&&!e.isUserAlreadyLoggedIn&&e.isAuthenticationEnabled?a("form",{staticClass:"guest-form"},[a("h2",{staticClass:"login-title"},[e._v("Guest Access")]),a("Button",{staticClass:"login-button",attrs:{click:e.guestLogin}},[e._v(" "+e._s(e.$t("login.proceed-guest-button"))+" ")]),e._m(0)],1):e._e(),e.isAuthenticationEnabled?e._e():a("div",{staticClass:"not-configured"},[a("h2",[e._v("Error")]),a("p",[e._v("Authentication is not enabled, or no users have been configured")]),a("Button",{staticClass:"login-button",attrs:{click:e.guestLogin}},[e._v(" Go Home ")])],1)])},ai=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("p",{staticClass:"guest-intro"},[e._v(" This instance has guest access enabled."),a("br"),e._v(" Guests have view-only access to dashboards, so cannot write any changes to disk. ")])}],si={name:"login",components:{Button:Dt,Input:oa},props:{appConfig:Object},data(){return{username:"",password:"",message:"",status:"waiting",timeout:void 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")}},existingUsername(){return localStorage[z["localStorageKeys"].USERNAME]},users(){const e=this.appConfig.auth||{};return Array.isArray(e)?e:e.users||[]},isUserAlreadyLoggedIn(){const e=!this.users||0===this.users.length||pe();return e&&this.existingUsername},isGuestAccessEnabled(){return ge()},isAuthenticationEnabled(){return this.appConfig&&this.appConfig.auth&&this.users.length>0}},methods:{submitLogin(){const e=this.timeout?this.timeout.time:0,t=he(this.username,this.password,this.users,this.responseMessages);this.message=t.msg,this.status=t.correct?"success":"error",t.correct&&(fe(this.username,this.password,e),this.goHome())},guestLogin(){const e=this.isGuestAccessEnabled;e?(this.$toasted.show("Logged in as Guest, Redirecting...",{className:"toast-success"}),this.goHome()):this.$toasted.show("Guest access not allowed",{className:"toast-error"})},getOut(){be(),this.status="success",this.message="Logging out...",this.refreshPage()},stayLoggedIn(){this.status="success",this.message="Redirecting...",this.goHome()},refreshPage(){setTimeout(()=>{location.reload()},250)},goHome(){setTimeout(()=>{Cr.push({path:"/"})},250)},setTheme(){const e=localStorage[z["localStorageKeys"].THEME]||$.a.theme;document.getElementsByTagName("html")[0].setAttribute("data-theme",e)}},created(){this.setTheme(),setTimeout(()=>{this.timeout=this.dropDownMenu[0]},1)}},ni=si,oi=(a("206d"),Object(S["a"])(ni,ti,ai,!1,null,null,null)),ii=oi.exports,ri=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}}),e.isMultiTaskingEnabled?a("MultiTaskingWebComtent",{attrs:{url:e.url}}):a("WebContent",{attrs:{url:e.url}})],1)},li=[],ci=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("nav",{staticClass:"side-bar"},[e._l(e.sections,(function(t,s){return a("div",{key:s,staticClass:"side-bar-section"},[a("div",{staticClass:"side-bar-item-container",on:{click:function(t){return e.openSection(s)}}},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.name}})],1),a("transition",{attrs:{name:"slide"}},[e.isOpen[s]?a("SideBarSection",{attrs:{items:t.items},on:{"launch-app":e.launchApp}}):e._e()],1)],1)})),a("div",{staticClass:"switch-view-buttons"},[a("router-link",{attrs:{to:"/home"}},[a("IconHome",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.$t("alternate-views.default"),expression:"$t('alternate-views.default')"}],staticClass:"view-icon"})],1),a("router-link",{attrs:{to:"/minimal"}},[a("IconMinimalView",{directives:[{name:"tooltip",rawName:"v-tooltip",value:e.$t("alternate-views.minimal"),expression:"$t('alternate-views.minimal')"}],staticClass:"view-icon"})],1)],1)],2)},ui=[],di=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)},mi=[],pi={name:"SideBarItem",inject:["config"],props:{icon:String,title:String,url:String,click:Function},components:{Icon:to},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}}}}},_i=pi,gi=(a("3377"),Object(S["a"])(_i,di,mi,!1,null,"a775f970",null)),hi=gi.exports,fi=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,s){return a("div",{key:s},[a("SideBarItem",{staticClass:"item",attrs:{icon:t.icon,title:t.title,url:t.url},on:{"launch-app":e.launchApp}})],1)})),0)},bi=[],ki={name:"SideBarSection",inject:["config"],props:{items:Array},components:{SideBarItem:hi},methods:{launchApp(e){this.$emit("launch-app",e)}}},vi=ki,wi=(a("cf1c"),Object(S["a"])(vi,fi,bi,!1,null,"56ddb963",null)),yi=wi.exports,Si={name:"SideBar",inject:["config"],props:{sections:Array},data(){return{isOpen:new Array(this.sections.length).fill(!1)}},components:{SideBarItem:hi,SideBarSection:yi,IconMinimalView:Ss.a,IconHome:ks.a},methods:{openSection(e){this.isOpen=this.isOpen.map((t,a)=>a===e&&!t)},launchApp(e){this.$emit("launch-app",e)}}},Ci=Si,Ii=(a("31b5"),Object(S["a"])(Ci,ci,ui,!1,null,"030576fc",null)),xi=Ii.exports,Oi=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"web-content",attrs:{id:e.id}},[a("iframe",{attrs:{src:e.url}})])},Ti=[],Ei={name:"WebContent",props:{url:String,id:{type:String,default:"web-app-view"}}},ji=Ei,Ai=(a("21d1"),Object(S["a"])(ji,Oi,Ti,!1,null,"f1f96a0a",null)),zi=Ai.exports,$i=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{ref:"container",staticClass:"multi-taking-view"})},Li=[],Mi={name:"WebContent",props:{url:String},data:()=>({openApps:[]}),watch:{url(){this.launchApp()}},methods:{launchApp(){this.openApps.includes(this.url)?this.openExistingApp():(this.openApps.push(this.url),this.appendNewApp())},appendNewApp(){const e=s["a"].extend(zi),t=new e({propsData:{url:this.url,id:btoa(this.url)}});t.$mount(),this.$refs.container.appendChild(t.$el)},openExistingApp(){Array.from(document.getElementsByClassName("web-content")).forEach(e=>{e.classList.add("hide")}),document.getElementById(btoa(this.url)).classList.remove("hide")}}},Ni=Mi,Vi=(a("7e71"),Object(S["a"])(Ni,$i,Li,!1,null,"2a7b9297",null)),Pi=Vi.exports,Di={name:"Workspace",props:{sections:Array,appConfig:Object},data:()=>({url:"",GetTheme:js,ApplyLocalTheme:zs,ApplyCustomVariables:As}),computed:{isMultiTaskingEnabled(){return this.appConfig.enableMultiTasking||!1}},components:{SideBar:xi,WebContent:zi,MultiTaskingWebComtent:Pi},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()}},Bi=Di,Ui=(a("5983"),Object(S["a"])(Bi,ri,li,!1,null,"0b61868d",null)),Hi=Ui.exports,Ri=function(){var e=this,t=this,a=t.$createElement,s=t._self._c||a;return s("div",{staticClass:"minimal-home",style:t.getBackgroundImage()+t.setColumnCount()},[s("div",{staticClass:"minimal-buttons"},[s("ConfigLauncher",{staticClass:"config-launcher",attrs:{sections:t.sections,pageInfo:t.pageInfo,appConfig:t.appConfig},on:{modalChanged:t.modalChanged}})],1),s("div",{staticClass:"title-and-search"},[s("router-link",{attrs:{to:"/"}},[s("h1",[t._v(t._s(t.pageInfo.title))])]),s("MinimalSearch",{attrs:{active:!t.modalOpen},on:{"user-is-searchin":function(t){e.searchValue=t}}})],1),t.checkTheresData(t.sections)?s("div",{class:"item-group-container "+(t.tabbedView?"":"showing-all")},[t._l(t.getSections(t.sections),(function(e,a){return s("MinimalHeading",{key:"heading-"+a,staticClass:"headings",attrs:{index:a,title:e.name,selected:t.selectedSection===a},on:{sectionSelected:t.sectionSelected}})})),t._l(t.getSections(t.sections),(function(e,a){return s("MinimalSection",{key:"body-"+a,attrs:{index:a,title:e.name,icon:e.icon||void 0,groupId:"section-"+a,items:t.filterTiles(e.items),selected:t.selectedSection===a,showAll:!t.tabbedView,itemSize:"small"},on:{sectionSelected:t.sectionSelected,itemClicked:function(e){return t.finishedSearching()},"change-modal-visibility":t.updateModalVisibility}})})),t.checkIfResults()?s("div",{staticClass:"no-data"},[t._v(" "+t._s(t.searchValue?t.$t("home.no-results"):t.$t("home.no-data"))+" ")]):t._e()],2):s("div",{staticClass:"no-data"},[t._v(" "+t._s(t.$t("home.no-data"))+" ")])])},Ki=[],Fi=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"minimal-section-inner "+(e.selected?"selected":"")+" "+(e.showAll?"show-all":"")},[e.selected||e.showAll?a("div",{staticClass:"section-items"},e._l(e.items,(function(t,s){return a("Item",{key:s+"_"+e.makeId(t.title),attrs:{id:s+"_"+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.itemSize,hotkey:t.hotkey,enableStatusCheck:e.shouldEnableStatusCheck(t.statusCheck),statusCheckInterval:e.getStatusCheckInterval()},on:{itemClicked:function(t){return e.$emit("itemClicked")},triggerModal:e.triggerModal}})})),1):e._e(),a("IframeModal",{ref:"iframeModal-"+e.groupId,attrs:{name:"iframeModal-"+e.groupId},on:{closed:function(t){return e.$emit("itemClicked")},modalChanged:e.modalChanged}})],1)},qi=[],Wi={name:"ItemGroup",inject:["config"],props:{groupId:String,title:String,icon:String,displayData:Object,items:Array,itemSize:String,modalOpen:Boolean,index:Number,selected:Boolean,showAll:Boolean},components:{Item:jo,IframeModal:Ho},methods:{selectSection(e){this.$emit("sectionSelected",e)},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}}},Gi=Wi,Ji=(a("7cd8"),Object(S["a"])(Gi,Fi,qi,!1,null,"b0b51ef0",null)),Yi=Ji.exports,Zi=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{class:"minimal-section-heading "+(e.selected?"selected":""),on:{click:function(t){return e.selectSection(e.index)}}},[a("h3",[e._v(e._s(e.title))])])},Xi=[],Qi={name:"MinimalHeadings",props:{index:Number,title:String,selected:Boolean},methods:{selectSection(e){this.$emit("sectionSelected",e)}}},er=Qi,tr=(a("82a4"),Object(S["a"])(er,Zi,Xi,!1,null,"5f187f16",null)),ar=tr.exports,sr=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("form",{on:{submit:function(t){return t.preventDefault(),e.searchSubmitted.apply(null,arguments)}}},[a("div",{staticClass:"minimal-search-wrap"},[a("input",{directives:[{name:"model",rawName:"v-model",value:e.input,expression:"input"}],ref:"filter",staticClass:"minimal-search",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.webSearchEnabled&&e.input.length>0?a("p",{staticClass:"web-search-note"},[e._v(" "+e._s(e.$t("search.enter-to-search-web"))+" ")]):e._e()]),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()])},nr=[],or={name:"MinimalSearch",inject:["config"],props:{active:Boolean},data(){return{input:"",akn:new at,getCustomKeyShortcuts:Be}},computed:{webSearchEnabled(){const{appConfig:e}=this.config;return!e||!e.webSearch||!e.webSearch.disableWebSearch}},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")})},startFiltering(e){const t=document.activeElement.id,{key:a,keyCode:s}=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):s>=37&&s<=40?this.akn.arrowNavigation(s):27===s&&this.clearFilterInput())},launchWebSearch(e,t){switch(t){case"newtab":window.open(e,"_blank");break;case"sametab":window.open(e,"_self");break;case"workspace":Cr.push({name:"workspace",query:{url:e}});break;default:ie("Unknown opening method: "+t),window.open(e,"_blank")}},searchSubmitted(){const{appConfig:e}=this.config,t=e.webSearch||{};if(this.webSearchEnabled){const e=t.openingMethod||z["defaultSearchOpeningMethod"],a=t.searchEngine||z["defaultSearchEngine"];let s=z["searchEngineUrls"][a];s||ie("Search engine not found - "+a),"custom"===a&&t.customSearchEngine&&(s=t.customSearchEngine),s+=encodeURIComponent(this.input),this.launchWebSearch(s,e)}}},mounted(){window.addEventListener("keydown",this.startFiltering)},beforeDestroy(){window.removeEventListener("keydown",this.startFiltering)}},ir=or,rr=(a("1f66"),Object(S["a"])(ir,sr,nr,!1,null,"9bac3a02",null)),lr=rr.exports,cr={name:"home",props:{sections:Array,appConfig:Object,pageInfo:Object},components:{MinimalSection:Yi,MinimalHeading:ar,MinimalSearch:lr,ConfigLauncher:Os},data:()=>({searchValue:"",layout:"",modalOpen:!1,selectedSection:0,tabbedView:!0,theme:js()}),watch:{searchValue(){this.tabbedView=!(this.searchValue.length>0)}},methods:{sectionSelected(e){this.selectedSection=e},checkTheresData(e){const t=localStorage[z["localStorageKeys"].CONF_SECTIONS];return e&&e.length>=1||t&&t.length>=1},getSections(e){const t=localStorage[z["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?Yo(e,this.searchValue):[]},updateModalVisibility(e){this.modalOpen=e},checkIfFontAwesomeNeeded(){let e=!1;return!!this.sections&&(this.sections.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(e=!0),t.items.forEach(t=>{t.icon&&t.icon.includes("fa-")&&(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},setColumnCount(){return`--col-count: ${this.sections.length};`},getBackgroundImage(){return this.appConfig&&this.appConfig.backgroundImg?`background: url('${this.appConfig.backgroundImg}');background-size:cover;`:""},applyTheme(){this.theme&&(zs(this.theme),As(this.theme))},modalChanged(e){this.modalOpen=e}},mounted(){this.initiateFontAwesome(),this.applyTheme()}},ur=cr,dr=(a("0084"),a("6667"),Object(S["a"])(ur,Ri,Ki,!1,null,"11dadc34",null)),mr=dr.exports,pr=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)))])])},_r=[],gr={name:"DownloadConfig",props:{sections:Array,appConfig:Object,pageInfo:Object},data(){return{config:{appConfig:this.appConfig,pageInfo:this.pageInfo,sections:this.sections},jsonParser:gt}}},hr=gr,fr=(a("6cd5"),Object(S["a"])(hr,pr,_r,!1,null,"33cd2d90",null)),br=fr.exports;s["a"].use(Je["a"]);const kr=()=>{const e=_e(),t=pe(),a=ge();return!e||t||a},vr=()=>Ne.appConfig.startingView||z["startingView"],wr=()=>{const e=vr();switch(e){case"default":return ei;case"minimal":return mr;case"workspace":return Hi;default:return ei}},yr=e=>({title:Ne.pageInfo.title||e,metaTags:z["metaTagData"]}),Sr=new Je["a"]({routes:[{path:"/",name:"landing-page-"+vr(),component:wr(),props:Ne,meta:yr("Home Page")},{path:z["routePaths"].home,name:"home",component:ei,props:Ne,meta:yr("Home Page")},{path:z["routePaths"].workspace,name:"workspace",component:Hi,props:Ne,meta:yr("Workspace")},{path:z["routePaths"].minimal,name:"minimal",component:mr,props:Ne,meta:yr("Start Page")},{path:z["routePaths"].login,name:"login",component:ii,props:{appConfig:Ne.appConfig},beforeEnter:(e,t,a)=>{kr()&&!ge()&&Sr.push({path:"/"}),a()}},{path:z["routePaths"].about,name:"about",component:()=>a.e("about").then(a.bind(null,"f820")),meta:yr("About Dashy")},{path:z["routePaths"].download,name:"download",component:br,props:Ne,meta:yr("Download Config")}]});Sr.beforeEach((e,t,a)=>{"login"===e.name||kr()?a():a({name:"login"})}),Sr.afterEach(e=>{s["a"].nextTick(()=>{document.title=e.meta.title||"Dashy"})});var Cr=Sr,Ir=a("9483");const xr=e=>{const t={ready:!1,registered:!1,cached:!1,updateFound:!1,updated:!1,offline:!1,error:!1,devMode:!1,disabledByUser:!1},a=sessionStorage[z["sessionStorageKeys"].SW_STATUS],s=a?JSON.parse(a):t;try{const t={...s,...e};sessionStorage.setItem(z["sessionStorageKeys"].SW_STATUS,JSON.stringify(t))}catch(n){console.warn("Error setting SW data",n)}},Or=()=>{let e=!0;return X.a&&X.a.appConfig&&X.a.appConfig.disableServiceWorker&&(e=!1,xr({disabledByUser:!0})),e},Tr=()=>{Or()&&Object(Ir["a"])("/service-worker.js",{ready(){xr({ready:!0}),console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){xr({registered:!0}),console.log("Service worker has been registered.")},cached(){xr({cached:!0}),console.log("Content has been cached for offline use.")},updatefound(){xr({updateFound:!0}),console.log("New content is downloading.")},updated(){xr({updated:!0}),console.log("New content is available; please refresh.")},offline(){xr({offline:!0}),console.log("No internet connection found. App is running in offline mode.")},error(e){xr({error:!0}),console.error("Error during service worker registration:",e)}})};var Er=Tr;const jr=[];function Ar(e,t,a){const{target:s}=e;t===s||t.contains(s)||a(e)}var zr={bind(e,t){const a=e;a.dataset.outsideClickIndex=jr.length;const s=t.value,n=e=>{Ar(e,a,s)};document.addEventListener("click",n),document.addEventListener("touchstart",n),jr.push(n)},unbind(e){if(!e.dataset)return;const t=e.dataset.outsideClickIndex,a=jr[t];document.removeEventListener("click",a),jr.splice(t,1)}};const $r=(e,t)=>{const s=(new Q).appConfig()||{};if(s.enableErrorReporting){const n="Dashy@1.7.3",o=a("2075"),{Integrations:i}=a("688d"),r=s.sentryDsn||z["sentryDsn"];o.init({Vue:e,dsn:r,integrations:[new i.BrowserTracing({routingInstrumentation:o.vueRouterInstrumentation(t)})],tracesSampleRate:1,release:n})}};var Lr=$r;s["a"].use(n["a"]),s["a"].use(r["a"]),s["a"].use(c.a),s["a"].use(m["a"]),s["a"].use(_.a,z["toastedOptions"]),s["a"].component("v-select",d.a),s["a"].directive("clickOutside",zr),s["a"].config.productionTip=!1;const Mr=new n["a"]({locale:z["language"],fallbackLocale:z["language"],messages:Me});Er(),Lr(s["a"],Cr);const Nr=e=>e(Ge);if(ce()){const{serverUrl:e,realm:t,clientId:a}=ue(),n={url:e+"/auth",realm:t,clientId:a,onLoad:"login-required"},o=i()(n);o.init({onLoad:n.onLoad}).then(e=>{e?new s["a"]({router:Cr,render:Nr,i18n:Mr}).$mount("#app"):window.location.reload()})}else new s["a"]({router:Cr,render:Nr,i18n:Mr}).$mount("#app")},5703:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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){},5983:function(e,t,a){"use strict";a("ffc8")},"5b44":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;return a("svg",{class:["svg-inline--fa fa-home fa-w-18",i,r],style:[l,c],attrs:Object.assign({"aria-hidden":"true","data-prefix":"far","data-icon":"home",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512"},u),...d},o.concat([a("path",{attrs:{fill:"currentColor",d:"M570.24 247.41L512 199.52V104a8 8 0 00-8-8h-32a8 8 0 00-7.95 7.88v56.22L323.87 45a56.06 56.06 0 00-71.74 0L5.76 247.41a16 16 0 00-2 22.54L14 282.25a16 16 0 0022.53 2L64 261.69V448a32.09 32.09 0 0032 32h128a32.09 32.09 0 0032-32V344h64v104a32.09 32.09 0 0032 32h128a32.07 32.07 0 0032-31.76V261.67l27.53 22.62a16 16 0 0022.53-2L572.29 270a16 16 0 00-2.05-22.59zM463.85 432H368V328a32.09 32.09 0 00-32-32h-96a32.09 32.09 0 00-32 32v104h-96V222.27L288 77.65l176 144.56z"}})]))}}},"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",startingView:"default",iconSize:"medium",layout:"auto",theme:"default",fontAwesomeKey:"0821c65656",faviconApi:"faviconkit",sortOrder:"default",routePaths:{home:"/home",minimal:"/minimal",workspace:"/workspace",about:"/about",login:"/login",download:"/download"},builtInThemes:["callisto","thebe","oblivion","material","material-dark","dracula","colorful","dashy-docs","minimal-dark","minimal-light","nord","nord-frost","cyberpunk","matrix","matrix-red","raspberry-jam","bee","tiger","vaporware","material-original","material-dark-original","high-contrast-dark","high-contrast-light"],visibleComponents:{pageTitle:!0,navigation:!0,searchBar:!0,settings:!0,footer:!0},hideFurnitureOn:["minimal","login","download","landing-page-minimal"],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",MOST_USED:"mostUsed",LAST_USED:"lastUsed"},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"},iconCdns:{fa:"https://kit.fontawesome.com",mdi:"https://cdn.jsdelivr.net/npm/@mdi/font@5.9.55/css/materialdesignicons.min.css",si:"https://unpkg.com/simple-icons@v5/icons",generative:"https://ipsicon.io",localPath:"/item-icons",faviconName:"favicon.ico"},searchEngineUrls:{duckduckgo:"https://duckduckgo.com/?q=",google:"https://google.com/search?q=",whoogle:"https://whoogle.sdf.org/search?q=",qwant:"https://www.qwant.com/?q=",startpage:"https://www.startpage.com/do/search?query=","searx-bar":"https://searx.bar/search?q=","searx-info":"https://searx.info/search?q=","searx-tiekoetter":"https://searx.tiekoetter.com/search?q=","searx-bissisoft":"https://searx.bissisoft.com/search?q=",ecosia:"https://www.ecosia.org/search?q=",metager:"https://metager.org/meta/meta.ger3?eingabe=",swisscows:"https://swisscows.com/web?query=",mojeek:"https://www.mojeek.com/search?q=",peekier:"https://peekier.com/#!",wikipedia:"https://en.wikipedia.org/w/?search=",stackoverflow:"https://stackoverflow.com/search?q=",wolframalpha:"https://www.wolframalpha.com/input/?i=",reddit:"https://www.reddit.com/search/?q=",youtube:"https://youtube.com/results?q=",github:"https://github.com/search?q=",bbc:"https://www.bbc.co.uk/search?q="},defaultSearchEngine:"duckduckgo",defaultSearchOpeningMethod:"newtab",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"]],sentryDsn:"https://3138ea85f15a4fa883a5b27a4dc8ee28@o937511.ingest.sentry.io/5887934",userStateEnum:{notConfigured:0,loggedIn:1,guestAccess:2,notLoggedIn:3},pwa:{name:"Dashy",manifestPath:"./manifest.json",themeColor:"#00af87",msTileColor:"#0b1021",mode:"production",iconPaths:{manifestCrossorigin:"use-credentials",favicon64:"./web-icons/favicon-64x64.png",favicon32:"./web-icons/favicon-32x32.png",maskIcon:"./web-icons/dashy-logo.png",msTileImage:"./web-icons/dashy-logo.png"}}}},"5d8a":function(e,t,a){},"5dbe":function(e,t,a){"use strict";a("fae5")},"5dde":function(e,t,a){},"5f32":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},6264:function(e,t,a){},6266:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})])]))}}},6504:function(e,t,a){},6561:function(e,t,a){},6667:function(e,t,a){"use strict";a("aee6")},6780:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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")},"6cab":function(e,t,a){},"6cd5":function(e,t,a){"use strict";a("6504")},7075:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},"71a4":function(e,t,a){"use strict";a("1a56")},7645:function(e,t,a){},"78d0":function(e,t,a){},"794b":function(e){e.exports=JSON.parse('{"home":{"no-results":"Ni Rezultatov Iskanja","no-data":"Podatki Niso Konfigurirani"},"search":{"search-label":"Iskanje","search-placeholder":"Zaฤnite tipkati za filtrirate","clear-search-tooltip":"Poฤisti iskanje","enter-to-search-web":"Za iskanje po spletu pritisnite enter"},"login":{"title":"Dashy","username-label":"Uporabniลกko ime","password-label":"Geslo","login-button":"Prijava","remember-me-label":"Zapomni si me za","remember-me-never":"Nikoli","remember-me-hour":"4 Ure","remember-me-day":"1 Dan","remember-me-week":"1 Teden","error-missing-username":"Manjka Uporabniลกko Ime","error-missing-password":"Manjka Geslo","error-incorrect-username":"Uporabnik ne obstaja","error-incorrect-password":"Napaฤno Geslo","success-message":"Prijavljanje...","logout-message":"Odjavljen","already-logged-in-title":"ลฝe prijavljeni","already-logged-in-text":"Prijavljeni ste kot","proceed-to-dashboard":"Nadaljujte na nadzorno ploลกฤo","log-out-button":"Odjava","proceed-guest-button":"Nadaljujte kot gost"},"config":{"main-tab":"Glavni Meni","view-config-tab":"Ogled Konfiguracije","edit-config-tab":"Urejanje Konfiguracije","custom-css-tab":"Slogi Po Meri","heading":"Moลพnosti Konfiguracija","download-config-button":"Prenos Konfiguracije","edit-config-button":"Uredi Konfiguracijo","edit-css-button":"Uredi CSS Po Meri","cloud-sync-button":"Omogoฤi Sinhronizacijo v Oblaku","edit-cloud-sync-button":"Ureditev Sinhronizacije v Oblaku","rebuild-app-button":"Obnovi Aplikacijo","change-language-button":"Spremeni Jezik Aplikacije","reset-settings-button":"Ponastavi Lokalne Nastavitve","app-info-button":"Informacije o Aplikaciji","backup-note":"Priporoฤljivo je, da pred spremembami naredite varnostno kopijo konfiguracije.","reset-config-msg-l1":"To bo odstranilo vse uporabniลกke nastavitve iz lokalnega pomnilnika, vendar ne bo vplivalo na datoteko \'conf.yml\'.","reset-config-msg-l2":"ฤŒe ลพeleti spremembe, ki ste jih naredili lokalno uporabiti v prihodnosti, ustvarite varnostno kopijo.","reset-config-msg-l3":"Ali ste prepriฤani, da ลพelite nadaljevati?","data-cleared-msg":"Podatki so bili uspeลกno izbrisani","actions-label":"Dejanja","copy-config-label":"Kopiraj Konfiguracijo","data-copied-msg":"Config je bil kopiran v odloลพiลกฤe","reset-config-label":"Ponastavi Konfiguracijo","css-save-btn":"Shrani spremembe","css-note-label":"Opomba","css-note-l1":"Za uveljavitev sprememb boste morali osveลพiti stran.","css-note-l2":"Preglasitve slogov so shranjene samo lokalno, zato je priporoฤljivo narediti kopijo CSS -ja.","css-note-l3":"ฤŒe ลพelite odstraniti vse sloge po meri, izbriลกite vsebino in pritisnite Shrani spremembe"},"alternate-views":{"default":"Privzeto","workspace":"Delovni prostor","minimal":"Minimalno"},"settings":{"theme-label":"Tema","layout-label":"Postavitev","layout-auto":"Avtomatsko","layout-horizontal":"Vodoravno","layout-vertical":"Vertikalno","item-size-label":"Velikost Predmeta","item-size-small":"Majhno","item-size-medium":"Srednje","item-size-large":"Veliko","config-launcher-label":"Nastavitve","config-launcher-tooltip":"Posodobi Konfiguracijo","sign-out-tooltip":"Odjava","sign-in-tooltip":"Vpiลกi se","sign-in-welcome":"Pozdravljen {username}!"},"updates":{"app-version-note":"Dashy verzija","up-to-date":"Posodobljeno","out-of-date":"Navoljo posodobitev","unsupported-version-l1":"Uporabljate nepodprto razliฤico programa Dashy","unsupported-version-l2":"Za najboljลกo izkuลกnjo in najnovejลกe varnostne popravke posodobite na"},"language-switcher":{"title":"Spremenite Jezik Aplikacije","dropdown-label":"Izberite Jezik","save-button":"Shrani","success-msg":"Jezik Posodobljen na"},"theme-maker":{"title":"Konfigurator Teme","export-button":"Izvozi Spremenljivke po Meri","reset-button":"Ponastavi Sloge za","show-all-button":"Pokaลพi Vse Spremenljivke","save-button":"Shrani","cancel-button":"Prekliฤi","saved-toast":"{theme} Posodbljena Uspeลกno","copied-toast":"Podatki o temi za {theme} so kopirani v odloลพiลกฤe","reset-toast":"Barve po Meri za {theme} Odstranjene"},"config-editor":{"save-location-label":"Naฤin Shranjevanja","location-local-label":"Shrani Lokalno","location-disk-label":"Zapiลกite spremembe v datoteko za konfiguracijo","save-button":"Shrani Spremembe","valid-label":"Konfiguracija je veljavna","status-success-msg":"Operacija dokonฤana","status-fail-msg":"Operacija ni uspela","success-msg-disk":"Konfiguracijska datoteka je uspeลกno zapisana na disk","success-msg-local":"Lokalne spremembe so bile uspeลกno shranjene","success-note-l1":"Aplikacija se bo samodejno obnovila.","success-note-l2":"To lahko traja do ene minute.","success-note-l3":"Za uveljavitev sprememb boste morali osveลพiti stran.","error-msg-save-mode":"Izberite naฤin shranjevanja: Lokalno ali v Datoteko","error-msg-cannot-save":"Pri shranjevanju konfiguracije je priลกlo do napake","error-msg-bad-json":"Napaka v JSON -u, morda nepravilno oblikovana","warning-msg-validation":"Opozorilo o Validaciji","not-admin-note":"Ne morete zapisati spremenjenega na disk, ker niste prijavljeni kot skrbnik"},"app-rebuild":{"title":"Obnovite Aplikacijo","rebuild-note-l1":"Za uveljavitev sprememb, zapisanih v datoteki conf.yml, je potrebna obnovitev.","rebuild-note-l2":"To bi se moralo zgoditi samodejno, ฤe pa se ne, lahko to roฤno sproลพite tukaj.","rebuild-note-l3":"To ni potrebno za spremembe, shranjene lokalno.","rebuild-button":"Zaฤni Graditi","rebuilding-status-1":"Gradnja...","rebuilding-status-2":"To lahko traja nekaj minut","error-permission":"Nimate dovoljenja za izvajanje tega dejanja","success-msg":"Gradnja je bila uspeลกno zakljuฤena","fail-msg":"Operacija izdelave ni uspela","reload-note":"Za uveljavitev sprememb je potrebno osveลพiti stran","reload-button":"Osveลพi Stran"},"cloud-sync":{"title":"Varnostno Kopiranje & Obnovitev v Oblaku","intro-l1":"Varnostno kopiranje in obnovitev v oblaku je izbirna funkcija, ki vam omogoฤa, da svojo konfiguracijo shranite v oblak in jo nato obnovite v kateri koli drugi napravi ali primerku Dashyja.","intro-l2":"Vsi podatki so v celoti ลกifrirani z AES, pri ฤemer je vaลกe geslo kljuฤ.","intro-l3":"Za veฤ informacij si oglejte","backup-title-setup":"Ustvari Varnostno Kopijo","backup-title-update":"Posodobi Varnostno Kopijo","password-label-setup":"Izberi Geslo","password-label-update":"Vnesite Geslo","backup-button-setup":"Varnosto Kopiraj","backup-button-update":"Posodobi Varnostno Kopijo","backup-id-label":"Vaลก Obnovitveni ID","backup-id-note":"To se uporabi za obnovitev iz varnostnih kopij pozneje. Zato ga skupaj z geslom hranite na varnem.","restore-title":"Obnovite Varnostno Kopijo","restore-id-label":"Obnovitveni ID","restore-password-label":"Geslo","restore-button":"Obnovi","backup-missing-password":"Vnesite geslo","backup-error-unknown":"Zahteve ni mogoฤe obdelati","backup-error-password":"Napaฤno geslo. Prosim vnesite vaลกe trenutno geslo.","backup-success-msg":"Uspeลกno Zakljuฤeno","restore-success-msg":"Konfiguracija Uspeลกno Obnovljena"},"menu":{"sametab":"Odpri v Trenutnem Zavihku","newtab":"Odpri v Novem Zavihku","modal":"Odpri v Pojavnem Oknu","workspace":"Odpri v Delovnem Pogledu"}}')},"7cd8":function(e,t,a){"use strict";a("5dde")},"7da9":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},"7e71":function(e,t,a){"use strict";a("d72b")},"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")},"82a4":function(e,t,a){"use strict";a("6561")},"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"},"startingView":{"enum":["default","minimal","workspace"],"default":"default","description":"Which page to load by default, and on the base page or domain root. You can still switch to different views from within the UI"},"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"},"webSearch":{"type":"object","description":"Configure options for web search","additionalProperties":false,"properties":{"disableWebSearch":{"type":"boolean","default":"false","description":"If set to true, web search will be disabled all together"},"searchEngine":{"type":"string","default":"duckduckgo","description":"Set your default search engine. Reference provider by key, see docs for all supported search engines, or set to custom to use your own","examples":["duckduckgo","google","whoogle","qwant","startpage","searx-bar","searx-info","ecosia","metager","wikipedia","wolframalpha","stackoverflow","bbc","custom"]},"customSearchEngine":{"type":"string","description":"Set the URL of a self-hosted or custom search engine, including GET query params. You must also set searchEngine: custom"},"openingMethod":{"enum":["newtab","sametab","modal","workspace"],"default":"newtab","description":"Set where you would like search results to open to"}}},"auth":{"type":"object","description":"Settings for enabling authentication","additionalProperties":false,"properties":{"enableGuestAccess":{"type":"boolean","default":false,"description":"If set to true, an unauthenticated user will be able to have read-only access to dashboard, without needing to login. Requires auth to be configured."},"users":{"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"}}}},"enableKeycloak":{"type":"boolean","default":false,"description":"If set to true, and auth.keycloak is also configured, then Keycloak will be used for app auth"},"keycloak":{"type":"object","description":"Configuration for Keycloak server","additionalProperties":false,"required":["serverUrl","realm","clientId"],"properties":{"serverUrl":{"type":"string","description":"The URL (or URL/ IP + Port) where your keycloak server is running"},"realm":{"type":"string","description":"The name of the realm (must already be created) that you want to use"},"clientId":{"type":"string","description":"The Client ID of the client you created for use with Dashy"}}}}},"enableMultiTasking":{"type":"boolean","default":false,"description":"If set to true, will keep apps opened in the workspace open in the background. Useful for switching between sites, but comes at the cost of performance"},"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"},"disableSmartSort":{"type":"boolean","default":false,"description":"Prevents the app storing local click count, required for the last-used and most-used sort orders"},"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."},"sentryDsn":{"type":"string","description":"The DSN to your self-hosted Sentry server, if you need to collect bug reports. Only used if enableErrorReporting is enabled"}},"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":{"sortBy":{"enum":["default","most-used","last-used","alphabetical","reverse-alphabetical","random"],"default":"default","description":"How to sort items within the section. By default items are displayed in the order in which they are listed in within the config"},"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"},"hideForUsers":{"type":"array","description":"Section will be visible to all users, except for those specified in this list","items":{"type":"string","description":"Username for the user that will not be able to view this section"}},"showForUsers":{"type":"array","description":"Section will be hidden from all users, except for those specified in this list","items":{"type":"string","description":"Username for the user that will have access to this section"}},"hideForGuests":{"type":"boolean","default":false,"description":"If set to true, section will be visible for logged in users, but not for guests"}}},"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"},"tags":{"type":"array","description":"Tags, which can be used for improved search","maxItems":12,"items":{"type":"string"}},"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"},"statusCheckAllowInsecure":{"type":"boolean","default":false,"description":"Allows for running status checks on insecure content/ non-HTTPS apps"}}}}}}}}}')},8796:function(e,t,a){},"89e2":function(e,t,a){"use strict";a("1653")},"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"}]}]}},"8c78":function(e,t,a){},"8d7c":function(e,t,a){},"8e21":function(e,t,a){},9014:function(e,t,a){},"90de":function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},"971b":function(e,t,a){},"97fb":function(e,t,a){},"9c0c":function(e,t,a){},"9d61":function(e,t,a){"use strict";a("f585")},"9e50":function(e,t,a){"use strict";a("3323")},"9e96":function(e,t,a){},"9f61":function(e,t,a){"use strict";a("5d8a")},a57c:function(e,t,a){"use strict";a("971b")},a8d0:function(e,t,a){},a9d3:function(e,t,a){"use strict";a("4ba4")},ade2:function(e,t,a){},aee6:function(e,t,a){},b5c9:function(e,t,a){"use strict";a("7645")},b721:function(e,t,a){},c715:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},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"}}')},cb79:function(e,t,a){},cbd9:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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")},d035:function(e,t,a){},d16d:function(e,t,a){"use strict";a("18dd")},d636:function(e,t,a){"use strict";a("78d0")},d72b:function(e,t,a){},d8e8:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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])/},e316:function(e){e.exports=JSON.parse('{"home":{"no-results":"Aucun rรฉsultat","no-data":"Aucune donnรฉe configurรฉe"},"search":{"search-label":"Recherche","search-placeholder":"Commencez ร  taper pour filtrer","clear-search-tooltip":"Effacer la recherche","enter-to-search-web":"Appuyez sur entrรฉe pour rechercher sur le Web"},"login":{"title":"Dashy","username-label":"Nom d\'utilisateur","password-label":"Mot de passe","login-button":"Connexion","remember-me-label":"Se souvenir de moi","remember-me-never":"Jamais","remember-me-hour":"4 Heures","remember-me-day":"1 Jour","remember-me-week":"1 Semaine","error-missing-username":"Nom d\'utilisateur manquant","error-missing-password":"Mot de passe manquant","error-incorrect-username":"Utilisateur inexistant","error-incorrect-password":"Mot de passe incorrect","success-message":"Connexion ...","logout-message":"Dรฉconnexion","already-logged-in-title":"Dรฉjร  connectรฉ","already-logged-in-text":"Vous รชtes connectรฉ en tant que","proceed-to-dashboard":"Accรฉder au Tableau de bord","log-out-button":"Dรฉconnexion","proceed-guest-button":"Continuer en tant qu\'invitรฉ"},"config":{"main-tab":"Menu principal","view-config-tab":"Afficher la configuration","edit-config-tab":"Modifier la configuration","custom-css-tab":"Styles personnalisรฉs","heading":"Options de Configuration","download-config-button":"Tรฉlรฉcharger la configuration","edit-config-button":"Modifier la configuration","edit-css-button":"Styles personnalisรฉs","cloud-sync-button":"Activer la synchro. dans le cloud","edit-cloud-sync-button":"Modifier la synchro. dans le cloud","rebuild-app-button":"Reconstruire l\'application","change-language-button":"Changer la langue","reset-settings-button":"Rรฉinitialiser les paramรจtres locaux","app-info-button":"Informations sur l\'application","backup-note":"Il est recommandรฉ de faire une sauvegarde de votre configuration avant d\'apporter des modifications.","reset-config-msg-l1":"Cela supprimera tous les paramรจtres utilisateur du stockage local, mais n\'affectera pas votre fichier \'conf.yml\'.","reset-config-msg-l2":"Vous devez d\'abord sauvegarder toutes les modifications locales si vous souhaitez les utiliser ร  l\'avenir.","reset-config-msg-l3":"รŠtes-vous sur de vouloir continuer ?","data-cleared-msg":"Donnรฉes effacรฉes avec succรจs","actions-label":"Actions","copy-config-label":"Copier la configuration","data-copied-msg":"La configuration a รฉtรฉ copiรฉe dans le presse-papiers","reset-config-label":"Rรฉinitialiser la configuration","css-save-btn":"Enregistrer","css-note-label":"Note","css-note-l1":"Vous devrez actualiser la page pour que les modifications prennent effet.","css-note-l2":"Les modifications ne sont stockรฉs que localement, il est donc recommandรฉ de faire une copie de votre CSS.","css-note-l3":"Pour supprimer tous les styles personnalisรฉs, supprimez le contenu et appuyez sur Enregistrer."},"alternate-views":{"alternate-view-heading":"Changer le mode d\'affichage","default":"Dรฉfaut","workspace":"Plein รฉcran","minimal":"Minimale"},"settings":{"theme-label":"Thรจme","layout-label":"Disposition","layout-auto":"Auto","layout-horizontal":"Horizontal","layout-vertical":"Vertical","item-size-label":"Taille","item-size-small":"Petite","item-size-medium":"Moyenne","item-size-large":"Grande","config-launcher-label":"Config.","config-launcher-tooltip":"Modifier la configuration","sign-out-tooltip":"Dรฉconnexion","sign-in-tooltip":"Connexion","sign-in-welcome":"Bonjour {username}!"},"updates":{"app-version-note":"Version de Dashy","up-to-date":"ร€ jour","out-of-date":"Mise ร  jour disponible !","unsupported-version-l1":"Vous utilisez une version non prise en charge de Dashy","unsupported-version-l2":"Pour une meilleure expรฉrience et des correctifs de sรฉcuritรฉ rรฉcents, veuillez mettre ร  jour vers"},"language-switcher":{"title":"Changer la langue","dropdown-label":"Sรฉlectionnez une langue","save-button":"Enregistrer","success-msg":"Langue mise ร  jour vers"},"theme-maker":{"title":"Configurateur de Thรจmes","export-button":"Exporter des variables personnalisรฉes","reset-button":"Rรฉinitialiser les styles pour","show-all-button":"Afficher toutes les variables","save-button":"Enregistrer","cancel-button":"Annuler","saved-toast":"{theme} mis ร  jour avec succรจs","copied-toast":"Donnรฉes du thรจme {theme} copiรฉes dans le presse-papiers","reset-toast":"Couleurs personnalisรฉes pour {theme} supprimรฉes"},"config-editor":{"save-location-label":"Enregistrer localement","location-local-label":"Appliquer localement","location-disk-label":"Appliquer dans le fichier de configuration","save-button":"Enregistrer","valid-label":"La configuration est valide","status-success-msg":"Tรขche terminรฉe","status-fail-msg":"ร‰chec de la tรขche","success-msg-disk":"Le fichier de configuration est รฉcrit avec succรจs sur le disque","success-msg-local":"Les modifications locales ont bien รฉtรฉ enregistrรฉes","success-note-l1":"L\'application devrait se reconstruire automatiquement.","success-note-l2":"Cela peut prendre une minute.","success-note-l3":"Vous devrez actualiser la page pour que les modifications prennent effet.","error-msg-save-mode":"Veuillez sรฉlectionner un mode d\'enregistrement : Local ou Fichier","error-msg-cannot-save":"Une erreur s\'est produite lors de l\'enregistrement de la configuration","error-msg-bad-json":"Erreur dans le fichier JSON, il est peut-รชtre mal formรฉ","warning-msg-validation":"Attention","not-admin-note":"Vous ne pouvez pas รฉcrire les modifications sur le disque, car vous n\'รชtes pas connectรฉ en tant qu\'administrateur"},"app-rebuild":{"title":"Reconstruire l\'application","rebuild-note-l1":"Une reconstruction est requise pour que les modifications รฉcrites dans le fichier conf.yml prennent effet.","rebuild-note-l2":"Cela devrait se produire automatiquement, mais si ce n\'est pas le cas, vous pouvez le dรฉclencher manuellement ici.","rebuild-note-l3":"Ceci n\'est pas nรฉcessaire pour les modifications stockรฉes localement.","rebuild-button":"Dรฉmarrer la reconstruction","rebuilding-status-1":"Reconstruction ...","rebuilding-status-2":"Cela peut prendre quelques minutes","error-permission":"Vous n\'รชtes pas autorisรฉ ร  executer cette action","success-msg":"Construction terminรฉe avec succรจs","fail-msg":"ร‰chec de la construction","reload-note":"Un rechargement de la page est maintenant requis pour que les modifications prennent effet","reload-button":"Rafraรฎchir la page"},"cloud-sync":{"title":"Sauvegarde Cloud & Restauration","intro-l1":"Ce service de sauvegarde et de restauration depuis le cloud est une fonctionnalitรฉ facultative qui vous permet de tรฉlรฉcharger votre configuration sur Internet, puis de la restaurer sur n\'importe quel autre appareil ou instance de Dashy.","intro-l2":"Toutes les donnรฉes sont entiรจrement chiffrรฉes de bout en bout avec le protocole AES, en utilisant votre mot de passe comme clรฉ.","intro-l3":"Pour plus d\'informations, veuillez consulter la","backup-title-setup":"Sauvegarder","backup-title-update":"Mettre ร  jour la sauvegarde","password-label-setup":"Choisissez un mot de passe","password-label-update":"Entrer votre mot de passe","backup-button-setup":"Sauvegarde","backup-button-update":"Mettre ร  jour la sauvegarde","backup-id-label":"Votre identifiant de sauvegarde","backup-id-note":"Il vous sera demandรฉ par la suite pour restaurer ร  partir de votre sauvegarde. Alors gardez-le, avec votre mot de passe dans un endroit sรปr.","restore-title":"Restauration","restore-id-label":"Identifiant de sauvegarde","restore-password-label":"Mot de passe","restore-button":"Restaurer","backup-missing-password":"Mot de passe manquant","backup-error-unknown":"Impossible de traiter la demande","backup-error-password":"Mot de passe incorrect. Veuillez saisir votre mot de passe actuel.","backup-success-msg":"Sauvegarde effectuรฉe avec succรจs","restore-success-msg":"Configuration restaurรฉe avec succรจs"},"menu":{"sametab":"Ouvrir dans l\'onglet actuel","newtab":"Ouvrir dans un nouvel onglet","modal":"Ouvrir en mode fenรชtrรฉ","workspace":"Ouvrir en plein รฉcran"}}')},e6a4:function(e,t){e.exports={functional:!0,render(e,t){const{_c:a,_v:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},eb26:function(e){e.exports=JSON.parse('{"home":{"no-results":"ๆ‰พไธๅˆฐ็ป“ๆžœ","no-data":"ๆฒกๆœ‰้…็ฝฎๆ•ฐๆฎ"},"search":{"search-label":"ๆœ็ดข","search-placeholder":"่พ“ๅ…ฅไปฅ็ญ›้€‰","clear-search-tooltip":"ๆธ…็ฉบๆœ็ดข","enter-to-search-web":"็‚นๅ‡ปๅ›ž่ฝฆๆœ็ดข"},"login":{"title":"Dashy","username-label":"็”จๆˆทๅ","password-label":"ๅฏ†็ ","login-button":"็™ป้™†","remember-me-label":"่ฎฐไฝๅฏ†็ ","remember-me-never":"ๆฐธไธ","remember-me-hour":"4 ๅฐๆ—ถ","remember-me-day":"1 ๅคฉ","remember-me-week":"1 ๅ‘จ","error-missing-username":"็”จๆˆทๅ็ฉบ็ผบ","error-missing-password":"ๅฏ†็ ็ฉบ็ผบ","error-incorrect-username":"็”จๆˆทๅไธๅญ˜ๅœจ","error-incorrect-password":"ๅฏ†็ ไธๅญ˜ๅœจ","success-message":"็™ป้™†ๆˆๅŠŸใ€‚ใ€‚ใ€‚","logout-message":"ๆณจ้”€","already-logged-in-title":"ๅทฒ็ปๆˆๅŠŸ็™ป้™†","already-logged-in-text":"ไฝ ็š„็™ป้™†่บซไปฝ","proceed-to-dashboard":"ๅ‰ๅพ€ไปช่กจๆฟ","log-out-button":"ๆณจ้”€","proceed-guest-button":"ไปฅๆธธๅฎข่บซไปฝๅ‰ๅพ€"},"config":{"main-tab":"ไธป่œๅ•","view-config-tab":"่ง†ๅ›พ่ฎพ็ฝฎ","edit-config-tab":"็ผ–่พ‘่ฎพ็ฝฎ","custom-css-tab":"่‡ชๅฎšไน‰ๆ ทๅผ","heading":"่ฎพ็ฝฎ้€‰้กน","download-config-button":"ไธ‹่ฝฝ้…็ฝฎ","edit-config-button":"็ผ–่พ‘่ฎพ็ฝฎ","edit-css-button":"็ผ–่พ‘่‡ชๅฎšไน‰ CSS","cloud-sync-button":"ๅฏ็”จไบ‘็ซฏๅŒๆญฅ","edit-cloud-sync-button":"็ผ–่พ‘ไบ‘็ซฏๅŒๆญฅ","rebuild-app-button":"้‡ๅปบๅบ”็”จ","change-language-button":"ๆ›ดๆ”น่ฏญ่จ€","reset-settings-button":"ๆขๅคๆœฌๅœฐ่ฎพ็ฝฎ","app-info-button":"ๅบ”็”จ่ฏฆๆƒ…","backup-note":"ๅปบ่ฎฎๅœจ่ฟ›่กŒๆ›ดๆ”นไน‹ๅ‰ๅค‡ไปฝๆ‚จ็š„้…็ฝฎใ€‚","reset-config-msg-l1":"่ฟ™ๅฐ†ไปŽๆœฌๅœฐๅญ˜ๅ‚จไธญๅˆ ้™คๆ‰€ๆœ‰็”จๆˆท่ฎพ็ฝฎ๏ผŒไฝ†ไธไผšๅฝฑๅ“โ€˜conf.ymlโ€™ๆ–‡ไปถใ€‚","reset-config-msg-l2":"ๅฆ‚ๆžœๆƒณๅœจไปฅๅŽไฝฟ็”จๅฎƒไปฌ๏ผŒๅบ”่ฏฅ้ฆ–ๅ…ˆๅค‡ไปฝๆ‚จๆ‰€ๅš็š„ไปปไฝ•ๆ›ดๆ”นใ€‚","reset-config-msg-l3":"็กฎๅฎšๆ‰ง่กŒๅ—๏ผŸ","data-cleared-msg":"ๆˆๅŠŸๆธ…็ฉบๆ•ฐๆฎ","actions-label":"่กŒไธบ","copy-config-label":"ๅคๅˆถ่ฎพ็ฝฎ","data-copied-msg":"่ฎพ็ฝฎๅทฒไฟๅญ˜ๅœจๅ‰ชๅˆ‡ๆฟ","reset-config-label":"้‡็ฝฎ่ฎพ็ฝฎ","css-save-btn":"ไฟๅญ˜ๆ›ดๆ”น","css-note-label":"ๆณจๆ„","css-note-l1":"ๆ‚จ้œ€่ฆๅˆทๆ–ฐ้กต้ขๆ‰่ƒฝไฝฟๆ›ดๆ”น็”Ÿๆ•ˆใ€‚","css-note-l2":"ๆ ทๅผ่ฆ†็›–ไป…ๅญ˜ๅ‚จๅœจๆœฌๅœฐ๏ผŒๅ› ๆญคๅปบ่ฎฎๅคๅˆถๆ‚จ็š„ CSSใ€‚","css-note-l3":"่ฆๅˆ ้™คๆ‰€ๆœ‰่‡ชๅฎšไน‰ๆ ทๅผ๏ผŒ่ฏทๅˆ ้™คๅ†…ๅฎนๅนถ็‚นๅ‡ปไฟๅญ˜ๆ›ดๆ”น"},"alternate-views":{"default":"้ป˜่ฎค","workspace":"ๅทฅไฝœ็ฉบ้—ด","minimal":"ๆœ€ๅฐๅŒ–"},"settings":{"theme-label":"ไธป้ข˜","layout-label":"ๅธƒๅฑ€","layout-auto":"่‡ชๅŠจ","layout-horizontal":"ๆฐดๅนณ","layout-vertical":"ๅž‚็›ด","item-size-label":"ๅฐบๅฏธ","item-size-small":"ๅฐ","item-size-medium":"ไธญ","item-size-large":"ๅคง","config-launcher-label":"่ฎพ็ฝฎ","config-launcher-tooltip":"ๆ›ดๆ–ฐ่ฎพ็ฝฎ","sign-out-tooltip":"ๆณจ้”€","sign-in-tooltip":"็™ป้™†","sign-in-welcome":"ๆ‚จๅฅฝ {username}๏ผ"},"updates":{"app-version-note":"Dashy ็‰ˆๆœฌ","up-to-date":"ๅทฒ็ปๆ˜ฏๆœ€ๆ–ฐ็‰ˆไบ†","out-of-date":"ๅญ˜ๅœจๅฏ็”จๆ›ดๆ–ฐ","unsupported-version-l1":"ๆ‚จไฝฟ็”จ็š„ๆ˜ฏไธๅ—ๆ”ฏๆŒ็š„ Dashy ็‰ˆๆœฌ","unsupported-version-l2":"ไธบ่Žทๅพ—ๆœ€ไฝณไฝ“้ชŒๅ’Œๆœ€่ฟ‘็š„ๅฎ‰ๅ…จ่กฅไธ๏ผŒ่ฏทๆ›ดๆ–ฐ่‡ณ"},"language-switcher":{"title":"ๆ›ดๆ”นๅบ”็”จ่ฏญ่จ€","dropdown-label":"้€‰ๆ‹ฉไธ€ไธช่ฏญ่จ€","save-button":"ไฟๅญ˜","success-msg":"่ฏญ่จ€ๅˆ‡ๆข่‡ณ"},"theme-maker":{"title":"ไธป้ข˜็ผ–่พ‘ๅ™จ","export-button":"ๅฏผๅ‡บ่‡ชๅฎšไน‰ๅ˜้‡","reset-button":"้‡็ฝฎๆ ทๅผ","show-all-button":"ๆ˜พ็คบๆ‰€ๆœ‰ๅ˜้‡","save-button":"ไฟๅญ˜","cancel-button":"ๅ–ๆถˆ","saved-toast":"{theme} ๆ›ดๆ–ฐๆˆๅŠŸ","copied-toast":"{theme} ็š„ไธป้ข˜ๆ•ฐๆฎๅทฒๅคๅˆถๅˆฐๅ‰ชๅˆ‡ๆฟ","reset-toast":"{theme} ็š„่‡ชๅฎšไน‰้ขœ่‰ฒๅทฒ็ป็งป้™ค"},"config-editor":{"save-location-label":"ไฟๅญ˜ไฝ็ฝฎ","location-local-label":"ๆœฌๅœฐไฟๅญ˜","location-disk-label":"ๅฐ†ไฟๅญ˜ๅ†™ๅ…ฅๆ–‡ไปถ","save-button":"ไฟๅญ˜ๅ˜ๆ›ด","valid-label":"่ฎพ็ฝฎๆœ‰ๆ•ˆ","status-success-msg":"ไปปๅŠกๅฎŒๆˆ","status-fail-msg":"ไปปๅŠกๅคฑ่ดฅ","success-msg-disk":"้…็ฝฎๆ–‡ไปถๅ†™ๅ…ฅ็กฌ็›˜ๆˆๅŠŸ","success-msg-local":"ๆœฌๅœฐๅ˜ๆ›ดไฟๅญ˜ๆˆๅŠŸ","success-note-l1":"ๅบ”็”จ้œ€่ฆ่‡ชๅŠจ้‡ๅปบ","success-note-l2":"่ฟ™ๅฐ†ๆŒ็ปญไธ€ๆฎตๆ—ถ้—ด","success-note-l3":"ไฝ ้œ€่ฆๅˆทๆ–ฐ้กต้ขไปฅไฝฟๅ˜ๆ›ด็”Ÿๆ•ˆ","error-msg-save-mode":"่ฏท้€‰ๆ‹ฉไฟๅญ˜ไฝ็ฝฎ๏ผšๆœฌๅœฐๆˆ–่€…ๆ–‡ไปถ","error-msg-cannot-save":"ไฟๅญ˜้…็ฝฎๆ—ถๅ‡บ้”™","error-msg-bad-json":"JSON ้”™่ฏฏ๏ผŒๅฏ่ƒฝๆ ผๅผ้”™่ฏฏ","warning-msg-validation":"้ชŒ่ฏ่ญฆๅ‘Š","not-admin-note":"ๆ‚จไธ่ƒฝๅฐ†ๆ›ดๆ”นๅ†™ๅ…ฅ็ฃ็›˜๏ผŒๅ› ไธบๆ‚จๆฒกๆœ‰ไปฅ็ฎก็†ๅ‘˜่บซไปฝ็™ปๅฝ•"},"app-rebuild":{"title":"้‡ๅปบๅบ”็”จ","rebuild-note-l1":"ๅ†™ๅ…ฅ conf.yml ๆ–‡ไปถ็š„ๆ›ดๆ”น้œ€่ฆ้‡ๅปบๅบ”็”จๆ‰่ƒฝ็”Ÿๆ•ˆใ€‚","rebuild-note-l2":"่ฟ™ๅบ”่ฏฅๆ˜ฏ่‡ชๅŠจ่ฟ่กŒ็š„๏ผŒไฝ†ๅฆ‚ๆžœๆฒกๆœ‰็”Ÿๆ•ˆ๏ผŒๆ‚จๅฏไปฅๅœจๆญคๅค„ๆ‰‹ๅŠจๆ‰ง่กŒใ€‚","rebuild-note-l3":"่ฟ™ๅฏนไบŽๆœฌๅœฐๅญ˜ๅ‚จ็š„ไฟฎๆ”นไธๆ˜ฏๅฟ…้œ€็š„ใ€‚","rebuild-button":"ๅผ€ๅง‹้‡ๅปบ","rebuilding-status-1":"้‡ๅปบไธญ...","rebuilding-status-2":"่ฟ™ๅฐ†ๆŒ็ปญไธ€ๆฎตๆ—ถ้—ด","error-permission":"ๆ‚จๆฒกๆœ‰ๆƒ้™ๆ‰ง่กŒๆญคๆ“ไฝœ","success-msg":"้‡ๅปบๆˆๅŠŸ","fail-msg":"้‡ๅปบๅคฑ่ดฅ","reload-note":"ไฝ ้œ€่ฆๅˆทๆ–ฐ้กต้ขไปฅไฝฟๅ˜ๆ›ด็”Ÿๆ•ˆ","reload-button":"ๅˆทๆ–ฐ้กต้ข"},"cloud-sync":{"title":"ไบ‘ๅค‡ไปฝ & ไบ‘ๆขๅค","intro-l1":"ไบ‘ๅค‡ไปฝๅ’Œไบ‘ๆขๅคๆ˜ฏไธ€้กน่ฏ•้ชŒๆ€งๅŠŸ่ƒฝ๏ผŒๆ‚จๅฐ†้…็ฝฎไธŠไผ ๅˆฐ็ฝ‘็ปœ๏ผŒ็„ถๅŽๅœจๅ…ถไป–่ฎพๅค‡ๆˆ– Dashy ๅฎžไพ‹ไธŠๆขๅคใ€‚","intro-l2":"ๆ‰€ๆœ‰ๆ•ฐๆฎ้ƒฝไฝฟ็”จ AES ็ซฏๅˆฐ็ซฏๅŠ ๅฏ†๏ผŒไฝฟ็”จๆ‚จ็š„ๅฏ†็ ไฝœไธบๅฏ†้’ฅใ€‚","intro-l3":"ๆœ‰ๅ…ณๆ›ดๅคšไฟกๆฏ๏ผŒ่ฏทๅ‚้˜…","backup-title-setup":"ๅˆ›ๅปบๅค‡ไปฝ","backup-title-update":"ๆ›ดๆ–ฐๅค‡ไปฝ","password-label-setup":"้€‰ๆ‹ฉๅฏ†็ ","password-label-update":"่พ“ๅ…ฅๅฏ†็ ","backup-button-setup":"ๅค‡ไปฝ","backup-button-update":"ๆ›ดๆ–ฐๅค‡ไปฝ","backup-id-label":"ไฝ ็š„ๆขๅค ID","backup-id-note":"่ฟ™็”จไบŽไปฅๅŽไปŽๅค‡ไปฝไธญๆขๅคใ€‚ ๆ‰€ไปฅๆŠŠๅฎƒๅ’Œไฝ ็š„ๅฏ†็ ไธ€่ตทๅœจๅฎ‰ๅ…จ็š„ๅœฐๆ–นไฟๅญ˜ใ€‚","restore-title":"ๆขๅคๅค‡ไปฝ","restore-id-label":"ๆขๅค ID","restore-password-label":"ๅฏ†็ ","restore-button":"ๆขๅค","backup-missing-password":"็ผบๅฐ‘ๅฏ†็ ","backup-error-unknown":"ๆ— ๆณ•ๅค„็†่ฏทๆฑ‚","backup-error-password":"ๅฏ†็ ้”™่ฏฏ๏ผŒ่ฏท้‡ๆ–ฐ่พ“ๅ…ฅ","backup-success-msg":"ๅค‡ไปฝๅฎŒๆˆ","restore-success-msg":"ๆขๅคๅฎŒๆˆ"},"menu":{"sametab":"ๅœจๅฝ“ๅ‰้กตๆ‰“ๅผ€","newtab":"ๅœจๆ–ฐๆ ‡็ญพ้กตๆ‰“ๅผ€","modal":"ๅœจๅผนๅ‡บ็ช—ๅฃๆ‰“ๅผ€","workspace":"ๅœจๅทฅไฝœ็ฉบ้—ดๆ‰“ๅผ€"}}')},eb58:function(e,t,a){"use strict";a("9e96")},ec1d:function(e,t,a){"use strict";a("f254")},eda6:function(e,t,a){"use strict";a("1864")},f254:function(e,t,a){},f585:function(e,t,a){},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:s,data:n,children:o=[]}=t,{class:i,staticClass:r,style:l,staticStyle:c,attrs:u={},...d}=n;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"}})]))}}},fa0b:function(e,t,a){"use strict";a("8e21")},fae5:function(e,t,a){},fd60:function(e,t,a){"use strict";a("8796")},ffc8:function(e,t,a){}}); //# sourceMappingURL=dashy.3385d161.js.map