{"version":3,"sources":["api/auth.js","components/auth/Auth.js","_actions/auth.js","components/Home.js","api/posts.js","api/comments.js","components/comments/CommentIcon.js","components/posts/DeletePost.js","_actions/posts.js","components/posts/SinglePostData.js","components/posts/SinglePost.js","components/posts/GetUserPosts.js","api/user.js","_actions/user.js","components/user/Follow.js","components/user/ProfileHeader.js","components/user/FollowCounter.js","components/posts/CreatePost.js","components/user/Profile.js","components/comments/CreateComment.js","_actions/comments.js","components/comments/GetComments.js","components/posts/GetSinglePost.js","_actions/search.js","components/navbar/Navbar.js","components/UserHomePage.js","components/SearchResults.js","App.js","_reducers/index.js","_reducers/auth.js","_reducers/user.js","_reducers/posts.js","_reducers/follow.js","_reducers/comments.js","index.js"],"names":["axios","interceptors","request","use","req","localStorage","getItem","headers","authorization","JSON","parse","token","url","signUp","data","post","login","useStyles","makeStyles","root","display","justifyContent","alignItems","width","minHeight","form","margin","button","marginTop","border","background","color","padding","fontSize","letterSpacing","textTransform","cursor","Auth","props","isJoin","setUser","match","dispatch","useDispatch","history","useHistory","useForm","register","handleSubmit","path","classes","Container","className","onSubmit","user","a","API","type","payload","push","result","_id","creds","TextField","name","placeholder","inputRef","variant","flexDirection","headerText","fontWeight","subHeaderText","lineHeight","buttonsPosition","textAlign","buttons","Home","useState","setuser","useEffect","Grid","container","item","xs","sm","to","getUserPosts","id","get","likePost","patch","createPost","getSinglePost","userId","postId","search","query","deletePost","delete","createComment","getComments","CommentIcon","commentsLen","Comment","DeletePost","anchorEl","setAnchorEl","handleClose","Button","aria-controls","aria-haspopup","onClick","e","currentTarget","Menu","open","Boolean","onClose","keepMounted","TransitionComponent","Fade","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","console","log","dayjs","relativeTime","link","SinglePostData","hasLink","CardHeader","title","Link","href","author","underline","subheader","createdAt","format","action","CardContent","Typography","article","SinglePost","posts","checkId","map","likes","includes","length","index","Card","CardActions","FormControlLabel","control","Checkbox","icon","Favorite","FavoriteBorder","checkedIcon","label","undefined","comments","GetUserPosts","getSingleUser","followingCount","following","followerCount","follower","follow","userIds","unfollow","getFollowerCount","maxWidth","Follow","viewingProfile","isFollowing","useSelector","state","followingOption","setFollowingOption","trackButton","ProfileHeader","marginRight","FollowCounter","counterData","paddingRight","CreatePost","setOpen","reset","fullWidth","Dialog","aria-labelledby","disablePortal","DialogContent","autoFocus","multiline","rows","autoComplete","DialogActions","Profile","params","loggedInUser","usersProfileData","userData","CreateComment","comment","commentData","setCommentData","preventDefault","value","onChange","target","GetComments","GetSinglePost","userid","postid","commentsList","theme","flexGrow","backgroundColor","links","textDecoration","position","borderRadius","shape","spacing","marginLeft","breakpoints","up","inputRoot","inputInput","paddingLeft","transition","transitions","create","Navbar","setSearch","AppBar","Toolbar","InputBase","input","inputProps","UserHomePage","SearchResults","results","createMuiTheme","palette","primary","main","secondary","App","CssBaseline","exact","render","combineReducers","auth","authData","setItem","stringify","clear","afterDelete","filter","store","createStore","reducer","compose","applyMiddleware","thunk","ReactDOM","document","getElementById"],"mappings":"qMAEAA,IAAMC,aAAaC,QAAQC,KAAI,SAACC,GAM9B,OALIC,aAAaC,QAAQ,aACvBF,EAAIG,QAAQC,cAAZ,iBACEC,KAAKC,MAAML,aAAaC,QAAQ,YAAYK,QAGzCP,KAGT,IAAMQ,EAAM,0CAECC,EAAS,SAACC,GAAD,OACpBd,IAAMe,KAAN,2CAAuDD,IAE5CE,EAAQ,SAACF,GACpB,OAAOd,IAAMe,KAAN,UAAcH,EAAd,UAA2BE,I,kDCV9BG,EAAYC,YAAW,CAC3BC,KAAM,CACJC,QAAS,OACTC,eAAgB,SAChBC,WAAY,SACZC,MAAO,OACPC,UAAW,SAEbC,KAAM,CACJ,yBAA0B,CACxBC,OAAQ,UAIZC,OAAQ,CACNC,UAAW,OACXC,OAAQ,OACRC,WAAY,UACZC,MAAO,QACPC,QAAS,YACTC,SAAU,OACVC,cAAe,MACfC,cAAe,YACf,UAAW,CACTL,WAAY,UACZM,OAAQ,cAKC,SAASC,EAAKC,GAAQ,IAM/BC,EALIC,EAAmBF,EAAnBE,QAASC,EAAUH,EAAVG,MACXC,EAAWC,cACXC,EAAUC,cAHkB,EAICC,cAA3BC,EAJ0B,EAI1BA,SAAUC,EAJgB,EAIhBA,aAIhBT,EADiB,YAAfE,EAAMQ,KAMV,IAQMC,EAAUjC,IAEhB,OACE,mCACE,cAACkC,EAAA,EAAD,CAAWC,UAAWF,EAAQ/B,KAA9B,SACE,uBAAMkC,SAAUL,GAbL,SAAClC,GAId4B,EAHGH,ECjDa,SAACe,EAAMV,EAASJ,GAAhB,8CAA4B,WAAOE,GAAP,iBAAAa,EAAA,sEACzBC,EAAWF,GADc,gBACxCxC,EADwC,EACxCA,KACR4B,EAAS,CAAEe,KAAM,OAAQC,QAAS5C,IAClC0B,EAAQ1B,GACR8B,EAAQe,KAAR,WAAiB7C,EAAK8C,OAAOC,MAJmB,2CAA5B,sDDoDPhD,CAAOC,EAAM8B,EAASJ,GC7ChB,SAACsB,EAAOlB,EAASJ,GAAjB,8CAA6B,WAAOE,GAAP,iBAAAa,EAAA,sEACzBC,EAAUM,GADe,gBACxChD,EADwC,EACxCA,KACR4B,EAAS,CAAEe,KAAM,OAAQC,QAAS5C,IAClC0B,EAAQ1B,GACR8B,EAAQe,KAAR,WAAiB7C,EAAK8C,OAAOC,MAJmB,2CAA7B,sDD2CN7C,CAAMF,EAAM8B,EAASJ,OAWYY,UAAWF,EAAQzB,KAA3D,UACGc,GACC,8BACE,cAACwB,EAAA,EAAD,CACEN,KAAK,OACLO,KAAK,OACLC,YAAY,YACZC,SAAUnB,EACVoB,QAAQ,eAId,8BACE,cAACJ,EAAA,EAAD,CACEN,KAAK,QACLO,KAAK,QACLC,YAAY,QACZC,SAAUnB,EACVoB,QAAQ,eAGZ,8BACE,cAACJ,EAAA,EAAD,CACEN,KAAK,WACLO,KAAK,WACLC,YAAY,WACZC,SAAUnB,EACVoB,QAAQ,eAGX5B,GACC,8BACE,cAACwB,EAAA,EAAD,CACEN,KAAK,WACLO,KAAK,kBACLC,YAAY,WACZC,SAAUnB,EACVoB,QAAQ,eAId,wBAAQf,UAAWF,EAAQvB,OAAQ8B,KAAK,SAAxC,SACGlB,EAAS,UAAY,iB,qBErG5BtB,EAAYC,YAAW,CAC3BC,KAAM,CACJC,QAAS,OACTgD,cAAe,SACf/C,eAAgB,SAChBE,MAAO,OACPC,UAAW,SAEb6C,WAAY,CACVC,WAAY,UAEdC,cAAe,CACbtC,SAAU,OACVC,cAAe,MACfsC,WAAY,QAEdC,gBAAiB,CACfC,UAAW,SACXhD,OAAQ,YAEViD,QAAS,CACP9C,OAAQ,OACRC,WAAY,UACZC,MAAO,QACPC,QAAS,YACTC,SAAU,OACVC,cAAe,MACfC,cAAe,YACf,UAAW,CACTL,WAAY,UACZM,OAAQ,cAKC,SAASwC,IAAQ,IAAD,EACLC,mBAAS,IADJ,mBACtBvB,EADsB,KAChBwB,EADgB,KAE7BC,qBAAU,WACJ1E,aAAaC,QAAQ,WACvBwE,EAAQrE,KAAKC,MAAML,aAAaC,QAAQ,aAExCwE,GAAQ,KAET,IAQH,IAAM5B,EAAUjC,IAEhB,OACE,qBAAKmC,UAAWF,EAAQ/B,KAAxB,SACE,cAACgC,EAAA,EAAD,UACE,eAAC6B,EAAA,EAAD,CAAMC,WAAS,EAAf,UACE,eAACD,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAvB,UACE,oBAAIhC,UAAWF,EAAQmB,WAAvB,+BACA,mBAAGjB,UAAWF,EAAQqB,cAAtB,4GAKDjB,EACC,cAAC,IAAD,CAAM+B,GAAI/B,EAAKM,OAAOC,IAAtB,SACE,wBAAQT,UAAWF,EAAQyB,QAA3B,6BAGF,mCACE,eAACK,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAvB,UACE,cAACJ,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAGhC,UAAWF,EAAQuB,gBAA7C,SACE,8BACE,cAAC,IAAD,CAAMY,GAAG,UAAT,SACE,wBAAQjC,UAAWF,EAAQyB,QAA3B,4BAIN,cAACK,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAGhC,UAAWF,EAAQuB,gBAA7C,SACE,8BACE,cAAC,IAAD,CAAMY,GAAG,UAAT,SACE,wBAAQjC,UAAWF,EAAQyB,QAA3B,wC,oGCnFtB3E,IAAMC,aAAaC,QAAQC,KAAI,SAACC,GAM9B,OALIC,aAAaC,QAAQ,aACvBF,EAAIG,QAAQC,cAAZ,iBACEC,KAAKC,MAAML,aAAaC,QAAQ,YAAYK,QAGzCP,KAGF,IAAMkF,EAAe,SAACC,GAAD,OAC1BvF,IAAMwF,IAAN,mDAAsDD,KAE3CE,EAAW,SAACF,GAAD,OACtBvF,IAAM0F,MAAN,mDAAwDH,EAAxD,WAEWI,EAAa,SAAC5E,GAAD,OACxBf,IAAMe,KAAK,2CAA4CA,IAE5C6E,EAAgB,SAACC,EAAQC,GAAT,OAC3B9F,IAAMwF,IAAN,mDAC8CK,EAD9C,iBAC6DC,KAMlDC,EAAS,SAACC,GAAD,OACpBhG,IAAMwF,IAAN,oDAAuDQ,KAE5CC,EAAa,SAACV,GAAD,OACxBvF,IAAMkG,OAAN,mDAAyDX,K,SC9B3DvF,IAAMC,aAAaC,QAAQC,KAAI,SAACC,GAM9B,OALIC,aAAaC,QAAQ,aACvBF,EAAIG,QAAQC,cAAZ,iBACEC,KAAKC,MAAML,aAAaC,QAAQ,YAAYK,QAGzCP,KAGF,IAAM+F,EAAgB,SAACrF,GAAD,OAC3Bd,IAAMe,KAAK,4DAA6DD,IAC7DsF,EAAc,SAACN,GAAD,OACzB9F,IAAMe,KAAK,0DAA2D+E,ICVzD,SAASO,EAAT,GAAuC,IAAhBC,EAAe,EAAfA,YACpC,OACE,qCACE,cAACC,EAAA,EAAD,IACA,kCAAKD,Q,gFCFI,SAASE,GAAT,GAAiC,IAAXV,EAAU,EAAVA,OAAU,EACbjB,mBAAS,MADI,mBACtC4B,EADsC,KAC5BC,EAD4B,KAOvCC,EAAc,WAClBD,EAAY,OAGRhE,EAAWC,cACjB,OACE,qCACE,cAACiE,EAAA,EAAD,CACEC,gBAAc,YACdC,gBAAc,OACdC,QAdc,SAACC,GACnBN,EAAYM,EAAEC,gBAUZ,SAKE,cAAC,KAAD,MAEF,cAACC,EAAA,EAAD,CACET,SAAUA,EACVU,KAAMC,QAAQX,GACdY,QAASV,EACTW,aAAW,EACX/B,GAAG,YACHgC,oBAAqBC,KACrBC,mBAAoB,KACpBC,aAAc,CACZC,SAAU,SACVC,WAAY,UAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,UAdhB,SAiBE,cAACE,GAAA,EAAD,CACEf,QAAS,WClBO,IAACxB,EDmBf7C,GCnBe6C,EDmBKO,ECnBN,uCAAQ,WAAOpD,GAAP,iBAAAa,EAAA,sEACTC,EAAe+B,GADN,gBACxBzE,EADwB,EACxBA,KACRiH,QAAQC,IAAIlH,GACZ4B,EAAS,CAAEe,KAAM,cAAeC,QAAS6B,IAHT,2CAAR,wDDoBdoB,KAHJ,yBEjCRsB,SAAaC,KAEb,IAAMjH,GAAYC,YAAW,CAC3BiH,KAAM,CACJpG,MAAO,WAII,SAASqG,GAAT,GAA4C,IAAlBrH,EAAiB,EAAjBA,KAAMsH,EAAW,EAAXA,QACvCnF,EAAUjC,KAChB,OACE,qCACE,cAACqH,EAAA,EAAD,CACEC,MACE,cAACC,EAAA,EAAD,CACEC,KAAI,WAAM1H,EAAK2H,OAAO7E,KACtB8E,UAAU,OACVvF,UAAWF,EAAQiF,KAHrB,SAKGpH,EAAK2H,OAAO1E,OAGjB4E,UAAW,kCAAKX,EAAMlH,EAAK8H,WAAWC,OAAO,iBAC7CC,OAAQ,cAACvC,GAAD,CAAYV,OAAQ/E,EAAK8C,QAEnC,cAACmF,EAAA,EAAD,UACGX,EACC,cAACG,EAAA,EAAD,CACEC,KAAI,WAAM1H,EAAK2H,OAAO7E,IAAlB,iBAA8B9C,EAAK8C,KACvC8E,UAAU,OACVvF,UAAWF,EAAQiF,KAHrB,SAKE,cAACc,EAAA,EAAD,CAAY9E,QAAQ,KAApB,SAA0BpD,EAAKmI,YAGjC,cAACD,EAAA,EAAD,CAAY9E,QAAQ,KAApB,SAA0BpD,EAAKmI,eC1BzCjB,SAAaC,KAEb,IAAMjH,GAAYC,YAAW,CAC3BC,KAAM,CACJO,OAAQ,SACRM,QAAS,YAIE,SAASmH,GAAT,GAA4D,IAAtCC,EAAqC,EAArCA,MAAO9F,EAA8B,EAA9BA,KAAMgD,EAAwB,EAAxBA,YAAa+B,EAAW,EAAXA,QACvDnF,EAAUjC,KACVyB,EAAWC,cACXC,EAAUC,cACVwG,EAAU/F,EACZ8F,EAAMxF,OAAO0F,KAAI,SAACvI,GAAD,OAAUA,EAAKwI,MAAMC,SAASlG,EAAKO,QACpD,EACJ,OACE,mCAC2B,IAAxBuF,EAAMxF,OAAO6F,OACZ,mCACGL,EAAMxF,OAAO0F,KAAI,SAACvI,EAAM2I,GACvB,OACE,eAACC,EAAA,EAAD,CAAqBvG,UAAWF,EAAQ/B,KAAxC,UACE,cAACiH,GAAD,CAAgBrH,KAAMA,EAAMsH,QAASA,IACrC,eAACuB,EAAA,EAAD,WACE,cAACC,EAAA,EAAD,CACEC,QACE,cAACC,EAAA,EAAD,CACEC,KACEX,EAAQK,GACN,cAACO,EAAA,EAAD,CAAUlI,MAAM,YAEhB,cAACmI,EAAA,EAAD,CAAgBnI,MAAM,cAG1BoI,YACEd,EAAQK,GACN,cAACO,EAAA,EAAD,CAAUlI,MAAM,YAEhB,cAACmI,EAAA,EAAD,CAAgBnI,MAAM,cAG1BiC,KAAK,WACL+C,QAAS,WFxDT,IAACxB,EEyDc,OAATjC,EACFV,EAAQe,KAAK,WAEbjB,GF5DH6C,EE4DqBxE,EAAK8C,IF5D3B,uCAAQ,WAAOnB,GAAP,iBAAAa,EAAA,sEACPC,EAAa+B,GADN,gBACtBzE,EADsB,EACtBA,KACR4B,EAAS,CAAEe,KAAM,WAAYC,QAAS5C,IAFR,2CAAR,2DEiEJsJ,MAAOrJ,EAAKwI,MAAME,SAEpB,cAACpD,EAAD,CACEC,iBACkB+D,IAAhB/D,EACIA,EACAvF,EAAKuJ,SAASb,cApCf1I,EAAK8C,UA6CtB,mCACE,cAAC8F,EAAA,EAAD,CAAMvG,UAAWF,EAAQ/B,KAAzB,SACE,cAAC6H,EAAA,EAAD,UACE,cAACC,EAAA,EAAD,CAAY9E,QAAQ,KAApB,oCCtFC,SAASoG,GAAT,GAAwC,IAAhBnB,EAAe,EAAfA,MAAO9F,EAAQ,EAARA,KAC5C,OACE,mCACE,cAACH,EAAA,EAAD,UACE,cAACgG,GAAD,CAAYC,MAAOA,EAAO9F,KAAMA,EAAM+E,SAAS,QCNvDrI,IAAMC,aAAaC,QAAQC,KAAI,SAACC,GAM9B,OALIC,aAAaC,QAAQ,aACvBF,EAAIG,QAAQC,cAAZ,iBACEC,KAAKC,MAAML,aAAaC,QAAQ,YAAYK,QAGzCP,KAGF,IAAMoK,GAAgB,SAACjF,GAAD,OAC3BvF,IAAMwF,IAAN,mDAAsDD,KAC3CkF,GAAiB,SAACC,GAAD,OAC5B1K,IAAMe,KACJ,2DACA2J,IAESC,GAAgB,SAACC,GAAD,OAC3B5K,IAAMe,KACJ,0DACA6J,IAESC,GAAS,SAACC,GAAD,OACpB9K,IAAMe,KAAK,4CAA6C+J,IAC7CC,GAAW,SAACD,GAAD,OACtB9K,IAAMe,KAAK,qDAAsD+J,IACtDJ,GAAY,SAACI,GAAD,OACvB9K,IAAMe,KAAK,sDAAuD+J,ICrBvDE,GAAmB,SAACJ,GAAD,8CAAc,WAAOlI,GAAP,iBAAAa,EAAA,sEACrBC,GAAkBoH,GADG,gBACpC9J,EADoC,EACpCA,KACR4B,EAAS,CAAEe,KAAM,qBAAsBC,QAAS5C,IAFJ,2CAAd,uDCK1BG,GAAYC,YAAW,CAC3BS,OAAQ,CACNE,OAAQ,OACRC,WAAY,UACZC,MAAO,QACPC,QAAS,WACTiJ,SAAU,OACVhJ,SAAU,OACVC,cAAe,MACfC,cAAe,YACf,UAAW,CACTL,WAAY,UACZM,OAAQ,cAKC,SAAS8I,GAAT,GAA2C,IAAzB5H,EAAwB,EAAxBA,KAAM6H,EAAkB,EAAlBA,eAC/BzI,EAAWC,cACXC,EAAUC,cACVuI,EAAcC,aAAY,SAACC,GAAD,OAAWA,EAAMT,OAAOO,eAHD,EAITvG,oBAAS,GAJA,mBAIhD0G,EAJgD,KAI/BC,EAJ+B,KAKvDzG,qBAAU,WDPa,IAAC+F,ECQT,OAATxH,IACFZ,GDToBoI,ECUR,CAAEJ,UAAWS,EAAetH,IAAK+G,SAAUtH,EAAKO,KDVzC,uCAAa,WAAOnB,GAAP,iBAAAa,EAAA,sEACbC,GAAcsH,GADD,gBAC5BhK,EAD4B,EAC5BA,KACR4B,EAAS,CAAEe,KAAM,YAAaC,QAAS5C,IAFH,2CAAb,wDCYnB0K,EAAmBJ,MAGpB,CAAC1I,EAAU0I,IACd,IAAMK,EAAc,WDrBE,IAACX,ECuBjBpI,EADJ6I,GDtBqBT,ECwBN,CACPJ,UAAWS,EAAetH,IAC1B+G,SAAUtH,EAAKO,KD1BH,uCAAa,WAAOnB,GAAP,SAAAa,EAAA,sEAC7BC,GAAasH,GADgB,OAEnCpI,EAAS,CAAEe,KAAM,oBAFkB,2CAAb,uDALF,SAACqH,GAAD,8CAAa,WAAOpI,GAAP,SAAAa,EAAA,sEAC3BC,GAAWsH,GADgB,OAEjCpI,EAAS,CAAEe,KAAM,iBAFgB,2CAAb,sDCyCZoH,CAAO,CACLH,UAAWS,EAAetH,IAC1B+G,SAAUtH,EAAKO,MAVjBnB,EACEsI,GAAiB,CACfN,UAAWS,EAAetH,OAG9B2H,GAAoBD,KAetBrI,EAAUjC,KAEhB,OACE,mCACE,wBACE8F,QAAS,WACM,OAATzD,EACFV,EAAQe,KAAK,WAEb8H,KAGJrI,UAAWF,EAAQvB,OARrB,SAUG4J,EAAkB,WAAa,aC7EzB,SAASG,GAAT,GAAkD,IAAzBpI,EAAwB,EAAxBA,KAAM6H,EAAkB,EAAlBA,eAC5C,OACE,mCACGA,GACC,cAACxB,EAAA,EAAD,UACE,eAAC3E,EAAA,EAAD,CAAMC,WAAS,EAAf,UACE,cAACD,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAGC,GAAI,GAAtB,SACE,eAAC4D,EAAA,EAAD,WACE,mCAAMmC,EAAenH,QACrB,gDACiB,IACdiE,EAAMkD,EAAetC,WAAWC,OAAO,sBAI9C,cAACc,EAAA,EAAD,UACE,cAAC5E,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,EAAGC,GAAI,EAAtB,SACG9B,GAAQA,EAAKO,MAAQsH,EAAetH,IACnC,GAEA,cAACqH,GAAD,CAAQ5H,KAAMA,EAAM6H,eAAgBA,eAtBtDlD,SAAaC,K,cCFPjH,GAAYC,YAAW,CAC3BC,KAAM,CACJS,UAAW,OACX+J,YAAa,OACb3J,QAAS,WAIE,SAAS4J,GAAT,GAA4B,gBACzC,IAAMC,EAAcR,aAAY,SAACC,GAAD,OAAWA,EAAMT,UAC3C3H,EAAUjC,KAChB,OACE,mCACE,cAAC0I,EAAA,EAAD,CAAMvG,UAAWF,EAAQ/B,KAAzB,SACE,eAACyI,EAAA,EAAD,WACE,eAACX,EAAA,EAAD,CAAY9E,QAAQ,QAApB,wBACc0H,EAAYpB,kBAE1B,eAACxB,EAAA,EAAD,CAAY9E,QAAQ,QAApB,wBACc0H,EAAYlB,wB,2CCT9B1J,GAAYC,YAAW,CAC3BC,KAAM,CACJS,UAAW,OACXkK,aAAc,UAGH,SAASC,GAAT,GAA+B,IAAD,EAARzI,EAAQ,EAARA,KAAQ,EACnBuB,oBAAS,GADU,mBACpCsC,EADoC,KAC9B6E,EAD8B,KAGrCtJ,EAAWC,cAH0B,EAIDG,cAAlCC,EAJmC,EAInCA,SAAUC,EAJyB,EAIzBA,aAAciJ,EAJW,EAIXA,MAM1BtF,EAAc,WAClBqF,GAAQ,IASJ9I,EAAUjC,KAEhB,OACE,qCACGqC,GACC,qBAAKF,UAAWF,EAAQ/B,KAAxB,SACE,cAACyF,EAAA,GAAD,GACEzC,QAAQ,YACRpC,MAAM,UACNmK,WAAS,EACTnF,QAxBc,WACtBiF,GAAQ,KAmBF,uBAKQ,WALR,wCAWJ,sBAAM3I,SAAUL,GAvBH,SAAClC,GT/BM,IAACC,ESgCvBD,EAAK4H,OAASpF,EAAKO,IACnBnB,GTjCuB3B,ESiCHD,ETjCE,uCAAU,WAAO4B,GAAP,iBAAAa,EAAA,sEACXC,EAAezC,GADJ,gBAC1BD,EAD0B,EAC1BA,KACR4B,EAAS,CAAEe,KAAM,cAAeC,QAAS5C,IAFP,2CAAV,wDSkCtBmL,OAoBE,SACE,eAACE,GAAA,EAAD,CACEhF,KAAMA,EACNE,QAASV,EACTyF,kBAAgB,oBAChBF,WAAS,EACTG,eAAe,EALjB,UAOE,cAACC,GAAA,EAAD,UACE,cAACvI,EAAA,EAAD,CACEwI,WAAS,EACT7K,OAAO,QACPsC,KAAK,UACLoG,MAAM,uBACN3G,KAAK,OACLyI,WAAS,EACThI,SAAUnB,EACVyJ,WAAS,EACTC,KAAM,EACNC,aAAa,YAGjB,eAACC,GAAA,EAAD,WACE,cAAC/F,EAAA,EAAD,CAAQG,QAASJ,EAAa5E,MAAM,UAApC,oBAGA,cAAC6E,EAAA,EAAD,CACEnD,KAAK,SACLsD,QAAS,WACPJ,KAEF5E,MAAM,UALR,6BCvEZ,IAAMd,GAAYC,YAAW,CAC3BC,KAAM,CACJS,UAAW,UAIA,SAASgL,GAAQtK,GAAQ,IAC9BgB,EAAgBhB,EAAhBgB,KACFuC,EADkBvD,EAAVG,MACOoK,OAAOtH,GACtBuH,EAAexJ,EAEfZ,EAAWC,cAEXoK,EAAmB1B,aAAY,SAACC,GAAD,OAAWA,EAAMhI,QAChD8F,EAAQiC,aAAY,SAACC,GAAD,OAAWA,EAAMlC,SAC3CrE,qBAAU,WLxBiB,IAACQ,EAUImF,EKe9BhI,GLzB0B6C,EKyBHM,ELzBE,uCAAQ,WAAOnD,GAAP,iBAAAa,EAAA,sEACZC,GAAkB+B,GADN,gBAC3BzE,EAD2B,EAC3BA,KACR4B,EAAS,CAAEe,KAAM,kBAAmBC,QAAS5C,IAFV,2CAAR,wDK0BzB4B,EAASsI,GAAiB,CAAEN,UAAW7E,KACvCnD,GLjB8BgI,EKiBH,CAAEE,SAAU/E,GLjBV,uCAAe,WAAOnD,GAAP,iBAAAa,EAAA,sEACvBC,GAAmBkH,GADI,gBACtC5J,EADsC,EACtCA,KACR4B,EAAS,CAAEe,KAAM,sBAAuBC,QAAS5C,IAFH,2CAAf,wDKkB7B4B,EVlBwB,SAAC6C,GAAD,8CAAQ,WAAO7C,GAAP,iBAAAa,EAAA,sEACXC,EAAiB+B,GADN,gBAC1BzE,EAD0B,EAC1BA,KACR4B,EAAS,CAAEe,KAAM,iBAAkBC,QAAS5C,IAFV,2CAAR,sDUkBfwE,CAAaO,MACrB,CAACnD,IACJ,IAAMQ,EAAUjC,KAChB,OACE,mCACE,eAACkC,EAAA,EAAD,CAAWC,UAAWF,EAAQ/B,KAA9B,UACE,cAACuK,GAAD,CACEpI,KAAMwJ,GAA8B,KACpC3B,eAAgB4B,EAAiBC,WAEnC,eAAChI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACE,eAACD,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAvB,UACE,cAACwG,GAAD,IACCkB,IACEjH,IAAWiH,EAAajJ,IAAM,cAACkI,GAAD,CAAYzI,KAAMA,IAAW,OAEhE,cAAC0B,EAAA,EAAD,CAAME,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAvB,SACE,cAACmF,GAAD,CAAcnB,MAAOA,EAAO9F,KAAMA,c,cC5C/B,SAAS2J,GAAT,GAA4C,IAAnBnH,EAAkB,EAAlBA,OAAQD,EAAU,EAAVA,OAAU,EAClBhB,mBAAS,CAC7CqI,QAAS,GACTpH,SACA4C,OAAQ7C,IAJ8C,mBACjDsH,EADiD,KACpCC,EADoC,KAMlD1K,EAAWC,cAWjB,OACE,uBAAMU,SANS,SAAC2D,GAChBA,EAAEqG,iBACF3K,ECfyB,SAACyK,GAAD,8CAAiB,WAAOzK,GAAP,iBAAAa,EAAA,sEACrBC,EAAkB2J,GADG,gBACpCrM,EADoC,EACpCA,KACR4B,EAAS,CAAEe,KAAM,iBAAkBC,QAAS5C,IAFA,2CAAjB,sDDehBqF,CAAcgH,IACvBC,EAAe,2BAAKD,GAAN,IAAmBD,QAAS,OAG1C,UACE,uBACEzJ,KAAK,OACLO,KAAK,UACLC,YAAY,mBACZqJ,MAAOH,EAAYD,QACnBK,SAjBW,SAACvG,GAAO,IAAD,EACEA,EAAEwG,OAAlBxJ,EADc,EACdA,KAAMsJ,EADQ,EACRA,MACdF,EAAe,2BAAKD,GAAN,mBAAoBnJ,EAAOsJ,QAiBvC,wBAAQ7J,KAAK,SAAb,wBExBNwE,SAAaC,KAEb,IAAMjH,GAAYC,YAAW,CAC3BC,KAAM,CACJO,OAAQ,YAIG,SAAS+L,GAAT,GAAoC,IAAbnD,EAAY,EAAZA,SAC9BpH,EAAUjC,KAChB,OACE,mCACuB,IAApBqJ,EAASb,OACRa,EAAShB,KAAI,SAAC4D,GACZ,OACE,cAACvD,EAAA,EAAD,CAAwBvG,UAAWF,EAAQ/B,KAA3C,SACE,eAAC6H,EAAA,EAAD,WACE,cAACR,EAAA,EAAD,CAAMC,KAAI,WAAMyE,EAAQxE,OAAO7E,KAAO8E,UAAU,OAAhD,SACE,4BAAIuE,EAAQxE,OAAO1E,SAErB,4BAAIiE,EAAMiF,EAAQrE,WAAWC,OAAO,gBACpC,4BAAIoE,EAAQA,cANLA,EAAQrJ,QAYvB,cAAC8F,EAAA,EAAD,UACE,cAACX,EAAA,EAAD,UACE,kDCtBZf,SAAaC,KAEb,IAAMjH,GAAYC,YAAW,CAC3BC,KAAM,CACJS,UAAW,QAEbsL,QAAS,CACPtL,UAAW,UAIA,SAAS8L,GAAcpL,GAAQ,IAAD,EAChBA,EAAMG,MAAMoK,OAA/Bc,EADmC,EACnCA,OAAQC,EAD2B,EAC3BA,OACRtK,EAAShB,EAATgB,KACFZ,EAAWC,cAEjBoC,qBAAU,WdXqB,IAACc,EAAQC,EcYtCpD,GdZ8BmD,EcYH8H,EdZW7H,EcYH8H,EdZN,uCAAoB,WAAOlL,GAAP,iBAAAa,EAAA,sEAC5BC,EAAkBqC,EAAQC,GADE,gBAC3ChF,EAD2C,EAC3CA,KACR4B,EAAS,CAAEe,KAAM,kBAAmBC,QAAS5C,IAFM,2CAApB,wDca7B4B,EFxBuB,SAACoD,GAAD,8CAAY,WAAOpD,GAAP,iBAAAa,EAAA,sEACdC,EAAgBsC,GADF,gBAC7BhF,EAD6B,EAC7BA,KACR4B,EAAS,CAAEe,KAAM,eAAgBC,QAAS5C,IAFL,2CAAZ,sDEwBdsF,CAAY,CAAEN,OAAQ8H,OAC9B,CAAClL,IAEJ,IAAM3B,EAAOsK,aAAY,SAACC,GAAD,OAAWA,EAAMlC,SACpCkB,EAAWe,aAAY,SAACC,GAAD,OAAWA,EAAMhB,YACxCpH,EAAUjC,KAChB,OACE,qCACE,cAACkC,EAAA,EAAD,CAAWC,UAAWF,EAAQ/B,KAA9B,SACE,cAACgI,GAAD,CACEC,MAAOrI,EACPuC,KAAMA,EACNgD,YAAagE,EAASuD,aAAapE,OACnCpB,SAAS,MAGb,cAAClF,EAAA,EAAD,CAAWC,UAAWF,EAAQgK,QAA9B,SACE,cAACvD,EAAA,EAAD,UACE,cAACX,EAAA,EAAD,UACG1F,EACC,cAAC2J,GAAD,CAAenH,OAAQ8H,EAAQ/H,OAAQvC,EAAKO,MAE5C,yBAKR,cAACV,EAAA,EAAD,CAAWC,UAAWF,EAAQgK,QAA9B,SACE,cAACvD,EAAA,EAAD,UACE,cAACX,EAAA,EAAD,UACE,cAACyE,GAAD,CAAanD,SAAUA,EAASuD,wBC3DrC,I,8BCeD5M,GAAYC,aAAW,SAAC4M,GAAD,MAAY,CACvC3M,KAAM,CACJ4M,SAAU,EACVC,gBAAiB,SAEnBC,MAAO,CACLlM,MAAO,QACPmM,eAAgB,OAChBjM,SAAU,OACVP,OAAQ,QACRQ,cAAe,MACfC,cAAe,aAEjBoG,MAAO,CACLwF,SAAU,GAEZhI,OAAO,cACLoI,SAAU,WACVC,aAAcN,EAAMO,MAAMD,aAC1BzC,YAAamC,EAAMQ,QAAQ,GAC3BC,WAAY,EACZhN,MAAO,QACNuM,EAAMU,YAAYC,GAAG,MAAQ,CAC5BF,WAAYT,EAAMQ,QAAQ,GAC1B/M,MAAO,SAGXmN,UAAW,CACT3M,MAAO,OACPiM,gBAAiB,QAEnBW,WAAW,cACT3M,QAAS8L,EAAMQ,QAAQ,EAAG,EAAG,EAAG,GAChCM,YAAY,cAAD,OAAgBd,EAAMQ,QAAQ,GAA9B,OACXO,WAAYf,EAAMgB,YAAYC,OAAO,SACrCxN,MAAO,QACNuM,EAAMU,YAAYC,GAAG,MAAQ,CAC5BlN,MAAO,aAKE,SAASyN,GAAT,GAAoC,IAAlB1L,EAAiB,EAAjBA,KAAMd,EAAW,EAAXA,QAC/BU,EAAUjC,KACVyB,EAAWC,cACXC,EAAUC,cAHgC,EAKrBgC,mBAAS,IALY,mBAKzCmB,EALyC,KAKlCiJ,EALkC,KAYhD,OACE,8BACE,cAACC,GAAA,EAAD,CAAQf,SAAS,SAAS/K,UAAWF,EAAQ/B,KAA7C,SACE,cAACgC,EAAA,EAAD,UACE,eAACgM,GAAA,EAAD,WACE,cAAClG,EAAA,EAAD,CAAY9E,QAAQ,KAAKf,UAAWF,EAAQqF,MAA5C,SACE,cAACC,EAAA,EAAD,CAAMC,KAAK,IAAIrF,UAAWF,EAAQ+K,MAAOtF,UAAU,OAAnD,sBAIF,qBAAKvF,UAAWF,EAAQ6C,OAAxB,SACE,sBAAM1C,SAjBD,SAAC2D,GAChBA,EAAEqG,iBACF3K,EDjEkB,SAACsD,GAAD,8CAAW,WAAOtD,GAAP,iBAAAa,EAAA,sEACRC,EAAIwC,GADI,gBACvBlF,EADuB,EACvBA,KACR4B,EAAS,CAAEe,KAAM,iBAAkBC,QAAS5C,IAFb,2CAAX,sDCiETiF,CAAOC,IAChBpD,EAAQe,KAAR,kBAAwBqC,KAcd,SACE,cAACoJ,GAAA,EAAD,CACEnL,YAAY,eACZsJ,SAAU,SAACvG,GAAD,OAAOiI,EAAUjI,EAAEwG,OAAOF,QACpCpK,QAAS,CACP/B,KAAM+B,EAAQwL,UACdW,MAAOnM,EAAQyL,YAEjBW,WAAY,CAAE,aAAc,iBAI7B,OAAJhM,QAAI,IAAJA,OAAA,EAAAA,EAAMM,QACL,qCACE,cAAC4E,EAAA,EAAD,CACEC,KAAI,WAAMnF,EAAKM,OAAOC,KACtBT,UAAWF,EAAQ+K,MACnBtF,UAAU,OAHZ,qBAQA,cAAC/B,EAAA,EAAD,CACE7E,MAAM,YACNgF,QAAS,WACPrE,EtB1FE,uCAAM,WAAOA,GAAP,iBAAAa,EAAA,sEFKnBvD,IAAMe,KAAN,UAAcH,EAAd,YELmB,gBAClBE,EADkB,EAClBA,KACR4B,EAAS,CAAEe,KAAM,SAAUC,QAAS5C,IAFV,2CAAN,uDsB2FF0B,EAAQ,MACRI,EAAQe,KAAK,YALjB,uBAYF,qCACE,cAAC6E,EAAA,EAAD,CAAMC,KAAK,UAAUrF,UAAWF,EAAQ+K,MAAOtF,UAAU,OAAzD,mBAIA,cAACH,EAAA,EAAD,CAAMC,KAAK,UAAUrF,UAAWF,EAAQ+K,MAAOtF,UAAU,OAAzD,iCClHD,SAAS4G,GAAajN,GAAQ,IACnCgB,EAAShB,EAATgB,KACFZ,EAAWC,cACXyG,EAAQiC,aAAY,SAACC,GAAD,OAAWA,EAAMlC,SAI3C,OAHArE,qBAAU,WACRrC,EjBWuB,uCAAM,WAAOA,GAAP,iBAAAa,EAAA,sEJI/BvD,IAAMwF,IAAI,4CIJqB,gBACvB1E,EADuB,EACvBA,KACR4B,EAAS,CAAEe,KAAM,gBAAiBC,QAAS5C,IAFZ,2CAAN,yDiBVtB,CAAC4B,IAEF,mCACE,cAACS,EAAA,EAAD,UACE,cAACgG,GAAD,CAAYC,MAAOA,EAAO9F,KAAMA,EAAM+E,SAAS,Q,wBCXxC,SAASmH,GAAclN,GAAQ,IACpCgB,EAAShB,EAATgB,KACFmM,EAAUpE,aAAY,SAACC,GAAD,OAAWA,EAAMlC,SAC7C,OACE,mCACE,cAACjG,EAAA,EAAD,UACE,cAACgG,GAAD,CAAYC,MAAOqG,EAASnM,KAAMA,EAAM+E,SAAS,QCCzD,IAAMyF,GAAQ4B,aAAe,CAC3BC,QAAS,CACPC,QAAS,CACPC,KAAM,WAERC,UAAW,CACTD,KAAM,YAGVtM,EAAG,CACDxB,MAAO,OACPmM,eAAgB,UAoEL6B,OAhEf,WAAgB,IAAD,EACWlL,mBAASpE,KAAKC,MAAML,aAAaC,QAAQ,aADpD,mBACNgD,EADM,KACAd,EADA,KASb,OAPAuC,qBAAU,WACJ1E,aAAaC,QAAQ,WACvBkC,EAAQ/B,KAAKC,MAAML,aAAaC,QAAQ,aAExCkC,EAAQ,QAET,IAED,qCACE,cAACwN,GAAA,EAAD,IACA,eAAC,KAAD,CAAkBlC,MAAOA,GAAzB,UACE,cAACkB,GAAD,CAAQ1L,KAAMA,EAAMd,QAASA,IAC7B,eAAC,IAAD,WACE,cAAC,IAAD,CACEyN,OAAK,EACLhN,KAAK,IACLiN,OAAQ,SAAC5N,GAAD,OACNgB,EACE,cAACiM,GAAD,CAAcjM,KAAe,IAATA,EAAaA,EAAKM,OAAS,IAE/C,cAACgB,EAAD,OAIN,cAAC,IAAD,CACE3B,KAAK,UACLiN,OAAQ,SAAC5N,GAAD,OAAW,cAACD,EAAD,2BAAUC,GAAV,IAAiBE,QAASA,QAE/C,cAAC,IAAD,CACES,KAAK,UACLiN,OAAQ,SAAC5N,GAAD,OAAW,cAACD,EAAD,2BAAUC,GAAV,IAAiBE,QAASA,QAE/C,cAAC,IAAD,CACES,KAAK,iBACLiN,OAAQ,SAAC5N,GAAD,OACN,cAACkN,GAAD,2BACMlN,GADN,IAEEgB,KAAe,OAATA,EAAgBA,EAAKM,OAASN,QAGvC,IACH,cAAC,IAAD,CACEL,KAAK,wBACLiN,OAAQ,SAAC5N,GAAD,OACN,cAACoL,GAAD,2BACMpL,GADN,IAEEgB,KAAe,OAATA,EAAgBA,EAAKM,OAASN,QAI1C,cAAC,IAAD,CACEL,KAAK,OACLiN,OAAQ,SAAC5N,GAAD,OACN,cAACsK,GAAD,2BAAatK,GAAb,IAAoBgB,KAAe,OAATA,EAAgBA,EAAKM,OAASN,kB,4BC5EvD6M,gBAAgB,CAC7BC,KCPa,WAAwC,IAAvCA,EAAsC,uDAA/B,CAAEC,SAAU,MAAQtH,EAAW,uCACpD,OAAQA,EAAOtF,MACb,IAAK,OAEH,OADApD,aAAaiQ,QAAQ,UAAW7P,KAAK8P,UAAUxH,EAAOrF,UAC/C,2BAAK0M,GAAZ,IAAkBC,SAAUtH,EAAOrF,UACrC,IAAK,SAEH,OADArD,aAAamQ,QACN,2BAAKJ,GAAZ,IAAkBC,SAAU,OAC9B,QACE,OAAOD,IDDX9M,KERa,WAAwC,IAAvCA,EAAsC,uDAA/B,CAAE0J,SAAU,MAAQjE,EAAW,uCACpD,OAAQA,EAAOtF,MACb,IAAK,kBACH,OAAO,2BAAKH,GAAZ,IAAkB0J,SAAUjE,EAAOrF,UACrC,QACE,OAAOJ,IFIX8F,MGTa,WAAqC,IAApCA,EAAmC,uDAA3B,CAAExF,OAAQ,IAAMmF,EAAW,uCACjD,OAAQA,EAAOtF,MACb,IAAK,iBACH,OAAOsF,EAAOrF,QAChB,IAAK,WACH,IAAME,EAASwF,EAAMxF,OAAO0F,KAAI,SAACvI,GAC/B,OAAIA,EAAK8C,MAAQkF,EAAOrF,QAAQE,OAAO,GAAGC,IACjC,2BAAK9C,GAASgI,EAAOrF,QAAQE,OAAO,IAEpC7C,KAGX,OAAO,2BAAKqI,GAAZ,IAAmBxF,WACrB,IAAK,cACH,OAAO,2BAAKwF,GAAZ,IAAmBxF,OAAO,GAAD,oBAAMwF,EAAMxF,QAAZ,CAAoBmF,EAAOrF,YACtD,IAAK,gBAEL,IAAK,kBACH,OAAOqF,EAAOrF,QAChB,IAAK,cACH,IAAM+M,EAAcrH,EAAMxF,OAAO8M,QAAO,SAAC3P,GACvC,OAAOA,EAAK8C,MAAQkF,EAAOrF,WAE7B,MAAO,CAAEE,OAAQ6M,GACnB,IAAK,iBACH,OAAO1H,EAAOrF,QAChB,QACE,OAAO0F,IHjBXyB,OIVa,WAGT,IAFJA,EAEG,uDAFM,CAAEF,cAAe,EAAGF,eAAgB,EAAGW,aAAa,GAC7DrC,EACG,uCACH,OAAQA,EAAOtF,MACb,IAAK,qBACH,OAAO,2BACFoH,GADL,IAEEF,cAAe5B,EAAOrF,QAAQiH,gBAElC,IAAK,sBACH,OAAO,2BACFE,GADL,IAEEJ,eAAgB1B,EAAOrF,QAAQ+G,iBAEnC,IAAK,eACH,OAAO,2BACFI,GADL,IAEEF,cAAeE,EAAOF,cAAgB,IAE1C,IAAK,kBACH,OAAO,2BACFE,GADL,IAEEF,cAAeE,EAAOF,cAAgB,IAE1C,IAAK,YACH,OAAO,2BAAKE,GAAZ,IAAoBO,YAAarC,EAAOrF,UAC1C,QACE,OAAOmH,IJjBXP,SKXa,WAA8C,IAA7CA,EAA4C,uDAAjC,CAAEuD,aAAc,IAAM9E,EAAW,uCAC1D,OAAQA,EAAOtF,MACb,IAAK,iBACH,OAAO,2BACF6G,GADL,IAEEuD,aAAa,GAAD,oBAAMvD,EAASuD,cAAf,CAA6B9E,EAAOrF,YAEpD,IAAK,eACH,OAAO,2BAAK4G,GAAZ,IAAsBuD,aAAc9E,EAAOrF,UAC7C,QACE,OAAO4G,MCFPqG,GAAQC,aAAYC,GAASC,aAAQC,aAAgBC,QAC3DC,IAASf,OACP,cAAC,IAAD,CAAUS,MAAOA,GAAjB,SACE,cAAC,IAAD,UACE,cAAC,GAAD,QAGJO,SAASC,eAAe,W","file":"static/js/main.f8525a56.chunk.js","sourcesContent":["import axios from 'axios';\n\naxios.interceptors.request.use((req) => {\n if (localStorage.getItem('profile')) {\n req.headers.authorization = `Bearer ${\n JSON.parse(localStorage.getItem('profile')).token\n }`;\n }\n return req;\n});\n\nconst url = 'https://socialapp.server.elisv.com/auth';\n\nexport const signUp = (data) =>\n axios.post(`https://socialapp.server.elisv.com/users`, data);\n\nexport const login = (data) => {\n return axios.post(`${url}/login`, data);\n};\n\nexport const logout = () => {\n return axios.post(`${url}/logout`);\n};\n","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { login, signUp } from '../../_actions/auth';\nimport { useForm } from 'react-hook-form';\nimport { Container, makeStyles, TextField } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n minHeight: '100vh',\n },\n form: {\n '& .MuiFormControl-root': {\n margin: '5px 0',\n },\n },\n\n button: {\n marginTop: '10px',\n border: 'none',\n background: '#ef8354',\n color: 'white',\n padding: '10px 30px',\n fontSize: '15px',\n letterSpacing: '2px',\n textTransform: 'uppercase',\n '&:hover': {\n background: '#eb5e28',\n cursor: 'pointer',\n },\n },\n});\n\nexport default function Auth(props) {\n const { setUser, match } = props;\n const dispatch = useDispatch();\n const history = useHistory();\n const { register, handleSubmit } = useForm();\n\n let isJoin;\n if (match.path === '/signup') {\n isJoin = true;\n } else {\n isJoin = false;\n }\n\n const onSubmit = (data) => {\n if (!isJoin) {\n dispatch(login(data, history, setUser));\n } else {\n dispatch(signUp(data, history, setUser));\n }\n };\n\n const classes = useStyles();\n\n return (\n <>\n \n
\n {isJoin && (\n
\n \n
\n )}\n
\n \n
\n
\n \n
\n {isJoin && (\n
\n \n
\n )}\n \n
\n
\n \n );\n}\n","import * as API from '../api/auth';\n\nexport const signUp = (user, history, setUser) => async (dispatch) => {\n const { data } = await API.signUp(user);\n dispatch({ type: 'AUTH', payload: data });\n setUser(data);\n history.push(`/${data.result._id}`);\n};\n\nexport const login = (creds, history, setUser) => async (dispatch) => {\n const { data } = await API.login(creds);\n dispatch({ type: 'AUTH', payload: data });\n setUser(data);\n history.push(`/${data.result._id}`);\n};\n\nexport const logout = () => async (dispatch) => {\n const { data } = await API.logout();\n dispatch({ type: 'LOGOUT', payload: data });\n};\n","import React, { useState, useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { Container, Grid, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n width: '100%',\n minHeight: '100vh',\n },\n headerText: {\n fontWeight: 'normal',\n },\n subHeaderText: {\n fontSize: '18px',\n letterSpacing: '2px',\n lineHeight: '30px',\n },\n buttonsPosition: {\n textAlign: 'center',\n margin: '30px 0px',\n },\n buttons: {\n border: 'none',\n background: '#ef8354',\n color: 'white',\n padding: '10px 30px',\n fontSize: '15px',\n letterSpacing: '2px',\n textTransform: 'uppercase',\n '&:hover': {\n background: '#eb5e28',\n cursor: 'pointer',\n },\n },\n});\n\nexport default function Home() {\n const [user, setuser] = useState('');\n useEffect(() => {\n if (localStorage.getItem('profile')) {\n setuser(JSON.parse(localStorage.getItem('profile')));\n } else {\n setuser(false);\n }\n }, []);\n // let isJoined;\n // if (user) {\n // isJoined = true;\n // } else {\n // isJoined = false;\n // }\n\n const classes = useStyles();\n\n return (\n
\n \n \n \n

Welcome to TweTwe

\n

\n TweTwe a social media platform that allows users to share their\n opinions freely and openly.\n

\n
\n {user ? (\n \n \n \n ) : (\n <>\n \n \n
\n \n \n \n
\n
\n \n
\n \n \n \n
\n
\n
\n \n )}\n
\n
\n
\n );\n}\n","import axios from 'axios';\n\naxios.interceptors.request.use((req) => {\n if (localStorage.getItem('profile')) {\n req.headers.authorization = `Bearer ${\n JSON.parse(localStorage.getItem('profile')).token\n }`;\n }\n return req;\n});\n\nexport const getUserPosts = (id) =>\n axios.get(`https://socialapp.server.elisv.com/posts/${id}`);\n\nexport const likePost = (id) =>\n axios.patch(`https://socialapp.server.elisv.com/posts/${id}/like`);\n\nexport const createPost = (post) =>\n axios.post('https://socialapp.server.elisv.com/posts', post);\n\nexport const getSinglePost = (userId, postId) =>\n axios.get(\n `https://socialapp.server.elisv.com/posts/${userId}/post/${postId}`\n );\n\nexport const getAllPosts = () =>\n axios.get('https://socialapp.server.elisv.com/posts');\n\nexport const search = (query) =>\n axios.get(`https://socialapp.server.elisv.com/search/${query}`);\n\nexport const deletePost = (id) =>\n axios.delete(`https://socialapp.server.elisv.com/posts/${id}`);\n","import axios from 'axios';\n\naxios.interceptors.request.use((req) => {\n if (localStorage.getItem('profile')) {\n req.headers.authorization = `Bearer ${\n JSON.parse(localStorage.getItem('profile')).token\n }`;\n }\n return req;\n});\n\nexport const createComment = (data) =>\n axios.post('https://socialapp.server.elisv.com/comments/createcomment', data);\nexport const getComments = (postId) =>\n axios.post('https://socialapp.server.elisv.com/comments/getcomments', postId);\n","import React, { useEffect } from 'react';\nimport { Comment } from '@material-ui/icons/';\nimport { getNumberOfComments } from '../../_actions/comments';\nimport { useDispatch, useSelector } from 'react-redux';\nexport default function CommentIcon({ commentsLen }) {\n return (\n <>\n \n

{commentsLen}

\n \n );\n}\n","import React, { useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport { Menu, Fade, MenuItem } from '@material-ui/core';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport { useDispatch } from 'react-redux';\nimport { deletePost } from '../../_actions/posts';\nexport default function DeletePost({ postId }) {\n const [anchorEl, setAnchorEl] = useState(null);\n\n const handleClick = (e) => {\n setAnchorEl(e.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const dispatch = useDispatch();\n return (\n <>\n \n \n \n \n {\n dispatch(deletePost(postId));\n handleClose();\n }}\n >\n Delete\n \n \n \n );\n}\n","import * as API from '../api/posts';\n\nexport const createPost = (post) => async (dispatch) => {\n const { data } = await API.createPost(post);\n dispatch({ type: 'CREATE_POST', payload: data });\n};\n\nexport const likePost = (id) => async (dispatch) => {\n const { data } = await API.likePost(id);\n dispatch({ type: 'LIKEPOST', payload: data });\n};\n\nexport const getUserPosts = (id) => async (dispatch) => {\n const { data } = await API.getUserPosts(id);\n dispatch({ type: 'GET_USER_POSTS', payload: data });\n};\n\nexport const getSingleUserPost = (userId, postId) => async (dispatch) => {\n const { data } = await API.getSinglePost(userId, postId);\n dispatch({ type: 'GET_SINGLE_POST', payload: data });\n};\n\nexport const getAllPosts = () => async (dispatch) => {\n const { data } = await API.getAllPosts();\n dispatch({ type: 'GET_ALL_POSTS', payload: data });\n};\n\nexport const deletePost = (id) => async (dispatch) => {\n const { data } = await API.deletePost(id);\n console.log(data);\n dispatch({ type: 'DELETE_POST', payload: id });\n};\n","import React from 'react';\nimport {\n CardHeader,\n CardContent,\n Typography,\n Link,\n makeStyles,\n} from '@material-ui/core';\nimport DeletePost from './DeletePost';\nimport * as dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\ndayjs.extend(relativeTime);\n\nconst useStyles = makeStyles({\n link: {\n color: 'black',\n },\n});\n\nexport default function SinglePostData({ post, hasLink }) {\n const classes = useStyles();\n return (\n <>\n \n {post.author.name}\n \n }\n subheader={

{dayjs(post.createdAt).format('MM/DD/YYYY')}

}\n action={}\n />\n \n {hasLink ? (\n \n {post.article}\n \n ) : (\n {post.article}\n )}\n \n \n );\n}\n","import React, { useState } from 'react';\nimport * as dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { useDispatch } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport {\n Card,\n CardContent,\n CardActions,\n FormControlLabel,\n Checkbox,\n Typography,\n makeStyles,\n} from '@material-ui/core';\nimport { Favorite, FavoriteBorder } from '@material-ui/icons/';\nimport { likePost } from '../../_actions/posts';\nimport CommentIcon from '../comments/CommentIcon';\n\nimport SinglePostData from './SinglePostData';\ndayjs.extend(relativeTime);\n\nconst useStyles = makeStyles({\n root: {\n margin: '10px 0',\n padding: '10px 0',\n },\n});\n\nexport default function SinglePost({ posts, user, commentsLen, hasLink }) {\n const classes = useStyles();\n const dispatch = useDispatch();\n const history = useHistory();\n const checkId = user\n ? posts.result.map((post) => post.likes.includes(user._id))\n : 0;\n return (\n <>\n {posts.result.length !== 0 ? (\n <>\n {posts.result.map((post, index) => {\n return (\n \n \n \n \n ) : (\n \n )\n }\n checkedIcon={\n checkId[index] ? (\n \n ) : (\n \n )\n }\n name=\"checkedH\"\n onClick={() => {\n if (user === null) {\n history.push('/signin');\n } else {\n dispatch(likePost(post._id));\n }\n }}\n />\n }\n label={post.likes.length}\n />\n \n \n \n );\n })}\n \n ) : (\n <>\n \n \n No Posts Found\n \n \n \n )}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport SinglePost from './SinglePost';\nimport { Container } from '@material-ui/core';\n\nexport default function GetUserPosts({ posts, user }) {\n return (\n <>\n \n \n \n \n );\n}\n","import axios from 'axios';\n\naxios.interceptors.request.use((req) => {\n if (localStorage.getItem('profile')) {\n req.headers.authorization = `Bearer ${\n JSON.parse(localStorage.getItem('profile')).token\n }`;\n }\n return req;\n});\n\nexport const getSingleUser = (id) =>\n axios.get(`https://socialapp.server.elisv.com/users/${id}`);\nexport const followingCount = (following) =>\n axios.post(\n 'https://socialapp.server.elisv.com/follow/followingcount',\n following\n );\nexport const followerCount = (follower) =>\n axios.post(\n 'https://socialapp.server.elisv.com/follow/followercount',\n follower\n );\nexport const follow = (userIds) =>\n axios.post('https://socialapp.server.elisv.com/follow', userIds);\nexport const unfollow = (userIds) =>\n axios.post('https://socialapp.server.elisv.com/follow/unfollow', userIds);\nexport const following = (userIds) =>\n axios.post('https://socialapp.server.elisv.com/follow/following', userIds);\n","import * as API from '../api/user';\n\nexport const getSingleUser = (id) => async (dispatch) => {\n const { data } = await API.getSingleUser(id);\n dispatch({ type: 'GET_SINGLE_USER', payload: data });\n};\n\nexport const getFollowerCount = (follower) => async (dispatch) => {\n const { data } = await API.followerCount(follower);\n dispatch({ type: 'GET_FOLLOWER_COUNT', payload: data });\n};\n\nexport const getFollowingCount = (following) => async (dispatch) => {\n const { data } = await API.followingCount(following);\n dispatch({ type: 'GET_FOLLOWING_COUNT', payload: data });\n};\n\nexport const follow = (userIds) => async (dispatch) => {\n await API.follow(userIds);\n dispatch({ type: 'ADD_FOLLOWER' });\n};\n\nexport const unfollow = (userIds) => async (dispatch) => {\n await API.unfollow(userIds);\n dispatch({ type: 'REMOVE_FOLLOWER' });\n};\n\nexport const following = (userIds) => async (dispatch) => {\n const { data } = await API.following(userIds);\n dispatch({ type: 'FOLLOWING', payload: data });\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n follow,\n unfollow,\n following,\n getFollowerCount,\n getFollowingCount,\n} from '../../_actions/user';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { makeStyles } from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\n\nconst useStyles = makeStyles({\n button: {\n border: 'none',\n background: '#ef8354',\n color: 'white',\n padding: '10px 7px',\n maxWidth: '95px',\n fontSize: '12px',\n letterSpacing: '2px',\n textTransform: 'uppercase',\n '&:hover': {\n background: '#eb5e28',\n cursor: 'pointer',\n },\n },\n});\n\nexport default function Follow({ user, viewingProfile }) {\n const dispatch = useDispatch();\n const history = useHistory();\n const isFollowing = useSelector((state) => state.follow.isFollowing);\n const [followingOption, setFollowingOption] = useState(false);\n useEffect(() => {\n if (user !== null) {\n dispatch(\n following({ following: viewingProfile._id, follower: user._id })\n );\n setFollowingOption(isFollowing);\n } else {\n }\n }, [dispatch, isFollowing]);\n const trackButton = () => {\n followingOption\n ? dispatch(\n unfollow({\n following: viewingProfile._id,\n follower: user._id,\n }),\n dispatch(\n getFollowerCount({\n following: viewingProfile._id,\n })\n ),\n setFollowingOption(!followingOption)\n )\n : dispatch(\n follow({\n following: viewingProfile._id,\n follower: user._id,\n }),\n dispatch(\n getFollowerCount({\n following: viewingProfile._id,\n })\n ),\n setFollowingOption(!followingOption)\n );\n };\n const classes = useStyles();\n\n return (\n <>\n {\n if (user === null) {\n history.push('/signin');\n } else {\n trackButton();\n }\n }}\n className={classes.button}\n >\n {followingOption ? 'unfollow' : 'follow'}\n \n \n );\n}\n","import React from 'react';\nimport { Card, CardActions, CardContent, Grid, Paper } from '@material-ui/core';\nimport Follow from './Follow';\nimport * as dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\ndayjs.extend(relativeTime);\n\nexport default function ProfileHeader({ user, viewingProfile }) {\n return (\n <>\n {viewingProfile && (\n \n \n \n \n

{viewingProfile.name}

\n
\n Memeber Since:{' '}\n {dayjs(viewingProfile.createdAt).format('MM/DD/YYYY')}\n
\n
\n
\n \n \n {user && user._id === viewingProfile._id ? (\n ''\n ) : (\n \n )}\n \n \n
\n
\n )}\n \n );\n}\n","import { Card, CardActions, makeStyles, Typography } from '@material-ui/core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nconst useStyles = makeStyles({\n root: {\n marginTop: '10px',\n marginRight: '10px',\n padding: '5px 0',\n },\n});\n\nexport default function FollowCounter({}) {\n const counterData = useSelector((state) => state.follow);\n const classes = useStyles();\n return (\n <>\n \n \n \n Following: {counterData.followingCount}\n \n \n Followers: {counterData.followerCount}\n \n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { createPost } from '../../_actions/posts';\nimport { useForm } from 'react-hook-form';\nimport {\n Dialog,\n DialogActions,\n DialogContent,\n Button,\n TextField,\n makeStyles,\n} from '@material-ui/core/';\n\nconst useStyles = makeStyles({\n root: {\n marginTop: '10px',\n paddingRight: '10px',\n },\n});\nexport default function CreatePost({ user }) {\n const [open, setOpen] = useState(false);\n\n const dispatch = useDispatch();\n const { register, handleSubmit, reset } = useForm();\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const onSubmit = (data) => {\n data.author = user._id;\n dispatch(createPost(data));\n reset();\n };\n\n const classes = useStyles();\n\n return (\n <>\n {user && (\n
\n \n Post\n \n
\n )}\n
\n \n \n \n \n \n \n {\n handleClose();\n }}\n color=\"primary\"\n >\n Post\n \n \n \n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport GetUserPosts from '../posts/GetUserPosts';\nimport { useHistory } from 'react-router-dom';\nimport { getSingleUser } from '../../_actions/user';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Button, Container, Grid, makeStyles } from '@material-ui/core';\nimport ProfileHeader from './ProfileHeader';\nimport FollowCounter from './FollowCounter';\nimport { getFollowerCount, getFollowingCount } from '../../_actions/user';\nimport { getUserPosts } from '../../_actions/posts';\nimport CreatePost from '../posts/CreatePost';\nconst useStyles = makeStyles({\n root: {\n marginTop: '50px',\n },\n});\n\nexport default function Profile(props) {\n const { user, match } = props;\n const userId = match.params.id;\n const loggedInUser = user;\n\n const dispatch = useDispatch();\n\n const usersProfileData = useSelector((state) => state.user);\n const posts = useSelector((state) => state.posts);\n useEffect(() => {\n dispatch(getSingleUser(userId));\n dispatch(getFollowerCount({ following: userId }));\n dispatch(getFollowingCount({ follower: userId }));\n dispatch(getUserPosts(userId));\n }, [dispatch]);\n const classes = useStyles();\n return (\n <>\n \n \n \n \n \n {loggedInUser &&\n (userId === loggedInUser._id ? : '')}\n \n \n \n \n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport { createComment } from '../../_actions/comments';\nimport { useDispatch } from 'react-redux';\nexport default function CreateComment({ postId, userId }) {\n const [commentData, setCommentData] = useState({\n comment: '',\n postId,\n author: userId,\n });\n const dispatch = useDispatch();\n const onChange = (e) => {\n const { name, value } = e.target;\n setCommentData({ ...commentData, [name]: value });\n };\n\n const onSubmit = (e) => {\n e.preventDefault();\n dispatch(createComment(commentData));\n setCommentData({ ...commentData, comment: '' });\n };\n return (\n
\n \n \n \n );\n}\n","import * as API from '../api/comments';\n\nexport const createComment = (commentData) => async (dispatch) => {\n const { data } = await API.createComment(commentData);\n dispatch({ type: 'CREATE_COMMENT', payload: data });\n};\nexport const getComments = (postId) => async (dispatch) => {\n const { data } = await API.getComments(postId);\n dispatch({ type: 'GET_COMMENTS', payload: data });\n};\n","import React, { useEffect } from 'react';\nimport * as dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport { Card, CardContent, makeStyles, Link } from '@material-ui/core';\n\ndayjs.extend(relativeTime);\n\nconst useStyles = makeStyles({\n root: {\n margin: '10px 0',\n },\n});\n\nexport default function GetComments({ comments }) {\n const classes = useStyles();\n return (\n <>\n {comments.length !== 0 ? (\n comments.map((comment) => {\n return (\n \n \n \n

{comment.author.name}

\n \n

{dayjs(comment.createdAt).format('MM/DD/YYYY')}

\n

{comment.comment}

\n
\n
\n );\n })\n ) : (\n \n \n

No Comments

\n
\n
\n )}\n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getSingleUserPost } from '../../_actions/posts';\nimport { getComments } from '../../_actions/comments';\nimport { Card, CardContent, Container, makeStyles } from '@material-ui/core';\nimport { Favorite, FavoriteBorder, Comment } from '@material-ui/icons/';\nimport * as dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\nimport CreateComment from '../comments/CreateComment';\nimport GetComments from '../comments/GetComments';\nimport SinglePost from './SinglePost';\n\ndayjs.extend(relativeTime);\n\nconst useStyles = makeStyles({\n root: {\n marginTop: '50px',\n },\n comment: {\n marginTop: '10px',\n },\n});\n\nexport default function GetSinglePost(props) {\n const { userid, postid } = props.match.params;\n const { user } = props;\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(getSingleUserPost(userid, postid));\n dispatch(getComments({ postId: postid }));\n }, [dispatch]);\n\n const post = useSelector((state) => state.posts);\n const comments = useSelector((state) => state.comments);\n const classes = useStyles();\n return (\n <>\n \n \n \n \n \n \n {user ? (\n \n ) : (\n 'Login to comment'\n )}\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { search as API } from '../api/posts';\nexport const search = (query) => async (dispatch) => {\n const { data } = await API(query);\n dispatch({ type: 'SEARCH_RESULTS', payload: data });\n};\n","import React, { useState, useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { logout } from '../../_actions/auth';\nimport { search } from '../../_actions/search';\n\nimport {\n AppBar,\n Toolbar,\n Typography,\n Button,\n makeStyles,\n Container,\n InputBase,\n Link,\n} from '@material-ui/core';\nimport { useHistory } from 'react-router-dom';\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n backgroundColor: 'black',\n },\n links: {\n color: 'white',\n textDecoration: 'none',\n fontSize: '14px',\n margin: '0 5px',\n letterSpacing: '1px',\n textTransform: 'uppercase',\n },\n title: {\n flexGrow: 1,\n },\n search: {\n position: 'relative',\n borderRadius: theme.shape.borderRadius,\n marginRight: theme.spacing(2),\n marginLeft: 0,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n marginLeft: theme.spacing(3),\n width: 'auto',\n },\n },\n inputRoot: {\n color: '#000',\n backgroundColor: '#fff',\n },\n inputInput: {\n padding: theme.spacing(1, 1, 1, 0),\n paddingLeft: `calc(1em + ${theme.spacing(0)}px)`,\n transition: theme.transitions.create('width'),\n width: '100%',\n [theme.breakpoints.up('md')]: {\n width: '20ch',\n },\n },\n}));\n\nexport default function Navbar({ user, setUser }) {\n const classes = useStyles();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [query, setSearch] = useState('');\n const onSubmit = (e) => {\n e.preventDefault();\n dispatch(search(query));\n history.push(`/search/${query}`);\n };\n\n return (\n
\n \n \n \n \n \n TweTwe\n \n \n
\n
\n setSearch(e.target.value)}\n classes={{\n root: classes.inputRoot,\n input: classes.inputInput,\n }}\n inputProps={{ 'aria-label': 'search' }}\n />\n \n
\n {user?.result ? (\n <>\n \n Profile\n \n\n {\n dispatch(logout());\n setUser(null);\n history.push('/signin');\n }}\n >\n Logout\n \n \n ) : (\n <>\n \n Login\n \n\n \n Sign Up\n \n \n )}\n
\n
\n
\n
\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getAllPosts } from '../_actions/posts';\nimport SinglePost from './posts/SinglePost';\nimport { Container } from '@material-ui/core';\n\nexport default function UserHomePage(props) {\n const { user } = props;\n const dispatch = useDispatch();\n const posts = useSelector((state) => state.posts);\n useEffect(() => {\n dispatch(getAllPosts());\n }, [dispatch]);\n return (\n <>\n \n \n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport SinglePost from './posts/SinglePost';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { search } from '../_actions/search';\nimport { Container } from '@material-ui/core';\nexport default function SearchResults(props) {\n const { user } = props;\n const results = useSelector((state) => state.posts);\n return (\n <>\n \n \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport Auth from './components/auth/Auth';\nimport { Switch, Route } from 'react-router-dom';\nimport Home from './components/Home';\nimport Profile from './components/user/Profile';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport GetSinglePost from './components/posts/GetSinglePost';\nimport Navbar from './components/navbar/Navbar';\nimport UserHomePage from './components/UserHomePage';\nimport { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';\nimport SearchResults from './components/SearchResults';\n\nconst theme = createMuiTheme({\n palette: {\n primary: {\n main: '#ef8354',\n },\n secondary: {\n main: '#f5b498',\n },\n },\n a: {\n color: '#fff',\n textDecoration: 'none',\n },\n});\n\nfunction App() {\n const [user, setUser] = useState(JSON.parse(localStorage.getItem('profile')));\n useEffect(() => {\n if (localStorage.getItem('profile')) {\n setUser(JSON.parse(localStorage.getItem('profile')));\n } else {\n setUser(null);\n }\n }, []);\n return (\n <>\n \n \n \n \n \n user ? (\n \n ) : (\n \n )\n }\n />\n }\n />\n }\n />\n (\n \n )}\n />{' '}\n (\n \n )}\n />\n (\n \n )}\n />\n \n \n \n );\n}\n\nexport default App;\n","import { combineReducers } from 'redux';\nimport auth from './auth';\nimport user from './user';\nimport posts from './posts';\nimport follow from './follow';\nimport comments from './comments';\nexport default combineReducers({\n auth,\n user,\n posts,\n follow,\n comments,\n});\n","export default (auth = { authData: null }, action) => {\n switch (action.type) {\n case 'AUTH':\n localStorage.setItem('profile', JSON.stringify(action.payload));\n return { ...auth, authData: action.payload };\n case 'LOGOUT':\n localStorage.clear();\n return { ...auth, authData: null };\n default:\n return auth;\n }\n};\n","export default (user = { userData: null }, action) => {\n switch (action.type) {\n case 'GET_SINGLE_USER':\n return { ...user, userData: action.payload };\n default:\n return user;\n }\n};\n","export default (posts = { result: [] }, action) => {\n switch (action.type) {\n case 'GET_USER_POSTS':\n return action.payload;\n case 'LIKEPOST':\n const result = posts.result.map((post) => {\n if (post._id === action.payload.result[0]._id) {\n return { ...post, ...action.payload.result[0] };\n } else {\n return post;\n }\n });\n return { ...posts, result };\n case 'CREATE_POST':\n return { ...posts, result: [...posts.result, action.payload] };\n case 'GET_ALL_POSTS':\n return action.payload;\n case 'GET_SINGLE_POST':\n return action.payload;\n case 'DELETE_POST':\n const afterDelete = posts.result.filter((post) => {\n return post._id !== action.payload;\n });\n return { result: afterDelete };\n case 'SEARCH_RESULTS':\n return action.payload;\n default:\n return posts;\n }\n};\n","export default (\n follow = { followerCount: 0, followingCount: 0, isFollowing: false },\n action\n) => {\n switch (action.type) {\n case 'GET_FOLLOWER_COUNT':\n return {\n ...follow,\n followerCount: action.payload.followerCount,\n };\n case 'GET_FOLLOWING_COUNT':\n return {\n ...follow,\n followingCount: action.payload.followingCount,\n };\n case 'ADD_FOLLOWER':\n return {\n ...follow,\n followerCount: follow.followerCount + 1,\n };\n case 'REMOVE_FOLLOWER':\n return {\n ...follow,\n followerCount: follow.followerCount - 1,\n };\n case 'FOLLOWING':\n return { ...follow, isFollowing: action.payload };\n default:\n return follow;\n }\n};\n","export default (comments = { commentsList: [] }, action) => {\n switch (action.type) {\n case 'CREATE_COMMENT':\n return {\n ...comments,\n commentsList: [...comments.commentsList, action.payload],\n };\n case 'GET_COMMENTS':\n return { ...comments, commentsList: action.payload };\n default:\n return comments;\n }\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport { Provider } from 'react-redux';\nimport { createStore, compose, applyMiddleware } from 'redux';\nimport thunk from 'redux-thunk';\nimport reducer from './_reducers/index';\nimport { BrowserRouter } from 'react-router-dom';\nconst store = createStore(reducer, compose(applyMiddleware(thunk)));\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n"],"sourceRoot":""}