diff --git a/app/srv/core/main.js b/app/srv/core/main.js index 97181114..edd590aa 100644 --- a/app/srv/core/main.js +++ b/app/srv/core/main.js @@ -133,7 +133,7 @@ ${c} return ${I} `);t.item.script.props[s]={value:I};let g=l(...Object.values(r));typeof g=="function"&&(t.item.script.props[s].fn=g,g=(...u)=>t.item.script?.props?.[s].fn(...u)),r[s]=g,i&&(i[s]=g)}catch{o.add(s)}}},Rc=(e,t,A)=>{if(t.item.script?.props){let i={...A,api:e.site.api,db:e.site.db};for(let[n,r]of Object.entries(t.item.script.props))if(r.fn){let o=new Function(...Object.keys(i),`// [${t.item.name}] ${n}: ${t.item.id} return ${r.value||""} - `);r.fn=o(...Object.values(i))}}};var E0=K(se()),HB=({meta:e,passprop:t,is_layout:A})=>{let i=Fi(Ki,"VI"),[n,r]=(0,p0.useState)({});e.render=()=>{r({})};let o=t;return e.item.component?.id&&(o||(o={}),Q0(i,e,A,o)),e.item.adv?.js&&(C0(i,e,A,o),e.script)?e.script.result:(0,E0.jsx)(MB,{meta:e,passprop:o,is_layout:A})};var Ze=K(se()),fH=70,qc={enabled:!1,meta:{}},jA=({meta:e,children:t,passprop:A,is_layout:i})=>{if(qc.enabled){let n=qc.meta;if(n[e.item.id]?n[e.item.id].last_render===Math.floor(Date.now()/1e3)?n[e.item.id].count++:n[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1}:n[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1},n[e.item.id]?.count>fH)return(0,Ze.jsxs)("div",{className:"bg-orange-100 border border-orange-300 rounded-sm text-xs flex flex-col items-center",children:[(0,Ze.jsxs)("div",{className:"text-[10px] font-bold text-red-900 self-stretch px-1",children:["WARNING: Render loop detected in [",e.item.name,"]"]}),(0,Ze.jsxs)("p",{className:"border-b border-orange-300 px-1 pb-1 min-w-[100px]",children:["Rendered ",n[e.item.id]?.count," times in less than 1 second."]})]})}return!e||e.item.hidden?null:e.item.adv?.js||e.item.component?.id?(0,Ze.jsx)(UA,{meta:e,children:(0,Ze.jsx)(HB,{meta:e,is_layout:i,passprop:A})}):(0,Ze.jsx)(UA,{meta:e,children:(0,Ze.jsx)(MB,{meta:e,passprop:A,is_layout:i})})},MB=({meta:e,passprop:t,is_layout:A})=>{let i=Fi(Ki,"VI");if(A&&e.item.name==="children"){let r=[];for(let o of i.entry){let s=i.meta[o];if(s.item.adv?.js||s.item.component?.id)r.push((0,Ze.jsx)(UA,{meta:s,children:(0,Ze.jsx)(HB,{meta:s,is_layout:!1,passprop:t})}));else{let a=Hs(i,s,!1,t);i.visit&&i.visit(s,a),r.push((0,Ze.jsx)("div",{...a.props}))}}return(0,Ze.jsx)(Ze.Fragment,{children:r.map((o,s)=>(0,Ze.jsx)(m0.Fragment,{children:o},s))})}let n=Hs(i,e,A,t);return i.visit&&i.visit(e,n),(0,Ze.jsx)("div",{...n.props})};var Jr=K(se()),y0=({})=>{let e=Fi(Ki,"VI"),t=mi({tick:Date.now()});if(e.tick=t.tick,e.status!=="ready")return(0,Jr.jsx)("div",{className:"flex flex-1 flex-col relative",children:(0,Jr.jsx)(An,{backdrop:!1})});let A=!!e.layout?.entry&&e.layout.entry.length>0,i=e.entry;return A&&e.layout?.entry&&(i=e.layout?.entry),(0,Jr.jsx)("div",{className:"flex flex-1 flex-col relative",children:Array.isArray(i)&&i.map(n=>{let r=A?e.layout?.meta[n]:e.meta[n];return r&&Element?(0,Jr.jsx)(UA,{children:(0,Jr.jsx)(jA,{meta:r,is_layout:A})},r.item.id):null})})};var bc=K(se()),Kc=window,w0=({meta:e,entry:t,api_url:A,site_id:i,api:n,mode:r,db:o,visit:s,script:a,page_id:c,render_stat:I,on_status_changed:l,on_preload:g,layout:u})=>{let f=Fi(Ki,"VI");return f.mode=r,f.entry=t,f.on_preload=g,Kc.siteurl=(C,F)=>{if(C.startsWith("http://")||C.startsWith("https://"))return C;if(["prasi.avolut.com","localhost"].includes(location.hostname)?f.site.api_url&&(f.site_url||(f.site_url=new URL(f.site.api_url))):f.site_url||(F&&f.site.api_url?f.site_url=new URL(f.site.api_url):f.site_url=new URL(location.href),f.site_url.pathname=""),f.site_url){let d=f.site_url,B=C;return B.startsWith("/")||(B="/"+B),`${d.protocol}//${d.hostname}${B}`}return C},Kc.isMobile=r==="mobile",Kc.isDesktop=r==="desktop",Kc.preload=(C,F)=>{f.page.navs[c]||(f.page.navs[c]=new Set);let d=typeof C=="string"?[C]:C;for(let B of d)f.page.navs[c].add(B);return clearTimeout(En.timeout),En.timeout=setTimeout(()=>{f.on_preload&&f.on_preload({urls:Array.from(f.page.navs[c]),opt:{on_load:F?.on_load}})},100),""},f.layout=u,f.page.cur.id=c,f.on_status_changes=l,I==="disabled"&&(qc.enabled=!1),f.meta!==e&&(f.meta=e),a&&(f.script.init_local_effect=a.init_local_effect),f.visit=s,f.status==="init"&&(f.site.db=o,f.site.api=n,Kw(f,{api_url:A,site_id:i})),g&&(0,Oc.useEffect)(()=>{setTimeout(()=>{let C=f.page.navs[f.page.cur.id];C&&g({urls:Array.from(C),opt:{on_load(F){}}})},500)},[f.page.cur.id]),(0,bc.jsx)(UA,{children:(0,bc.jsx)(Oc.Suspense,{children:(0,bc.jsx)(y0,{})})})};var vB=window,v={root:null,url(...e){let t=e.map(i=>Array.isArray(i)?i.join(""):i).join(""),A=this.root.toString();return A.endsWith("/")&&(A=A.substring(0,A.length-1)),t.startsWith("/")?A+t:A+"/"+t},get pathname(){let e=location.pathname.substring(v.root.pathname.length);return e.startsWith("/")?e:`/${e}`},site:{id:vB._prasi?.site_id},init_local_effect:{},mode:"",route:{status:"init",pages:[],router:null},comp:{list:{},pending:new Set},layout:{id:"",root:null,meta:null},cache:{urls:new Set},page:{id:"",url:"",root:null,meta:null,cache:{}}},F0=()=>{if(!v.root){let e=new URL(location.href);vB._prasi.basepath&&(e.pathname=vB._prasi.basepath),v.root=new URL(`${e.protocol}//${e.host}${e.pathname}`),v.root.pathname.endsWith("/")&&(v.root.pathname=v.root.pathname.substring(0,v.root.length-1))}};var qr=async(e,t)=>{let A=v.comp,i=t||{};for(let n of e)n&&n.type!=="text"&&Lc(n,i);if(A.pending.size>0)try{let n=await(await fetch(v.url`_prasi/comp`,{method:"POST",body:JSON.stringify({ids:[...A.pending]})})).json();for(let[r,o]of Object.entries(n))A.pending.delete(r),A.list[r]=o,await Bs(`comp-${r}`,o);await qr(Object.values(n),i)}catch{}},Lc=(e,t)=>{let A=v.comp;if(e.type==="item"){let i=e.component?.id;if(i&&(!A.list[i]&&!A.pending.has(i)&&A.pending.add(i),A.pending.has(i)&&(t[i]||(t[i]=[]),t[i].push(e)),t[i])){if(A.list[i]){for(let n of t[i])for(let r of Object.values(n.component?.props||{}))r.content&&Lc(r.content,t);delete t[i]}else if(e.component?.props)for(let n of Object.values(e.component?.props||{}))n.content&&Lc(n.content,t)}}if(e.childs)for(let i of e.childs){let n=i;n&&n.type!=="text"&&Lc(n,t)}};var D0=e=>new Promise(async t=>{let A=!1,i=await mr(`page-${e}`);i&&(t(i),A=!0);let n=await(await fetch(v.url`_prasi/page/${e}`)).json();A||t(n)}),BH=e=>new Promise(async t=>{let A={},i=[...new Set(e)],n=!0;for(let o of i){let s=await mr(`page-${o}`);if(s)A[o]=s;else{n=!1;break}}n&&t(A);let r=await(await fetch(v.url`_prasi/pages`,{method:"POST",body:JSON.stringify({ids:i})})).json();n||t(r)}),k0=async e=>{let t=e.map(i=>v.route.router?.lookup(i)).filter(i=>i&&i.id);return await BH(t.map(i=>i?.id))};var U0=K(S0()),N0=()=>{let e=v;if(e.site.id){if(!e.mode&&e.site.responsive)if(e.site.responsive!=="mobile-only"&&e.site.responsive!=="desktop-only"){let t=(0,U0.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"))}};var dH=()=>new Promise(async e=>{let t=!1,A=await(await fetch(v.url`_prasi/route`)).json();t||e(A)}),x0=async()=>{let e=Fr(),t=[];try{let A=await dH();if(A&&A.site&&A.urls){A.layout&&(v.layout.id=A.layout.id,v.layout.root=A.layout.root,v.layout.meta={},v.layout.root&&(await qr(v.layout.root.childs),console.log(Object.values(v.comp.list).map(n=>n.name)),Pc(v.layout.meta,v.layout.root))),v.site=A.site,v.site.code={mode:"vsc"},await CH(),v.site.api=mn(v.site.api_url),v.site.db=yn(v.site.api_url);let i=window;i.serverurl=v.site.api_url,i.db=v.site.db,i.api=v.site.api;for(let n of A.urls)e.insert(n.url,n),t.push(n)}}catch{}return{router:e,pages:t}},CH=()=>new Promise(e=>{let t=document,A=t.createElement("script");A.onload=async()=>{e()};let i=v.site.api_url;try{new URL(i)}catch{location.hostname==="localhost"?i="http://localhost:4550":i="https://prasi.avolut.com"}localStorage.getItem("api-ts-"+i)||localStorage.setItem("api-ts-"+i,Date.now().toString());let n=localStorage.getItem("api-ts-"+i);A.src=`${i}/_prasi/load.js?url=${i}&v3&ts=${n}`,document.querySelector(`script[src="${A.src}"]`)?e():t.body.appendChild(A)}),Pc=(e,t)=>{for(let A of t.childs)vt({set_meta:!0,comps:v.comp.list,meta:e,mode:"page"},{item:A})};var kn=window;var $A=K(se()),JB=()=>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",H0=()=>{let e=mi({page_id:""}),[t,A]=(0,G0.useState)({}),i=()=>A({});kn.prasiContext.render=i;let n=yu.Provider,r=JB()&&location.pathname.startsWith("/prod");if(v.route.status!=="ready")return v.route.status==="init"&&(v.route.status="loading",x0().then(async({router:I,pages:l})=>{N0(),v.route.status="ready",v.route.router=I,v.route.pages=l;let g=Gc(await(await fetch(`${kn._prasi.basepath}/_prasi/code/index.js`.replace("//","/"))).text());if(g)for(let[u,f]of Object.entries(g))window[u]=f;i()})),(0,$A.jsx)(An,{});let o=v.route.router;if(!o)return(0,$A.jsx)(ku,{children:"Failed to create Router"});let s="";if(r){let I=location.pathname.split("/");Du(I[3])&&(s=I[3])}let a=o.lookup(v.pathname);if(s){let I=v.route.pages.find(l=>s===l.id);I&&(a=I)}if(!a)return(0,$A.jsx)(ku,{children:"Page Not Found"});a.id!==e.page_id&&(v.init_local_effect={}),kn.params=a.params||{},v.page.id=a.id,v.page.url=a.url;let c=v.page.cache[a.id];if(c)v.page.root=c.root,v.page.meta=c.meta;else return D0(a.id).then(async({root:I})=>{if(a){let l={id:a.id,url:a.url,root:I,meta:{}};await qr(I.childs),Pc(l.meta,I),v.page.cache[l.id]=l,i()}}).catch(()=>{i()}),(0,$A.jsx)(An,{note:"Loading page"});return(0,$A.jsx)(n,{value:kn.prasiContext,children:(0,$A.jsx)("div",{className:cx("relative flex flex-1 items-center justify-center"),children:(0,$A.jsx)("div",{className:cx("absolute flex flex-col items-stretch flex-1 bg-white main-content-preview",v.mode==="mobile"?css` + `);r.fn=o(...Object.values(i))}}};var E0=K(se()),HB=({meta:e,passprop:t,is_layout:A})=>{let i=Fi(Ki,"VI"),[n,r]=(0,p0.useState)({});e.render=()=>{r({})};let o=t;return e.item.component?.id&&(o||(o={}),Q0(i,e,A,o)),e.item.adv?.js&&(C0(i,e,A,o),e.script)?e.script.result:(0,E0.jsx)(MB,{meta:e,passprop:o,is_layout:A})};var Ze=K(se()),fH=70,qc={enabled:!1,meta:{}},jA=({meta:e,children:t,passprop:A,is_layout:i})=>{if(qc.enabled){let n=qc.meta;if(n[e.item.id]?n[e.item.id].last_render===Math.floor(Date.now()/1e3)?n[e.item.id].count++:n[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1}:n[e.item.id]={last_render:Math.floor(Date.now()/1e3),count:1},n[e.item.id]?.count>fH)return(0,Ze.jsxs)("div",{className:"bg-orange-100 border border-orange-300 rounded-sm text-xs flex flex-col items-center",children:[(0,Ze.jsxs)("div",{className:"text-[10px] font-bold text-red-900 self-stretch px-1",children:["WARNING: Render loop detected in [",e.item.name,"]"]}),(0,Ze.jsxs)("p",{className:"border-b border-orange-300 px-1 pb-1 min-w-[100px]",children:["Rendered ",n[e.item.id]?.count," times in less than 1 second."]})]})}return!e||e.item.hidden?null:e.item.adv?.js||e.item.component?.id?(0,Ze.jsx)(UA,{meta:e,children:(0,Ze.jsx)(HB,{meta:e,is_layout:i,passprop:A})}):(0,Ze.jsx)(UA,{meta:e,children:(0,Ze.jsx)(MB,{meta:e,passprop:A,is_layout:i})})},MB=({meta:e,passprop:t,is_layout:A})=>{let i=Fi(Ki,"VI");if(A&&e.item.name==="children"){let r=[];for(let o of i.entry){let s=i.meta[o];if(s.item.adv?.js||s.item.component?.id)r.push((0,Ze.jsx)(UA,{meta:s,children:(0,Ze.jsx)(HB,{meta:s,is_layout:!1,passprop:t})}));else{let a=Hs(i,s,!1,t);i.visit&&i.visit(s,a),r.push((0,Ze.jsx)("div",{...a.props}))}}return(0,Ze.jsx)(Ze.Fragment,{children:r.map((o,s)=>(0,Ze.jsx)(m0.Fragment,{children:o},s))})}let n=Hs(i,e,A,t);return i.visit&&i.visit(e,n),(0,Ze.jsx)("div",{...n.props})};var Jr=K(se()),y0=({})=>{let e=Fi(Ki,"VI"),t=mi({tick:Date.now()});if(e.tick=t.tick,e.status!=="ready")return(0,Jr.jsx)("div",{className:"flex flex-1 flex-col relative",children:(0,Jr.jsx)(An,{backdrop:!1})});let A=!!e.layout?.entry&&e.layout.entry.length>0,i=e.entry;return A&&e.layout?.entry&&(i=e.layout?.entry),(0,Jr.jsx)("div",{className:"flex flex-1 flex-col relative",children:Array.isArray(i)&&i.map(n=>{let r=A?e.layout?.meta[n]:e.meta[n];return r&&Element?(0,Jr.jsx)(UA,{children:(0,Jr.jsx)(jA,{meta:r,is_layout:A})},r.item.id):null})})};var bc=K(se()),Kc=window,w0=({meta:e,entry:t,api_url:A,site_id:i,api:n,mode:r,db:o,visit:s,script:a,page_id:c,render_stat:I,on_status_changed:l,on_preload:g,layout:u})=>{let f=Fi(Ki,"VI");return f.mode=r,f.entry=t,f.on_preload=g,Kc.siteurl=(C,F)=>{if(C.startsWith("http://")||C.startsWith("https://"))return C;try{["prasi.avolut.com","localhost"].includes(location.hostname)?f.site.api_url&&(f.site_url||(f.site_url=new URL(f.site.api_url))):f.site_url||(F&&f.site.api_url?f.site_url=new URL(f.site.api_url):f.site_url=new URL(location.href),f.site_url.pathname="")}catch{}if(f.site_url){let d=f.site_url,B=C;return B.startsWith("/")||(B="/"+B),`${d.protocol}//${d.hostname}${B}`}return C},Kc.isMobile=r==="mobile",Kc.isDesktop=r==="desktop",Kc.preload=(C,F)=>{f.page.navs[c]||(f.page.navs[c]=new Set);let d=typeof C=="string"?[C]:C;for(let B of d)f.page.navs[c].add(B);return clearTimeout(En.timeout),En.timeout=setTimeout(()=>{f.on_preload&&f.on_preload({urls:Array.from(f.page.navs[c]),opt:{on_load:F?.on_load}})},100),""},f.layout=u,f.page.cur.id=c,f.on_status_changes=l,I==="disabled"&&(qc.enabled=!1),f.meta!==e&&(f.meta=e),a&&(f.script.init_local_effect=a.init_local_effect),f.visit=s,f.status==="init"&&(f.site.db=o,f.site.api=n,Kw(f,{api_url:A,site_id:i})),g&&(0,Oc.useEffect)(()=>{setTimeout(()=>{let C=f.page.navs[f.page.cur.id];C&&g({urls:Array.from(C),opt:{on_load(F){}}})},500)},[f.page.cur.id]),(0,bc.jsx)(UA,{children:(0,bc.jsx)(Oc.Suspense,{children:(0,bc.jsx)(y0,{})})})};var vB=window,v={root:null,url(...e){let t=e.map(i=>Array.isArray(i)?i.join(""):i).join(""),A=this.root.toString();return A.endsWith("/")&&(A=A.substring(0,A.length-1)),t.startsWith("/")?A+t:A+"/"+t},get pathname(){let e=location.pathname.substring(v.root.pathname.length);return e.startsWith("/")?e:`/${e}`},site:{id:vB._prasi?.site_id},init_local_effect:{},mode:"",route:{status:"init",pages:[],router:null},comp:{list:{},pending:new Set},layout:{id:"",root:null,meta:null},cache:{urls:new Set},page:{id:"",url:"",root:null,meta:null,cache:{}}},F0=()=>{if(!v.root){let e=new URL(location.href);vB._prasi.basepath&&(e.pathname=vB._prasi.basepath),v.root=new URL(`${e.protocol}//${e.host}${e.pathname}`),v.root.pathname.endsWith("/")&&(v.root.pathname=v.root.pathname.substring(0,v.root.length-1))}};var qr=async(e,t)=>{let A=v.comp,i=t||{};for(let n of e)n&&n.type!=="text"&&Lc(n,i);if(A.pending.size>0)try{let n=await(await fetch(v.url`_prasi/comp`,{method:"POST",body:JSON.stringify({ids:[...A.pending]})})).json();for(let[r,o]of Object.entries(n))A.pending.delete(r),A.list[r]=o,await Bs(`comp-${r}`,o);await qr(Object.values(n),i)}catch{}},Lc=(e,t)=>{let A=v.comp;if(e.type==="item"){let i=e.component?.id;if(i&&(!A.list[i]&&!A.pending.has(i)&&A.pending.add(i),A.pending.has(i)&&(t[i]||(t[i]=[]),t[i].push(e)),t[i])){if(A.list[i]){for(let n of t[i])for(let r of Object.values(n.component?.props||{}))r.content&&Lc(r.content,t);delete t[i]}else if(e.component?.props)for(let n of Object.values(e.component?.props||{}))n.content&&Lc(n.content,t)}}if(e.childs)for(let i of e.childs){let n=i;n&&n.type!=="text"&&Lc(n,t)}};var D0=e=>new Promise(async t=>{let A=!1,i=await mr(`page-${e}`);i&&(t(i),A=!0);let n=await(await fetch(v.url`_prasi/page/${e}`)).json();A||t(n)}),BH=e=>new Promise(async t=>{let A={},i=[...new Set(e)],n=!0;for(let o of i){let s=await mr(`page-${o}`);if(s)A[o]=s;else{n=!1;break}}n&&t(A);let r=await(await fetch(v.url`_prasi/pages`,{method:"POST",body:JSON.stringify({ids:i})})).json();n||t(r)}),k0=async e=>{let t=e.map(i=>v.route.router?.lookup(i)).filter(i=>i&&i.id);return await BH(t.map(i=>i?.id))};var U0=K(S0()),N0=()=>{let e=v;if(e.site.id){if(!e.mode&&e.site.responsive)if(e.site.responsive!=="mobile-only"&&e.site.responsive!=="desktop-only"){let t=(0,U0.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"))}};var dH=()=>new Promise(async e=>{let t=!1,A=await(await fetch(v.url`_prasi/route`)).json();t||e(A)}),x0=async()=>{let e=Fr(),t=[];try{let A=await dH();if(A&&A.site&&A.urls){A.layout&&(v.layout.id=A.layout.id,v.layout.root=A.layout.root,v.layout.meta={},v.layout.root&&(await qr(v.layout.root.childs),Pc(v.layout.meta,v.layout.root))),v.site=A.site,v.site.code={mode:"vsc"},await CH(),v.site.api=mn(v.site.api_url),v.site.db=yn(v.site.api_url);let i=window;i.serverurl=v.site.api_url,i.db=v.site.db,i.api=v.site.api;for(let n of A.urls)e.insert(n.url,n),t.push(n)}}catch{}return{router:e,pages:t}},CH=()=>new Promise(e=>{let t=document,A=t.createElement("script");A.onload=async()=>{e()};let i=v.site.api_url;try{new URL(i)}catch{location.hostname==="localhost"?i="http://localhost:4550":i="https://prasi.avolut.com"}localStorage.getItem("api-ts-"+i)||localStorage.setItem("api-ts-"+i,Date.now().toString());let n=localStorage.getItem("api-ts-"+i);A.src=`${i}/_prasi/load.js?url=${i}&v3&ts=${n}`,document.querySelector(`script[src="${A.src}"]`)?e():t.body.appendChild(A)}),Pc=(e,t)=>{for(let A of t.childs)vt({set_meta:!0,comps:v.comp.list,meta:e,mode:"page"},{item:A})};var kn=window;var $A=K(se()),JB=()=>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",H0=()=>{let e=mi({page_id:""}),[t,A]=(0,G0.useState)({}),i=()=>A({});kn.prasiContext.render=i;let n=yu.Provider,r=JB()&&location.pathname.startsWith("/prod");if(v.route.status!=="ready")return v.route.status==="init"&&(v.route.status="loading",x0().then(async({router:I,pages:l})=>{N0(),v.route.status="ready",v.route.router=I,v.route.pages=l;let g=Gc(await(await fetch(`${kn._prasi.basepath}/_prasi/code/index.js`.replace("//","/"))).text());if(g)for(let[u,f]of Object.entries(g))window[u]=f;i()})),(0,$A.jsx)(An,{});let o=v.route.router;if(!o)return(0,$A.jsx)(ku,{children:"Failed to create Router"});let s="";if(r){let I=location.pathname.split("/");Du(I[3])&&(s=I[3])}let a=o.lookup(v.pathname);if(s){let I=v.route.pages.find(l=>s===l.id);I&&(a=I)}if(!a)return(0,$A.jsx)(ku,{children:"Page Not Found"});a.id!==e.page_id&&(v.init_local_effect={}),kn.params=a.params||{},v.page.id=a.id,v.page.url=a.url;let c=v.page.cache[a.id];if(c)v.page.root=c.root,v.page.meta=c.meta;else return D0(a.id).then(async({root:I})=>{if(a){let l={id:a.id,url:a.url,root:I,meta:{}};await qr(I.childs),Pc(l.meta,I),v.page.cache[l.id]=l,i()}}).catch(()=>{i()}),(0,$A.jsx)(An,{note:"Loading page"});return(0,$A.jsx)(n,{value:kn.prasiContext,children:(0,$A.jsx)("div",{className:cx("relative flex flex-1 items-center justify-center"),children:(0,$A.jsx)("div",{className:cx("absolute flex flex-col items-stretch flex-1 bg-white main-content-preview",v.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/base/route.tsx b/app/web/src/nova/prod/base/route.tsx index 637581ba..619e5262 100644 --- a/app/web/src/nova/prod/base/route.tsx +++ b/app/web/src/nova/prod/base/route.tsx @@ -38,7 +38,6 @@ export const initBaseRoute = async () => { base.layout.meta = {}; if (base.layout.root) { await scanComponent(base.layout.root.childs); - console.log(Object.values(base.comp.list).map((e) => e.name)); rebuildMeta(base.layout.meta, base.layout.root); } }