ran-boilerplate
Version:
React . Apollo (GraphQL) . Next.js Toolkit
6 lines (4 loc) • 9.24 kB
JavaScript
window.__NEXT_REGISTER_PAGE('/signup', function() {
var comp = module.exports=webpackJsonp([2],{100:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.SubmitButton=t.Main=void 0;var i=n(16),r=a(i),l=n(19),u=a(l),d=n(25),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(d),o=(0,r.default)(["\n border-bottom: 1px solid #ececec;\n padding-bottom: 20px;\n margin-bottom: 20px;\n\n > h1 {\n font-size: 20px;\n }\n\n > input {\n display: block;\n margin-bottom: 10px;\n }\n"],["\n border-bottom: 1px solid #ececec;\n padding-bottom: 20px;\n margin-bottom: 20px;\n\n > h1 {\n font-size: 20px;\n }\n\n > input {\n display: block;\n margin-bottom: 10px;\n }\n"]),m=(0,r.default)(["\n opacity: ",";\n"],["\n opacity: ",";\n"]);t.Main=u.default.div(o),t.SubmitButton=s.Button.extend(m,function(e){return e.touched?1:.5})},101:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(29),r=a(i),l=n(35),u=a(l),d=n(102),s=a(d),o=n(106);t.default=function(e){var t={};return(0,s.default)(e).forEach(function(n){var a=(0,u.default)(n,2),i=a[0],r=a[1];return(0,o.isStringEmpty)(r)?void(t[i]="Required"):"email"!==i||(0,o.isEmail)(r)?void("password"===i&&e.password.length<=3&&(t[i]="Must be at least 4 characters")):void(t[i]="Invalid email address")}),{errors:(0,r.default)(t).length>0&&t,touched:!0}}},102:function(e,t,n){e.exports={default:n(103),__esModule:!0}},103:function(e,t,n){n(104),e.exports=n(1).Object.entries},104:function(e,t,n){var a=n(4),i=n(105)(!0);a(a.S,"Object",{entries:function(e){return i(e)}})},105:function(e,t,n){var a=n(22),i=n(14),r=n(37).f;e.exports=function(e){return function(t){for(var n,l=i(t),u=a(l),d=u.length,s=0,o=[];d>s;)r.call(l,n=u[s++])&&o.push(e?[n,l[n]]:l[n]);return o}}},106:function(e,t,n){"use strict";function a(e){return!e||""===e||""===e.trim()}function i(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isStringEmpty=a,t.isEmail=i,t.default=function(){}},376:function(e,t,n){e.exports=n(377)},377:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(11),r=a(i),l=n(0),u=a(l),d=n(378),s=a(d),o=n(53),m=a(o),c=n(55),f=a(c);t.default=(0,m.default)(function(e){return u.default.createElement(f.default,(0,r.default)({title:"Sign Up"},e),u.default.createElement(s.default,null))})},378:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(29),r=a(i),l=n(8),u=a(l),d=n(2),s=a(d),o=n(3),m=a(o),c=n(9),f=a(c),p=n(10),v=a(p),k=n(0),h=a(k),b=n(5),g=(a(b),n(99)),N=a(g),y=n(101),S=a(y),_=n(379),E=a(_),O=function(e){function t(){var e,n,a,i;(0,s.default)(this,t);for(var r=arguments.length,l=Array(r),d=0;d<r;d++)l[d]=arguments[d];return n=a=(0,f.default)(this,(e=t.__proto__||(0,u.default)(t)).call.apply(e,[this].concat(l))),a.state={errors:{},serverErrors:{},touched:!1},a.formFields=[{key:1,attr:{name:"firstName",type:"text",label:"First Name"}},{key:2,attr:{name:"lastName",type:"text",label:"Last Name"}},{key:3,attr:{name:"email",type:"email",label:"Email"}},{key:4,attr:{name:"password",type:"password",label:"Password"}}],a.handleTouch=function(){a.setState({touched:!0})},a.handleChange=function(e){var t=e.target.value,n=e.target.name,i={};i[n]=t,a.setState(i)},i=n,(0,f.default)(a,i)}return(0,v.default)(t,e),(0,m.default)(t,[{key:"getServerErrors",value:function(e){if(e.graphQLErrors){var t={};t.message=e.graphQLErrors[0].message,this.setState({serverErrors:t})}}},{key:"handleSubmit",value:function(e,t){var n=this;e.preventDefault(),this.setState({errors:{},serverErrors:{}});var a=(0,S.default)(t);if(a.touched&&this.setState({touched:a.touched}),a.errors)return this.setState({errors:a.errors});this.props.mutations.signUp(t).then(function(e){e.data.signinUser?n.props.actions.signIn(e.data.signinUser.token):n.setState({errors:e.data.createUser.errors})}).catch(function(e){n.getServerErrors(e)})}},{key:"render",value:function(){var e=this,t=this.formFields,n={};return t.map(function(t){var a=t.attr.name;return n[a]=e.state[a],n}),h.default.createElement("div",null,h.default.createElement(N.default,{handleSubmit:function(t){e.handleSubmit(t,n)},handleChange:this.handleChange,fields:t,selectFields:"signUpFields",errors:this.state.errors,touched:this.state.touched,handleTouch:this.handleTouch}),h.default.createElement("br",null),h.default.createElement("div",null,0===(0,r.default)(this.state.errors).length&&this.state.serverErrors.message))}}]),t}(h.default.Component);t.default=(0,E.default)(O)},379:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(30),i=n(98),r=n(54),l={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"signupUser"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"firstName"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},defaultValue:null},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"lastName"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},defaultValue:null},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"email"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},defaultValue:null},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"password"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},defaultValue:null}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"createUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"firstName"},value:{kind:"Variable",name:{kind:"Name",value:"firstName"}}},{kind:"Argument",name:{kind:"Name",value:"lastName"},value:{kind:"Variable",name:{kind:"Name",value:"lastName"}}},{kind:"Argument",name:{kind:"Name",value:"authProvider"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"email"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"email"},value:{kind:"Variable",name:{kind:"Name",value:"email"}}},{kind:"ObjectField",name:{kind:"Name",value:"password"},value:{kind:"Variable",name:{kind:"Name",value:"password"}}}]}}]}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"id"},arguments:[],directives:[],selectionSet:null}]}},{kind:"Field",alias:null,name:{kind:"Name",value:"signinUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"email"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"email"},value:{kind:"Variable",name:{kind:"Name",value:"email"}}},{kind:"ObjectField",name:{kind:"Name",value:"password"},value:{kind:"Variable",name:{kind:"Name",value:"password"}}}]}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"token"},arguments:[],directives:[],selectionSet:null}]}}]}}],loc:{start:0,end:334,source:{body:"mutation signupUser(\n $firstName: String!\n $lastName: String!\n $email: String!\n $password: String!\n) {\n createUser(\n firstName: $firstName\n lastName: $lastName\n authProvider: { email: { email: $email, password: $password } }\n ) {\n id\n }\n signinUser(email: { email: $email, password: $password }) {\n token\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}}}},u=(0,a.graphql)(l,{props:function(e){var t=e.mutate;return{mutations:{signUp:function(e){var n=e.firstName,a=e.lastName,i=e.email,r=e.password;return t({variables:{firstName:n,lastName:a,email:i,password:r}})}}}}}),d=function(e){return{actions:{signIn:function(t){e(r.dispatchers.signIn(t))}}}};t.default=function(e){var t=u(e);return(0,i.connect)(null,d)(t)}},99:function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),r=a(i),l=n(5),u=(a(l),n(100)),d=function(e){var t=e.selectFields,n=e.fields,a=e.handleTouch,i=e.handleChange,l=e.handleSubmit,d=e.touched,s=e.errors,o=n.map(function(e){return r.default.createElement("div",{key:e.key},r.default.createElement("input",{name:e.attr.name,type:e.attr.type,placeholder:e.attr.label,onChange:i,onFocus:a}),s&&r.default.createElement("div",null,s[e.attr.name]))}),m="signinFields"===t&&"Sign In"||"Sign Up";return r.default.createElement(u.Main,null,r.default.createElement("h1",null,m),r.default.createElement("form",null,o,r.default.createElement("br",null),r.default.createElement(u.SubmitButton,{onClick:l,touched:d,disabled:!d},m)))};t.default=d}},[376]);
return { page: comp.default }
})