From e38c8421f4a979f135c5357b98ce48c177f2a0cc Mon Sep 17 00:00:00 2001 From: Ann Date: Fri, 4 Apr 2025 15:24:22 +0300 Subject: [PATCH] Dynamic app loading for the homescreen and dock --- ...{index-M6NLxF6S.css => index-DTY-5c6x.css} | 2 +- .../{index-zJphMIID.js => index-IwuFnyur.js} | 2 +- dist/bundle.zip | Bin 39035 -> 40056 bytes dist/error.svg | 65 ++++++++++++++++++ dist/index.html | 4 +- public/error.svg | 65 ++++++++++++++++++ src/App.vue | 13 +++- src/components/AppIcon.vue | 15 ++++ src/components/Search.vue | 1 + 9 files changed, 162 insertions(+), 5 deletions(-) rename dist/assets/{index-M6NLxF6S.css => index-DTY-5c6x.css} (79%) rename dist/assets/{index-zJphMIID.js => index-IwuFnyur.js} (82%) create mode 100644 dist/error.svg create mode 100644 public/error.svg create mode 100644 src/components/Search.vue diff --git a/dist/assets/index-M6NLxF6S.css b/dist/assets/index-DTY-5c6x.css similarity index 79% rename from dist/assets/index-M6NLxF6S.css rename to dist/assets/index-DTY-5c6x.css index f804e33..c93df3c 100644 --- a/dist/assets/index-M6NLxF6S.css +++ b/dist/assets/index-DTY-5c6x.css @@ -1 +1 @@ -body{margin:0;padding:0;background-color:gray}*{box-sizing:border-box}#applist{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-snap-stop:always}#applist-wrapper{width:100%}.applist-page{scroll-snap-align:start;display:grid;grid-template-columns:repeat(4,25%);grid-template-rows:repeat(5,20%);place-items:center;align-items:start;min-width:100vw;max-width:100vw;width:100vw;padding-bottom:25%;padding-top:5%}.applist-page>*:not(.section){width:auto;margin-bottom:5%;display:flex;flex-direction:column;align-items:center}.applist-page:has(.section){display:flex;flex-direction:column;align-items:center;padding:5%;gap:5%}#dock{padding:5%;margin:5%;gap:15px;border-radius:24px;background-color:#00000040;border:1px solid white;display:flex;justify-content:center;position:fixed;bottom:0;left:0;right:0}.section{padding:5%;border-radius:15px;background-color:#00000080;border:1px solid white;width:100%;color:#fff}.ui-button{border:none;border:1px solid white;border-radius:6px;padding:2%;background-color:#00000080;color:#fff;margin:1%}.app-icon[data-v-a45179cd]{display:flex;align-items:center;flex-direction:column;width:max-content;height:max-content}.app-icon .app-icon[data-v-a45179cd]>*:nth-child(n+2){padding-bottom:10px}.app-image[data-v-a45179cd]{width:14vw;height:auto;border-radius:12px}.app-label[data-v-a45179cd]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10pt;color:var(--label-color)}.app-package[data-v-a45179cd]{font-size:1px;color:#0000}img[data-v-27ae4006]{width:15%;height:auto} +body{margin:0;padding:0;background-color:gray}*{box-sizing:border-box}#applist{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-snap-stop:always}#applist-wrapper{width:100%}.applist-page{scroll-snap-align:start;display:grid;grid-template-columns:repeat(4,25%);grid-template-rows:repeat(5,20%);place-items:center;align-items:start;min-width:100vw;max-width:100vw;width:100vw;padding-bottom:25%;padding-top:5%}.applist-page>*:not(.section){width:auto;margin-bottom:5%;display:flex;flex-direction:column;align-items:center}.applist-page:has(.section){display:flex;flex-direction:column;align-items:center;padding:5%;gap:5%}#dock{padding:5%;margin:5%;gap:15px;border-radius:24px;background-color:#00000040;border:1px solid white;display:flex;justify-content:center;position:fixed;bottom:0;left:0;right:0}.section{padding:5%;border-radius:15px;background-color:#00000080;border:1px solid white;width:100%;color:#fff}.ui-button{border:none;border:1px solid white;border-radius:6px;padding:2%;background-color:#00000080;color:#fff;margin:1%}.app-icon[data-v-c4a1272c]{display:flex;align-items:center;flex-direction:column;width:max-content;height:max-content}.app-icon .app-icon[data-v-c4a1272c]>*:nth-child(n+2){padding-bottom:10px}.app-image[data-v-c4a1272c]{width:14vw;height:auto;border-radius:12px}.app-label[data-v-c4a1272c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10pt;color:var(--label-color)}.app-package[data-v-c4a1272c]{font-size:1px;color:#0000}img[data-v-27ae4006]{width:15%;height:auto} diff --git a/dist/assets/index-zJphMIID.js b/dist/assets/index-IwuFnyur.js similarity index 82% rename from dist/assets/index-zJphMIID.js rename to dist/assets/index-IwuFnyur.js index 40e7535..0a61430 100644 --- a/dist/assets/index-zJphMIID.js +++ b/dist/assets/index-IwuFnyur.js @@ -14,4 +14,4 @@ * @vue/runtime-dom v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Rs;const Bn=typeof window<"u"&&window.trustedTypes;if(Bn)try{Rs=Bn.createPolicy("vue",{createHTML:e=>e})}catch{}const Ui=Rs?e=>Rs.createHTML(e):e=>e,zo="http://www.w3.org/2000/svg",Zo="http://www.w3.org/1998/Math/MathML",Re=typeof document<"u"?document:null,En=Re&&Re.createElement("template"),Qo={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Re.createElementNS(zo,e):t==="mathml"?Re.createElementNS(Zo,e):s?Re.createElement(e,{is:s}):Re.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Re.createTextNode(e),createComment:e=>Re.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Re.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{En.innerHTML=Ui(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=En.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},el=Symbol("_vtc");function tl(e,t,s){const n=e[el];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Cn=Symbol("_vod"),sl=Symbol("_vsh"),nl=Symbol(""),il=/(^|;)\s*display\s*:/;function rl(e,t,s){const n=e.style,i=Z(s);let r=!1;if(s&&!i){if(t)if(Z(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Ut(n,l,"")}else for(const o in t)s[o]==null&&Ut(n,o,"");for(const o in s)o==="display"&&(r=!0),Ut(n,o,s[o])}else if(i){if(t!==s){const o=n[nl];o&&(s+=";"+o),n.cssText=s,r=il.test(s)}}else t&&e.removeAttribute("style");Cn in e&&(e[Cn]=r?n.display:"",e[sl]&&(n.display="none"))}const Tn=/\s*!important$/;function Ut(e,t,s){if(W(s))s.forEach(n=>Ut(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ol(e,t);Tn.test(s)?e.setProperty(rt(n),s.replace(Tn,""),"important"):e[n]=s}}const An=["Webkit","Moz","ms"],ms={};function ol(e,t){const s=ms[t];if(s)return s;let n=Ke(t);if(n!=="filter"&&n in e)return ms[t]=n;n=Vn(n);for(let i=0;i_s||(ul.then(()=>_s=0),_s=Date.now());function hl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Fe(pl(n,s.value),t,5,[n])};return s.value=e,s.attached=dl(),s}function pl(e,t){if(W(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?tl(e,n,o):t==="style"?rl(e,s,n):zt(t)?Ds(t)||fl(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ml(e,t,n,o))?(Mn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wn(e,t,n,o,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Z(n))?Mn(e,Ke(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Wn(e,t,n,o))};function ml(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Nn(t)&&P(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Nn(t)&&Z(s)?!1:t in e}const _l=ce({patchProp:gl},Qo);let Rn;function bl(){return Rn||(Rn=mo(_l))}const yl=(...e)=>{const t=bl().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=wl(n);if(!i)return;const r=t._component;!P(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,vl(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function vl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function wl(e){return Z(e)?document.querySelector(e):e}const ji=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},Sl=["src","alt"],xl={key:0,class:"app-label"},Il={key:1,class:"app-package"},Bl={__name:"AppIcon",props:{packageName:{type:String,required:!0},label:{type:String,required:!1,default:"UNSETLABEL"},hideLabel:{type:Boolean,required:!1}},async setup(e){let t,s;const n=e;let i;Bridge.getSystemNightMode()=="yes"?i=!0:i=!1;const r=Bs("");r.value=([t,s]=eo(()=>Bridge.getDefaultAppIconURL(n.packageName)),t=await t,s(),t);const o=Bs("");n.label.length>=12?o.value=`${n.label.slice(0,9).trim()}...`:o.value=n.label;function l(){Bridge.requestLaunchApp(n.packageName)}return(f,h)=>(he(),De("div",{class:"app-icon",onClick:h[0]||(h[0]=u=>l()),style:ts({"--label-color":oi(i)?"#000000":"#ffffff"})},[de("img",{src:r.value,alt:o.value,class:"app-image"},null,8,Sl),n.hideLabel?Ms("",!0):(he(),De("span",xl,ys(o.value),1)),n.hideLabel?Ms("",!0):(he(),De("span",Il,ys(n.packageName),1))],4))}},wt=ji(Bl,[["__scopeId","data-v-a45179cd"]]),El={id:"dock"},Cl={__name:"Dock",setup(e){return(t,s)=>(he(),Yt(Ni,null,{default:Zs(()=>[de("div",El,[te(wt,{packageName:"app.revenge",hideLabel:!0}),te(wt,{packageName:"com.radolyn.ayugram",hideLabel:!0}),te(wt,{packageName:"org.mozilla.fennec_fdroid",hideLabel:!0}),te(wt,{packageName:"org.akanework.gramophone",hideLabel:!0})])]),_:1}))}},Tl="/vite.svg",Al="/vue.svg",Ol="/com.tored.bridgelauncher.png",Wl={class:"section"},Ml={__name:"Settings",setup(e){function t(){console.log("Changed Bridge Button visibility to..."),Bridge.getBridgeButtonVisibility()=="shown"?(Bridge.requestSetBridgeButtonVisibility("hidden"),console.log("hidden")):(Bridge.requestSetBridgeButtonVisibility("shown"),console.log("shown"))}function s(){console.log("Changed draw system wallpapers to..."),Bridge.getDrawSystemWallpaperBehindWebViewEnabled()?(Bridge.requestSetDrawSystemWallpaperBehindWebViewEnabled(!1),document.body.style.backgroundColor="",console.log("false")):(Bridge.requestSetDrawSystemWallpaperBehindWebViewEnabled(!0),console.log("true"),document.body.style.backgroundColor="transparent")}function n(){console.log("Changed overscrolling effect to..."),Bridge.getOverscrollEffects=="default"?(Bridge.requestSetOverscrollEffects("none"),console.log("none")):(Bridge.requestSetOverscrollEffects("default"),console.log("default"))}function i(){Bridge.requestOpenBridgeAppDrawer()}function r(){window.location.reload()}return(o,l)=>(he(),De(ve,null,[de("div",Wl,[de("button",{class:"ui-button",onClick:l[0]||(l[0]=f=>t())},"Toggle Bridge button"),de("button",{class:"ui-button",onClick:l[1]||(l[1]=f=>i())},"Open Bridge App Drawer"),de("button",{class:"ui-button",onClick:l[2]||(l[2]=f=>s())},"Toggle system wallpaper visibility"),de("button",{class:"ui-button",onClick:l[3]||(l[3]=f=>n())},"Toggle overscrolling"),de("button",{class:"ui-button",onClick:l[4]||(l[4]=f=>r())},"Reload"),l[5]||(l[5]=de("br",null,null,-1)),l[6]||(l[6]=de("small",{style:{"font-size":"xx-small"}},"Everything else can be configured through Bridge's Settings",-1))]),l[7]||(l[7]=Lo('
Made with
Bridge
',1))],64))}},Pl=ji(Ml,[["__scopeId","data-v-27ae4006"]]),Fl={id:"applist-wrapper"},Nl={id:"applist"},Rl={key:0,class:"applist-page"},bs=4*6,$l={__name:"App",setup(e){const t=Bs([]);async function s(){const r=await(await fetch(Bridge.getAppsURL())).json();t.value=r.apps.sort((o,l)=>o.label.localeCompare(l.label,void 0,{sensitivity:"base"}))}s();const n=ki(()=>Array(Math.ceil(t.value.length/bs)).fill().map((i,r)=>t.value.slice(r*bs,(r+1)*bs)));return(i,r)=>(he(),De(ve,null,[de("div",Fl,[(he(),Yt(Ni,null,{default:Zs(()=>[de("div",Nl,[(he(!0),De(ve,null,pn(n.value,(o,l)=>(he(),De("div",{class:"applist-page",key:l},[(he(!0),De(ve,null,pn(o,f=>(he(),Yt(wt,{key:f.packageName,packageName:f.packageName,label:f.label},null,8,["packageName","label"]))),128))]))),128)),n.value.length>0?(he(),De("div",Rl,[te(Pl)])):Ms("",!0)])]),_:1}))]),te(Cl)],64))}};function ue(e,t,s,n){return{left:e,top:t,right:s,bottom:n}}function Dl(){return{apiLevel:34,bridgeVersionCode:3,bridgeVersionName:"0.0.3alpha",logRaisedBridgeEvents:!0,projectUrl:"/",appsUrl:"/mock/apps.json",makeGetIconPacksUrl:e=>"/mock/icons/icon-packs.json",makeGetIconPackInfoUrl:(e,t)=>`/mock/icons/${e}/info.json`,makeGetIconPackAppFilterXMLUrl:e=>`/mock/icons/${e}/appfilter.xml`,makeGetAppIconUrl:(e,t)=>`/mock/icons/${t??"default"}/${e}.png`,makeGetDefaultIconUrl:e=>`/mock/icons/default/${e}.png`,makeGetIconPackAppIconUrl:(e,t)=>`/mock/icons/${e}/${t}.png`,makeGetIconPackItemUrl:(e,t)=>`/mock/icons/${e}/${t}.png`,makeGetIconPackDrawableUrl:(e,t)=>`/mock/icons/${e}/${t}.png`,logWallpaperEvents:!0,logWallpaperScrolling:!1,initialBridgeButtonVisibility:"hidden",initialDrawSystemWallpaperBehindWebViewEnabled:!0,initialOverscrollEffects:"none",canRequestSystemNightMode:!0,initialSystemNightMode:"auto",initialBridgeTheme:"system",initialCanLockScreen:!1,initialStatusBarAppearance:"hide",initialNavigationBarAppearance:"hide",statusBarHeight:24,navigationBarHeight:48,captionBarWindowInsets:ue(0,0,0,0),captionBarIgnoringVisibilityWindowInsets:ue(0,0,0,0),imeWindowInsets:ue(0,0,0,0),imeAnimationSourceWindowInsets:ue(0,0,0,0),imeAnimationTargetWindowInsets:ue(0,0,0,0),tappableElementWindowInsets:ue(0,0,0,0),tappableElementIgnoringVisibilityWindowInsets:ue(0,0,0,0),systemGesturesWindowInsets:ue(0,0,0,0),mandatorySystemGesturesWindowInsets:ue(0,0,0,0),displayCutoutWindowInsets:ue(0,0,0,0),waterfallWindowInsets:ue(0,0,0,0),displayCutoutPath:null,displayShapePath:null}}var Ll=class{constructor(e){this._prefix="[BridgeMock]",this.lastErrorMessage=null,this.wallpaperOffsetStepsX=1,this.wallpaperOffsetStepsY=1,this.wallpaperOffsetX=0,this.wallpaperOffsetY=0,this.config=e??Dl(),this.bridgeButtonVisibility=this.config.initialBridgeButtonVisibility,this.drawSystemWallpaperBehindWebViewEnabled=this.config.initialDrawSystemWallpaperBehindWebViewEnabled,this.overscrollEffects=this.config.initialOverscrollEffects,this.systemNightMode=this.config.initialSystemNightMode,this.bridgeTheme=this.config.initialBridgeTheme,this.statusBarAppearance=this.config.initialStatusBarAppearance,this.navigationBarAppearance=this.config.initialNavigationBarAppearance,this.canLockScreen=this.config.initialCanLockScreen}getAndroidAPILevel(){return this.config.apiLevel}getBridgeVersionCode(){return this.config.bridgeVersionCode}getBridgeVersionName(){return this.config.bridgeVersionName}getLastErrorMessage(){return this.lastErrorMessage}getProjectURL(){return this.config.projectUrl}getAppsURL(){return this.config.appsUrl}requestAppUninstall(e,t){return alert(`${this._prefix} requestAppUninstall: ${e}`),this.raiseBridgeEvent({name:"appRemoved",packageName:e}),!0}requestOpenAppInfo(e,t){return alert(`${this._prefix} requestOpenAppInfo: ${e}`),!0}requestLaunchApp(e,t){return alert(`${this._prefix} Requested launch ${e}`),!0}getDefaultAppIconURL(e){return this.config.makeGetDefaultIconUrl(e)}_padNum(e){const t=e.toFixed(4);return`${" ".repeat(Math.max(0,6-t.length))}${t}`}setWallpaperOffsetSteps(e,t){this.wallpaperOffsetStepsX=e,this.wallpaperOffsetStepsY=t,this.config.logWallpaperEvents&&console.log(`${this._prefix} setWallpaperOffsetSteps: x = ${this._padNum(e)} y = ${t} (pages: x = ${Math.round(1/e)-1}, y = ${Math.round(1/t)-1})`)}setWallpaperOffsets(e,t){this.wallpaperOffsetX=e,this.wallpaperOffsetY=t,this.config.logWallpaperScrolling&&console.log(`${this._prefix} setWallpaperOffsets: x = ${this._padNum(e)} y = ${this._padNum(t)} (pages: x = ${this._padNum(e/this.wallpaperOffsetStepsX)} y = ${this._padNum(t/this.wallpaperOffsetStepsY)})`)}sendWallpaperTap(e,t,s=0){this.config.logWallpaperEvents&&console.log(`${this._prefix} sendWallpaperTap: x = ${e}, y = ${t}`)}requestChangeSystemWallpaper(e){return alert(`${this._prefix} requestChangeSystemWallpaper`),!0}getBridgeButtonVisibility(){return this.bridgeButtonVisibility}requestSetBridgeButtonVisibility(e,t){return this.bridgeButtonVisibility=e,this.raiseBridgeEvent({name:"bridgeButtonVisibilityChanged",newValue:e}),!0}getDrawSystemWallpaperBehindWebViewEnabled(){return this.drawSystemWallpaperBehindWebViewEnabled}requestSetDrawSystemWallpaperBehindWebViewEnabled(e,t){return this.drawSystemWallpaperBehindWebViewEnabled=e,this.raiseBridgeEvent({name:"drawSystemWallpaperBehindWebViewChanged",newValue:e}),!0}getOverscrollEffects(){return this.overscrollEffects}requestSetOverscrollEffects(e,t){return this.overscrollEffects=e,this.raiseBridgeEvent({name:"overscrollEffectsChanged",newValue:e}),!0}getSystemNightMode(){return this.systemNightMode}resolveIsSystemInDarkTheme(){return this.systemNightMode==="yes"||this.systemNightMode!=="no"&&matchMedia("(prefers-color-scheme: dark)").matches}getCanRequestSystemNightMode(){return this.config.canRequestSystemNightMode}requestSetSystemNightMode(e,t){return this.systemNightMode=e,this.raiseBridgeEvent({name:"systemNightModeChanged",newValue:e}),!0}getBridgeTheme(){return this.bridgeTheme}requestSetBridgeTheme(e,t){return this.bridgeTheme=e,this.raiseBridgeEvent({name:"bridgeThemeChanged",newValue:e}),!0}getStatusBarAppearance(){return this.statusBarAppearance}requestSetStatusBarAppearance(e,t){return this.statusBarAppearance=e,this.raiseBridgeEvent({name:"statusBarAppearanceChanged",newValue:e}),this.raiseBridgeEvent({name:"statusBarsWindowInsetsChanged",newValue:this._getStatusBarsWindowInsets()}),this.raiseBridgeEvent({name:"systemBarsWindowInsetsChanged",newValue:this._getSystemBarsWindowInsets()}),!0}getNavigationBarAppearance(){return this.navigationBarAppearance}requestSetNavigationBarAppearance(e,t){return this.navigationBarAppearance=e,this.raiseBridgeEvent({name:"navigationBarAppearanceChanged",newValue:e}),this.raiseBridgeEvent({name:"navigationBarsWindowInsetsChanged",newValue:this._getNavigationBarsWindowInsets()}),this.raiseBridgeEvent({name:"systemBarsWindowInsetsChanged",newValue:this._getSystemBarsWindowInsets()}),!0}getCanLockScreen(){return this.canLockScreen}requestLockScreen(e){return alert(`${this._prefix} requestLockScreen`),!0}requestOpenBridgeSettings(e){return alert(`${this._prefix} requestOpenBridgeSettings`),!0}requestOpenBridgeAppDrawer(e){return alert(`${this._prefix} requestOpenBridgeAppDrawer`),!0}requestOpenDeveloperConsole(e){return alert(`${this._prefix} requestOpenDeveloperConsole`),!0}requestExpandNotificationShade(e){return alert(`${this._prefix} requestExpandNotificationShade`),!0}requestOpenAndroidSettings(e){return alert(`${this._prefix} requestOpenAndroidSettings`),!0}showToast(e,t){console.log(`${this._prefix} showToast: ${t?"long":"short"}, message: ${e}`)}_getStatusBarsWindowInsets(){return ue(0,this.statusBarAppearance==="hide"?0:this.config.statusBarHeight,0,0)}getStatusBarsWindowInsets(){return this.windowInsetsString(this._getStatusBarsWindowInsets())}getStatusBarsIgnoringVisibilityWindowInsets(){return this.windowInsetsString(0,this.config.statusBarHeight,0,0)}_getNavigationBarsWindowInsets(){return ue(0,0,0,this.navigationBarAppearance==="hide"?0:this.config.navigationBarHeight)}getNavigationBarsWindowInsets(){return this.windowInsetsString(this._getNavigationBarsWindowInsets())}getNavigationBarsIgnoringVisibilityWindowInsets(){return this.windowInsetsString(0,0,0,this.config.navigationBarHeight)}getCaptionBarWindowInsets(){return this.windowInsetsString(this.config.captionBarWindowInsets)}getCaptionBarIgnoringVisibilityWindowInsets(){return this.windowInsetsString(this.config.captionBarIgnoringVisibilityWindowInsets)}_getSystemBarsWindowInsets(){return ue(0,this.statusBarAppearance==="hide"?0:this.config.statusBarHeight,0,this.navigationBarAppearance==="hide"?0:this.config.navigationBarHeight)}getSystemBarsWindowInsets(){return this.windowInsetsString(this._getSystemBarsWindowInsets())}getSystemBarsIgnoringVisibilityWindowInsets(){return this.windowInsetsString(0,this.config.statusBarHeight,0,this.config.navigationBarHeight)}getImeWindowInsets(){return this.windowInsetsString(this.config.imeWindowInsets)}getImeAnimationSourceWindowInsets(){return this.windowInsetsString(this.config.imeAnimationSourceWindowInsets)}getImeAnimationTargetWindowInsets(){return this.windowInsetsString(this.config.imeAnimationTargetWindowInsets)}getTappableElementWindowInsets(){return this.windowInsetsString(this.config.tappableElementWindowInsets)}getTappableElementIgnoringVisibilityWindowInsets(){return this.windowInsetsString(this.config.tappableElementIgnoringVisibilityWindowInsets)}getSystemGesturesWindowInsets(){return this.windowInsetsString(this.config.systemGesturesWindowInsets)}getMandatorySystemGesturesWindowInsets(){return this.windowInsetsString(this.config.mandatorySystemGesturesWindowInsets)}getDisplayCutoutWindowInsets(){return this.windowInsetsString(this.config.displayCutoutWindowInsets)}getWaterfallWindowInsets(){return this.windowInsetsString(this.config.waterfallWindowInsets)}getDisplayCutoutPath(){return this.config.displayCutoutPath}getDisplayShapePath(){return this.config.displayShapePath}windowInsetsString(e,t,s,n){return JSON.stringify(typeof e=="object"?e:{left:e,top:t,right:s,bottom:n})}raiseBridgeEvent(e){this.config.logRaisedBridgeEvents&&console.log("[BridgeMock] raiseBridgeEvent:",e),typeof onBridgeEvent=="function"&&onBridgeEvent(e)}};window.Bridge||(window.Bridge=new Ll({appsUrl:"/mock/apps.json",makeGetDefaultIconUrl:e=>`/mock/icons/default/${e}.png`}));Bridge.requestSetBridgeTheme("system");yl($l).mount("#app"); +**/let Rs;const Bn=typeof window<"u"&&window.trustedTypes;if(Bn)try{Rs=Bn.createPolicy("vue",{createHTML:e=>e})}catch{}const Ui=Rs?e=>Rs.createHTML(e):e=>e,zo="http://www.w3.org/2000/svg",Zo="http://www.w3.org/1998/Math/MathML",Re=typeof document<"u"?document:null,En=Re&&Re.createElement("template"),Qo={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Re.createElementNS(zo,e):t==="mathml"?Re.createElementNS(Zo,e):s?Re.createElement(e,{is:s}):Re.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Re.createTextNode(e),createComment:e=>Re.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Re.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{En.innerHTML=Ui(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=En.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},el=Symbol("_vtc");function tl(e,t,s){const n=e[el];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Cn=Symbol("_vod"),sl=Symbol("_vsh"),nl=Symbol(""),il=/(^|;)\s*display\s*:/;function rl(e,t,s){const n=e.style,i=Z(s);let r=!1;if(s&&!i){if(t)if(Z(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Ut(n,l,"")}else for(const o in t)s[o]==null&&Ut(n,o,"");for(const o in s)o==="display"&&(r=!0),Ut(n,o,s[o])}else if(i){if(t!==s){const o=n[nl];o&&(s+=";"+o),n.cssText=s,r=il.test(s)}}else t&&e.removeAttribute("style");Cn in e&&(e[Cn]=r?n.display:"",e[sl]&&(n.display="none"))}const Tn=/\s*!important$/;function Ut(e,t,s){if(W(s))s.forEach(n=>Ut(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ol(e,t);Tn.test(s)?e.setProperty(rt(n),s.replace(Tn,""),"important"):e[n]=s}}const An=["Webkit","Moz","ms"],ms={};function ol(e,t){const s=ms[t];if(s)return s;let n=Ke(t);if(n!=="filter"&&n in e)return ms[t]=n;n=Vn(n);for(let i=0;i_s||(ul.then(()=>_s=0),_s=Date.now());function hl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Fe(pl(n,s.value),t,5,[n])};return s.value=e,s.attached=dl(),s}function pl(e,t){if(W(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?tl(e,n,o):t==="style"?rl(e,s,n):zt(t)?Ds(t)||fl(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ml(e,t,n,o))?(Mn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wn(e,t,n,o,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Z(n))?Mn(e,Ke(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Wn(e,t,n,o))};function ml(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Nn(t)&&P(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Nn(t)&&Z(s)?!1:t in e}const _l=ce({patchProp:gl},Qo);let Rn;function bl(){return Rn||(Rn=mo(_l))}const yl=(...e)=>{const t=bl().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=wl(n);if(!i)return;const r=t._component;!P(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,vl(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function vl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function wl(e){return Z(e)?document.querySelector(e):e}const ji=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},Sl=["src","alt"],xl={key:0,class:"app-label"},Il={key:1,class:"app-package"},Bl={__name:"AppIcon",props:{packageName:{type:String,required:!0},label:{type:String,required:!1,default:"UNSETLABEL"},hideLabel:{type:Boolean,required:!1}},async setup(e){let t,s;const n=e;let i;Bridge.getSystemNightMode()=="yes"?i=!0:i=!1;const r=Bs("");r.value=([t,s]=eo(()=>Bridge.getDefaultAppIconURL(n.packageName)),t=await t,s(),t);const o=Bs("");n.label.length>=12?o.value=`${n.label.slice(0,9).trim()}...`:o.value=n.label;function l(){Bridge.requestLaunchApp(n.packageName)}async function f(){const h=await Bridge.getDefaultAppIconURL(n.packageName),u=new Image;u.src=h,u.onload=()=>{r.value=h},u.onerror=()=>{r.value!="/error.svg"&&(r.value="/error.svg"),setTimeout(f,100)}}return f(),(h,u)=>(he(),De("div",{class:"app-icon",onClick:u[0]||(u[0]=d=>l()),style:ts({"--label-color":oi(i)?"#000000":"#ffffff"})},[de("img",{src:r.value,alt:o.value,class:"app-image"},null,8,Sl),n.hideLabel?Ms("",!0):(he(),De("span",xl,ys(o.value),1)),n.hideLabel?Ms("",!0):(he(),De("span",Il,ys(n.packageName),1))],4))}},wt=ji(Bl,[["__scopeId","data-v-c4a1272c"]]),El={id:"dock"},Cl={__name:"Dock",setup(e){return(t,s)=>(he(),Yt(Ni,null,{default:Zs(()=>[de("div",El,[te(wt,{packageName:"app.revenge",hideLabel:!0}),te(wt,{packageName:"com.radolyn.ayugram",hideLabel:!0}),te(wt,{packageName:"org.mozilla.fennec_fdroid",hideLabel:!0}),te(wt,{packageName:"org.akanework.gramophone",hideLabel:!0})])]),_:1}))}},Tl="/vite.svg",Al="/vue.svg",Ol="/com.tored.bridgelauncher.png",Wl={class:"section"},Ml={__name:"Settings",setup(e){function t(){console.log("Changed Bridge Button visibility to..."),Bridge.getBridgeButtonVisibility()=="shown"?(Bridge.requestSetBridgeButtonVisibility("hidden"),console.log("hidden")):(Bridge.requestSetBridgeButtonVisibility("shown"),console.log("shown"))}function s(){console.log("Changed draw system wallpapers to..."),Bridge.getDrawSystemWallpaperBehindWebViewEnabled()?(Bridge.requestSetDrawSystemWallpaperBehindWebViewEnabled(!1),document.body.style.backgroundColor="",console.log("false")):(Bridge.requestSetDrawSystemWallpaperBehindWebViewEnabled(!0),console.log("true"),document.body.style.backgroundColor="transparent")}function n(){console.log("Changed overscrolling effect to..."),Bridge.getOverscrollEffects=="default"?(Bridge.requestSetOverscrollEffects("none"),console.log("none")):(Bridge.requestSetOverscrollEffects("default"),console.log("default"))}function i(){Bridge.requestOpenBridgeAppDrawer()}function r(){window.location.reload()}return(o,l)=>(he(),De(ve,null,[de("div",Wl,[de("button",{class:"ui-button",onClick:l[0]||(l[0]=f=>t())},"Toggle Bridge button"),de("button",{class:"ui-button",onClick:l[1]||(l[1]=f=>i())},"Open Bridge App Drawer"),de("button",{class:"ui-button",onClick:l[2]||(l[2]=f=>s())},"Toggle system wallpaper visibility"),de("button",{class:"ui-button",onClick:l[3]||(l[3]=f=>n())},"Toggle overscrolling"),de("button",{class:"ui-button",onClick:l[4]||(l[4]=f=>r())},"Reload"),l[5]||(l[5]=de("br",null,null,-1)),l[6]||(l[6]=de("small",{style:{"font-size":"xx-small"}},"Everything else can be configured through Bridge's Settings",-1))]),l[7]||(l[7]=Lo('
Made with
Bridge
',1))],64))}},Pl=ji(Ml,[["__scopeId","data-v-27ae4006"]]),Fl={id:"applist-wrapper"},Nl={id:"applist"},Rl={key:0,class:"applist-page"},bs=4*6,$l={__name:"App",setup(e){const t=Bs([]);async function s(){const l=await(await fetch(Bridge.getAppsURL())).json();t.value=l.apps.sort((f,h)=>f.label.localeCompare(h.label,void 0,{sensitivity:"base"}))}s();let n=0;function i(){const o=performance.now();o-n>=100&&(s(),n=o),requestAnimationFrame(i)}i();const r=ki(()=>Array(Math.ceil(t.value.length/bs)).fill().map((o,l)=>t.value.slice(l*bs,(l+1)*bs)));return(o,l)=>(he(),De(ve,null,[de("div",Fl,[(he(),Yt(Ni,null,{default:Zs(()=>[de("div",Nl,[(he(!0),De(ve,null,pn(r.value,(f,h)=>(he(),De("div",{class:"applist-page",key:h},[(he(!0),De(ve,null,pn(f,u=>(he(),Yt(wt,{key:u.packageName,packageName:u.packageName,label:u.label},null,8,["packageName","label"]))),128))]))),128)),r.value.length>0?(he(),De("div",Rl,[te(Pl)])):Ms("",!0)])]),_:1}))]),te(Cl)],64))}};function ue(e,t,s,n){return{left:e,top:t,right:s,bottom:n}}function Dl(){return{apiLevel:34,bridgeVersionCode:3,bridgeVersionName:"0.0.3alpha",logRaisedBridgeEvents:!0,projectUrl:"/",appsUrl:"/mock/apps.json",makeGetIconPacksUrl:e=>"/mock/icons/icon-packs.json",makeGetIconPackInfoUrl:(e,t)=>`/mock/icons/${e}/info.json`,makeGetIconPackAppFilterXMLUrl:e=>`/mock/icons/${e}/appfilter.xml`,makeGetAppIconUrl:(e,t)=>`/mock/icons/${t??"default"}/${e}.png`,makeGetDefaultIconUrl:e=>`/mock/icons/default/${e}.png`,makeGetIconPackAppIconUrl:(e,t)=>`/mock/icons/${e}/${t}.png`,makeGetIconPackItemUrl:(e,t)=>`/mock/icons/${e}/${t}.png`,makeGetIconPackDrawableUrl:(e,t)=>`/mock/icons/${e}/${t}.png`,logWallpaperEvents:!0,logWallpaperScrolling:!1,initialBridgeButtonVisibility:"hidden",initialDrawSystemWallpaperBehindWebViewEnabled:!0,initialOverscrollEffects:"none",canRequestSystemNightMode:!0,initialSystemNightMode:"auto",initialBridgeTheme:"system",initialCanLockScreen:!1,initialStatusBarAppearance:"hide",initialNavigationBarAppearance:"hide",statusBarHeight:24,navigationBarHeight:48,captionBarWindowInsets:ue(0,0,0,0),captionBarIgnoringVisibilityWindowInsets:ue(0,0,0,0),imeWindowInsets:ue(0,0,0,0),imeAnimationSourceWindowInsets:ue(0,0,0,0),imeAnimationTargetWindowInsets:ue(0,0,0,0),tappableElementWindowInsets:ue(0,0,0,0),tappableElementIgnoringVisibilityWindowInsets:ue(0,0,0,0),systemGesturesWindowInsets:ue(0,0,0,0),mandatorySystemGesturesWindowInsets:ue(0,0,0,0),displayCutoutWindowInsets:ue(0,0,0,0),waterfallWindowInsets:ue(0,0,0,0),displayCutoutPath:null,displayShapePath:null}}var Ll=class{constructor(e){this._prefix="[BridgeMock]",this.lastErrorMessage=null,this.wallpaperOffsetStepsX=1,this.wallpaperOffsetStepsY=1,this.wallpaperOffsetX=0,this.wallpaperOffsetY=0,this.config=e??Dl(),this.bridgeButtonVisibility=this.config.initialBridgeButtonVisibility,this.drawSystemWallpaperBehindWebViewEnabled=this.config.initialDrawSystemWallpaperBehindWebViewEnabled,this.overscrollEffects=this.config.initialOverscrollEffects,this.systemNightMode=this.config.initialSystemNightMode,this.bridgeTheme=this.config.initialBridgeTheme,this.statusBarAppearance=this.config.initialStatusBarAppearance,this.navigationBarAppearance=this.config.initialNavigationBarAppearance,this.canLockScreen=this.config.initialCanLockScreen}getAndroidAPILevel(){return this.config.apiLevel}getBridgeVersionCode(){return this.config.bridgeVersionCode}getBridgeVersionName(){return this.config.bridgeVersionName}getLastErrorMessage(){return this.lastErrorMessage}getProjectURL(){return this.config.projectUrl}getAppsURL(){return this.config.appsUrl}requestAppUninstall(e,t){return alert(`${this._prefix} requestAppUninstall: ${e}`),this.raiseBridgeEvent({name:"appRemoved",packageName:e}),!0}requestOpenAppInfo(e,t){return alert(`${this._prefix} requestOpenAppInfo: ${e}`),!0}requestLaunchApp(e,t){return alert(`${this._prefix} Requested launch ${e}`),!0}getDefaultAppIconURL(e){return this.config.makeGetDefaultIconUrl(e)}_padNum(e){const t=e.toFixed(4);return`${" ".repeat(Math.max(0,6-t.length))}${t}`}setWallpaperOffsetSteps(e,t){this.wallpaperOffsetStepsX=e,this.wallpaperOffsetStepsY=t,this.config.logWallpaperEvents&&console.log(`${this._prefix} setWallpaperOffsetSteps: x = ${this._padNum(e)} y = ${t} (pages: x = ${Math.round(1/e)-1}, y = ${Math.round(1/t)-1})`)}setWallpaperOffsets(e,t){this.wallpaperOffsetX=e,this.wallpaperOffsetY=t,this.config.logWallpaperScrolling&&console.log(`${this._prefix} setWallpaperOffsets: x = ${this._padNum(e)} y = ${this._padNum(t)} (pages: x = ${this._padNum(e/this.wallpaperOffsetStepsX)} y = ${this._padNum(t/this.wallpaperOffsetStepsY)})`)}sendWallpaperTap(e,t,s=0){this.config.logWallpaperEvents&&console.log(`${this._prefix} sendWallpaperTap: x = ${e}, y = ${t}`)}requestChangeSystemWallpaper(e){return alert(`${this._prefix} requestChangeSystemWallpaper`),!0}getBridgeButtonVisibility(){return this.bridgeButtonVisibility}requestSetBridgeButtonVisibility(e,t){return this.bridgeButtonVisibility=e,this.raiseBridgeEvent({name:"bridgeButtonVisibilityChanged",newValue:e}),!0}getDrawSystemWallpaperBehindWebViewEnabled(){return this.drawSystemWallpaperBehindWebViewEnabled}requestSetDrawSystemWallpaperBehindWebViewEnabled(e,t){return this.drawSystemWallpaperBehindWebViewEnabled=e,this.raiseBridgeEvent({name:"drawSystemWallpaperBehindWebViewChanged",newValue:e}),!0}getOverscrollEffects(){return this.overscrollEffects}requestSetOverscrollEffects(e,t){return this.overscrollEffects=e,this.raiseBridgeEvent({name:"overscrollEffectsChanged",newValue:e}),!0}getSystemNightMode(){return this.systemNightMode}resolveIsSystemInDarkTheme(){return this.systemNightMode==="yes"||this.systemNightMode!=="no"&&matchMedia("(prefers-color-scheme: dark)").matches}getCanRequestSystemNightMode(){return this.config.canRequestSystemNightMode}requestSetSystemNightMode(e,t){return this.systemNightMode=e,this.raiseBridgeEvent({name:"systemNightModeChanged",newValue:e}),!0}getBridgeTheme(){return this.bridgeTheme}requestSetBridgeTheme(e,t){return this.bridgeTheme=e,this.raiseBridgeEvent({name:"bridgeThemeChanged",newValue:e}),!0}getStatusBarAppearance(){return this.statusBarAppearance}requestSetStatusBarAppearance(e,t){return this.statusBarAppearance=e,this.raiseBridgeEvent({name:"statusBarAppearanceChanged",newValue:e}),this.raiseBridgeEvent({name:"statusBarsWindowInsetsChanged",newValue:this._getStatusBarsWindowInsets()}),this.raiseBridgeEvent({name:"systemBarsWindowInsetsChanged",newValue:this._getSystemBarsWindowInsets()}),!0}getNavigationBarAppearance(){return this.navigationBarAppearance}requestSetNavigationBarAppearance(e,t){return this.navigationBarAppearance=e,this.raiseBridgeEvent({name:"navigationBarAppearanceChanged",newValue:e}),this.raiseBridgeEvent({name:"navigationBarsWindowInsetsChanged",newValue:this._getNavigationBarsWindowInsets()}),this.raiseBridgeEvent({name:"systemBarsWindowInsetsChanged",newValue:this._getSystemBarsWindowInsets()}),!0}getCanLockScreen(){return this.canLockScreen}requestLockScreen(e){return alert(`${this._prefix} requestLockScreen`),!0}requestOpenBridgeSettings(e){return alert(`${this._prefix} requestOpenBridgeSettings`),!0}requestOpenBridgeAppDrawer(e){return alert(`${this._prefix} requestOpenBridgeAppDrawer`),!0}requestOpenDeveloperConsole(e){return alert(`${this._prefix} requestOpenDeveloperConsole`),!0}requestExpandNotificationShade(e){return alert(`${this._prefix} requestExpandNotificationShade`),!0}requestOpenAndroidSettings(e){return alert(`${this._prefix} requestOpenAndroidSettings`),!0}showToast(e,t){console.log(`${this._prefix} showToast: ${t?"long":"short"}, message: ${e}`)}_getStatusBarsWindowInsets(){return ue(0,this.statusBarAppearance==="hide"?0:this.config.statusBarHeight,0,0)}getStatusBarsWindowInsets(){return this.windowInsetsString(this._getStatusBarsWindowInsets())}getStatusBarsIgnoringVisibilityWindowInsets(){return this.windowInsetsString(0,this.config.statusBarHeight,0,0)}_getNavigationBarsWindowInsets(){return ue(0,0,0,this.navigationBarAppearance==="hide"?0:this.config.navigationBarHeight)}getNavigationBarsWindowInsets(){return this.windowInsetsString(this._getNavigationBarsWindowInsets())}getNavigationBarsIgnoringVisibilityWindowInsets(){return this.windowInsetsString(0,0,0,this.config.navigationBarHeight)}getCaptionBarWindowInsets(){return this.windowInsetsString(this.config.captionBarWindowInsets)}getCaptionBarIgnoringVisibilityWindowInsets(){return this.windowInsetsString(this.config.captionBarIgnoringVisibilityWindowInsets)}_getSystemBarsWindowInsets(){return ue(0,this.statusBarAppearance==="hide"?0:this.config.statusBarHeight,0,this.navigationBarAppearance==="hide"?0:this.config.navigationBarHeight)}getSystemBarsWindowInsets(){return this.windowInsetsString(this._getSystemBarsWindowInsets())}getSystemBarsIgnoringVisibilityWindowInsets(){return this.windowInsetsString(0,this.config.statusBarHeight,0,this.config.navigationBarHeight)}getImeWindowInsets(){return this.windowInsetsString(this.config.imeWindowInsets)}getImeAnimationSourceWindowInsets(){return this.windowInsetsString(this.config.imeAnimationSourceWindowInsets)}getImeAnimationTargetWindowInsets(){return this.windowInsetsString(this.config.imeAnimationTargetWindowInsets)}getTappableElementWindowInsets(){return this.windowInsetsString(this.config.tappableElementWindowInsets)}getTappableElementIgnoringVisibilityWindowInsets(){return this.windowInsetsString(this.config.tappableElementIgnoringVisibilityWindowInsets)}getSystemGesturesWindowInsets(){return this.windowInsetsString(this.config.systemGesturesWindowInsets)}getMandatorySystemGesturesWindowInsets(){return this.windowInsetsString(this.config.mandatorySystemGesturesWindowInsets)}getDisplayCutoutWindowInsets(){return this.windowInsetsString(this.config.displayCutoutWindowInsets)}getWaterfallWindowInsets(){return this.windowInsetsString(this.config.waterfallWindowInsets)}getDisplayCutoutPath(){return this.config.displayCutoutPath}getDisplayShapePath(){return this.config.displayShapePath}windowInsetsString(e,t,s,n){return JSON.stringify(typeof e=="object"?e:{left:e,top:t,right:s,bottom:n})}raiseBridgeEvent(e){this.config.logRaisedBridgeEvents&&console.log("[BridgeMock] raiseBridgeEvent:",e),typeof onBridgeEvent=="function"&&onBridgeEvent(e)}};window.Bridge||(window.Bridge=new Ll({appsUrl:"/mock/apps.json",makeGetDefaultIconUrl:e=>`/mock/icons/default/${e}.png`}));Bridge.requestSetBridgeTheme("system");yl($l).mount("#app"); diff --git a/dist/bundle.zip b/dist/bundle.zip index 56c6dd47609bff103dcdb87e4fb74bcf067358c8..6572865f5d62bff1dca73e5a8e0a4f2937bfbc2d 100644 GIT binary patch delta 13533 zcmZ{Lb8sc!+VzP!v2EMQ#I|kQ_DOPL+sVY9*tRpVjfpYwg!9eszNmZat*^WHu6nwj z_3XX7cCYR~)_SW4|J@Fbs4NEo2@m+^$nr@-Bmf_nPNE|Q&-6)>BWLTMzOnkJd3YlL zz#vZ{0DymW|3EPQ0$>4|KB2mnMxXTN-~a$PGyp)9RDg*suCBw#X~yNvWaj3kp$-Rt z_^&c4o-QQ7$LIp{w#L#=>17b;OFL_;MGipX-4BKZa-k&R81RE7-{)qgX*QeFLBxRy zBR;Y)7A|ezTs}q4(xVbbws{H5DxGWF&Toa&^}y?!`%1b?49S8+C95jWF57-=$rnY+ zx~N{)99e@xyu}5(1GMT=aYYr7zZp+0HJlfHo9+aizaVLi(Wc(+km{S=Z62K&kUpSc3=s=ywo^{4hGQv!OmlD# zK<))M-_z7MF*=(a?I9-es4^l0QwQnBQPl(p=NIP^`T=>^R*vJ;N@XIIUAFBmB$& zbAFAahv}anx}MW<+;&7`hK~;pBOe~@SQiQYI)QAEzN|^EGX+%Z2j`?;h2SZ$)H7n# z@G$hr%&P+EGj6H^CE0^xOC4=5n;=9hBso7OkB8W`w-xXL@t=E=+8lgt#2EmHV+8{c z0tf)+Hg4|BCT?y?)$mv{ULKN;J|3=2w*S668>Vh0fRtekGJM;NQn!HMP)Jy?!Cauw#OnYX7S*&rtI-4r>jSzzqFadK^rhQq#J5+sT5YXxwX6$2-Gy z&q}MvpH|%r0xE`^QlIefl3LZ!UxZ8YiYF&^XzHz++@m-7t1{#8yh=j|jq^XGZ2}3p zU&GU7&0YbUKC$ON6rMh8e!fAkGTem2l1TdF0HIL%7v%VOoTw?w!IA)J!QmC&YMnbq3mRPBMQKG3p;>Z? zM*iO0Qrdz$N@78N7}XaAE)`e6B*e7C1?o_Az`gu}#3;|A&Y7TO(_s_#%g6fhWkQ2w z@2yA5UGBA2GH4-#@cMTiPZPlawat(F5CtRdiFHX57() zuRqXhdDw#4z%U2?N46lv15pG^fq_d9+NSt&YBav1>+)$NjwqFg0@*RdMT(TE!x4r^O|dO-sQ z402=Y2pgA{Yt*T^hqy#=b{WBzy_3>;h1)}>!?cJ=4#%!R z(>P>sf!@QogJA3jXSK%-)%GJLn&l>rFcDLYAdB_a!-hhrQ{P2IHXu^`L@pxIx1XjI zaY3A+&UhxEDd91&exBr+v>8Yr;R%yxPS8Y4Hn7+)&91t=gIGke$+$NUj0_(~5D_m6gGE(?X?b&Fp%vsem*K+67;Zs}u3Owp8B6DEg^^i#|8WH+jg8!4p z>brvCF#mOQLw@wMaD(HZZ-lTHP8s~W%ga}UuFHJL0lnO|U_OfR6toD(*D)L=_ON&DzQN}u&UVs8{d_G`;(gqU=r+p}&KhU0&-v?A1(14$lAHiLA=0!KLx8Y^U$|J`=>?Br+4qtW`gYJ9}-~%BMJ;Ml>i2!k>)fkxo zV1c;=fwyTXIEyu=mMkpl$aygDYm`CB8Ahrk&9M@a=wlNZbk~bbP?u*_NPO8W!U>@e z=o_E?(iX3=8IJ-#kF{ai7h|hw9=$G>gKiG94lLD^^hDol`Vn9DdaR`Q1X#ATUl3^& zh>I9gF?AM8QV4An40}=u@+Qt!saoJZ zkBHH$Bf&x2jA_oePyD9V-BlMvIn6a0Pp7Yhe$8TjCx@|&zA|#EJE)9n#>5Ku<6hbz zLQk3O#gea0Ouf+wL=U_9H0CE6YLF+O*BN)H3-p0xUq;L-%|@e2$c<)3TlGbLU?Cck zr-#H>Z+A@$4o!3*V6n6q!(#>E4aE{JPbR+X%Y8S}nAJhUHZ0{(x(;(re2u!%441^J z(uzWL+lsFai55@i-Zoc|K-13p4`cJwp$|aT?Aq*}uoM0olN(I?s4hG#=r{a2j5W5a zv!5L>2%d-Gpw}+h1Z>ateLQ~;xZBZwAgp8RLl<=4QeSVHSDkhsufSlH!t%H?BP$^$ zp}u-k)d|P81+7*e$)299{$r5$D4NnfO98S_uL;dZZ2ukr(p9N{6jNb5aL|y5V*HbXulkXJ}}ZdOR| zT)SDz8MDh})qCW&$#r<1D}SBQ`qGyi!Y-y#E4C7WTq!A3Gc`YX(ui=cia3^qO5)BYT?zqovmBED~X{b+IJls zZ`>ojy7T^5q8$bmKz#~&UW%bPl`*0Cp;&&L6p-nzCEcfn%T8^Jx2tb|k2_P{8DZeE z=Q<+9GqhnqRKA{hM!J0NNn$ko4BB#b!mXd8QavFcUgcLsrFSeOHNgq3VtTYknCZvn zruqW1&v+l)$CoAdlmmh)g5Pd#>%&&%Yw00yv*hG0xPOL4fO0RdSU5a*%lci6eT-{* zWt8K%klZT_r0A++%R?uPpE(6dGqX-bL|<&2ho*QXzN^-9z6WZz9$796K`b)<5Pa5T z7kW{E@cFQ{X7Hu%aq@i7uDD~PW;`$|y_oXxr41Kq$bVKIccf;}TW9~d3=d*xW>~&o zO6C|Iw7esa0_x1`oG4-xu6RGZU@{bSOwGFrjKc1*fGP%}@MoOm<{8VrspuOohHdWU zlyr80La#D2xf5G}~R9gvvt-gm$aC)iKa_@lNA1nT+SKn0}_q1v`Q{KVu{5rii* z^2)=!f^X>wqZGlaG(rzJS#S{&_+XhVB~7AI zm1p?0_#(ZZ-9kjm@ezB@iZiy}2B7@h4xl3-*~9-{(3T|MWp^SMYZsK2i}b*$@`0J~ zzI=CQFnl%pF&v8ivc{6>0_|$DoqqtrBig>b8zja7HEmdN^lkkT4`2?UIJ3t~$b}E?+7XPAjAc z6iaLU&5O^L(MXpSgbhA2H*VZ-@L&$y zHLSO@V#QnqwGO>o93LsDRuk1-vXjNW7e|(LoSQx#oAhu~--011t*0AoI!?mR!rg+t zdor}$B}o`1sLo#2AdBqlL$ySJ^qaihtQ3}~b5U-aXO`nF?)QvqWP_{~!f-$EeI`76 zSzE<~te#;q=~nQxjBJS#-LF!K7Cpy6uAt}Rux{zj1)(W9bbT&T=5sMiJ}I# z>x;CFaOF_4C*`@O^#%v_*!dmy8Wb{S+0wajffC1vtBa(u7-8>d*EuW}=WhsuK0JXW zeQA8mdQWnIWzh{Hrn{GXu_!h%p{D9$#FBS4~ld@3)!>ywB zX`c6rgil3&A?ybcCS~Ap38NWsi4=K=JeD1_0S-scPJPOEhA^Vv#NR|+;vjnMzUYYR z2)B+JSmcqa0<|{3Uau(jU2i|WH#0`t=hEOLbe9#4-gj1`F*Y=04@JStFuMKTM%F~j z03^(ER1dTS*tXB^4)zdl8CT@GA*K~ekhrIfhEbGY^k?u#u_Rm0$vXfuN0dXph@I-3 zr7W;-L^(UMor|j3ufdLItKhjX+#1jDRYi)iZ7_cwSrvU$%s5;l;5oo8Oc1>XLvr}m zbZ|r3znpGOm{x?%erHp8nl{8}QzZhg#h*ob}AQ#c2LJw=rjHfLd@?a;70 z3tDxP5TyQ(U-cf4$SE=>fbc`U%V{4oKPRA%pU0KAlLHXw;C1tREjS18iqn6+I}si0 z=hv0Sug80&Vhn^i7Q+kcCiqUdq)v1+Y}c^0RX^X_Ot=vVv0(Ns@=-pkRu&#reL~cE zR(0`B{}@Um@0P!ua&1yZylm=S?o7Tl&5&y^=4**8m)xRLQQDzNbmah&#AH-3MhL!Z zYGSyerZ#oS_H*pe*)JiyR5h_kH0^z+9jy=hri(zEF?3+vm*(O@>y&bMa3`k2a$+?B zG``-*+r%Q1%k2U)LXhcrSwJ_aeU0}fu|(|zQh||z?&aplx*crpMmfSCcK(y$cPux- zN3y77Pr11 zChbLKXAwxN9}We#`%PWcsLW}~#kDQY1ies@E^+SGCA}2i1!L4TL)Z)ZEGYFGME4)n zkMVhN15P7Id=TtBo059AFaFAI9iag}6pAM17?lHzXX*f@P4Cxc)ryk5CM{3Q_?Tm! z;ZxG{xgMF29Cn@f#Y|Goz1&J`PH=^xOOm@AS$W`DEK*UtO)lvdhf9^0==x`DsX?C< z@AD01SQ;Z$`+|bQ#LfMVh4$DrH#>t5@fN*?G%vb0JSsm^JlnMvv- zB1`1x>aE6_^J?IODe^0;n{`Mer7*t{=z`Bb6AB zbM&@F)UsPWTPEHs}RfCR3$`LmQ$vd%1qK)Ya8fC zzY1%GDwN+zWyZ2^H*~{6GQ3Hv4?sqRD9q~)oipo|d(ruEo3~=jd{tF(z5@O@JNT_! zSyb!}xoSG~_E?@+tT_Mq{)rZ7_~A-U&3rrF`>JUBVQCf!j8Z!PDiHV_CpShDN`E0 z*{TiC_^8$=Lo+?W#RDx@WCAMc)QPIk+mBni;u8nNu2gzJ51yWZ0?UrDrI#RnQMyDD zxRVJ6L+77>&D&3UzXfFWpxo78N6c7e^5tU{+O(um;qKG9t&KKW2xq{%GM2Mll&nUO z1lf?n=85NJ!C90kL#w!{I7>V-Z>oe1b(83>zi29F(V|s%`5Bga=1EB|@4)nOeOi_j z>eg~S;lkyRS&6JMWmsj$-`{8y^O2}{wNiNV3aX&=nF+?MlmD7z)1M}^cFlPpG7BGyJd|HMG31EsDS)?J z%*Qt{S)bQ{ItuKXw>K*{9$&-=+PfG6cGd8qbgYD)5)$I!r>QvI;uJ{`({XNAJ~&}_ z^UzrCpkftY4U3g5Tj&XN7+07-4TAN2z@q)IzZX2}8m03u|6ugvVO}x)6znS(c+}jPVQHt*Cm2__>+N9 zWORT|HdX9s8#*y*UQD0$R&*~qMosX2rgxNX`C3R^L=p}GRFAY+zGxg;4D?VWdH$j| zIjeXtT(CvAgCZ}hh==*)cYg$&7~yv4t=a@S&9<+=Ac|0-qbpk{NCakqH_4zC2Zvz~ zsA83GA&`8Kgt**8c7H2{5D&#EumNs48zuTb;c3n$cMCxeh(D|^K3rt;;gs< z{G9sB?6XQTj@7ZRg~{X_6=Pwfhdl6m=k2iUI@V*+f#TgGX70G`@$kTV?H}mBo;gv7 zg^l%ro%tt{GScc*>*{N-H2>QIV8k&%53S^u-Ht8P!V8}yO2=A z43OR3m_gSZrJ%sj$-MOYy75p0>VeV`aq%`T{0&}Y!=fH`*K-T&o-E$XkL-qdAy&r( z)(dH$_NfUmm}wE5?rek^?lNo@QA<7WoHtwGSIf=CMH6NNC_ZyuFFk9TdB?UW6GMtN z-VO~J!#l%|7gM?`3%|20o|q6cQVZ#G3Rq5;`3ZyulZ?4roS#lUq)?Y=;4xNPR;#FW zN!0#+c6lcl7R7Yp){AGl@st}x9Vv^%fBeqPHt(6+$?R7zI?rFhQ!RgNG5xFtSwpx1 zmn$w}nE>mnb@DaEz=;at3xUA>$qDDC&;@h>8P` zN~zF&njfvRS0`uMSl71kw`mhMndMG%phv?wY_fAgwdl#is3N2MnU21C5~cx83uS@l zpcsN=jL$AYbT_OkX8|`}D{@>34z*68v(Qyuo(hGQ0e)2u%9|7=;8*9|ENZ`h1c#}& z0gHo~-^pSx?U!c*&Y{nZfzP|^jmBb_1+I?{#J3ma48qA@_L*P9?u6kw3chqTJVLuJ z9-hRl+7UlYo!>p3{1o_TecoTZKG&Vkl|)@mP2}6r-#p1u9s8AO;DU+DH(L}1{GCbD zN8-}JN3CLV*MJYvz7+?G85W2~gmd{)9#8Rxg^ei38P_EG$>1p68IgV0ff~v|8%I)^ zA3g<}WD#0zvd)R>OT@>d-g4q8-H#NB)iisi!hWB~#m+3E{fk*yF+8?7K(b_`B+TSK zlAt_s*SP+!qxCl`DbHenM_?R*|PfsedQah*LxEx;R#K zPAXI!uVmW&&x?RZEd}pA(fQjaO)QQ_QotE`$&G+(KWa9D6WJ3P$y(zB5QC~5`=@Y) zfdtqYYa3*>Bp-_#g367!C~zeFb*)t>-naauhaK*l7MVJ@xe;_dE_Z>86kMN^IupOU z;MYqN4&9PFqeB*n0roBTrMa3Lhr&mzT%}DvySJPvdb^ytOP0$ih3W!$H;0T|d2Nav z5})LOn$Y9ru?^$GrsVJsAbSz!Q!Ut+o;At2hA?~nc8WYZI4_+@_(PL@c+M}HZ19$8 zbdZArq1g%GStw;{OBL=gOH2M6+mP-f+1RH1k4%1~kBAlvBQMH~0LmDMW!IsCo~32j z%V#6U2d%h|k4ha5bO6F`0O;Jc^#GA%Po-y=7bIuf1hX3st2`+H%>BiHmD#4ZH@bBn zk)RnXv(xMX2AAi8&Sk=aacGG)By-I!Swij3Q;5u_kkb5M!Q_lZ+cH6GT^Y+$^HLF89{~Vm9dZt?C&(zQ~aA ztt1TF|A+MC9Zar)xlPvg?)IR-U~SusawBSDsB^`L$1xS&y@MYzW4j0x{RQ+$0wi6V z!mtI=J7y<+5)Z$7d_o#DQ$HG%htjv_4Y@w%JU%I@d~JwRAj(q!jPNEeqUka?RvoKM zW>cj*vo@W1DotD3EO@a*#QZiX#0)9pI^F|>@uvlo>>l(95*JruI*T7xGav}Us)kBv z%YUYMRjKHreZ7n5TWL=WOq$#Rd%FcNTxH1)iDC;>J_ZVef7k`dJ^%1?rb>S3j*6oy zCT&Ea4@;N>uI{jgQ;cD*B^cNJfel6>6WL+wiC^A?@gJJ+-zI&VLFdas&2z}&l43P~ z0iP;p)uwuZ&xvHTb9ge3hu+I-5rj%HAOr@r&Cu|={aQ+3o82%A~to_LRi>v*F{ zngni-qXQ(I$q-lulydKzCZy-M@ToFb_Z}_Qnz@^Ru|ut&I0I|fsfuA&AA8yDXR;D> z^IQzsoM1s8hFol&B6u0X%W=M^s2!HS>qyCWIgH#}F?kUWKe2u8cvCa%SP$j`R;#nZ zBhn=vu|dkY6d!i!XdEgZuMAMl^?lLx@VH{711KsgLQcqzof=tUB^J3bo)I+ASonOc zy|*<$8JJv_8O22kQ5_YK2BBTqJ7}V{?D8^L*CbQ5ZN03qE4s;uDD&WHby`CKs1q_jD(B!F zKL69$Qs;0Blgf9U%JStQTaoW$&A(#xyd@cjOR;1(?^!(rPx!v6<RhctEXF|0!&qNyN>>N*CYB;1EFywiex?da6qn{{sEv70*t zUieFw!|}?O3y`SEAXuX0$L-779EtJNTZy&M^;yOpboQ627+n4Ga(sU-HfDDL2Ee^l z54;{6kJ{9;wWmM7fTRsQe$9rc9w?X+&sE+^Y@JE$>vRL2wQ7KcdD8~{l@O8hGGQ&##FxyyqJQfW9-u(E~=|Y@yL6%%l)~(r>pfdMJpzZ zNaQ9iQ^wkB>YQRqyzgthWB-`Mf}InEF{ZeHCdE4 z*PW;NOx~Px;+Voyu$U&lCS4+O=~Bsya^#a6FbZ^6d)*d5F{r5Z^0Xggtv`ULSgzKY zv`22FUxgd0Qo?ZlDkeHdrO23(fM`lIj+vp7ejHzZhz)x2isOYr z@u!&_RVC48JKs`(M34b69s;KL^xAc9tPVH=yc41L0uFvkEPc150XIGMNX!ZS<82zA z;t(~jk_}W#p}L^;VXcOMHB)D{>QOM1RH&AqQ_f@J&E}YT)ayI!WBynl;QW^;k5g@* zJ%1MRBUnp$<52S(cFC#z?Mh!ALSu*UMxsoX>!F= zqx^1J{ZfM+7cL+Lh;Q6P0J5*2q(}~S%6F8DTbwD`9DR*J$}TZ~_Xi8zCL`qG507s@ z&70z8lM3%gl4tmtJV2j@I&m5MiKb>FSs3S?Xv{nE@#>f%@lig4!lpcbvs?tgUXcOq z8QZCG3K$S{PT4}wRL6{~7p~*5- zqVfw@M)4(y_3YbN6z9h2hM$}p7Rv_2ndhJD>vWC#+EWkHlD z=dTkOpu)0ITHxBSMHAanCA|)q{1YN7f3^VQgH8+kml)g4>>r~)4}GOIw8jt%$}~5_ z(>zM$`rSqIu_MbnyPHJXNi*hDub_rk(a2 z{umHWV6ciHpt`4_yIFf>3^xfYZJf5|77UIKADEEJq9Z3uJ&e*>@To27zPr8`F#3abQ!~-v@%4$?)A;i7s2-@2f3Yk;M-B8n0VKl~~}@Z_JVU z#L$CkvJ}gT`63qHD&zNgWhIDS4!Cm@m#S2do(=5k>qDJfKEIW2O0EwR2vE*4GU`zL zj_%2gQo-n;c+KFVdiJnVjGp2*BFd%Tfxw*P1sZ=C{uX_ugarx z-U7tO#omlGdR}l7y}o9`p}|bw-0ZBY=)=z?$xF`}L?rmS{M$ufCwrBR(eTQ~Lm_q9&4>{A!kuxO@TFib#J2u>~#I@9>* zU8Fv^ai_zm?Dp<_LFuI4s;c{gT_8BvGcdV}K>mFWt%#Vr=Wpr=<<+4ll?Yg91Nx1=yQAA=5pBA8V z5m+2+rAfd7 z(d9M7WZK5f@zTz&VU&ZmQ1%;%q7Cr#*PpyZk5T>==YyU~{Qa9BKMm5Bn(z9)sj(wG z$2zuX&i(37!d0)YjhB7=vq`$l?d|pbd}*d#@N=g8dbi```r_`x%1aU|ZR1bf?6ufv zrwW#gfFrf~kxu8}*CXwO+CTA~W!X9DVILpIWfw)qPgYZlM5`-=AswCJpLr+1XO%`l zyQ!6lOQO{~dmU2FCXc?@UoKYy!l%+-`tm95{q^10Ez+09Gx&6V9^zGCdMPFVpt2wB zL9{j%8Y|$AuY_8GUeBZUy zj@#2qTH)ToD>o~Kt#-t38IdK-U>lr#vz|Ed_`DVRcl~Y3Z#N3?{^=$ncNB=fO7avIFP?uw zTQ4pAf5M?;@_)k9WGOJJoSHs z=-)Nu+;Uh@dQY?}9+IbV7>0-TGR@0ongyEMnj?11DL{A(KB1<`@2|Dy{j(41tl14u zo2zXbY1q%q7tjtJj$y#$Fl^{GG5z#tI33KL*)it8U-E?O2O-1`kQj&8`t#W}WILf(<+EfFj#G~8B0o~a zDaOD~zdkCmsDY|?yk;acaz1p%%UetE1%+VoitPmHi!qJDag=~40~AjKtUsJ`;ZQQJ z{8<>fH!^4Z`K~&da6*F@mY1kj9jzxe&q##oiLGOwKqS`7O-wKF`oDx-*#o@&aYTq= zrt5ohicbxW4$xw6-3xYMHZ}h&bweye9agVoU!FTC4U4J4#BsLeX7+UV9MEhSAdBMb z-l}rSV(*MWZq@-|(q-9eVIsRcAZaVoS?Zi&dc3>yS~c??H&;?CYkz4r+q_gJYv35{ z$yw{%-$h-N7G)bKn{)?sX1-LYaG4(B|J1X(F&8OCZANW=?CyDFAJw<~7%O15$k*M#t_CumoZevAKVdvOrnbJK&|o6s9swvUL*SW$x)@4qX8 zZ+qTbAz4i=*eC~ndPypsz$xk)so||FAm?7?eR$MqIS!Ru#w8xt0Wig?gYj%WH|4=3pV^2h3oPdmKhZ5 zp>Fm(125#sNn~j3la6eq8KKrm;MRaQ;PQvr5cF_gq`|E+e`C)M69K;*O7VAZ>86rl zgDYOT#=k)e(2^k_rgZpn3)!0kYWB=ZoS(2WE60?3I1#wf^ZWHSW=gbkeK3toS76XS zMD;$>f=cO-`2BJ&1nc)@Q6Z(1dW8JU74cfs@t|OnmlhE0-(R;-T`PARCZ-ggRAS)& z$FX6Nq@Xm!f*5}D9-TNhpfMxqjgH4iI{qpfSp{`yN!>+QkJ`!^71Z*+X2ouES2XnnXT?;>KqWuPa{*2Uo%EYwa2od zsgr>Rfy{0LakxzIRA0mzYnMWPxAEQ{1?y@6dLe7=j8Jx4jYdEL{ORe|9nG&_Jz8QM z(Wo=iznVQOM2k6x#R-;KDN-prsrF9C=u`3#K=Cmu?9Se~wxd`n2UhFuydfydfq@f2 z{Esarr8bT3uP-JgAsrj`zwZ5Iv6nQ~zby9m9wF-galxeMrjw)prws<`9~;a+*^>Wc z|EE6z=U?_4u)lptu*hGN&HuO+EZp6gZ5+)lycz$)v+%#ANd74m@RkpA`gA%UVG%72Oj`X`rAnVJNKWlOM=t904X9~6j1+L`yZm7&LF_1 zN%`;jczRg;7ajj^3im%H|C7A`efad$|3>~BmH#i+=pXFAw(Z|#-~4UJ|1tH2jQ_^| mYxzvp?hf`E>i+`&pKpM&9MoUq5dZ-9_r(4C@MN<7iT)ovONuc7 delta 12508 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 Uj|%_Kb%cR`wjuBPzdP{10Epwg-v9sr diff --git a/dist/error.svg b/dist/error.svg new file mode 100644 index 0000000..3cd5d5f --- /dev/null +++ b/dist/error.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + diff --git a/dist/index.html b/dist/index.html index fbeb2c6..d50024f 100644 --- a/dist/index.html +++ b/dist/index.html @@ -5,8 +5,8 @@ SpringBoard - - + +
diff --git a/public/error.svg b/public/error.svg new file mode 100644 index 0000000..3cd5d5f --- /dev/null +++ b/public/error.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + diff --git a/src/App.vue b/src/App.vue index 5264fd9..c5eb28f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -17,7 +17,7 @@