PageSourceSearch

https://kidinspector.com/v2/dashboard/assets/index-DDXmSWrl.js

js kidinspector.com collected 2026-10-08 12:08:54 UTC 18,179 bytes, 11 lines download raw bytes

1import{d as ve,s as f,j as z,A as q,w as I,c as x,o as h,y as u,v as t,a as A,u as Q,h as ge,Q as ke,l as E,x as D,q as r,p as w,R as Se,e as C,F as ie,G as ae}from"./index-CRKsjvoZ.js";import{I as P,u as O,m as W,s as N,a as G,j as ue}from"./index-D51FB1gj.js";import{_ as fe}from"./Tabs.vue_vue_type_script_setup_true_lang-DLY80eXJ.js";import{_ as j}from"./Flex.vue_vue_type_script_setup_true_lang-E9aN9Fgj.js";import{_ as J}from"./Spinner.vue_vue_type_script_setup_true_lang-CuWMHX_G.js";import{u as be}from"./tooltip.store-FNBAVHro.js";import{_ as _e}from"./Button.vue_vue_type_script_setup_true_lang-hMPUVipt.js";import{_ as Be}from"./ButtonText.vue_vue_type_script_setup_true_lang-Dhjpq6Ic.js";import{_ as pe}from"./Card.vue_vue_type_script_setup_true_lang-DJMndHE7.js";import{_ as me}from"./Switcher.vue_vue_type_script_setup_true_lang-PDogoewJ.js";import{_ as B}from"./Text.vue_vue_type_script_setup_true_lang-BvoEZEMV.js";import{_ as we}from"./Info.vue_vue_type_script_setup_true_lang-m_TQgERn.js";import{a as Le}from"./useHeaderTitle-zn7J_T2J.js";import{S as H,r as ye}from"./randomInt-DAZnT0V4.js";import{u as xe}from"./useInfiniteScroll-UYUV6vNr.js";import{_ as Ie}from"./Image.vue_vue_type_script_setup_true_lang-CMMvyxp-.js";import{f as De}from"./formatAppTitle-BAktBLCv.js";import{u as he}from"./installedApps.store-DR_6OIkM.js";import{u as Ae}from"./useRouteManager-aX_B7jhX.js";import{E as ne}from"./events-CCsR9Lyz.js";import{_ as Ee}from"./Page.vue_vue_type_script_setup_true_lang-C4JMmhGI.js";import"./Icon.vue_vue_type_script_setup_true_lang-DqDJVyni.js";import"./info-CJrSpM5Z.js";import"./filterBySearch-Dk8mdGLq.js";const Ce="eDKhPTcH",Ue="pqtdJO4F",oe={"change-device-blocking-settings":"eDKhPTcH",changeDeviceBlockingSettings:Ce,tabs:Ue},Te={black_list:{is_enabled:!0,domains:["facebook.com","telegram.com"]},white_list:{is_enabled:!1,domains:[]}},$e={black_list:{is_enabled:!0,package_names:["com.whatsapp","com.facebook.orca","org.telegram.messenger","org.thoughtcrime.securesms","com.viber.voip","jp.naver.line.android"]}},Pe={black_list:{is_enabled:!0,domains:["facebook.com","telegram.com"]},white_list:{is_enabled:!1,domains:[]}},Oe={black_list:{is_enabled:!0,package_names:["com.tencent.mm","com.discord","com.snapchat.android","com.kakao.talk","com.zing.zalo","sg.bigo.live","com.imo.android.imoim","ch.threema.app","com.wire","com.google.android.apps.messaging","com.google.android.apps.tachyon"]}},We={black_list:{is_enabled:!0,domains:["facebook.com","telegram.com"]},white_list:{is_enabled:!1,domains:[]}},Ne={black_list:{is_enabled:!0,package_names:["com.microsoft.teams","com.Slack","com.google.android.apps.dynamite","us.zoom.videomeetings","com.pinger.textfree","network.loki.messenger","im.vector.app","com.fsck.k9","ch.protonvpn.android","org.thunderdog.challegram","org.telegram.plus","com.facebook.lite","com.vkontakte.android","ru.ok.android","ru.mail.mailapp","ru.yandex.mail"]}},Y=ve("deviceBlockingSettings",{state:()=>({fetchDeviceBlockingSettingsUrlsStatus:{...P},fetchDeviceBlockingSettingsAppsStatus:{...P},updateBlackListEnabledStatus:{...P},updateWhiteListEnabledStatus:{...P},updateBlackListDomainsStatus:{...P},updateWhiteListDomainsStatus:{...P},updateAppsBlockedStatus:{...P},deviceBlockingSettingsUrls:null,deviceBlockingSettingsApps:null}),getters:{getDeviceBlackList(e){return s=>{var a;return e.deviceBlockingSettingsUrls?(a=e.deviceBlockingSettingsUrls[s])==null?void 0:a.black_list:null}},getDeviceWhiteList(e){return s=>{var a;return e.deviceBlockingSettingsUrls?(a=e.deviceBlockingSettingsUrls[s])==null?void 0:a.white_list:null}}},actions:{changeBlackListEnabled(e,s){this.deviceBlockingSettingsUrls&&(this.deviceBlockingSettingsUrls[e].black_list.is_enabled=s)},changeBlackListDomains(e,s){this.deviceBlockingSettingsUrls&&(this.deviceBlockingSettingsUrls[e].black_list.domains=s)},changeWhiteListEnabled(e,s){this.deviceBlockingSettingsUrls&&(this.deviceBlockingSettingsUrls[e].white_list.is_enabled=s)},changeWhiteListDomains(e,s){this.deviceBlockingSettingsUrls&&(this.deviceBlockingSettingsUrls[e].white_list.domains=s)},async fetchDeviceBlockingSettingsUrls(e){const s=O(),{isDemo:a}=f(s);await W(this.fetchDeviceBlockingSettingsUrlsStatus,async()=>
1{if(a.value){const n={1:Te,2:Pe,3:We},i=await N(n[e]??n[1]);this.deviceBlockingSettingsUrls?this.deviceBlockingSettingsUrls[e]=i:this.deviceBlockingSettingsUrls={[e]:i}}else{const{data:n}=await G.get(`/api/pt/dashboard/settings/${e}/acl-url`);this.deviceBlockingSettingsUrls?this.deviceBlockingSettingsUrls[e]=n:this.deviceBlockingSettingsUrls={[e]:n}}})},async fetchDeviceBlockingSettingsApps(e){const s=O(),{isDemo:a}=f(s);await W(this.fetchDeviceBlockingSettingsAppsStatus,async()=>{if(a.value){const n={1:$e,2:Oe,3:Ne},i=await N(n[e]??n[1]);this.deviceBlockingSettingsApps?this.deviceBlockingSettingsApps[e]=i:this.deviceBlockingSettingsApps={[e]:i}}else{const{data:n}=await G.get(`/api/pt/dashboard/settings/${e}/acl-app`);this.deviceBlockingSettingsApps?this.deviceBlockingSettingsApps[e]=n:this.deviceBlockingSettingsApps={[e]:n}}})},async updateBlackListEnabled(e,s){const a=O(),{isDemo:n}=f(a);await W(this.updateBlackListEnabledStatus,async()=>{var i,d;if(n.value)await N({});else{const g={...(i=this.deviceBlockingSettingsUrls)==null?void 0:i[e],black_list:{domains:(d=this.deviceBlockingSettingsUrls)==null?void 0:d[e].black_list.domains,is_enabled:s}};await G.patch(`/api/pt/dashboard/settings/${e}/acl-url`,g)}this.changeBlackListEnabled(e,s)})},async updateWhiteListEnabled(e,s){const a=O(),{isDemo:n}=f(a);await W(this.updateWhiteListEnabledStatus,async()=>{var i,d;if(n.value)await N({});else{const g={...(i=this.deviceBlockingSettingsUrls)==null?void 0:i[e],white_list:{domains:(d=this.deviceBlockingSettingsUrls)==null?void 0:d[e].white_list.domains,is_enabled:s}};await G.patch(`/api/pt/dashboard/settings/${e}/acl-url`,g)}this.changeWhiteListEnabled(e,s)})},async updateBlackListDomains(e,s){const a=O(),{isDemo:n}=f(a);await W(this.updateBlackListDomainsStatus,async()=>{var i,d;if(n.value)await N({});else{const g={...(i=this.deviceBlockingSettingsUrls)==null?void 0:i[e],black_list:{domains:s,is_enabled:(d=this.deviceBlockingSettingsUrls)==null?void 0:d[e].black_list.is_enabled}};await G.patch(`/api/pt/dashboard/settings/${e}/acl-url`,g)}this.changeBlackListDomains(e,s)})},async updateWhiteListDomains(e,s){const a=O(),{isDemo:n}=f(a);await W(this.updateWhiteListDomainsStatus,async()=>{var i,d;if(n.value)await N({});else{const g={...(i=this.deviceBlockingSettingsUrls)==null?void 0:i[e],white_list:{domains:s,is_enabled:(d=this.deviceBlockingSettingsUrls)==null?void 0:d[e].white_list.is_enabled}};await G.patch(`/api/pt/dashboard/settings/${e}/acl-url`,g)}this.changeWhiteListDomains(e,s)})},async updateAppsBlocked(e,s){const a=O(),{isDemo:n}=f(a);await W(this.updateAppsBlockedStatus,async()=>{var g,v,p;let i=(v=(g=this.deviceBlockingSettingsApps)==null?void 0:g[e].black_list)==null?void 0:v.package_names;i!=null&&i.includes(s)?i=i.filter(m=>m!==s):i==null||i.push(s);const d={black_list:{is_enabled:!0,package_names:i??[]}};n.value?await N({}):await G.patch(`/api/pt/dashboard/settings/${e}/acl-app`,d),(p=this.deviceBlockingSettingsApps)!=null&&p[e]&&(this.deviceBlockingSettingsApps[e]={...d})})}}}),Ge="OD9A1G6S",Ke="OPVJ2k79",le={"blocking-textarea":"OD9A1G6S",blockingTextarea:Ge,"textarea-input":"OPVJ2k79",textareaInput:Ke},Me=["value"],Ve=z({__name:"BlockingTextarea",props:{text:{}},emits:["onChange","onBlur"],setup(e,{emit:s}){const a=s,n=q(null),i=q(e.text);I(()=>e.text,p=>{p!==i.value&&(i.value=p)});const d=p=>{const m=p.target.value,o=v(m);o!==i.value&&(i.value=o,a("onChange",o))},g=p=>{const m=p.target.value,o=v(m);i.value=o,p.target.value=o,a("onChange",o),a("onBlur",o)},v=p=>p.split(`
2`).map(o=>o.toLowerCase().replace(/[^\p{L}\p{N}:/.\\-]/gu,"").replace(/\.{2,}/g,".").replace(/\/{2,}/g,"//").replace(/^(https?:\/\/)?/g,_=>_).replace(/^\.+|\.+$/g,"")).filter((o,_)=>o||_===0).join(`
3`);return(p,m)=>(h(),x("div",{class:u(t(le).blockingTextarea)},[A("textarea",{ref_key:"textareaRef",ref:n,class:u(t(le).textareaInput),value:i.value,placeholder:`example.com
4domain.com`,onInput:d,onBlur:g},null,42,Me)],2))}}),ze="ZLUsmQLF",Re="-bG-VIPv",ce={"blocking-textarea-block":"ZLUsmQLF",blockingTextareaBlock:ze,button:Re},re=z({__name:"BlockingTextareaBlock",props:{isEnabled:{type:Boolean},domains:{},title:{},isLoadingEnabled:{type:Boolean},isLoadingSites:{type:Boolean},tooltipInfo:{},description:{default:""}},emits:["onSave","onChangeEnabled"],setup(e,{emit:s}){const a=s,{t:n}=Q("common"),i=Y(),{fetchDeviceBlockingSettingsUrlsStatus:d}=f(i),g=q("");I(()=>e.domains,o=>{g.value=o}),ge(()=>{g.value=e.domains});const v=o=>{g.value=o},p=()=>{a("onSave",g.value)},m=()=>{a("onChangeEnabled",!e.isEnabled)};return(o,_)=>{const L=ke("tooltip");return h(),E(pe,{class:u([t(ce).blockingTextareaBlock])},{default:D(()=>[r(j,{"align-items":"center",gap:8},{default:D(()=>[r(me,{state:o.isEnabled?"on":"off","is-loading":o.isLoadingEnabled,onCheck:m},null,8,["state","is-loading"]),r(B,{text:o.title,bold:"",size:"md"},null,8,["text"]),Se(r(we,null,null,512),[[L,{popperClass:"tooltip-250",content:o.tooltipInfo}]]),t(d).state==="pending"?(h(),E(J,{key:0,size:"sm"})):w("",!0)]),_:1}),o.description?(h(),E(B,{key:0,text:o.description,color:"secondary"},null,8,["text"])):w("",!0),r(Ve,{text:g.value,onOnChange:v},null,8,["text"]),r(_e,{class:u(t(ce).button),disabled:o.domains===g.value,loading:o.isLoadingSites,onOnClick:p},{default:D(()=>[r(Be,{loading:o.isLoadingSites,text:t(n)("Save")},null,8,["loading","text"])]),_:1},8,["class","disabled","loading"])]),_:1},8,["class"])}}}),Fe="f-7U-fZh",je="MyDY0Kse",de={"blocking-settings-sites":"f-7U-fZh",blockingSettingsSites:Fe,"blocking-settings-sites-like-phones":"MyDY0Kse",blockingSettingsSitesLikePhones:je},qe=z({__name:"BlockingSettingsSites",props:{deviceId:{}},setup(e){const{t:s}=Q("common"),a=Y(),n=be(),i=Le(),{pageSize:d}=f(i),{getDeviceBlackList:g,getDeviceWhiteList:v,updateBlackListDomainsStatus:p,updateBlackListEnabledStatus:m,updateWhiteListDomainsStatus:o,updateWhiteListEnabledStatus:_}=f(a),{updateBlackListDomains:L,updateBlackListEnabled:R,updateWhiteListDomains:K,updateWhiteListEnabled:M}=a,{showMessage:V}=n;I(p,c=>{c.state==="success"&&F(),c.state==="error"&&T()},{deep:!0}),I(o,c=>{c.state==="success"&&F(),c.state==="error"&&T()},{deep:!0}),I(m,c=>{c.state==="error"&&T()},{deep:!0}),I(_,c=>{c.state==="error"&&T()},{deep:!0});const y=C(()=>g.value(e.deviceId)),b=C(()=>v.value(e.deviceId)),U=async c=>{var $;(($=y.value)==null?void 0:$.domains.join(`
5`))!==c&&await L(e.deviceId,c.split(`
6`))},l=async c=>{var $;(($=b.value)==null?void 0:$.domains.join(`
7`))!==c&&await K(e.deviceId,c.split(`
8`))},S=async c=>{await R(e.deviceId,c)},Z=async c=>{await M(e.deviceId,c)},F=()=>{V({type:"success",text:s("Settings have been successfully updated.")})},T=()=>{V({type:"error",text:s("Failed to update settings. Please try again.")})};return(c,$)=>{var X,ee,te,se;return h(),x("div",{class:u([t(de).blockingSettingsSites,{[t(de).blockingSettingsSitesLikePhones]:t(d)==="like-phones"}])},[r(re,{title:t(s)("Blocked websites"),"tooltip-info":t(s)("Automatically blocks access to websites on the blocklist."),description:t(s)("Enter the domains you want to block, one per line, without the http or www prefixes. For example: example.com"),domains:((X=y.value)==null?void 0:X.domains.join(`
9`))??"","is-enabled":((ee=y.value)==null?void 0:ee.is_enabled)??!1,"is-loading-enabled":t(m).state==="pending","is-loading-sites":t(p).state==="pending",onOnSave:U,onOnChangeEnabled:S},null,8,["title","tooltip-info","description","domains","is-enabled","is-loading-enabled","is-loading-sites"]),r(re,{title:t(s)("Allowed websites"),"tooltip-info":t(s)("Creates a list of allowed websites. All websites not on the list will be blocked by default."),description:t(s)("Enter the domains you want to allow, one per line, without the http or www prefixes. For example: example.com"),domains:((te=b.value)==null?void 0:te.domains.join(`
10`))??"","is-enabled":((se=b.value)==null?void 0:se.is_enabled)??!1,"is-loading-enabled":t(_).state==="pending","is-loading-sites":t(o).state==="pending",onOnSave:l,onOnChangeEnabled:Z},null,8,["title","tooltip-info","description","domains","is-enabled","is-loading-enabled","is-loading-sites"])],2)}}}),Ze="-ku49-2d",He="HbAN9tsI",Qe="DyaWXcUa",Ye="-jKoMXHx",Je="c1xpaCld",Xe="O0CNNEnW",et="vevOi-0M",tt="_-01XOL3h",k={"blocking-settings-apps":"-ku49-2d",blockingSettingsApps:Ze,row:He,center:Qe,right:Ye,skeletor:Je,"row-loading":"O0CNNEnW",rowLoading:Xe,empty:et,loader:tt},st=z({__name:"BlockingSettingsApps",props:{deviceId:{}},setup(e){const{t:s}=Q("common"),a=Y(),n=he(),{updateAppsBlockedStatus:i,fetchDeviceBlockingSettingsAppsStatus:d,deviceBlockingSettingsApps:g}=f(a),{installedApps:v,page:p,fetchInstalledAppsStatus:m}=f(n),{loadNextPage:o}=n,{updateAppsBlocked:_}=a,L=q(null),R=async l=>{L.value=l,await _(e.deviceId,l),L.value=null},K=l=>{var S;return(S=g.value)==null?void 0:S[e.deviceId].black_list.package_names.includes(l)},{isInitialLoading:M,isLoadingNext:V}=xe({loadNext:o,data:v,page:p,fetchStatus:m,getItems:l=>l.apps}),y=C(()=>{var l;return!!((l=g.value)!=null&&l[e.deviceId])}),b=C(()=>{var l,S;return!!((S=(l=v.value)==null?void 0:l.apps)!=null&&S.length)&&y.value}),U=C(()=>d.value.state==="pending"&&!y.value);return(l,S)=>(h(),E(j,{"align-items":"center",direction:"column",gap:"20px"},{default:D(()=>[r(pe,{class:u([t(k).blockingSettingsApps])},{default:D(()=>{var Z,F,T;return[b.value?(h(),x("div",{key:0,class:u(t(k).row)},[r(B,{text:t(s)("App"),color:"secondary"},null,8,["text"]),r(B,{text:t(s)("Version"),color:"secondary",class:u(t(k).center)},null,8,["text","class"]),r(B,{text:t(s)("Blocking status"),color:"secondary","one-row":"",class:u(t(k).right)},null,8,["text","class"])],2)):w("",!0),b.value?(h(!0),x(ie,{key:1},ae(((Z=t(v))==null?void 0:Z.apps)??[],c=>(h(),x("div",{key:c.package_name,class:u(t(k).row)},[r(j,{gap:5,"align-items":"center"},{default:D(()=>[r(Ie,{width:"16px",height:"16px",image:c.app_icon_route??"","has-not-failed-message":"","with-token":"","plug-type":"app","spinner-size":"sm"},null,8,["image"]),r(B,{text:t(De)(c.app_title)},null,8,["text"])]),_:2},1024),r(B,{class:u(t(k).center),text:c.version??"","text-align":"center","one-row":""},null,8,["class","text"]),A("div",{class:u(t(k).right)},[r(me,{"is-loading":t(i).state==="pending"&&L.value===c.package_name,"is-inactive":t(i).state==="pending"&&L.value!==c.package_name,state:K(c.package_name)?"on":"off",onCheck:$=>R(c.package_name)},null,8,["is-loading","is-inactive","state","onCheck"])],2)],2))),128)):w("",!0),!b.value&&(t(M)||U.value)?(h(),x(ie,{key:2},ae(8,c=>A("div",{key:c,class:u([t(k).row,t(k).rowLoading])},[r(j,{gap:5,"align-items":"center"},{default:D(()=>[r(t(H),{height:"100%",width:"16px",class:u(t(k).skeletor)},null,8,["class"]),r(t(H),{height:"100%",width:t(ye)(40,70),class:u(t(k).skeletor)},null,8,["width","class"])]),_:1}),r(t(H),{height:"100%",width:"30%",class:u(t(k).skeletor)},null,8,["class"]),A("div",{class:u(t(k).right)},[r(t(H),{height:"100%",width:"30%",class:u(t(k).skeletor)},null,8,["class"])],2)],2)),64)):w("",!0),!b.value&&!t(M)&&!U.value&&t(d).state==="success"&&t(m).state==="success"&&!((T=(F=t(v))==null?void 0:F.apps)!=null&&T.length)?(h(),x("div",{key:3,class:u(t(k).empty)},[A("div",null,[r(B,{text:t(s)("No apps found for this device"),semibold:""},null,8,["text"])]),A("div",null,[r(B,{text:t(s)("Please make sure the monitoring app is installed and running")},null,8,["text"])])],2)):w("",!0),!b.value&&(t(d).state==="error"||t(m).state==="error")?(h(),x("div",{key:4,class:u(t(k).empty)},[A("div",null,[r(B,{semibold:"",text:t(s)("Failed to load apps")},null,8,["text"])]),A("div",null,[r(B,{text:t(s)("Please check your connection or try again later")},null,8,["text"])])],2)):w("",!0)]}),_:1},8,["class"]),t(V)?(h(),x("div",{key:0,class:u(t(k).loader)},[r(J,{size:"sm"})],2)):w("",!0)]),_:1}))}}),it=z({__name:"ChangeDeviceBlockingSettings",props:{deviceId:{}},setup(e){const{t:s}=Q("common"),a=ue(),{setQuery:n}=Ae(),i=q("sites"),d=Y(),g=he(),{page:v}=f(g),{fetchDeviceBlockingSettingsUrlsStatus:p,fetchDeviceBlockingSettingsAppsStatus:m,deviceBlockingSettingsUrls:o,deviceBlockingSettingsApps:_}=f(d),{fetchDeviceBlockingSettingsUrls:L,fetchDeviceBlockingSettingsApps:R}=d,{fetchInstalledApps:K}=g,M=C(()=>{var l,S;return i.value==="apps"?m.value.state==="pending"&&!!((l=_.value)!=null&&l[e.deviceId]):p.value.state==="pending"&&!!((S=o.value)!=null&&S[e.deviceId])}),V=C(()=>[{title:s("Websites"),id:"sites",active:i.value==="sites"},{title:s("Apps"),id:"apps",active:i.value==="apps"}]),y=l=>{const S=l===0?"sites":"apps";i.value=S,n({tab:S})};I(()=>a.query.tab,l=>{l==="apps"||l==="sites"?i.value!==l&&(i.value=l):!l&&i.value!=="sites"&&(i.value="sites",n({tab:"sites"}))},{immediate:!0}),I(v,l=>{K({device_id:e.deviceId,search:null,page:l,size:ne})}),I(i,()=>{y(i.value==="sites"?0:1),b()}),I(()=>e.deviceId,()=>{b(),U()}),ge(()=>{b(),U(),y(i.value==="sites"?0:1)});const b=()=>{i.value==="sites"?L(e.deviceId):R(e.deviceId)},U=()=>{K({device_id:e.deviceId,search:null,page:v.value,size:ne})};return(l,S)=>(h(),x("div",{class:u([t(oe).changeDeviceBlockingSettings])},[r(j,{class:u(t(oe).tabs),"align-items":"center",gap:10},{default:D(()=>[r(fe,{variant:"default-light",tabs:V.value,onChangeActiveTab:y},null,8,["tabs"]),M.value?(h(),E(J,{key:0,size:"sm"})):w("",!0)]),_:1},8,["class"]),i.value==="sites"?(h(),E(qe,{key:0,"device-id":l.deviceId},null,8,["device-id"])):w("",!0),i.value==="apps"?(h(),E(st,{key:1,"device-id":l.deviceId},null,8,["device-id"])):w("",!0)],2))}}),at="pYuGUdaM",nt={"settings-phone-blocker-page":"pYuGUdaM",settingsPhoneBlockerPage:at}
10,Et=z({__name:"SettingsPhoneBlockerPage",setup(e){const s=ue(),a=C(()=>Array.isArray(s.params.id)?s.params.id[0]:s.params.id);return(n,i)=>(h(),E(t(Ee),{class:u([t(nt).settingsPhoneBlockerPage])},{default:D(()=>[r(t(it),{"device-id":a.value},null,8,["device-id"])]),_:1},8,["class"]))}});export{Et as SettingsPhoneBlockerPage};
11//# sourceMappingURL=index-DDXmSWrl.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.