@tycoonsystems/tycoon-modules
Version:
www.tv.tycoon.systems/documentation
1 lines • 6.02 kB
JavaScript
import React from"react";import Head from"next/head";import{useRouter}from"next/router";import resolveConfig from"/app.config";import{generateComponent,handlePropsPriority,resolvePage,resolveDefaults}from"@tycoonsystems/tycoon-modules/utility.js";import{isObjectEmpty}from"@tycoonsystems/tycoon-modules/util";import{constructGeneral,paintMeta}from"./meta/general";import middlewareFunctions from"/customModules/middleware/MiddlewareFunctions";import{SliderStyles,SliderTheme,GoogleFontsLink,PaystackScript,AdsenseOwnership,AdsenseMeta}from"@tycoonsystems/tycoon-modules/internal/localImports";import{UploadPage}from"@tycoonsystems/tycoon-modules/video/upload";import{ArticlePage}from"@tycoonsystems/tycoon-modules/article";import{submitNewPassword}from"@tycoonsystems/tycoon-modules/utility/onboarding/Password";import{Admin}from"@tycoonsystems/tycoon-modules/admin";import{ForumPage}from"@tycoonsystems/tycoon-modules/comment/forum";const PageContainer=t=>{const a=useRouter();var e=a["query"];const[n,o]=React.useState(!1),[s,r]=React.useState({}),[l,i]=React.useState(-1),[c,m]=React.useState(null),[u,p]=React.useState(1);console.log("Render",t?.renderSchema,t.simulatedPage,t);var d=t?.simulating&&t?.simulatedPage&&t?.renderSchema?t.renderSchema?.content?.config?.platform?.pages?.find(e=>e.url===t.simulatedPage):null;const g=t?.simulating&&t.simulatedPage?t.simulatedPage:t.path;var y=new URL(t.simulatedUrl,"https://"+t.domainUrl),f=new URLSearchParams(y.search);const h=t?.simulating?f:e,R=(t?.simulating?y:a)?.pathname;f=resolveConfig(t._configVariables,t);let v=resolvePage(f,g);e=(t?.simulating&&d?d:v)?.data,y="/a"===v?.url||"/a"===R;const E=React.useRef(),C=async e=>{var e=await resolveDefaults(v.url,t,t._configVariables,h,g,o,e,R);isObjectEmpty(e)||(e=Object.assign({...t},e),r(e),t?.simulating&&(p(u+1),setTimeout(()=>{p(u+2)},250)))};t._LocalEventEmitter.unsubscribe("refetchDefaults"),t._LocalEventEmitter.subscribe("refetchDefaults",e=>{C(!0)}),React.useEffect(()=>{v&&v.url&&!n&&isObjectEmpty(s)&&C()},[n,s,v]);var P=handlePropsPriority(s,t),f=resolveConfig(t._configVariables,P),e=(v=resolvePage(f,t?.simulating?g:P.path),(t?.simulating&&d?d:v)?.data),f=generateComponent(e),d=!e||e?.props&&!Object.prototype.hasOwnProperty.call(e.props,"useMenu")||e.props?.useMenu,w=!e||e?.props&&!Object.prototype.hasOwnProperty.call(e.props,"useAppConfigLayout")||e.props?.useAppConfigLayout;const _=Object.assign({},P);_.useMenu=d,_.useAppConfigLayout=w;d=React.createElement("div",{className:P.pageName+"_Body "+(t.pageClass??""),style:{top:P.menuConfig.height?P.menuConfig.height+"px":"",position:"relative"}},f);_.useAppConfigLayout&&(_.appConfigLayout=d);const b=(e,o=0,s,r)=>{let l=0;return React.Children.map(e,function(a){if(null===a||"function"!=typeof a.type)return l++,React.createElement("div");{let e=r&&r[l]?r[l]:[],t=(0===o?e=_.children:0<o&&delete _.children,_);0<o&&(t.children=e);var n=s&&s[l]?s[l]:null;return(t=n?.props?Object.assign(n.props,t):t)?.children&&(t.children=b(t.children,o+1,n?.children??null,e?.props?.children)),l++,React.cloneElement(a,t)}})};var f=b(t.children,0,e?.children??null),d="/upload"===v?.url||"/upload"===R,e="/reset"===v?.url||"/reset"===R,S="/admin"===v?.url||"/admin"===R,N=resolvePage?.url?.match(/^\/c(?:\/.*)?$/)||R.match(/^\/c(?:\/.*)?$/);let L=constructGeneral(a,_);middlewareFunctions?.transformMeta&&(L=middlewareFunctions.transformMeta(a,L,_));var O=React.useCallback(async e=>{var t;a?.query&&"password"===a.query.reset&&a.query.token&&a.query.email&&(-1===l||l<(new Date).getTime()-600)&&0<E?.current?.value?.length&&(t=await submitNewPassword(E.current.value,a.query.token,a.query.email,a.query.goto))?.data&&m({data:t.data,status:t.message,goto:a.query.goto??""}),i((new Date).getTime())}),A=paintMeta(L);return console.log(AdsenseOwnership),React.createElement(React.Fragment,null,React.createElement(Head,null,React.createElement("title",null,_.siteTitle),process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID?React.createElement("meta",{name:"google-signin-client_id",content:""+process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID}):null,A,SliderStyles,SliderTheme,GoogleFontsLink,PaystackScript,AdsenseOwnership,AdsenseMeta??"",React.createElement("link",{rel:"icon",href:"/favicon.ico"})),React.createElement("div",{className:y?"Article_SafeStyles":""},f,!v?.data&&d&&w?React.createElement("div",{className:P.pageName+"_Body "+(t.pageClass??""),style:{top:P.menuConfig.height?P.menuConfig.height+"px":"",position:"relative"}},React.createElement(UploadPage,_)):null,!v?.data&&y&&w?React.createElement("div",{className:P.pageName+"_Body "+(t.pageClass??""),style:{top:P.menuConfig.height?P.menuConfig.height+"px":"",position:"relative"}},React.createElement(ArticlePage,_)):null,!v?.data&&S&&w?React.createElement("div",{className:P.pageName+"_Body "+(t.pageClass??"")},React.createElement(Admin,_)):null,!v?.data&&N&&w?React.createElement("div",{className:P.pageName+"_Body "+(t.pageClass??""),style:{top:P.menuConfig.height?P.menuConfig.height+"px":"",position:"relative"}},React.createElement(ForumPage,_)):null,!v?.data&&e&&w?React.createElement("div",{className:P.pageName+"_Body "+(t.pageClass??""),style:{top:P.menuConfig.height?P.menuConfig.height+"px":"",position:"relative"}},React.createElement("div",{style:{margin:"0 auto",textAlign:"center"}},React.createElement("h3",null,"Reset Password"),React.createElement("h4",null,a?.query?.email),c?.goto?React.createElement("div",null,React.createElement("p",null,React.createElement("a",{href:`https://${t?.domainUrl}/`+c.goto,className:"reset_password_link",style:{color:"#ff6deb"}},c?.message??"Successfully reset password. Please sign in"))):React.createElement("div",null,React.createElement("div",{style:{display:"flex",gap:".5rem",justifyContent:"center"}},React.createElement("label",null,"Password"),React.createElement("input",{type:"password",id:"reset_password_secure",ref:E})),React.createElement("button",{style:{marginTop:"1rem"},onClick:O},"Submit")))):null))};export default PageContainer;