diff --git a/build/admin.asset.php b/build/admin.asset.php index e680119..e4949ee 100644 --- a/build/admin.asset.php +++ b/build/admin.asset.php @@ -1 +1 @@ - array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => '738767ddd11e270c1258'); + array('lodash', 'react', 'react-dom', 'wp-api-fetch', 'wp-data', 'wp-element', 'wp-i18n'), 'version' => 'f07406181f73556b9d8a'); diff --git a/build/admin.js b/build/admin.js index 6ada665..edc9936 100644 --- a/build/admin.js +++ b/build/admin.js @@ -1,3 +1,3 @@ -!function(){"use strict";var e,t={367:function(e,t,n){var r={};n.r(r),n.d(r,{setActivePage:function(){return Q}});var i={};n.r(i),n.d(i,{getActivePage:function(){return Y}});var a={};n.r(a),n.d(a,{updateSettings:function(){return ie}});var s={};n.r(s),n.d(s,{getError:function(){return ce},getSetting:function(){return se},getSettings:function(){return ae},getUpdating:function(){return oe}});var o=window.wp.element;function c(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t=0||(i[n]=e[n]);return i}var g=window.ReactDOM,h=n.n(g),E=m().createContext(null),v=function(e){return e.scrollTop},b="unmounted",y="exited",x="entering",S="entered",_="exiting",C=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,a=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?a?(i=y,r.appearStatus=x):i=S:i=t.unmountOnExit||t.mountOnEnter?b:y,r.state={status:i},r.nextCallback=null,r}d(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===b?{status:y}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==x&&n!==S&&(t=x):n!==x&&n!==S||(t=_)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===x){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this);n&&v(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===y&&this.setState({status:b})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[h().findDOMNode(this),r],a=i[0],s=i[1],o=this.getTimeouts(),c=r?o.appear:o.enter;e||n?(this.props.onEnter(a,s),this.safeSetState({status:x},(function(){t.props.onEntering(a,s),t.onTransitionEnd(c,(function(){t.safeSetState({status:S},(function(){t.props.onEntered(a,s)}))}))}))):this.safeSetState({status:S},(function(){t.props.onEntered(a)}))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:h().findDOMNode(this);t?(this.props.onExit(r),this.safeSetState({status:_},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:y},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:y},(function(){e.props.onExited(r)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],a=i[0],s=i[1];this.props.addEndListener(a,s)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===b)return null;var t=this.props,n=t.children,r=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,f(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return m().createElement(E.Provider,{value:null},"function"==typeof n?n(e,r):m().cloneElement(m().Children.only(n),r))},t}(m().Component);function N(){}C.contextType=E,C.propTypes={},C.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:N,onEntering:N,onEntered:N,onExit:N,onExiting:N,onExited:N},C.UNMOUNTED=b,C.EXITED=y,C.ENTERING=x,C.ENTERED=S,C.EXITING=_;var k,O,w=C,T="out-in",P="in-out",A=function(e,t,n){return function(){var r;e.props[t]&&(r=e.props)[t].apply(r,arguments),n()}},D=((k={})[T]=function(e){var t=e.current,n=e.changeState;return m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){n(x,null)}))})},k[P]=function(e){var t=e.current,n=e.changeState,r=e.children;return[t,m().cloneElement(r,{in:!0,onEntered:A(r,"onEntered",(function(){n(x)}))})]},k),M=((O={})[T]=function(e){var t=e.children,n=e.changeState;return m().cloneElement(t,{in:!0,onEntered:A(t,"onEntered",(function(){n(S,m().cloneElement(t,{in:!0}))}))})},O[P]=function(e){var t=e.current,n=e.children,r=e.changeState;return[m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){r(S,m().cloneElement(n,{in:!0}))}))}),m().cloneElement(n,{in:!0})]},O),I=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i{$&&($=!1,document.body.classList.add("mind-admin-first-loading-start"),setTimeout((()=>{document.body.classList.remove("mind-admin-first-loading-start","mind-admin-first-loading")}),8e3))}),[]),null}var W,H,B=window.lodash;function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettings:t}=e("mind/settings");return{settings:t()}}));return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("p",{dangerouslySetInnerHTML:{__html:(0,V.sprintf)( +(()=>{"use strict";var e,t={367:(e,t,n)=>{var r={};n.r(r),n.d(r,{setActivePage:()=>Q});var i={};n.r(i),n.d(i,{getActivePage:()=>Y});var s={};n.r(s),n.d(s,{updateSettings:()=>ie});var a={};n.r(a),n.d(a,{getError:()=>le,getSetting:()=>ae,getSettings:()=>se,getUpdating:()=>oe});const o=window.wp.element;function l(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t=0||(i[n]=e[n]);return i}const g=window.ReactDOM;var h=n.n(g);const E=m().createContext(null);var v=function(e){return e.scrollTop},b="unmounted",y="exited",x="entering",S="entered",_="exiting",C=function(e){function t(t,n){var r;r=e.call(this,t,n)||this;var i,s=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?s?(i=y,r.appearStatus=x):i=S:i=t.unmountOnExit||t.mountOnEnter?b:y,r.state={status:i},r.nextCallback=null,r}d(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===b?{status:y}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==x&&n!==S&&(t=x):n!==x&&n!==S||(t=_)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!=typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t)if(this.cancelNextCallback(),t===x){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this);n&&v(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===y&&this.setState({status:b})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[h().findDOMNode(this),r],s=i[0],a=i[1],o=this.getTimeouts(),l=r?o.appear:o.enter;e||n?(this.props.onEnter(s,a),this.safeSetState({status:x},(function(){t.props.onEntering(s,a),t.onTransitionEnd(l,(function(){t.safeSetState({status:S},(function(){t.props.onEntered(s,a)}))}))}))):this.safeSetState({status:S},(function(){t.props.onEntered(s)}))},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:h().findDOMNode(this);t?(this.props.onExit(r),this.safeSetState({status:_},(function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,(function(){e.safeSetState({status:y},(function(){e.props.onExited(r)}))}))}))):this.safeSetState({status:y},(function(){e.props.onExited(r)}))},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:h().findDOMNode(this),r=null==e&&!this.props.addEndListener;if(n&&!r){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],s=i[0],a=i[1];this.props.addEndListener(s,a)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},n.render=function(){var e=this.state.status;if(e===b)return null;var t=this.props,n=t.children,r=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,f(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return m().createElement(E.Provider,{value:null},"function"==typeof n?n(e,r):m().cloneElement(m().Children.only(n),r))},t}(m().Component);function N(){}C.contextType=E,C.propTypes={},C.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:N,onEntering:N,onEntered:N,onExit:N,onExiting:N,onExited:N},C.UNMOUNTED=b,C.EXITED=y,C.ENTERING=x,C.ENTERED=S,C.EXITING=_;const k=C;var O,w,T="out-in",P="in-out",A=function(e,t,n){return function(){var r;e.props[t]&&(r=e.props)[t].apply(r,arguments),n()}},D=((O={})[T]=function(e){var t=e.current,n=e.changeState;return m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){n(x,null)}))})},O[P]=function(e){var t=e.current,n=e.changeState,r=e.children;return[t,m().cloneElement(r,{in:!0,onEntered:A(r,"onEntered",(function(){n(x)}))})]},O),M=((w={})[T]=function(e){var t=e.children,n=e.changeState;return m().cloneElement(t,{in:!0,onEntered:A(t,"onEntered",(function(){n(S,m().cloneElement(t,{in:!0}))}))})},w[P]=function(e){var t=e.current,n=e.children,r=e.changeState;return[m().cloneElement(t,{in:!1,onExited:A(t,"onExited",(function(){r(S,m().cloneElement(n,{in:!0}))}))}),m().cloneElement(n,{in:!0})]},w),I=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i{$&&($=!1,document.body.classList.add("mind-admin-first-loading-start"),setTimeout((()=>{document.body.classList.remove("mind-admin-first-loading-start","mind-admin-first-loading")}),8e3))}),[]),null}const W=window.lodash;var H,B;function X(){return X=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getSettings:t}=e("mind/settings");return{settings:t()}}));return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("p",{dangerouslySetInnerHTML:{__html:(0,V.sprintf)( // translators: %s - Mind logo. -(0,V.__)("Hello, my name is %s","mind"),'')}}),(0,o.createElement)("p",null,(0,V.__)("I am an AI assistant designed to help you in writing content for your blog","mind")),t.openai_api_key?(0,o.createElement)("div",{dangerouslySetInnerHTML:{__html:(0,V.__)('To get started, open the page editor and click on the "Open Mind" button in the toolbar',"mind")}}):(0,o.createElement)("div",null,(0,V.__)("To get started, enter your","mind"),(0,o.createElement)("button",{onClick:t=>{t.preventDefault(),e("settings")}},(0,V.__)("OpenAI API key →","mind"))),(0,o.createElement)(Z,null))}},settings:{label:(0,V.__)("Settings","mind"),block:function(){const[e,t]=(0,o.useState)({}),[n,r]=(0,o.useState)(!1),[i,a]=(0,o.useState)(!1),{updateSettings:s}=(0,q.useDispatch)("mind/settings"),{settings:c,updating:u,error:d}=(0,q.useSelect)((e=>{const t=e("mind/settings");return{settings:t.getSettings(),updating:t.getUpdating(),error:t.getError()}}));return(0,o.useEffect)((()=>{t(c)}),[c]),(0,o.useEffect)((()=>{r(!(0,B.isEqual)(c,e))}),[c,e]),(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"mind-admin-settings-card"},(0,o.createElement)("div",{className:"mind-admin-settings-card-name"},(0,o.createElement)("label",{htmlFor:"mind-settings-openai-api-key"},(0,V.__)("OpenAI API Key","mind")),(0,o.createElement)("div",{className:"mind-admin-settings-card-description"},(0,V.__)("This setting is required, since our plugin works with OpenAI.","mind")," ",(0,o.createElement)("a",{href:"https://platform.openai.com/account/api-keys",target:"_blank",rel:"noreferrer"},(0,V.__)("Create API key","mind")))),(0,o.createElement)("div",{className:l("mind-admin-settings-card-input",i&&"mind-admin-settings-card-input-error")},(0,o.createElement)("input",{id:"mind-settings-openai-api-key",type:"text",placeholder:(0,V.__)("Enter API key","mind"),value:e.openai_api_key||"",onChange:n=>{n.preventDefault(),t({...e,openai_api_key:n.target.value})}}),i&&(0,o.createElement)("div",{className:"mind-admin-setting-error"},(0,V.__)("Please enter a valid API key","mind")))),d&&(0,o.createElement)("div",{className:"mind-admin-settings-error"},d),(0,o.createElement)("div",{className:"mind-admin-settings-actions"},(0,o.createElement)("button",{disabled:!n,onClick:t=>{var n;t.preventDefault(),!e.openai_api_key||(n=e.openai_api_key,/^sk-[a-zA-Z0-9]{32,}/.test(n))?(a(!1),s(e)):a(!0)}},(0,V.__)("Save Changes","mind"),u&&(0,o.createElement)(z,{viewBox:"0 0 24 24"}))))}},discussions:{label:(0,V.__)("Discussions","mind"),href:"https://github.com/nk-crew/mind/discussions"}};const J=[];window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,((e,t,n)=>{J[t]=n}));function Q(e){return{type:"SET_ACTIVE_PAGE",activePage:e}}function Y(e){return e?.activePage||""}const ee=(0,q.createReduxStore)("mind/admin",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{activePage:J.sub_page||Object.keys(K)[0]},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"SET_ACTIVE_PAGE"===t.type&&e.activePage!==t.activePage?{...e,activePage:t.activePage}:e},actions:r,selectors:i});(0,q.register)(ee);const{settings:te}=window.mindAdminData;var ne=window.wp.apiFetch,re=n.n(ne);function ie(e){return t=>{let{dispatch:n}=t;if(!e||!Object.keys(e).length)return;n({type:"UPDATE_SETTINGS_PENDING"});const r={settings:e};re()({path:"/mind/v1/update_settings",method:"POST",data:r}).then((t=>(n({type:"UPDATE_SETTINGS_SUCCESS",settings:e}),t.response))).catch((e=>{n({type:"UPDATE_SETTINGS_ERROR",error:e?.response||e?.error_code||(0,V.__)("Something went wrong, please, try again…","mind")})}))}}function ae(e){return e?.settings||{}}function se(e,t){return e?.settings[t]||""}function oe(e){return e?.updating||!1}function ce(e){return e?.error||!1}const le=(0,q.createReduxStore)("mind/settings",{reducer:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{settings:te,updating:!1,error:""},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(t.type){case"UPDATE_SETTINGS_PENDING":return{...e,updating:!0};case"UPDATE_SETTINGS_SUCCESS":return{...e,updating:!1,settings:{...e.settings,...t.settings}};case"UPDATE_SETTINGS_ERROR":return{...e,updating:!1,error:t.error||""}}return e},actions:a,selectors:s});var ue;function de(){return de=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{getActivePage:t}=e("mind/admin");return{activePage:t()}}));(0,o.useEffect)((()=>{document.querySelectorAll(".toplevel_page_mind .current").forEach((e=>{e.classList.remove("current")}));let e=document.querySelectorAll(`.toplevel_page_mind [href="admin.php?page=mind&sub_page=${n}"]`);e&&e.length||(e=document.querySelectorAll('.toplevel_page_mind [href="admin.php?page=mind"]')),e.forEach((e=>{e.parentNode.classList.add("current")})),document.body.classList.forEach((e=>{/mind-admin-page-/.test(e)&&document.body.classList.remove(e)})),document.body.classList.add(`mind-admin-page-${n}`),e&&e.length&&window.history.pushState(document.title,document.title,e[0].href)}),[n]);const r=[];let i="";if(Object.keys(K).forEach((e=>{r.push((0,o.createElement)("li",{key:e},(0,o.createElement)("a",{href:K[e]&&K[e].href||"#",target:K[e]&&K[e].href?"_blank":null,rel:"noreferrer",className:l("mind-admin-tabs-button",n===e&&"mind-admin-tabs-button-active"),onClick:n=>{K[e]&&!K[e].href&&(n.preventDefault(),t(e))}},K[e].label)))})),n&&K[n]){const e=K[n].block;i=(0,o.createElement)(e,null)}return(0,o.createElement)(o.Fragment,null,(0,o.createElement)("div",{className:"mind-admin-head"},(0,o.createElement)("div",{className:"mind-admin-head-container"},(0,o.createElement)("div",{className:"mind-admin-head-logo"},(0,o.createElement)(pe,null),(0,o.createElement)("h1",null,(0,V.__)("Mind","mind"))),(0,o.createElement)("ul",{className:"mind-admin-tabs"},r))),(0,o.createElement)(R,{mode:"out-in"},(0,o.createElement)(F,{key:n,nodeRef:e,addEndListener:t=>{e.current.addEventListener("transitionend",t,!1)},classNames:"mind-admin-content-transition"},(0,o.createElement)("div",{ref:e,className:l("mind-admin-content",`mind-admin-content-${n}`)},i))))}window.addEventListener("load",(()=>{(0,o.render)((0,o.createElement)(me,null),document.querySelector(".mind-admin-root"))}))}},n={};function r(e){var i=n[e];if(void 0!==i)return i.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.m=t,e=[],r.O=function(t,n,i,a){if(!n){var s=1/0;for(u=0;u=a)&&Object.keys(r.O).every((function(e){return r.O[e](n[c])}))?n.splice(c--,1):(o=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[n,i,a]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={328:0,72:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var i,a,s=n[0],o=n[1],c=n[2],l=0;if(s.some((function(t){return 0!==e[t]}))){for(i in o)r.o(o,i)&&(r.m[i]=o[i]);if(c)var u=c(r)}for(t&&t(n);l