diff --git a/app/srv/core/main.js b/app/srv/core/main.js index 1a32f977..1207a883 100644 --- a/app/srv/core/main.js +++ b/app/srv/core/main.js @@ -132,7 +132,7 @@ ${p.message} return ${v.trim()} `)(...Object.values(u))(...y)),u[d]=b,l[d]=b,r&&(r[d]=b)}catch{f.add(d)}if(location.pathname.startsWith("/ed/")&&Ei.item_id&&t.item.id===Ei.item_id){Ei.scope={};for(let[d,c]of Object.entries(r))Ei.scope[d]=c;Ei.scope.self_props=l}}}},Kt={timeout:null,set:new WeakSet,map:{},src:{}},M3=(e,t)=>{if(!Kt.set.has(e)){Kt.set.add(e);let n=(0,Bx.createId)();Kt.map[n]={mprop:e},Kt.src[n]=t}clearTimeout(Kt.timeout),Kt.timeout=setTimeout(async()=>{let n=await _api.code_build(Kt.src),r=null;for(let[o,i]of Object.entries(n)){let a=Kt.map[o].mprop;if(!r&&a.doc){r=a.doc;break}}r&&(r.transact(()=>{for(let[o,i]of Object.entries(n))Kt.map[o].mprop.set("valueBuilt",i)}),Kt.set=new WeakSet,Kt.map={},Kt.src={})},300)},Bu=(e,t,n,r)=>{let o=r?t.item.script_keyed?.[r]:t.item.script;if(o&&o.props){let i={...n,api:e.site.api,db:e.site.db};for(let[a,s]of Object.entries(o.props))if(s.fn){let u=new Function(...Object.keys(i),`// [${t.item.name}] ${a}: ${t.item.id} return ${s.value||""} - `);s.fn=u(...Object.values(i))}}};var km=G(ge()),bm=({meta:e,passprop:t,is_layout:n,parent_key:r,depth:o})=>{let i=xr(Ur,"VI"),[a,s]=(0,Wx.useState)({});e.render=()=>{s({})};let u=t;return e.item.component?.id&&(u||(u={}),$x(i,e,n,u,o,r)),e.item.adv?.html?(0,km.jsx)($u,{meta:e,passprop:u,is_layout:n,depth:o}):e.item.adv?.js&&(zx(i,e,n,u,o,r),e.script)?e.script.result:(0,km.jsx)($u,{meta:e,passprop:u,is_layout:n,depth:o})};var nt=G(ge()),L3=70,U3={debug:!!localStorage.getItem("prasi-js-debug")},Hu={enabled:!1,meta:{}},qn=({meta:e,passprop:t,is_layout:n,parent_key:r,depth:o})=>{if(Hu.enabled){let i=Hu.meta;if(i[e.item.id]?i[e.item.id].last_render===Math.floor(Date.now()/1e3)?i[e.item.id].count++:i[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1}:i[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1},i[e.item.id]?.count>L3)return(0,nt.jsxs)("div",{className:"bg-orange-100 border border-orange-300 rounded-sm text-xs flex flex-col items-center",children:[(0,nt.jsxs)("div",{className:"text-[10px] font-bold text-red-900 self-stretch px-1",children:["WARNING: Render loop detected in [",e.item.name,"]"]}),(0,nt.jsxs)("p",{className:"border-b border-orange-300 px-1 pb-1 min-w-[100px]",children:["Rendered ",i[e.item.id]?.count," times in less than 1 second."]})]})}if(!e||e.item.hidden)return null;if(U3.debug){let i="";for(let a=0;a{let i=xr(Ur,"VI");if(n&&e.item.name==="children"){let s=[];for(let u of i.entry){let f=i.meta[u];if(f.item.adv?.js||f.item.component?.id)s.push((0,nt.jsx)(kn,{meta:f,children:(0,nt.jsx)(bm,{meta:f,is_layout:!1,passprop:{...t},parent_key:r,depth:o+1})}));else{let l=ms(i,f,!1,t,o);i.visit&&i.visit(f,l),s.push((0,nt.jsx)("div",{...l.props}))}}return(0,nt.jsx)(nt.Fragment,{children:s.map((u,f)=>(0,nt.jsx)(Vx.Fragment,{children:u},f))})}let a=ms(i,e,n,t,o);return i.visit&&i.visit(e,a),(0,nt.jsx)("div",{...a.props})};m();g();h();m();g();h();m();g();h();var Lt=window,Yx=async(e,t)=>{window.parent&&(window.addEventListener("message",async({data:n})=>{if(typeof n=="object"&&n.mobile){let r=n,o=async i=>{if(!Lt.notif?.onTap){let a=null,s=0;await new Promise(()=>{a=setInterval(()=>{s++,s>20&&clearInterval(a),i()&&clearInterval(a)},500)});return}};switch(r.type){case"notification-token":t.notif={token:r.token},Lt.notif={async send(i){if(e&&e.site.api)return await e.site.api._notif("send",{type:"send",id:typeof i.user_id=="string"?i.user_id:i.user_id.toString(),body:i.body,title:i.title,data:i.data})},async register(i){if(e&&e.site.api&&t.notif?.token)return await e.site.api._notif("register",{type:"register",id:typeof i=="string"?i:i.toString(),token:t.notif.token})},onReceive(i){},onTap(i){}};break;case"notification-tap":if(!Lt.notif?.onTap){o(()=>Lt.notif?.onTap?(Lt.notif?.onTap(r.notif),!0):!1);return}Lt.notif?.onTap&&Lt.notif?.onTap(r.notif);break;case"notification-receive":Lt.notif?.onReceive||o(()=>Lt.notif?.onReceive?(Lt.notif?.onReceive(r.notif),!0):!1),Lt.notif?.onReceive&&Lt.notif?.onReceive(r.notif);break}}}),window.parent.postMessage({mobile:!0,type:"ready"},"*")),Lt.notif={async send(n){if(e&&e.site.api)return await e.site.api._notif("send",{type:"send",id:typeof n.user_id=="string"?n.user_id:n.user_id.toString(),body:n.body,title:n.title,data:n.data})}}};m();g();h();var Em=window;Em.prasi_ext||(Em.prasi_ext={});var Wu=Em.prasi_ext;var Gx=async e=>{let t=Wu[e.site.id];if(t||(Wu[e.site.id]={status:"init"},t=Wu[e.site.id]),t.status==="init"){if(t.status="loading",window.parent!==window){let n=r=>{window.parent.postMessage({mobile:!0,...r},"*")};window.addEventListener("message",async({data:r})=>{console.log(r),typeof r=="object"&&r.mobile}),n({type:"ready"})}await Yx(e,t),t.status="ready"}};var Ii=G(ge()),Zx=({})=>{let e=xr(Ur,"VI"),t=_r({tick:Date.now()});if(e.tick=t.tick,Gx(e),e.status!=="ready")return(0,Ii.jsx)("div",{className:"flex flex-1 flex-col relative",children:(0,Ii.jsx)(ds,{backdrop:!1})});let n=!!e.layout?.entry&&e.layout.entry.length>0,r=e.entry;return n&&e.layout?.entry&&(r=e.layout?.entry),(0,Ii.jsx)("div",{className:"flex flex-1 flex-col relative",children:Array.isArray(r)&&r.map(o=>{let i=n?e.layout?.meta[o]:e.meta[o];return i&&Element?(0,Ii.jsx)(kn,{children:(0,Ii.jsx)(qn,{meta:i,is_layout:n,depth:0})},i.item.id):null})})};var Vu=G(ge()),En=window;En.prasi_internal||(En.prasi_internal={page:{id:""}});var qx=({meta:e,entry:t,api_url:n,site_id:r,api:o,mode:i,db:a,visit:s,script:u,preloaded:f,page_id:l,render_stat:d,on_status_changed:c,on_preload:p,layout:v,comp_load:S})=>{let b=xr(Ur,"VI");return b.mode=i,b.entry=t,b.on_preload=p,b.comp.load=S,l&&(En.prasi_internal.page.id=l),En.siteurl=(y,w)=>{if(y.startsWith("http://")||y.startsWith("https://"))return y;try{["prasi.avolut.com"].includes(location.hostname)||location.host==="localhost:4550"?b.site.api_url&&(b.site_url||(b.site_url=new URL(b.site.api_url))):b.site_url||(w&&b.site.api_url?b.site_url=new URL(b.site.api_url):b.site_url=new URL(location.href),b.site_url.pathname="")}catch{}if(b.site_url){let _=b.site_url,x=y;return x.startsWith("/")||(x="/"+x),En.prasiContext.siteUrl&&(x=En.prasiContext.siteUrl(x)),`${_.protocol}//${_.host}${x}`}return y},En.isMobile=i==="mobile",En.isDesktop=i==="desktop",En.preloaded=f||(y=>{}),En.preload=(y,w)=>{if(b.on_preload)return new Promise(_=>{b.page.navs[l]||(b.page.navs[l]=new Set);let x=b.page.navs[l],N=typeof y=="string"?[y]:y,D=!0;for(let A of N)x.has(A)||(x.add(A),D=!1);D?_():(b.page.preload.push(_),b.on_preload?.({urls:Array.from(b.page.navs[l]),opt:{on_load:(...A)=>{w?.on_load?.(...A);for(let M of b.page.preload)M();b.page.preload=[],b.render()}}}))})},b.layout=v,b.page.cur.id=l,b.on_status_changes=c,d==="disabled"&&(Hu.enabled=!1),b.meta!==e&&(b.meta=e),u&&(b.script.init_local_effect=u.init_local_effect),b.visit=s,b.status==="init"&&(b.site.db=a,b.site.api=o,ax(b,{api_url:n,site_id:r})),p&&(0,Yu.useEffect)(()=>{setTimeout(()=>{let y=b.page.navs[b.page.cur.id];y&&p({urls:Array.from(y),opt:{on_load(w){}}})},500)},[b.page.cur.id]),(0,Vu.jsx)(kn,{children:(0,Vu.jsx)(Yu.Suspense,{children:(0,Vu.jsx)(Zx,{})})})};m();g();h();var Qx=e=>new Promise(async t=>{let n=!1,r=await Zd(`page-${e}`);r&&(t(r),n=!0);let o=await(await fetch(B.url`_prasi/page/${e}`)).json();n||t(o)}),F3=e=>new Promise(async t=>{let n={},r=[...new Set(e)],o=!0;for(let a of r){let s=await Zd(`page-${a}`);if(s)n[a]=s;else{o=!1;break}}o&&t(n);let i=await(await fetch(B.url`_prasi/pages`,{method:"POST",body:JSON.stringify({ids:r})})).json();o||t(i)}),Kx=async e=>{let t=e.map(r=>B.route.router?.lookup(r)).filter(r=>r&&r.id);return await F3(t.map(r=>r?.id))};m();g();h();var Jx=G(Xx()),eS=()=>{let e=B;if(e.site.id){if(!e.mode&&e.site.responsive)if(e.site.responsive!=="mobile-only"&&e.site.responsive!=="desktop-only"){let t=(0,Jx.default)();e.mode=t.device.type==="mobile"?"mobile":"desktop"}else e.site.responsive==="mobile-only"?e.mode="mobile":e.site.responsive==="desktop-only"&&(e.mode="desktop");localStorage.getItem("prasi-editor-mode")&&(e.mode=localStorage.getItem("prasi-editor-mode"))}};m();g();h();var Le=window;var Qn=G(ge()),Cm=()=>location.hostname.split(".").length===4||location.hostname==="prasi.app"||location.hostname==="prasi.avolut.com"||location.hostname.includes("ngrok")||location.hostname==="localhost"||location.hostname==="127.0.0.1"||location.hostname==="10.0.2.2",nS=()=>{let e=_r({page_id:""}),[t,n]=(0,tS.useState)({}),r=()=>n({});Le.prasiContext.render=r;let o=wd.Provider,i=Cm()&&location.pathname.startsWith("/prod");if(B.route.status!=="ready")return B.route.status==="init"&&(B.route.status="loading",X1().then(async({router:d,pages:c})=>{eS(),B.route.status="ready",B.route.router=d,B.route.pages=c;let p=Le._prasi.basepath,v=`${p.endsWith("/")?p:`${p}/`}_prasi/code/index.js`,S=new URL(location.href);v.startsWith("/")&&(v=`${S.protocol}//${S.host}${v}`);let b=new Function("callback",`import("${v}").then(callback)`);await new Promise(y=>{b(w=>{for(let[_,x]of Object.entries(w))Le[_]=x;y()})}),r()})),(0,Qn.jsx)(ds,{});let a=B.route.router;if(!a)return(0,Qn.jsx)(sm,{children:"Failed to create Router"});let s="";if(i){let d=location.pathname.split("/");am(d[3])&&(s=d[3])}let u=null,f=null;if(Le._prasi.page_id)a.insert(B.pathname,{id:Le._prasi.page_id,url:B.pathname}),u={id:Le._prasi.page_id,url:"",params:Le._prasi.params},Le._prasi.routed={page_id:Le._prasi.page_id,params:Le._prasi.params},delete Le._prasi.page_id,delete Le._prasi.params;else{if(u=a.lookup(B.pathname),s){let d=B.route.pages.find(c=>s===c.id);f=d,d&&(u=d)}u&&Le._prasi.routed&&Le._prasi.routed.page_id===u.id&&Le._prasi.routed.params&&(u.params=Le._prasi.routed.params)}if(!u)return console.error("Page Not Found:",u,B.pathname,f),(0,Qn.jsx)(sm,{children:"Page Not Found"});u.id!==e.page_id&&(B.init_local_effect={},Jl({type:"page",id:u.id})),Le.params=u.params||{},B.page.id=u.id,B.page.url=u.url;let l=B.page.cache[u.id];if(l)B.page.root=l.root,B.page.meta=l.meta;else return Qx(u.id).then(async({root:d})=>{if(u){let c={id:u.id,url:u.url,root:d,meta:{}};await Bn(d.childs,!0),yo(c.meta,d),B.page.cache[c.id]=c,r()}}).catch(()=>{r()}),(0,Qn.jsx)(ds,{note:"Loading page"});return(0,Qn.jsx)(o,{value:Le.prasiContext,children:(0,Qn.jsx)("div",{className:cx("relative flex flex-1 items-center justify-center"),children:(0,Qn.jsx)("div",{className:cx("absolute flex flex-col items-stretch flex-1 bg-white main-content-preview",B.mode==="mobile"?css` + `);s.fn=u(...Object.values(i))}}};var km=G(ge()),bm=({meta:e,passprop:t,is_layout:n,parent_key:r,depth:o})=>{let i=xr(Ur,"VI"),[a,s]=(0,Wx.useState)({});e.render=()=>{s({})};let u=t;return e.item.component?.id&&(u||(u={}),$x(i,e,n,u,o,r)),e.item.adv?.html?(0,km.jsx)($u,{meta:e,passprop:u,is_layout:n,depth:o}):e.item.adv?.js&&(zx(i,e,n,u,o,r),e.script)?e.script.result:(0,km.jsx)($u,{meta:e,passprop:u,is_layout:n,depth:o})};var nt=G(ge()),L3=70,U3={debug:!!localStorage.getItem("prasi-js-debug")},Hu={enabled:!1,meta:{}},qn=({meta:e,passprop:t,is_layout:n,parent_key:r,depth:o})=>{if(Hu.enabled){let i=Hu.meta;if(i[e.item.id]?i[e.item.id].last_render===Math.floor(Date.now()/1e3)?i[e.item.id].count++:i[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1}:i[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1},i[e.item.id]?.count>L3)return(0,nt.jsxs)("div",{className:"bg-orange-100 border border-orange-300 rounded-sm text-xs flex flex-col items-center",children:[(0,nt.jsxs)("div",{className:"text-[10px] font-bold text-red-900 self-stretch px-1",children:["WARNING: Render loop detected in [",e.item.name,"]"]}),(0,nt.jsxs)("p",{className:"border-b border-orange-300 px-1 pb-1 min-w-[100px]",children:["Rendered ",i[e.item.id]?.count," times in less than 1 second."]})]})}if(!e||e.item.hidden)return null;if(U3.debug){let i="";for(let a=0;a{let i=xr(Ur,"VI");if(n&&e.item.name==="children"){let s=[];for(let u of i.entry){let f=i.meta[u];if(f.item.adv?.js||f.item.component?.id)s.push((0,nt.jsx)(kn,{meta:f,children:(0,nt.jsx)(bm,{meta:f,is_layout:!1,passprop:{...t},parent_key:r,depth:o+1})}));else{let l=ms(i,f,!1,t,o);i.visit&&i.visit(f,l),s.push((0,nt.jsx)("div",{...l.props}))}}return(0,nt.jsx)(nt.Fragment,{children:s.map((u,f)=>(0,nt.jsx)(Vx.Fragment,{children:u},f))})}let a=ms(i,e,n,t,o);return i.visit&&i.visit(e,a),(0,nt.jsx)("div",{...a.props})};m();g();h();m();g();h();m();g();h();var Lt=window,Yx=async(e,t)=>{window.parent&&(window.addEventListener("message",async({data:n})=>{if(typeof n=="object"&&n.mobile){let r=n,o=async i=>{if(!Lt.notif?.onTap){let a=null,s=0;await new Promise(()=>{a=setInterval(()=>{s++,s>20&&clearInterval(a),i()&&clearInterval(a)},500)});return}};switch(r.type){case"notification-token":t.notif={token:r.token},Lt.notif={async send(i){if(e&&e.site.api)return await e.site.api._notif("send",{type:"send",id:typeof i.user_id=="string"?i.user_id:i.user_id.toString(),body:i.body,title:i.title,data:i.data})},async register(i){if(e&&e.site.api&&t.notif?.token)return await e.site.api._notif("register",{type:"register",id:typeof i=="string"?i:i.toString(),token:t.notif.token})},onReceive(i){},onTap(i){}};break;case"notification-tap":if(!Lt.notif?.onTap){o(()=>Lt.notif?.onTap?(Lt.notif?.onTap(r.notif),!0):!1);return}Lt.notif?.onTap&&Lt.notif?.onTap(r.notif);break;case"notification-receive":Lt.notif?.onReceive||o(()=>Lt.notif?.onReceive?(Lt.notif?.onReceive(r.notif),!0):!1),Lt.notif?.onReceive&&Lt.notif?.onReceive(r.notif);break}}}),window.parent.postMessage({mobile:!0,type:"ready"},"*")),Lt.notif={async send(n){if(e&&e.site.api)return await e.site.api._notif("send",{type:"send",id:typeof n.user_id=="string"?n.user_id:n.user_id.toString(),body:n.body,title:n.title,data:n.data})}}};m();g();h();var Em=window;Em.prasi_ext||(Em.prasi_ext={});var Wu=Em.prasi_ext;var Gx=async e=>{let t=Wu[e.site.id];if(t||(Wu[e.site.id]={status:"init"},t=Wu[e.site.id]),t.status==="init"){if(t.status="loading",window.parent!==window){let n=r=>{window.parent.postMessage({mobile:!0,...r},"*")};window.addEventListener("message",async({data:r})=>{console.log(r),typeof r=="object"&&r.mobile}),n({type:"ready"})}await Yx(e,t),t.status="ready"}};var Ii=G(ge()),Zx=({})=>{let e=xr(Ur,"VI"),t=_r({tick:Date.now()});if(e.tick=t.tick,Gx(e),e.status!=="ready")return(0,Ii.jsx)("div",{className:"flex flex-1 flex-col relative",children:(0,Ii.jsx)(ds,{backdrop:!1})});let n=!!e.layout?.entry&&e.layout.entry.length>0,r=e.entry;return n&&e.layout?.entry&&(r=e.layout?.entry),(0,Ii.jsx)("div",{className:"flex flex-1 flex-col relative",children:Array.isArray(r)&&r.map(o=>{let i=n?e.layout?.meta[o]:e.meta[o];return i&&Element?(0,Ii.jsx)(kn,{children:(0,Ii.jsx)(qn,{meta:i,is_layout:n,depth:0})},i.item.id):null})})};var Vu=G(ge()),En=window;En.prasi_internal||(En.prasi_internal={page:{id:""}});var qx=({meta:e,entry:t,api_url:n,site_id:r,api:o,mode:i,db:a,visit:s,script:u,preloaded:f,page_id:l,render_stat:d,on_status_changed:c,on_preload:p,layout:v,comp_load:S})=>{let b=xr(Ur,"VI");return b.mode=i,b.entry=t,b.on_preload=p,b.comp.load=S,l&&(En.prasi_internal.page.id=l),En.siteurl=(y,w)=>{if(y.startsWith("http://")||y.startsWith("https://"))return y;try{["prasi.avolut.com"].includes(location.hostname)||location.host==="localhost:4550"?b.site.api_url&&(b.site_url||(b.site_url=new URL(b.site.api_url))):b.site_url||(w&&b.site.api_url?b.site_url=new URL(b.site.api_url):b.site_url=new URL(location.href),b.site_url.pathname="")}catch{}if(b.site_url){let _=b.site_url,x=y;return x.startsWith("/")||(x="/"+x),En.prasiContext.siteUrl&&(x=En.prasiContext.siteUrl(x)),`${_.protocol}//${_.host}${x}`}return y},En.isMobile=i==="mobile",En.isDesktop=i==="desktop",En.preloaded=f||(y=>{}),En.preload=(y,w)=>{if(b.on_preload)return new Promise(_=>{b.page.navs[l]||(b.page.navs[l]=new Set);let x=b.page.navs[l],N=typeof y=="string"?[y]:y,D=!0;for(let A of N)x.has(A)||(x.add(A),D=!1);D?_():(b.page.preload.push(_),b.on_preload?.({urls:Array.from(b.page.navs[l]),opt:{on_load:(...A)=>{w?.on_load?.(...A);for(let M of b.page.preload)M();b.page.preload=[],b.render()}}}))})},b.layout=v,b.page.cur.id=l,b.on_status_changes=c,d==="disabled"&&(Hu.enabled=!1),b.meta!==e&&(b.meta=e),u&&(b.script.init_local_effect=u.init_local_effect),b.visit=s,b.status==="init"&&(b.site.db=a,b.site.api=o,ax(b,{api_url:n,site_id:r})),p&&(0,Yu.useEffect)(()=>{setTimeout(()=>{let y=b.page.navs[b.page.cur.id];y&&p({urls:Array.from(y),opt:{on_load(w){}}})},500)},[b.page.cur.id]),(0,Vu.jsx)(kn,{children:(0,Vu.jsx)(Yu.Suspense,{children:(0,Vu.jsx)(Zx,{})})})};m();g();h();var Qx=e=>new Promise(async t=>{let n=!1,r=await Zd(`page-${e}`);r&&(t(r),n=!0);let o=await(await fetch(B.url`_prasi/page/${e}`)).json();n||t(o)}),F3=e=>new Promise(async t=>{let n={},r=[...new Set(e)],o=!0;for(let a of r){let s=await Zd(`page-${a}`);if(s)n[a]=s;else{o=!1;break}}o&&t(n);let i=await(await fetch(B.url`_prasi/pages`,{method:"POST",body:JSON.stringify({ids:r})})).json();o||t(i)}),Kx=async e=>{let t=e.map(r=>B.route.router?.lookup(r)).filter(r=>r&&r.id);return await F3(t.map(r=>r?.id))};m();g();h();var Jx=G(Xx()),eS=()=>{let e=B;if(e.site.id){if(!e.mode&&e.site.responsive)if(e.site.responsive!=="mobile-only"&&e.site.responsive!=="desktop-only"){let t=(0,Jx.default)();e.mode=t.device.type==="mobile"?"mobile":"desktop"}else e.site.responsive==="mobile-only"?e.mode="mobile":e.site.responsive==="desktop-only"&&(e.mode="desktop");localStorage.getItem("prasi-editor-mode")&&(e.mode=localStorage.getItem("prasi-editor-mode"))}};m();g();h();var Le=window;var Qn=G(ge()),Cm=()=>location.hostname.split(".").length===4||location.hostname==="prasi.app"||location.hostname==="prasi.avolut.com"||location.hostname.includes("ngrok")||location.hostname==="localhost"||location.hostname==="127.0.0.1"||location.hostname==="10.0.2.2",nS=()=>{let e=_r({page_id:""}),[t,n]=(0,tS.useState)({}),r=()=>n({});Le.prasiContext.render=r;let o=wd.Provider,i=Cm()&&location.pathname.startsWith("/prod");if(B.route.status!=="ready")return B.route.status==="init"&&(B.route.status="loading",X1().then(async({router:d,pages:c})=>{eS(),B.route.status="ready",B.route.router=d,B.route.pages=c;let p=Le._prasi.basepath,v=`${p.endsWith("/")?p:`${p}/`}_prasi/code/index.js`,S=new URL(location.href);v.startsWith("/")&&(v=`${S.protocol}//${S.host}${v}`);let b=new Function("callback",`import("${v}").then(callback)`);await new Promise(y=>{b(w=>{for(let[_,x]of Object.entries(w))Le[_]=x;y()})}),r()})),(0,Qn.jsx)(ds,{});let a=B.route.router;if(!a)return(0,Qn.jsx)(sm,{children:"Failed to create Router"});let s="";if(i){let d=location.pathname.split("/");am(d[3])&&(s=d[3])}let u=null,f=null;if(Le._prasi.page_id)a.insert(B.pathname,{id:Le._prasi.page_id,url:B.pathname}),u={id:Le._prasi.page_id,url:"",params:Le._prasi.params},Le._prasi.routed={page_id:Le._prasi.page_id,params:Le._prasi.params},delete Le._prasi.page_id,delete Le._prasi.params;else{if(u=a.lookup(B.pathname),s){let d=B.route.pages.find(c=>s===c.id);f=d,d&&(u=d)}u&&Le._prasi.routed&&Le._prasi.routed.page_id===u.id&&Le._prasi.routed.params&&(u.params=Le._prasi.routed.params)}if(!u)return console.error("Page Not Found:",u,B.pathname,f,a),(0,Qn.jsx)(sm,{children:"Page Not Found"});u.id!==e.page_id&&(B.init_local_effect={},Jl({type:"page",id:u.id})),Le.params=u.params||{},B.page.id=u.id,B.page.url=u.url;let l=B.page.cache[u.id];if(l)B.page.root=l.root,B.page.meta=l.meta;else return Qx(u.id).then(async({root:d})=>{if(u){let c={id:u.id,url:u.url,root:d,meta:{}};await Bn(d.childs,!0),yo(c.meta,d),B.page.cache[c.id]=c,r()}}).catch(()=>{r()}),(0,Qn.jsx)(ds,{note:"Loading page"});return(0,Qn.jsx)(o,{value:Le.prasiContext,children:(0,Qn.jsx)("div",{className:cx("relative flex flex-1 items-center justify-center"),children:(0,Qn.jsx)("div",{className:cx("absolute flex flex-col items-stretch flex-1 bg-white main-content-preview",B.mode==="mobile"?css` @media (min-width: 768px) { border-left: 1px solid #ccc; border-right: 1px solid #ccc; diff --git a/app/web/src/nova/prod/root.tsx b/app/web/src/nova/prod/root.tsx index 58a0f65f..62a20713 100644 --- a/app/web/src/nova/prod/root.tsx +++ b/app/web/src/nova/prod/root.tsx @@ -129,7 +129,7 @@ export const Root = () => { } if (!page) { - console.error("Page Not Found:", page, base.pathname, page_found); + console.error("Page Not Found:", page, base.pathname, page_found, router); return Page Not Found; }