(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{119:function(e,t){},217:function(e,t,a){e.exports=a(417)},415:function(e,t,a){},417:function(e,t,a){"use strict";a.r(t);var n=a(204),r=a(467),o=a(110),i=a(109),s=a(482),c=a(0),l=a.n(c),u=a(27),p=a.n(u),m=a(486),d=a(4),h=a.n(d),f=a(11),b=a(8),g=a(9),y=a(13),v=a(12),E=a(14),k=a(10),w=a(459),S=a(490),O=a(478),j=a(16),C=a(17),x=a(15),I=(a(30),a(452)),P=a(57),L=a(128),A=a(491),F=a(457),_=a(458),U=a(19);function M(e){return W.apply(this,arguments)}function W(){return(W=Object(f.a)(h.a.mark(function e(t){return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,console.log(":: adding user "+t+" to db..."),e.next=4,U.API.post("users","/users",{body:{username:t}});case 4:console.log(":: user "+t+" added successfully to db."),e.next=12;break;case 7:return e.prev=7,e.t0=e.catch(0),console.log(e.t0.message),alert(e.t0),e.abrupt("return",null);case 12:case"end":return e.stop()}},e,null,[[0,7]])}))).apply(this,arguments)}var z={REGION:"us-east-1",URL:"https://g2aixb3x4j.execute-api.us-east-1.amazonaws.com/prod"},T={REGION:"us-east-1",USER_POOL_ID:"us-east-1_5ZejbEBGx",APP_CLIENT_ID:"4uptuglukt70bicve75q28duu6",IDENTITY_POOL_ID:"us-east-1:6b75db04-a71c-4142-8782-22f3412aca63"};function R(e){var t="";return t+="body: "+e.component_body,t+="id: "+e.component_id,t+="set: "+e.set,t+="difficulty: "+e.difficulty,t+="tags: "+e.tags.toString(),t+="intervals: "+e.intervals.toString(),t+="yardage: "+e.yardage,t+="username: "+e.username}var N=function e(){Object(b.a)(this,e),this.username="",this.workout_id="",this.warmup=[],this.preset=[],this.mainset=[],this.cooldown=[],this.likes=0,this.yardage=0,this.difficulty="",this.date_created="",this.last_used=""},D=function e(){Object(b.a)(this,e),this.owner_username="",this.folder_name="",this.parent="",this.workouts=[],this.folders=[]},Y=function e(){Object(b.a)(this,e),this.username="",this.liked_components=[],this.liked_workouts=[]};function B(e){return V.apply(this,arguments)}function V(){return(V=Object(f.a)(h.a.mark(function e(t){var a;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,console.log(":: retrieving user "+t+" from user_table."),e.next=4,U.API.get("users","/user/".concat(t),null);case 4:return a=e.sent,console.log(":: retrieved user "+t+" successfully."),e.abrupt("return",a);case 9:return e.prev=9,e.t0=e.catch(0),console.log(":: User "+t+" did not exist in db"),e.abrupt("return",new Y);case 13:case"end":return e.stop()}},e,null,[[0,9]])}))).apply(this,arguments)}function q(e,t){var a={message:"",status:!0};return 0===e.length||0===t.length?(a.message="Password fields must not be empty.",a.status=!1):e!==t?(a.message="Passwords must match.",a.status=!1):e.length<8&&(a.message="Password must be 8 characters or greater.",a.status=!1),a}function J(){return K.apply(this,arguments)}function K(){return(K=Object(f.a)(h.a.mark(function e(){var t,a,n;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U.Auth.currentUserInfo();case 2:return t=e.sent,a=t.username,e.next=6,B(a);case 6:if(""!==(n=e.sent).username){e.next=13;break}return e.next=10,M(a);case 10:return e.next=12,B(a);case 12:n=e.sent;case 13:return console.log(":: User "+n.username+" logged in with liked components "+n.liked_components),e.abrupt("return",n);case 15:case"end":return e.stop()}},e)}))).apply(this,arguments)}function G(e){return H.apply(this,arguments)}function H(){return(H=Object(f.a)(h.a.mark(function e(t){var a,n;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a={message:"",status:!0},e.prev=1,e.next=4,U.Auth.forgotPassword(t);case 4:return a.message="Password reset email was sent successfully.",e.abrupt("return",a);case 8:return e.prev=8,e.t0=e.catch(1),n=(n=e.t0.message).replace("client id","email"),a.message=n,a.status=!1,e.abrupt("return",a);case 15:case"end":return e.stop()}},e,null,[[1,8]])}))).apply(this,arguments)}function Z(e,t,a){return $.apply(this,arguments)}function $(){return($=Object(f.a)(h.a.mark(function e(t,a,n){var r;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r={message:"",status:!0},e.prev=1,e.next=4,U.Auth.forgotPasswordSubmit(t,a,n);case 4:return e.abrupt("return",r);case 7:return e.prev=7,e.t0=e.catch(1),r.message=e.t0.message,r.status=!1,e.abrupt("return",r);case 12:case"end":return e.stop()}},e,null,[[1,7]])}))).apply(this,arguments)}function Q(e,t){return X.apply(this,arguments)}function X(){return(X=Object(f.a)(h.a.mark(function e(t,a){var n;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n={message:"",status:!0,user:new Y},e.prev=1,e.next=4,U.Auth.signIn(t,a);case 4:return e.next=6,J();case 6:return n.user=e.sent,e.abrupt("return",n);case 10:return e.prev=10,e.t0=e.catch(1),n.message=e.t0.message,n.status=!1,e.abrupt("return",n);case 15:case"end":return e.stop()}},e,null,[[1,10]])}))).apply(this,arguments)}function ee(e){return te.apply(this,arguments)}function te(){return(te=Object(f.a)(h.a.mark(function e(t){var a;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a={message:"",status:!0},e.prev=1,e.next=4,U.Auth.resendSignUp(t);case 4:return e.abrupt("return",a);case 7:return e.prev=7,e.t0=e.catch(1),a.message=e.t0.message,a.status=!1,e.abrupt("return",a);case 12:case"end":return e.stop()}},e,null,[[1,7]])}))).apply(this,arguments)}function ae(e,t){return ne.apply(this,arguments)}function ne(){return(ne=Object(f.a)(h.a.mark(function e(t,a){var n;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n={message:"",status:!0},e.prev=1,e.next=4,U.Auth.confirmSignUp(t,a);case 4:return e.abrupt("return",n);case 7:return e.prev=7,e.t0=e.catch(1),n.message=e.t0.message,e.t0.message.includes("cannot be confirm.")&&(n.message="User is already confirmed."),n.status=!1,e.abrupt("return",n);case 13:case"end":return e.stop()}},e,null,[[1,7]])}))).apply(this,arguments)}function re(){return oe.apply(this,arguments)}function oe(){return(oe=Object(f.a)(h.a.mark(function e(){var t;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t={status:!0,message:"",user:new Y},e.prev=1,e.next=4,U.Auth.currentSession();case 4:return e.next=6,J();case 6:return t.user=e.sent,e.abrupt("return",t);case 10:return e.prev=10,e.t0=e.catch(1),"No current user"!==e.t0&&alert(e.t0),t.status=!1,e.abrupt("return",t);case 15:case"end":return e.stop()}},e,null,[[1,10]])}))).apply(this,arguments)}function ie(){return se.apply(this,arguments)}function se(){return(se=Object(f.a)(h.a.mark(function e(){return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,U.Auth.signOut();case 2:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ce(e,t){return le.apply(this,arguments)}function le(){return(le=Object(f.a)(h.a.mark(function e(t,a){var n;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n={message:"",status:!0},e.prev=1,console.log(":: Authenticating user with username "+t+" and code "+a),e.next=5,U.Auth.confirmSignUp(t,a);case 5:return e.abrupt("return",n);case 8:return e.prev=8,e.t0=e.catch(1),n.message=e.t0.message,n.status=!1,e.abrupt("return",n);case 13:case"end":return e.stop()}},e,null,[[1,8]])}))).apply(this,arguments)}a.n(U).a.configure({Auth:{mandatorySignIn:!0,region:T.REGION,userPoolId:T.USER_POOL_ID,identityPoolId:T.IDENTITY_POOL_ID,userPoolWebClientId:T.APP_CLIENT_ID},API:{endpoints:[{name:"swimComponents",endpoint:z.URL,region:z.REGION},{name:"users",endpoint:z.URL,region:z.REGION},{name:"swimWorkouts",endpoint:z.URL,region:z.REGION},{name:"swimFolders",endpoint:z.URL,region:z.REGION}]}});var ue,pe,me,de,he,fe,be,ge,ye,ve,Ee,ke=a(6),we=Object(k.b)("appState","uiState","userState")(ue=Object(k.c)((pe=function(e){function t(){var e,a;Object(b.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o127)return this.uiState.errorMessage="Please only include regular characters in your username.",!1;var t=q(this.password,this.confirmPassword);return!1===t.status?(this.uiState.errorMessage=t.message,!1):0===this.username.length||0===this.name.length||0===this.email.length?(this.uiState.errorMessage="You left a field blank.",!1):!(this.username.length>20)||(this.uiState.errorMessage="Username must be less than 20 characters in length.",!1)}},{key:"handleSignUp",value:function(){var e=Object(f.a)(h.a.mark(function e(){return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,U.Auth.signUp({username:this.username,password:this.password,attributes:{name:this.name,email:this.email}});case 3:this.appState.signedUp=!0,e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),this.uiState.errorMessage=e.t0.message;case 9:this.appState.isLoading=!1;case 10:case"end":return e.stop()}},e,this,[[0,6]])}));return function(){return e.apply(this,arguments)}}()},{key:"handleConfirmation",value:function(){var e=Object(f.a)(h.a.mark(function e(){var t,a;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ce(this.username,this.verificationCode);case 2:if(!1!==(t=e.sent).status){e.next=7;break}this.uiState.errorMessage=t.message,e.next=20;break;case 7:return e.next=9,Q(this.email,this.password);case 9:if(!1!==(a=e.sent).status){e.next=14;break}this.uiState.errorMessage="Account creation was successful, but login failed. Try to log in to your new account from the login page.",e.next=20;break;case 14:return this.userState.currentUser=a.user,e.next=17,M(this.userState.currentUser.username);case 17:this.props.history.push("/"),this.appState.isLoggedIn=!0,this.uiState.successMessage="Account created and logged in successfully.";case 20:this.appState.isLoading=!1;case 21:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"handleResend",value:function(){var e=Object(f.a)(h.a.mark(function e(){return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Resending confirmation code for email: "+this.email),this.resentCode=!0,e.next=4,U.Auth.resendSignUp(this.username);case 4:this.uiState.successMessage="Resent Email verification code.",this.appState.isLoading=!1;case 6:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"renderSignUpForm",value:function(){var e=this;return l.a.createElement(I.a,{container:!0,spacing:2,direction:"column",justify:"center",alignItems:"center"},l.a.createElement(I.a,{item:!0},l.a.createElement(P.a,{variant:"h2"}," Rafnel Signup ")),l.a.createElement(I.a,{item:!0},l.a.createElement(L.a,{style:{padding:10}},l.a.createElement(P.a,{variant:"body1",component:"p"},l.a.createElement("b",null,"Username:"),l.a.createElement("br",null),"Other users can see this on workouts you create.",l.a.createElement("br",null),"You can also sign in with this or your Email."),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(A.a,{style:{width:"300px"},onChange:function(t){e.username=t.target.value},name:"username",type:"username",margin:"dense",onKeyPress:function(t){"Enter"===t.key&&e.validateSignUp()&&(e.appState.isLoading=!0,e.handleSignUp())},variant:"outlined",label:"UserName",required:!0})),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(P.a,{variant:"caption",display:"block"},"Spaces not allowed.")),l.a.createElement(P.a,{variant:"body1",component:"p"},l.a.createElement("br",null),l.a.createElement("b",null,"Your name:"),l.a.createElement("br",null),"You can choose if this is visible.",l.a.createElement("br",null),"Default: not visible to other users."),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(A.a,{onChange:function(t){return e.name=t.target.value},name:"name",type:"name",onKeyPress:function(t){"Enter"===t.key&&e.validateSignUp()&&(e.appState.isLoading=!0,e.handleSignUp())},margin:"dense",variant:"outlined",label:"Name",style:{width:"300px"},required:!0})),l.a.createElement(P.a,{variant:"body1",component:"p"},l.a.createElement("br",null),l.a.createElement("b",null,"Email:"),l.a.createElement("br",null),"You will be sent a confirmation code.",l.a.createElement("br",null),"Not visible to other users."),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(A.a,{onChange:function(t){e.email=t.target.value},name:"email",type:"email",onKeyPress:function(t){"Enter"===t.key&&e.validateSignUp()&&(e.appState.isLoading=!0,e.handleSignUp())},margin:"dense",variant:"outlined",label:"Email",style:{width:"300px"},required:!0})),l.a.createElement(P.a,{variant:"body1",component:"p"},l.a.createElement("br",null),l.a.createElement("b",null,"Password:"),l.a.createElement("br",null)),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(A.a,{onChange:function(t){return e.password=t.target.value},name:"password",type:"password",onKeyPress:function(t){"Enter"===t.key&&e.validateSignUp()&&(e.appState.isLoading=!0,e.handleSignUp())},autoComplete:"current-password",margin:"dense",variant:"outlined",label:"Password",style:{width:"300px"},required:!0})),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(A.a,{onChange:function(t){return e.confirmPassword=t.target.value},name:"password",type:"password",onKeyPress:function(t){"Enter"===t.key&&e.validateSignUp()&&(e.appState.isLoading=!0,e.handleSignUp())},autoComplete:"current-password",margin:"dense",variant:"outlined",label:"Confirm Password",style:{width:"300px"},required:!0})),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(P.a,{variant:"caption",display:"block"},"Required: number, capital letter, special character.")),l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(P.a,{variant:"caption",display:"block"},"Minimum of 8 characters.")))),l.a.createElement(I.a,{item:!0},l.a.createElement(F.a,{variant:"contained",disabled:this.appState.isLoading,color:"primary",onClick:function(){e.validateSignUp()&&(e.appState.isLoading=!0,e.handleSignUp())}},"Sign up")),l.a.createElement(I.a,{item:!0},this.appState.isLoading&&l.a.createElement(_.a,null)))}},{key:"renderConfirmation",value:function(){var e=this;return l.a.createElement(I.a,{container:!0,spacing:2,direction:"column",justify:"center",alignItems:"center"},l.a.createElement(I.a,{item:!0},l.a.createElement(P.a,null,"Check your Email for the verification code.")),l.a.createElement(I.a,{item:!0},l.a.createElement(F.a,{variant:"contained",color:"default",disabled:this.appState.isLoading,onClick:function(){e.appState.isLoading=!0,e.handleResend()}},"Resend confirmation code")),l.a.createElement(I.a,{item:!0},l.a.createElement(A.a,{onChange:function(t){return e.verificationCode=t.target.value},name:"verificationCode",type:"verificationCode",margin:"dense",onKeyPress:function(t){"Enter"===t.key&&(e.appState.isLoading=!0,e.handleConfirmation())},variant:"outlined",label:"Verification Code"})),l.a.createElement(I.a,{item:!0},l.a.createElement(F.a,{variant:"contained",color:"primary",disabled:this.appState.isLoading,onClick:function(){e.appState.isLoading=!0,e.handleConfirmation()}},"Verify")),l.a.createElement(I.a,{item:!0},this.appState.isLoading&&l.a.createElement(_.a,null)))}},{key:"render",value:function(){return this.appState.signedUp?this.renderConfirmation():this.renderSignUpForm()}},{key:"componentWillUnmount",value:function(){this.appState.signedUp=!1}},{key:"uiState",get:function(){return this.props.uiState}},{key:"appState",get:function(){return this.props.appState}},{key:"userState",get:function(){return this.props.userState}}]),t}(l.a.Component),me=Object(x.a)(pe.prototype,"resentCode",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ue=pe))||ue)||ue,Se=Object(w.a)(we),Oe=a(496),je=a(495),Ce=a(460),xe=a(461),Ie=a(103),Pe=a.n(Ie),Le=Object(k.b)("uiState","userState","appState")(de=Object(k.c)((he=function(e){function t(){var e,a;Object(b.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o0&&(console.log("adding interval "+this.store.intervals[n]),a.push(this.store.intervals[n]));return r=[],this.tags.length>0&&(r=this.tags.split(",")),(t=r).push.apply(t,Object(gt.a)(this.generateTagsFromBody(this.componentBody))),o={username:this.userState.currentUser.username,yardage:+this.yardage,set:this.set,difficulty:this.difficulty,component_body:this.componentBody,component_id:"",date_created:"",intervals:a,tags:r,likes:0},e.prev=8,e.next=11,Ct(o);case 11:this.uiState.setSuccessMessage("Your component has been created successfully."),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(8),this.uiState.errorMessage=e.t0+" "+e.t0.message;case 17:this.appState.isLoading=!1;case 18:case"end":return e.stop()}},e,this,[[8,14]])}));return function(){return e.apply(this,arguments)}}()},{key:"render",value:function(){var e=this;return l.a.createElement(I.a,{spacing:3,container:!0,justify:"center",direction:"column",alignItems:"center"},l.a.createElement(I.a,{item:!0},l.a.createElement(L.a,{style:{maxWidth:900,padding:10}},l.a.createElement(I.a,{container:!0,justify:"center"},l.a.createElement(P.a,{variant:"h3"},"Create a Swim Component")),"\xa0\xa0\xa0",l.a.createElement(P.a,{component:"p"},"Create your own swim components on this page. Users will be able to browse your components and like them."))),l.a.createElement(I.a,{item:!0},l.a.createElement(L.a,{style:{maxWidth:900,padding:10}},l.a.createElement(I.a,{spacing:2,container:!0,alignItems:"center",justify:"center",direction:"column"},l.a.createElement(I.a,{item:!0},l.a.createElement(A.a,{style:{minWidth:250},multiline:!0,required:!0,variant:"outlined",label:"Component Body",placeholder:"Example: 4 x 100 freestyle swim, focus on turns",margin:"dense",onChange:function(t){e.componentBody=t.target.value}})),l.a.createElement(I.a,{item:!0},l.a.createElement(P.a,null,"Optional: Intervals (Fastest -> Slowest):")),l.a.createElement(I.a,{item:!0},l.a.createElement(Yt,{store:this.store,initialSize:5})),l.a.createElement(I.a,{item:!0},l.a.createElement(yt.a,{variant:"outlined",margin:"dense"},l.a.createElement(A.a,{variant:"outlined",required:!0,label:"Total Yardage",margin:"dense",onChange:function(t){e.yardage=t.target.value}}),l.a.createElement(vt.a,{margin:"dense"},"This field must be numeric only."))),l.a.createElement(I.a,{item:!0},l.a.createElement(I.a,{spacing:1,alignItems:"center",justify:"center",container:!0,direction:"row"},l.a.createElement(I.a,{item:!0},l.a.createElement(yt.a,{variant:"outlined",style:{minWidth:150}},l.a.createElement(Et.a,{margin:"dense"},"Difficulty"),l.a.createElement(kt.a,{margin:"dense",value:this.difficulty,required:!0,onChange:function(t){e.difficulty=t.target.value},input:l.a.createElement(wt.a,{labelWidth:150,name:"Difficulty"})},l.a.createElement(St.a,{value:""},l.a.createElement("em",null,"None")),l.a.createElement(St.a,{value:"beginner"},"Beginner"),l.a.createElement(St.a,{value:"intermediate"},"Intermediate"),l.a.createElement(St.a,{value:"advanced"},"Advanced")))),l.a.createElement(I.a,{item:!0},l.a.createElement(yt.a,{variant:"outlined",style:{minWidth:150}},l.a.createElement(Et.a,{margin:"dense"},"Set"),l.a.createElement(kt.a,{value:this.set,required:!0,margin:"dense",onChange:function(t){e.set=t.target.value},input:l.a.createElement(wt.a,{labelWidth:150,name:"Set"})},l.a.createElement(St.a,{value:""},l.a.createElement("em",null,"None")),l.a.createElement(St.a,{value:"Warmup"},"Warmup"),l.a.createElement(St.a,{value:"Pre Set"},"Pre Set"),l.a.createElement(St.a,{value:"Main Set"},"Main Set"),l.a.createElement(St.a,{value:"Cooldown"},"Cooldown")))))),l.a.createElement(I.a,{item:!0},l.a.createElement(yt.a,{variant:"outlined",margin:"dense"},l.a.createElement(A.a,{variant:"outlined",label:"OPTIONAL - Tags",margin:"dense",onChange:function(t){e.tags=t.target.value},placeholder:"Example: freestyle,swim,walls,turns"}),l.a.createElement(vt.a,{margin:"dense"},"Use this field if you want to apply tags to your component to help others find it."),l.a.createElement(vt.a,{margin:"dense"},"No spaces allowed, each tag must be comma-separated.")))))),l.a.createElement(I.a,{item:!0},l.a.createElement(F.a,{variant:"contained",size:"medium",disabled:this.appState.isLoading,color:"primary",onClick:function(){e.validateComponent()&&e.saveComponent()}},l.a.createElement(jt.a,null),"\xa0 Save")),this.appState.isLoading&&l.a.createElement(_.a,null))}},{key:"uiState",get:function(){return this.props.uiState}},{key:"userState",get:function(){return this.props.userState}},{key:"appState",get:function(){return this.props.appState}}]),t}(l.a.Component),Wt=Object(x.a)(Mt.prototype,"difficulty",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),zt=Object(x.a)(Mt.prototype,"set",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),Tt=Object(x.a)(Mt.prototype,"store",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Bt}}),Ut=Mt))||Ut)||Ut,qt=a(485),Jt=a(471);function Kt(e){return Gt.apply(this,arguments)}function Gt(){return(Gt=Object(f.a)(h.a.mark(function e(t){var a,n;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,console.log(":: set "+t+" to be queried for"),e.next=4,U.API.post("swimComponents","/components/set",{body:{set:t}});case 4:return a=e.sent,n=a,console.log(":: set list for "+t+" with length: "+n.length),e.abrupt("return",n);case 10:return e.prev=10,e.t0=e.catch(0),alert(e.t0),console.log(e.t0.message),e.abrupt("return",[]);case 15:case"end":return e.stop()}},e,null,[[0,10]])}))).apply(this,arguments)}var Ht,Zt,$t,Qt=a(466),Xt=a(468),ea=a(469),ta=a(470);function aa(){return(aa=Object(f.a)(h.a.mark(function e(t,a){return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,console.log(":: value "+a+" to be added to the like count for component "+t.component_id),e.next=4,U.API.post("swimComponents","/components/update/likes",{body:{component_id:t.component_id,username:t.username,value:a}});case 4:console.log(":: value add successful for component "+t.component_id+" with body "+t.component_body),e.next=12;break;case 7:return e.prev=7,e.t0=e.catch(0),alert(e.t0),console.log(e.t0.message),e.abrupt("return",null);case 12:case"end":return e.stop()}},e,null,[[0,7]])}))).apply(this,arguments)}function na(e){return ra.apply(this,arguments)}function ra(){return(ra=Object(f.a)(h.a.mark(function e(t){return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,console.log(":: Attempting to update user: "+t.username+" with liked components: "+t.liked_components),e.next=4,U.API.post("users","/users/update",{body:{liked_components:t.liked_components,username:t.username,liked_workouts:t.liked_workouts}});case 4:console.log(":: user "+t.username+" updated successfully."),e.next=12;break;case 7:return e.prev=7,e.t0=e.catch(0),alert(e.t0),console.log(e.t0.message),e.abrupt("return",null);case 12:case"end":return e.stop()}},e,null,[[0,7]])}))).apply(this,arguments)}var oa,ia,sa,ca,la,ua,pa,ma,da,ha,fa,ba,ga,ya,va,Ea,ka,wa,Sa=Object(k.b)("userState")(Ht=Object(k.c)((Zt=function(e){function t(){var e,a;Object(b.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o1?"s":"")+": "+this.props.currentComponent.intervals.join(" / "))))),l.a.createElement(De.a,null),l.a.createElement(ta.a,null,l.a.createElement(Nt.a,{color:"primary",onClick:function(){var t;e.componentLiked=!e.componentLiked;var a=e.props.currentComponent.username+","+e.props.currentComponent.component_id;e.componentLiked?(e.props.currentComponent.likes+=1,t=1,e.userState.currentUser.liked_components.push(a),na(e.userState.currentUser)):(e.props.currentComponent.likes-=1,t=-1,e.userState.currentUser.liked_components=e.userState.currentUser.liked_components.filter(function(e){return e!==a}),na(e.userState.currentUser)),function(e,t){aa.apply(this,arguments)}(e.props.currentComponent,t)}},this.componentLiked&&l.a.createElement(Ye.a,null,"favorite"),!this.componentLiked&&l.a.createElement(Ye.a,null,"favorite_border")),l.a.createElement(I.a,{container:!0,justify:"flex-start"},l.a.createElement(P.a,{variant:"subtitle2"},this.props.currentComponent.likes,(0===this.props.currentComponent.likes||this.props.currentComponent.likes>1)&&" likes",1===this.props.currentComponent.likes&&" like")),l.a.createElement(I.a,{container:!0,justify:"flex-end"},l.a.createElement(P.a,{variant:"subtitle2"},"Total yardage: "+this.props.currentComponent.yardage))))}},{key:"componentDidUpdate",value:function(){this.componentLiked!==this.isComponentLiked()&&(this.componentLiked=!this.componentLiked)}},{key:"userState",get:function(){return this.props.userState}}]),t}(l.a.Component),$t=Object(x.a)(Zt.prototype,"componentLiked",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.isComponentLiked()}}),Ht=Zt))||Ht)||Ht,Oa=function(e){function t(){return Object(b.a)(this,t),Object(y.a)(this,Object(v.a)(t).apply(this,arguments))}return Object(E.a)(t,e),Object(g.a)(t,[{key:"render",value:function(){var e=this.props.components.map(function(e){return l.a.createElement(I.a,{item:!0}," ",l.a.createElement(Sa,{currentComponent:e})," ")});return l.a.createElement(I.a,{container:!0,spacing:2,alignItems:"center",direction:"row",justify:"center"},e)}}]),t}(l.a.Component),ja=a(197),Ca=a.n(ja),xa=Object(k.b)("appState")(oa=Object(k.c)((ia=function(e){function t(){var e,a;Object(b.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o0){var t=+e.target.value;this.yardageError="",this.props.store.workoutYardage-=this.yardage,this.yardage=t,this.props.store.swimComponents[this.props.indexOfComponentsArray].yardage=t,this.props.store.workoutYardage+=this.yardage,this.props.store.noSaving=!1}else this.props.store.workoutYardage-=this.yardage,this.yardageError="",this.yardage=0,this.props.store.noSaving=!1}},{key:"render",value:function(){return console.log(":: rendering workout swim component with index "+this.props.indexOfComponentsArray),l.a.createElement(I.a,{spacing:1,container:!0,direction:"row",alignItems:"center",justify:"center"},l.a.createElement(I.a,{item:!0},this.props.indexOfComponentsArray+1+":"),l.a.createElement(I.a,{item:!0},l.a.createElement(A.a,{style:{minWidth:250},multiline:!0,variant:"outlined",label:"Component Body",placeholder:"Example: 4 x 100 freestyle swim, focus on turns",margin:"dense",onChange:this.handleComponentBodyChange})),l.a.createElement(I.a,{item:!0},l.a.createElement(Yt,{store:this.intervalsStore,initialSize:5})),l.a.createElement(I.a,{item:!0},l.a.createElement(Rt.a,{title:"Yardage of this component. Must be numeric."},l.a.createElement(A.a,{style:{maxWidth:125},variant:"outlined",label:"Total Yardage",margin:"dense",helperText:this.yardageError,error:""!==this.yardageError,onChange:this.handleYardageChange}))))}}]),t}(l.a.Component),pa=Object(x.a)(ua.prototype,"yardageError",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),ma=Object(x.a)(ua.prototype,"intervalsStore",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Bt}}),la=ua))||la,Pa=a(106),La=a.n(Pa),Aa=Object(k.c)((ha=function(e){function t(e){var a;Object(b.a)(this,t),a=Object(y.a)(this,Object(v.a)(t).call(this,e)),Object(j.a)(a,"componentRows",fa,Object(C.a)(a)),Object(j.a)(a,"numComponents",ba,Object(C.a)(a)),a.numComponents=a.props.initialComponentCount;for(var n=0;n0})).length){e.next=6;break}return this.uiState.errorMessage="Please enter some components for your workout before submitting.",this.appState.isLoading=!1,e.abrupt("return");case 6:a=[],n=0;case 8:if(!(n0}),this.validateComponent(t[n])){e.next=14;break}return this.appState.isLoading=!1,e.abrupt("return");case 14:if(""!==(r=this.findDuplicateComponent(t[n]))){e.next=23;break}return t[n].username=this.userState.currentUser.username,e.next=19,Ct(t[n]);case 19:o=e.sent,a.push(o.username+","+o.component_id),e.next=24;break;case 23:a.push(r);case 24:n++,e.next=8;break;case 27:for((i=new N).username=this.userState.currentUser.username,i.yardage=this.store.workoutYardage,i.difficulty=this.store.difficulty,n=0;n0||a.props.folder.folders.length>0)){e.next=5;break}return a.uiState.setErrorMessage("Can not delete folders with other folders / workouts inside them."),a.deleting=!1,e.abrupt("return");case 5:return e.next=7,Sn(a.props.folder.owner_username,a.props.folder.folder_name);case 7:if(e.sent){e.next=12;break}a.uiState.setErrorMessage("Folder could not be deleted."),e.next=19;break;case 12:return e.next=14,jn(a.props.folder.owner_username);case 14:return a.userState.mySwimFolders=e.sent,e.next=17,xn(a.props.folder.owner_username,a.props.folder.parent);case 17:a.userState.childFoldersOfCurrent=e.sent,a.uiState.setSuccessMessage("Folder deleted successfully.");case 19:a.deleting=!1;case 20:case"end":return e.stop()}},e)})),a.handleView=function(){a.props.history.push("/folder/"+a.props.folder.owner_username+"/"+a.props.folder.folder_name)},a}return Object(E.a)(t,e),Object(g.a)(t,[{key:"render",value:function(){return l.a.createElement(L.a,{style:{backgroundColor:r.a[50]}},l.a.createElement(I.a,{container:!0,direction:"column",spacing:1,justify:"center",alignItems:"center"},l.a.createElement(I.a,{item:!0},l.a.createElement(P.a,null,l.a.createElement("b",null,this.props.folder.folder_name))),l.a.createElement(I.a,{item:!0,style:{width:"100%"}},l.a.createElement(De.a,null)),l.a.createElement(I.a,{style:{paddingLeft:10,paddingRight:10},justify:"center",alignItems:"center",container:!0,item:!0,direction:"row",spacing:1},l.a.createElement(I.a,{item:!0},l.a.createElement(F.a,{onClick:this.handleView,variant:"outlined",style:{textTransform:"initial"}},"View Folder")),this.userState.currentUser.username===this.props.folder.owner_username&&l.a.createElement(I.a,{item:!0},l.a.createElement(F.a,{onClick:this.handleDelete,disabled:this.deleting,variant:"outlined",style:{textTransform:"initial"}},"Delete Folder"))),l.a.createElement(I.a,{style:{paddingLeft:10,paddingRight:10},item:!0},l.a.createElement(P.a,{variant:"caption"},"Workouts in This Folder: ",this.props.folder.workouts.length))))}},{key:"userState",get:function(){return this.props.userState}},{key:"appState",get:function(){return this.props.appState}},{key:"uiState",get:function(){return this.props.uiState}}]),t}(l.a.Component),bn=Object(x.a)(fn.prototype,"deleting",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),hn=fn))||hn)||hn,Nn=Object($e.a)(Rn),Dn=Object(k.b)("appState","userState","addFolderModalState","uiState")(Pn=Object(k.c)((Ln=function(e){function t(){var e,a;Object(b.a)(this,t);for(var n=arguments.length,r=new Array(n),o=0;o0&&e.push(l.a.createElement(nn,{key:"Warmup",setName:"Warmup",components:this.props.workout.warmup})),this.props.workout.preset.length>0&&e.push(l.a.createElement(nn,{key:"Pre Set",setName:"Pre Set",components:this.props.workout.preset})),this.props.workout.mainset.length>0&&e.push(l.a.createElement(nn,{key:"Main Set",setName:"Main Set",components:this.props.workout.mainset})),this.props.workout.cooldown.length>0&&e.push(l.a.createElement(nn,{key:"Cooldown",setName:"Cooldown",components:this.props.workout.cooldown})),e}},{key:"linkButton",value:function(){var e=this;return l.a.createElement(F.a,{style:{textTransform:"initial"},onClick:function(){return e.props.history.push("/workout/"+e.props.workout.username+"/"+e.props.workout.workout_id)}},l.a.createElement("b",null," ",this.props.workout.yardage+" yards"," "))}},{key:"returnWorkout",value:function(){return l.a.createElement(L.a,{style:{height:792,width:612,backgroundColor:"white",margin:0,padding:0,overflowY:"auto",position:"relative"}},l.a.createElement("div",{style:{padding:50}},this.getWorkoutSections()),l.a.createElement("div",{style:{position:"absolute",bottom:50,right:50}},this.linkButton()),"Rafnel"===this.props.workout.username&&l.a.createElement("div",{style:{position:"absolute",bottom:50,left:50}},l.a.createElement("img",{height:"50",width:"50",src:"/BU-dark.png",alt:"logo"})),!this.workoutState.downloadPressed&&l.a.createElement("div",{style:{position:"absolute",bottom:0,left:0}},l.a.createElement(mr,{workout:this.props.workout,workoutState:this.workoutState})),!this.workoutState.downloadPressed&&this.props.workout.username===this.userState.currentUser.username&&l.a.createElement(P.a,{variant:"caption",style:{position:"absolute",bottom:10,right:10}},"\xa0 Last used: ",this.workoutState.last_used))}},{key:"render",value:function(){var e=this;return l.a.createElement(rn.a,{paperSize:"Letter",fileName:"workout-"+this.props.workout.username+"-"+this.props.workout.workout_id,title:"",subject:"",keywords:"",ref:function(t){return e.workoutState.workout=t}},this.returnWorkout())}},{key:"userState",get:function(){return this.props.userState}},{key:"appState",get:function(){return this.props.appState}}]),t}(l.a.Component),sr=Object(x.a)(ir.prototype,"workoutState",[ke.l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{workout:{},downloadPressed:!1,markingComplete:!1,last_used:this.props.workout.last_used?this.props.workout.last_used:"----"}}}),or=ir))||or)||or,hr=Object($e.a)(dr);var fr,br,gr,yr,vr,Er,kr,wr,Sr,Or,jr=Object(k.b)("appState","userState")(cr=Object(k.c)(cr=function(e){function t(){return Object(b.a)(this,t),Object(y.a)(this,Object(v.a)(t).apply(this,arguments))}return Object(E.a)(t,e),Object(g.a)(t,[{key:"renderUserWorkouts",value:function(){console.log(":: Creating user workout components...");var e=this.userState.currentDirWorkouts.map(function(e){return l.a.createElement(I.a,{item:!0,key:e.workout_id}," ",l.a.createElement(hr,{workout:e})," ")});return 0===e.length?l.a.createElement(P.a,{variant:"body1"}," No workouts! "):e}},{key:"render",value:function(){return l.a.createElement(I.a,{direction:"column",container:!0,justify:"center",alignItems:"center",spacing:2},l.a.createElement(I.a,{item:!0},l.a.createElement(Vn,{folder:"main",username:this.userState.currentUser.username})),l.a.createElement(I.a,{item:!0},l.a.createElement(L.a,{style:{padding:10}},l.a.createElement(I.a,{container:!0,direction:"column",alignItems:"center",justify:"center",spacing:2},l.a.createElement(I.a,{item:!0},l.a.createElement(P.a,{variant:"h6"},"Workouts in the Main Directory (",this.userState.currentDirWorkouts.length,")")),this.renderUserWorkouts(),this.appState.isLoading&&l.a.createElement(_.a,null)))))}},{key:"componentDidMount",value:function(){var e=Object(f.a)(h.a.mark(function e(){var t,a,n,r;return h.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.appState.isLoading=!0,this.userState.currentDirWorkouts=[],e.next=4,_e(this.userState.currentUser.username,"main","none");case 4:return e.next=6,Ua(this.userState.currentUser.username,"main");case 6:t=e.sent,this.userState.currentFolder=t[0],console.log(JSON.stringify(this.userState.currentFolder)),a=0;case 10:if(!(a