diff --git a/app/srv/core/main.js b/app/srv/core/main.js index 95d87ff4..95206288 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 u=l(...Object.values(r));typeof u=="function"&&(t.item.script.props[s].fn=u,u=(...g)=>t.item.script?.props?.[s].fn(...g)),r[s]=u,i&&(i[s]=u)}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 C0=K(ce()),UB=({meta:e,passprop:t,is_layout:A})=>{let i=ki(Oi,"VI"),[n,r]=(0,d0.useState)({});e.render=()=>{r({})};let o=t;return e.item.component?.id&&(o||(o={}),f0(i,e,A,o)),e.item.adv?.js&&(u0(i,e,A,o),e.script)?e.script.result:(0,C0.jsx)(NB,{meta:e,passprop:o,is_layout:A})};var Ze=K(ce()),cH=70,qc={enabled:!1,meta:{}},qr=({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>cH)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)(GA,{meta:e,children:(0,Ze.jsx)(UB,{meta:e,is_layout:i,passprop:A})}):(0,Ze.jsx)(GA,{meta:e,children:(0,Ze.jsx)(NB,{meta:e,passprop:A,is_layout:i})})},NB=({meta:e,passprop:t,is_layout:A})=>{let i=ki(Oi,"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)(GA,{meta:s,children:(0,Ze.jsx)(UB,{meta:s,is_layout:A,passprop:t})}));else{let a=Gs(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)(Q0.Fragment,{children:o},s))})}let n=Gs(i,e,A,t);return i.visit&&i.visit(e,n),(0,Ze.jsx)("div",{...n.props})};var Kr=K(ce()),h0=({})=>{let e=ki(Oi,"VI"),t=wi({tick:Date.now()});if(e.tick=t.tick,e.status!=="ready")return(0,Kr.jsx)("div",{className:"flex flex-1 flex-col relative",children:(0,Kr.jsx)(rn,{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,Kr.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,Kr.jsx)(GA,{children:(0,Kr.jsx)(qr,{meta:r,is_layout:A})},r.item.id):null})})};var Kc=K(ce()),xB=window,p0=({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:u,layout:g})=>{let f=ki(Oi,"VI");return f.mode=r,f.entry=t,f.on_preload=u,xB.isMobile=r==="mobile",xB.isDesktop=r==="desktop",xB.preload=Q=>{f.page.navs[c]||(f.page.navs[c]=new Set);let k=typeof Q=="string"?[Q]:Q;for(let d of k)f.page.navs[c].add(d);return clearTimeout(wn.timeout),wn.timeout=setTimeout(()=>{f.on_preload&&f.on_preload({urls:Array.from(f.page.navs[c])})},100),""},f.layout=g,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,Mw(f,{api_url:A,site_id:i})),u&&(0,bc.useEffect)(()=>{setTimeout(()=>{let Q=f.page.navs[f.page.cur.id];Q&&u({urls:Array.from(Q)})},500)},[f.page.cur.id]),(0,Kc.jsx)(GA,{children:(0,Kc.jsx)(bc.Suspense,{children:(0,Kc.jsx)(h0,{})})})};var GB=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:GB._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:{}}},E0=()=>{if(!v.root){let e=new URL(location.href);GB._prasi.basepath&&(e.pathname=GB._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 cA=Qn("prasi-prod","prasi-cache-prod");var Hs=async e=>{let t=v.comp;for(let A of e)A&&A.type!=="text"&&HB(A);if(t.pending.size>0){let A=!0,i=[];for(let n of[...t.pending]){let r=await kA(`comp-${n}`,cA);r||(A=!1),t.list[n]=r,i.push(r)}if(A){for(let n of[...t.pending])t.pending.delete(n);await Hs(i);return}}if(t.pending.size>0)try{let A=await(await fetch(v.url`_prasi/comp`,{method:"POST",body:JSON.stringify({ids:[...t.pending]})})).json();for(let[i,n]of Object.entries(A))t.pending.delete(i),t.list[i]=n,await SA(`comp-${i}`,n,cA);await Hs(Object.values(A))}catch{}},HB=e=>{let t=v.comp;if(e.type==="item"){let A=e.component?.id;if(A){!t.list[A]&&!t.pending.has(A)&&t.pending.add(A);for(let i of Object.values(e.component?.props||{}))i.content&&i.meta?.type==="content-element"&&HB(i.content)}}if(e.childs)for(let A of e.childs)A&&A.type!=="text"&&HB(A)};var m0=(e,t)=>new Promise(async A=>{let i=!1;if(t!==!1){let r=await kA(`page-${e}`,cA);r&&(A(r),i=!0)}let n=await(await fetch(v.url`_prasi/page/${e}`)).json();SA(`page-${e}`,{id:e,url:n.url,root:n.root},cA),i||A(n)}),lH=e=>new Promise(async t=>{let A={},i=[...new Set(e)],n=!0;for(let o of i){let s=await kA(`page-${o}`,cA);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();for(let[o,s]of Object.entries(r))SA(`page-${o}`,s,cA);n||t(r)}),y0=async e=>{let t=e.map(A=>v.route.router?.lookup(A)).filter(A=>A&&A.id);return await lH(t.map(A=>A?.id))};var F0=K(w0()),D0=()=>{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,F0.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 gH=()=>new Promise(async e=>{let t=!1,A=await kA("route",cA);A&&(e(A),t=!0);let i=await(await fetch(v.url`_prasi/route`)).json();await SA("route",i,cA),t||e(i)}),k0=async()=>{let e=kr(),t=[];try{let A=await gH();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&&Lc(v.layout.meta,v.layout.root)),v.site=A.site,v.site.code={mode:"new"},await uH(),v.site.api=Fn(v.site.api_url),v.site.db=Dn(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}},uH=()=>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)}),Lc=(e,t)=>{for(let A of t.childs)vt({comps:v.comp.list,meta:e,mode:"page"},{item:A})};var Nn=window;var ti=K(ce()),MB=()=>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",U0=()=>{let e=wi({page_id:""}),[t,A]=(0,S0.useState)({}),i=()=>A({});Nn.prasiContext.render=i;let n=Eu.Provider;if(v.route.status!=="ready")return v.route.status==="init"&&(v.route.status="loading",k0().then(async({router:I,pages:l})=>{D0(),v.route.status="ready",v.route.router=I,v.route.pages=l;let u=Gc(await(await fetch(`${Nn._prasi.basepath}/_prasi/code/index.js`.replace("//","/"))).text());if(u)for(let[g,f]of Object.entries(u))window[g]=f;i()})),(0,ti.jsx)(rn,{});let r=v.route.router;if(!r)return(0,ti.jsx)(Fu,{children:"Failed to create Router"});let o="",s=MB()&&location.pathname.startsWith("/prod");if(s){let I=location.pathname.split("/");wu(I[3])&&(o=I[3])}let a=r.lookup(v.pathname);if(o){let I=v.route.pages.find(l=>o===l.id);I&&(a=I)}if(!a)return(0,ti.jsx)(Fu,{children:"Page Not Found"});a.id!==e.page_id&&(v.init_local_effect={}),Nn.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 m0(a.id,!s).then(async({root:I})=>{if(a){let l={id:a.id,url:a.url,root:I,meta:{}};await Hs(I.childs),Lc(l.meta,I),v.page.cache[l.id]=l,i()}}).catch(()=>{i()}),(0,ti.jsx)(rn,{note:"Loading page"});return(0,ti.jsx)(n,{value:Nn.prasiContext,children:(0,ti.jsx)("div",{className:cx("relative flex flex-1 items-center justify-center"),children:(0,ti.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 C0=K(ce()),UB=({meta:e,passprop:t,is_layout:A})=>{let i=ki(Oi,"VI"),[n,r]=(0,d0.useState)({});e.render=()=>{r({})};let o=t;return e.item.component?.id&&(o||(o={}),f0(i,e,A,o)),e.item.adv?.js&&(u0(i,e,A,o),e.script)?e.script.result:(0,C0.jsx)(NB,{meta:e,passprop:o,is_layout:A})};var Ze=K(ce()),cH=70,qc={enabled:!1,meta:{}},qr=({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>cH)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)(GA,{meta:e,children:(0,Ze.jsx)(UB,{meta:e,is_layout:i,passprop:A})}):(0,Ze.jsx)(GA,{meta:e,children:(0,Ze.jsx)(NB,{meta:e,passprop:A,is_layout:i})})},NB=({meta:e,passprop:t,is_layout:A})=>{let i=ki(Oi,"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)(GA,{meta:s,children:(0,Ze.jsx)(UB,{meta:s,is_layout:A,passprop:t})}));else{let a=Gs(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)(Q0.Fragment,{children:o},s))})}let n=Gs(i,e,A,t);return i.visit&&i.visit(e,n),(0,Ze.jsx)("div",{...n.props})};var Kr=K(ce()),h0=({})=>{let e=ki(Oi,"VI"),t=wi({tick:Date.now()});if(e.tick=t.tick,e.status!=="ready")return(0,Kr.jsx)("div",{className:"flex flex-1 flex-col relative",children:(0,Kr.jsx)(rn,{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,Kr.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,Kr.jsx)(GA,{children:(0,Kr.jsx)(qr,{meta:r,is_layout:A})},r.item.id):null})})};var Kc=K(ce()),xB=window,p0=({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:u,layout:g})=>{let f=ki(Oi,"VI");return f.mode=r,f.entry=t,f.on_preload=u,xB.isMobile=r==="mobile",xB.isDesktop=r==="desktop",xB.preload=Q=>{f.page.navs[c]||(f.page.navs[c]=new Set);let k=typeof Q=="string"?[Q]:Q;for(let d of k)f.page.navs[c].add(d);return clearTimeout(wn.timeout),wn.timeout=setTimeout(()=>{f.on_preload&&f.on_preload({urls:Array.from(f.page.navs[c])})},100),""},f.layout=g,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,Mw(f,{api_url:A,site_id:i})),u&&(0,bc.useEffect)(()=>{setTimeout(()=>{let Q=f.page.navs[f.page.cur.id];Q&&u({urls:Array.from(Q)})},500)},[f.page.cur.id]),(0,Kc.jsx)(GA,{children:(0,Kc.jsx)(bc.Suspense,{children:(0,Kc.jsx)(h0,{})})})};var GB=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:GB._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:{}}},E0=()=>{if(!v.root){let e=new URL(location.href);GB._prasi.basepath&&(e.pathname=GB._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 cA=Qn("prasi-prod","prasi-cache-prod");var Hs=async(e,t)=>{let A=v.comp;for(let i of e)i&&i.type!=="text"&&HB(i);if(A.pending.size>0){let i=!0,n=[];if(!t){for(let r of[...A.pending]){let o=await kA(`comp-${r}`,cA);o||(i=!1),A.list[r]=o,n.push(o)}if(i){for(let r of[...A.pending])A.pending.delete(r);await Hs(n,t);return}}}if(A.pending.size>0)try{let i=await(await fetch(v.url`_prasi/comp`,{method:"POST",body:JSON.stringify({ids:[...A.pending]})})).json();for(let[n,r]of Object.entries(i))A.pending.delete(n),A.list[n]=r,await SA(`comp-${n}`,r,cA);await Hs(Object.values(i),t)}catch{}},HB=e=>{let t=v.comp;if(e.type==="item"){let A=e.component?.id;if(A){!t.list[A]&&!t.pending.has(A)&&t.pending.add(A);for(let i of Object.values(e.component?.props||{}))i.content&&i.meta?.type==="content-element"&&HB(i.content)}}if(e.childs)for(let A of e.childs)A&&A.type!=="text"&&HB(A)};var m0=(e,t)=>new Promise(async A=>{let i=!1;if(t!==!1){let r=await kA(`page-${e}`,cA);r&&(A(r),i=!0)}let n=await(await fetch(v.url`_prasi/page/${e}`)).json();SA(`page-${e}`,{id:e,url:n.url,root:n.root},cA),i||A(n)}),lH=e=>new Promise(async t=>{let A={},i=[...new Set(e)],n=!0;for(let o of i){let s=await kA(`page-${o}`,cA);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();for(let[o,s]of Object.entries(r))SA(`page-${o}`,s,cA);n||t(r)}),y0=async e=>{let t=e.map(A=>v.route.router?.lookup(A)).filter(A=>A&&A.id);return await lH(t.map(A=>A?.id))};var F0=K(w0()),D0=()=>{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,F0.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 gH=()=>new Promise(async e=>{let t=!1,A=await kA("route",cA);A&&(e(A),t=!0);let i=await(await fetch(v.url`_prasi/route`)).json();await SA("route",i,cA),t||e(i)}),k0=async()=>{let e=kr(),t=[];try{let A=await gH();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&&Lc(v.layout.meta,v.layout.root)),v.site=A.site,v.site.code={mode:"new"},await uH(),v.site.api=Fn(v.site.api_url),v.site.db=Dn(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}},uH=()=>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)}),Lc=(e,t)=>{for(let A of t.childs)vt({comps:v.comp.list,meta:e,mode:"page"},{item:A})};var Nn=window;var ti=K(ce()),MB=()=>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",U0=()=>{let e=wi({page_id:""}),[t,A]=(0,S0.useState)({}),i=()=>A({});Nn.prasiContext.render=i;let n=Eu.Provider;if(v.route.status!=="ready")return v.route.status==="init"&&(v.route.status="loading",k0().then(async({router:I,pages:l})=>{D0(),v.route.status="ready",v.route.router=I,v.route.pages=l;let u=Gc(await(await fetch(`${Nn._prasi.basepath}/_prasi/code/index.js`.replace("//","/"))).text());if(u)for(let[g,f]of Object.entries(u))window[g]=f;i()})),(0,ti.jsx)(rn,{});let r=v.route.router;if(!r)return(0,ti.jsx)(Fu,{children:"Failed to create Router"});let o="",s=MB()&&location.pathname.startsWith("/prod");if(s){let I=location.pathname.split("/");wu(I[3])&&(o=I[3])}let a=r.lookup(v.pathname);if(o){let I=v.route.pages.find(l=>o===l.id);I&&(a=I)}if(!a)return(0,ti.jsx)(Fu,{children:"Page Not Found"});a.id!==e.page_id&&(v.init_local_effect={}),Nn.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 m0(a.id,!s).then(async({root:I})=>{if(a){let l={id:a.id,url:a.url,root:I,meta:{}};await Hs(I.childs,!s),Lc(l.meta,I),v.page.cache[l.id]=l,i()}}).catch(()=>{i()}),(0,ti.jsx)(rn,{note:"Loading page"});return(0,ti.jsx)(n,{value:Nn.prasiContext,children:(0,ti.jsx)("div",{className:cx("relative flex flex-1 items-center justify-center"),children:(0,ti.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; @@ -152,7 +152,7 @@ ${c} } `:"inset-0 overflow-auto",css` contain: content; - `),children:(0,ti.jsx)(p0,{api_url:v.site.api_url,entry:Object.values(v.page.root.childs).filter(I=>I).map(I=>I.id),meta:v.page.meta,mode:v.mode,page_id:v.page.id,site_id:v.site.id,db:v.site.db,api:v.site.api,layout:v.layout.id&&v.layout.root&&v.layout.meta?{id:v.layout.id,meta:v.layout.meta,entry:Object.values(v.layout.root.childs).filter(I=>I).map(I=>I.id)}:void 0,script:{init_local_effect:v.init_local_effect},on_preload:async({urls:I})=>{let l=[];if(v.cache.urls)for(let u of I)v.cache.urls.has(u)||(l.push(u),v.cache.urls.add(u));if(l.length>0){let u=await y0(l);if(Array.isArray(u))for(let g of u){let f={id:g.id,url:g.url,root:g.root,meta:{}};await Hs(g.root.childs),Lc(f.meta,g.root),v.page.cache[f.id]=f}}}})})})})};var x0=K(ce());(async()=>{E0();let e=document.getElementById("root");if(e){let t=(0,N0.createRoot)(e);await Np(!1),Fp(),Nn.navigateOverride=A=>(A&&A.startsWith("/")&&MB()&&location.pathname.startsWith("/prod")&&!A.startsWith("/prod")&&(A=`/prod/${location.pathname.split("/")[2]}${A}`),A),t.render((0,x0.jsx)(U0,{})),document.body.classList.contains("opacity-0")&&document.body.classList.remove("opacity-0")}})(); + `),children:(0,ti.jsx)(p0,{api_url:v.site.api_url,entry:Object.values(v.page.root.childs).filter(I=>I).map(I=>I.id),meta:v.page.meta,mode:v.mode,page_id:v.page.id,site_id:v.site.id,db:v.site.db,api:v.site.api,layout:v.layout.id&&v.layout.root&&v.layout.meta?{id:v.layout.id,meta:v.layout.meta,entry:Object.values(v.layout.root.childs).filter(I=>I).map(I=>I.id)}:void 0,script:{init_local_effect:v.init_local_effect},on_preload:async({urls:I})=>{let l=[];if(v.cache.urls)for(let u of I)v.cache.urls.has(u)||(l.push(u),v.cache.urls.add(u));if(l.length>0){let u=await y0(l);if(Array.isArray(u))for(let g of u){let f={id:g.id,url:g.url,root:g.root,meta:{}};await Hs(g.root.childs,!s),Lc(f.meta,g.root),v.page.cache[f.id]=f}}}})})})})};var x0=K(ce());(async()=>{E0();let e=document.getElementById("root");if(e){let t=(0,N0.createRoot)(e);await Np(!1),Fp(),Nn.navigateOverride=A=>(A&&A.startsWith("/")&&MB()&&location.pathname.startsWith("/prod")&&!A.startsWith("/prod")&&(A=`/prod/${location.pathname.split("/")[2]}${A}`),A),t.render((0,x0.jsx)(U0,{})),document.body.classList.contains("opacity-0")&&document.body.classList.remove("opacity-0")}})(); /*! Bundled license information: react/cjs/react.production.min.js: diff --git a/app/srv/ws/sync/editor/code/build-code.ts b/app/srv/ws/sync/editor/code/build-code.ts index c37502b7..ae727d67 100644 --- a/app/srv/ws/sync/editor/code/build-code.ts +++ b/app/srv/ws/sync/editor/code/build-code.ts @@ -54,6 +54,7 @@ export const server = createServer({ bundle: true, outfile: build_file, minify: true, + platform: "node", treeShaking: true, format: "cjs", logLevel: "silent", @@ -101,7 +102,10 @@ if (typeof global.server_hook === "function") { ancestors.push(val); if (val.constructor && val.constructor.name !== "Object"){ - return '[class] ' + val.constructor.name; + if (val.constructor.name === 'Error') { + return '[Error] ' + val.message; + } + return '[Class] ' + val.constructor.name; } } }