nextjs-seo-manager
Version:
2 lines (1 loc) • 4.02 kB
JavaScript
import e from"react";import{connect as t,Provider as n}from"react-redux";import{configureStore as r}from"@reduxjs/toolkit";import{createTheme as o,ThemeProvider as i}from"@mui/material";function s(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach(function(t){s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}const p=r({reducer:{user:(e={isLoggedIn:null},t)=>"SET_USER"===t.type?l(l(l({},e),t.results),{},{isLoggedIn:!!t?.results?.uid}):e,seoData:(e={initial:{},manager:{},plan:{}},t)=>{switch(t.type){case"SET_INITIAL_SEO_DATA":return l(l({},e),{},{initial:t.results||{}});case"SET_MANAGER_SEO_DATA":return l(l({},e),{},{manager:t.results||{}});case"UPDATE_MANAGER_SEO_DATA":return l(l({},e),{},{manager:l(l({},e.manager),{},{[t.location]:t.results})});case"SET_MANAGER_PROJECT_PLAN":return l(l({},e),{},{plan:t.results});default:return e}},version:(e="v1",t)=>e},serializableCheck:!1}),u=e.lazy(()=>import("./analytics-7436e6fb.js")),c=e.lazy(()=>import("./authentication-231410fc.js")),d=e.lazy(()=>import("./index-36049004.js").then(function(e){return e.i}));class h extends e.Component{constructor(e){super(e),this.componentDidMount=()=>{var e;if(null===(e=this.props)||void 0===e?void 0:e.data){const e={type:"SET_INITIAL_SEO_DATA",results:this.props.data};this.props.dispatch(e)}},this.componentDidUpdate=e=>{var t;if(JSON.stringify(null==e?void 0:e.data)!==JSON.stringify(null===(t=this.props)||void 0===t?void 0:t.data)){const e={type:"SET_INITIAL_SEO_DATA",results:this.props.data};this.props.dispatch(e)}},this.clickToOpenManager=()=>{var e;(null===(e=this.props)||void 0===e?void 0:e.onOpen)&&this.props.onOpen(),this.setState({isManagerOpen:!0,authentication:!0})},this.clickToCloseManager=()=>{var e;this.setState({isManagerOpen:!1}),(null===(e=this.props)||void 0===e?void 0:e.onClose)&&this.props.onClose()},this.onChangeComplete=e=>{var t,n;this.setState({isManagerOpen:!1}),(null===(t=this.props)||void 0===t?void 0:t.onChangeComplete)&&this.props.onChangeComplete(e),(null===(n=this.props)||void 0===n?void 0:n.onClose)&&this.props.onClose()},this.state={authentication:!0===(null==e?void 0:e.isManagerOpen),isManagerOpen:!0===(null==e?void 0:e.isManagerOpen)},!0===(null==e?void 0:e.isManagerOpen)&&(null==e?void 0:e.onOpen)&&(null==e||e.onOpen())}render(){var t,n,r;return e.createElement(e.Fragment,null,e.createElement("button",{type:"button",id:"open-seo-manager",style:{display:"none"},onClick:this.clickToOpenManager}),e.createElement(e.Suspense,{fallback:e.createElement(e.Fragment,null)},e.createElement(u,null),(null===(t=this.state)||void 0===t?void 0:t.authentication)&&e.createElement(c,null),!0===this.state.isManagerOpen&&e.createElement(d,{data:null===(n=this.props)||void 0===n?void 0:n.data,isNewPage:null===(r=this.props)||void 0===r?void 0:r.isNewPage,onClose:this.clickToCloseManager,onChangeComplete:this.onChangeComplete})))}}var m=t(e=>({user:null==e?void 0:e.user}))(h);const v=o({});class g extends e.Component{constructor(e){super(e)}render(){return e.createElement(n,{store:p},e.createElement(i,{theme:v},e.createElement(m,Object.assign({},this.props))))}}export{s as _,l as a,g as i};