(this["webpackJsonpreact-mesto-auth"]=this["webpackJsonpreact-mesto-auth"]||[]).push([[0],{29:function(e,t,n){},36:function(e,t,n){"use strict";n.r(t);var a=n(1),c=n.n(a),s=n(18),o=n.n(s),i=n(8),r=(n(29),n(22)),u=n(2),l=n.p+"static/media/logo-mesto.bbe2a6ea.svg",d=n(3),p=n(0);var h=function(e){e.type;var t=e.userEmail,n=e.handleSignOutClick,a=Object(d.h)().pathname;return Object(p.jsxs)("header",{className:"header",children:[Object(p.jsx)("img",{src:l,className:"header__logo",alt:"\u041c\u0435\u0441\u0442\u043e \u0420\u043e\u0441\u0441\u0438\u044f"}),Object(p.jsx)("div",{children:"/"===a?Object(p.jsxs)(p.Fragment,{children:[Object(p.jsx)("span",{className:"header__link",children:t}),Object(p.jsx)(i.b,{to:"/",className:"header__link header__link_color_gray",onClick:n,children:"\u0412\u044b\u0439\u0442\u0438"})]}):""})]})},b=n.p+"static/media/profile-plus.bed8c136.svg",j=c.a.createContext();var f=function(e){var t=Object(a.useContext)(j),n=e.card,c=n.owner===t.login,s="elements__delete-button link-beauty link-beauty_type_like ".concat(c?"elements__delete-button_visible":"elements__delete-button_hidden"),o=JSON.parse(n.likes).some((function(e){return e===t.login})),i="elements__like link-beauty link-beauty_type_like ".concat(o?"elements__like_liked":"");return Object(p.jsxs)("div",{className:"elements__item",children:[Object(p.jsx)("img",{className:"elements__image",src:"".concat(e.card.imageUrl),alt:e.card.name,onClick:function(){e.onCardClick(e.card)}}),Object(p.jsxs)("div",{className:"elements__footer",children:[Object(p.jsx)("h2",{className:"elements__heading",children:e.card.title}),Object(p.jsxs)("div",{className:"elements__like-container",children:[Object(p.jsx)("button",{type:"button",className:i,onClick:function(){e.onCardLike(e.card)}}),Object(p.jsx)("p",{className:"elements__likes",children:JSON.parse(e.card.likes).length})]})]}),Object(p.jsx)("button",{type:"button",className:s,onClick:function(){e.onCardDelete(e.card)}})]})};var m=function(e){var t=Object(a.useContext)(j);return Object(p.jsxs)("main",{children:[Object(p.jsxs)("section",{className:"profile",children:[Object(p.jsx)("img",{className:"profile__avatar",src:"https://avatars.yandex.net/get-yapic/".concat(t.default_avatar_id,"/islands-200"),alt:"\u0410\u0432\u0430\u0442\u0430\u0440 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f"}),Object(p.jsx)("div",{className:"profile__avatar-change-button",onClick:e.onEditAvatar}),Object(p.jsxs)("div",{className:"profile__info",children:[Object(p.jsx)("h1",{className:"profile__name",children:t.real_name}),Object(p.jsx)("button",{type:"button",className:"profile__edit-button link-beauty",onClick:e.onEditProfile}),Object(p.jsx)("p",{className:"profile__about",children:t.about})]}),Object(p.jsx)("button",{type:"button",onClick:e.onAddPlace,className:"profile__add-button link-beauty",children:Object(p.jsx)("img",{src:b,alt:"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c"})})]}),Object(p.jsx)("section",{className:"elements",children:e.cards.map((function(t){return Object(p.jsx)(f,{card:t,onCardClick:e.onCardClick,onCardLike:e.onCardLike,onCardDelete:e.onCardDelete},t._id)}))})]})};var O=function(){return Object(p.jsx)("footer",{className:"footer",children:Object(p.jsx)("span",{children:"\xa9 2021 Mesto Russia"})})};var _=function(e){return Object(p.jsx)("div",{className:"popup popup-".concat(e.name," ").concat(e.isOpen?"popup_opened":""),children:Object(p.jsxs)("div",{className:"popup__container",children:[Object(p.jsx)("button",{className:"popup__button-close link-beauty",type:"button",onClick:e.onClose}),Object(p.jsxs)("form",{className:"popup__form",onSubmit:e.onSubmit,name:e.name,children:[Object(p.jsx)("h2",{className:"popup__title",children:e.title}),e.children,Object(p.jsx)("button",{className:"popup__button-save popup__button-save_type_card",type:"submit",children:e.submitText})]})]})})};var g=function(e){return Object(p.jsx)("div",{className:"popup popup_darked popup-viewport ".concat(e.isOpen?"popup_opened":""),children:Object(p.jsxs)("div",{className:"popup__container",children:[Object(p.jsx)("button",{className:"popup__button-close link-beauty",type:"button",onClick:e.onClose}),Object(p.jsxs)("div",{className:"popup__image-view",children:[Object(p.jsx)("img",{className:"popup__image",alt:"\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u043f\u043e\u0434 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443",src:"".concat(e.card.imageUrl)}),Object(p.jsx)("p",{className:"popup__image-description",children:e.card.title})]})]})})};var x=function(e){var t=c.a.useState(""),n=Object(u.a)(t,2),s=n[0],o=n[1],i=c.a.useState(""),r=Object(u.a)(i,2),l=r[0],d=r[1],h=Object(a.useContext)(j);return c.a.useEffect((function(){o(h.name),d(h.about)}),[h]),Object(p.jsxs)(_,{name:"profile",title:"\u0412\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u043e\u0447\u043a\u0443?",isOpen:e.isOpen,onClose:e.onClose,onSubmit:function(t){t.preventDefault(),e.onUpdateUser(s,l)},submitText:e.buttonText,children:[Object(p.jsx)("input",{value:s||"",onChange:function(e){o(e.target.value)},className:"popup__input popup__input_type_name",id:"name-input",name:"name",placeholder:"\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f",minLength:"2",maxLength:"30",required:!0}),Object(p.jsx)("span",{className:"popup__input-error name-input-error"}),Object(p.jsx)("input",{value:l||"",onChange:function(e){d(e.target.value)},className:"popup__input popup__input_type_about",id:"about-input",name:"about",placeholder:"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u044f",minLength:"2",maxLength:"200",required:!0}),Object(p.jsx)("span",{className:"popup__input-error about-input-error"})]})};var v=function(e){var t=c.a.useRef();return Object(a.useEffect)((function(){e.isOpen&&(t.current.value="")}),[e.isOpen]),Object(p.jsxs)(_,{name:"avatar",title:"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0430\u0432\u0430\u0442\u0430\u0440",isOpen:e.isOpen,onClose:e.onClose,onSubmit:function(n){n.preventDefault(),e.onUpdateAvatar(t.current.value)},submitText:e.buttonText,children:[Object(p.jsx)("input",{ref:t,className:"popup__input popup__input_type_avatar",id:"avatar-link-input",type:"url",placeholder:"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443",name:"link",required:!0}),Object(p.jsx)("span",{className:"popup__input-error avatar-link-input-error"})]})};var k=function(e){var t=c.a.useState(""),n=Object(u.a)(t,2),s=n[0],o=n[1],i=c.a.useState(""),r=Object(u.a)(i,2),l=r[0],d=r[1];return Object(a.useEffect)((function(){e.isOpen&&(o(""),d(""))}),[e.isOpen]),Object(p.jsxs)(_,{name:"card",title:"\u041d\u043e\u0432\u043e\u0435 \u043c\u0435\u0441\u0442\u043e",isOpen:e.isOpen,onClose:e.onClose,onSubmit:function(t){t.preventDefault(),e.onAddCard(s,l)},submitText:e.buttonText,children:[Object(p.jsx)("input",{value:s,onChange:function(e){o(e.target.value)},className:"popup__input popup__input_type_place",id:"place-name-input",type:"text",placeholder:"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435",name:"name",minLength:"1",maxLength:"30",required:!0}),Object(p.jsx)("span",{className:"popup__input-error place-name-input-error"}),Object(p.jsx)("input",{value:l,onChange:function(e){d(e.target.value)},className:"popup__input popup__input_type_link",id:"place-link-input",type:"url",placeholder:"\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443",name:"link"}),Object(p.jsx)("span",{className:"popup__input-error place-link-input-error"})]})},y=n(20),C=n(21),N=new(function(){function e(t){var n=t.baseUrl,a=t.headers;Object(y.a)(this,e),this._baseUrl=n,this._headers=a}return Object(C.a)(e,[{key:"checkResponseIsOk",value:function(e){return e.ok?e.json():Promise.reject("\u041e\u0448\u0438\u0431\u043a\u0430: ".concat(e.status))}},{key:"getInitialCards",value:function(){return fetch("".concat(this._baseUrl,"/cards"),{headers:this._headers,credentials:"include"}).then((function(e){return e.ok?e.json():Promise.reject("\u041e\u0448\u0438\u0431\u043a\u0430: ".concat(e.status))})).then((function(e){return console.log(e),e.sort((function(e,t){return e.date.toLowerCase()t.date.toLowerCase()?-1:0}))}))}},{key:"addCard",value:function(e,t){var n=this;return fetch("".concat(this._baseUrl,"/cards"),{method:"POST",headers:this._headers,credentials:"include",body:JSON.stringify({title:e})}).then((function(e){return n.checkResponseIsOk(e)}))}},{key:"deleteCard",value:function(e){var t=this;return fetch("".concat(this._baseUrl,"/cards/").concat(e),{method:"DELETE",headers:this._headers,credentials:"include",body:JSON.stringify({a:"12"})}).then((function(e){return t.checkResponseIsOk(e)}))}},{key:"addLike",value:function(e){var t=this;return fetch("".concat(this._baseUrl,"/cards/").concat(e,"/likes"),{method:"PUT",headers:this._headers,credentials:"include",body:JSON.stringify({a:"12"})}).then((function(e){return t.checkResponseIsOk(e)}))}},{key:"removeLike",value:function(e){var t=this;return fetch("".concat(this._baseUrl,"/cards/likes/").concat(e),{method:"DELETE",headers:this._headers,credentials:"include",body:JSON.stringify({a:"12"})}).then((function(e){return t.checkResponseIsOk(e)}))}},{key:"changeLikeCardStatus",value:function(e,t){var n=this;return t?fetch("".concat(this._baseUrl,"/cards/").concat(e,"/likes"),{method:"PUT",headers:this._headers,credentials:"include",body:JSON.stringify({a:"12"})}).then((function(e){return n.checkResponseIsOk(e)})):fetch("".concat(this._baseUrl,"/cards/").concat(e,"/likes"),{method:"DELETE",headers:this._headers,credentials:"include",body:JSON.stringify({a:"12"})}).then((function(e){return n.checkResponseIsOk(e)}))}},{key:"getInfoUser",value:function(){var e=this;return fetch("".concat(this._baseUrl,"/users/me"),{headers:this._headers,credentials:"include"}).then((function(t){return e.checkResponseIsOk(t)}))}},{key:"setInfoUser",value:function(e,t){var n=this;return fetch("".concat(this._baseUrl,"/users/me"),{method:"PATCH",headers:this._headers,body:JSON.stringify({name:e,about:t}),credentials:"include"}).then((function(e){return n.checkResponseIsOk(e)}))}},{key:"updateProfileImage",value:function(e){var t=this;return fetch("".concat(this._baseUrl,"/users/me/avatar"),{method:"PATCH",headers:this._headers,credentials:"include",body:JSON.stringify({avatar:e})}).then((function(e){return t.checkResponseIsOk(e)}))}}]),e}())({baseUrl:"https://api.app-mesto.kupcov.com",headers:{"Content-Type":"application/json",Authorization:"Bearer 2023haha"}}),S="https://api.app-mesto.kupcov.com",L=n.p+"static/media/RU.69ba8e98.svg";function U(e){return Object(p.jsx)("div",{className:"form",children:Object(p.jsx)("a",{className:"form__submit",href:"https://oauth.yandex.ru/authorize?response_type=code&client_id=993f5bf56f544ddaaa7674d16497bca2&force_confirm=yes",children:Object(p.jsx)("img",{src:L,alt:"\u0412\u043e\u0439\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u042f\u043d\u0434\u0435\u043a\u0441"})})})}function T(e){var t=c.a.useState(""),n=Object(u.a)(t,2),a=n[0],s=n[1];return c.a.useEffect((function(){var e=new URLSearchParams(window.location.search);s(e.get("code"))}),[]),c.a.useEffect((function(){e.handleLogin(a)}),[a]),console.log("\u041a\u043e\u0434 \u043e\u0442 \u044f\u043d\u0434\u0435\u043a\u0441\u0430",a),Object(p.jsx)("form",{className:"form",onSubmit:function(t){t.preventDefault(),e.handleLogin(a)},children:Object(p.jsx)("h2",{className:"form__heading",children:"\u0417\u0430\u0445\u043e\u0434\u0438\u043c..."})})}var E=n(23),P=n(24),I=["component"],J=function(e){var t=e.component,n=Object(P.a)(e,I);return Object(p.jsx)(d.b,{children:n.loggedIn?Object(p.jsx)(t,Object(E.a)({},n)):Object(p.jsx)(d.a,{to:"/sign-in-ya"})})};n.p,n.p;var w=Object(d.i)((function(){var e=c.a.useState(!1),t=Object(u.a)(e,2),n=t[0],a=t[1],s=c.a.useState(!1),o=Object(u.a)(s,2),i=o[0],l=o[1],b=c.a.useState(!1),f=Object(u.a)(b,2),y=f[0],C=f[1],L=c.a.useState(!1),E=Object(u.a)(L,2),P=E[0],I=E[1],w=c.a.useState({}),R=Object(u.a)(w,2),A=R[0],D=R[1],B=c.a.useState(!1),F=Object(u.a)(B,2),q=F[0],z=F[1],H=c.a.useState({}),M=Object(u.a)(H,2),G=M[0],K=M[1],Q=c.a.useState(!1),V=Object(u.a)(Q,2),W=V[0],X=V[1],Y=c.a.useState([]),Z=Object(u.a)(Y,2),$=Z[0],ee=Z[1],te=c.a.useState(!1),ne=Object(u.a)(te,2),ae=ne[0],ce=ne[1],se=Object(d.g)();function oe(){l(!1),a(!1),C(!1),I(!1),pe(!1),D({}),z(!1)}c.a.useEffect((function(){Promise.all([N.getInfoUser(),N.getInitialCards()]).then((function(e){var t=Object(u.a)(e,2),n=t[0],a=t[1];K(n),ee(a),console.log(a),console.log(n)})).catch((function(e){return console.log(e)}))}),[W]);var ie=c.a.useState(!1),re=Object(u.a)(ie,2),ue=(re[0],re[1]),le=c.a.useState(!1),de=Object(u.a)(le,2),pe=(de[0],de[1]),he=c.a.useState(""),be=Object(u.a)(he,2),je=be[0],fe=be[1];return c.a.useEffect((function(){fetch("".concat(S,"/users/me"),{headers:{"Content-Type":"application/json",Authorization:"Bearer 2023haha"},credentials:"include"}).then((function(e){return e.ok?(console.log(e),e.json()):Promise.reject("\u041e\u0448\u0438\u0431\u043a\u0430: ".concat(e.status))})).then((function(e){console.log(e),X(!0),fe(e.login),se.push("/")})).catch((function(e){return console.log(e)}))}),[]),Object(p.jsxs)(j.Provider,{value:G,children:[Object(p.jsx)(h,{userEmail:je,handleSignOutClick:function(){fetch("".concat(S,"/logout"),{headers:{Authorization:"Bearer 2023haha","Content-Type":"application/json"},method:"POST",credentials:"include"}).then((function(e){return e.ok?(console.log(e),e.json()):Promise.reject("\u041e\u0448\u0438\u0431\u043a\u0430: ".concat(e.status))})).then((function(){se.push("/sign-in-ya"),X(!1)})).catch((function(e){return console.log(e)}))}}),Object(p.jsxs)(d.d,{children:[Object(p.jsxs)(d.b,{exact:!0,path:"/",children:[Object(p.jsx)(J,{path:"/",component:m,loggedIn:W,cards:$,onCardLike:function(e){var t=JSON.parse(e.likes).some((function(e){return e===G.login}));N.changeLikeCardStatus(e.id,!t).then((function(t){console.log(t),ee((function(n){return n.map((function(n){return n.id===e.id?t:n}))}))})).catch((function(e){return console.log(e)}))},onCardDelete:function(e){},onEditProfile:function(){a(!0)},onAddPlace:function(){C(!0)},onEditAvatar:function(){l(!0)},onCardClick:function(e){D(e),z(!0)}}),Object(p.jsx)(O,{})]}),Object(p.jsx)(d.b,{path:"/sign-in",children:Object(p.jsx)(T,{handleLogin:function(e){(function(e){return console.log(JSON.stringify({code:e})),fetch("".concat(S,"/code-to-jwt"),{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({code:e})}).then((function(e){return console.log(e),e.ok?e.json():Promise.reject("\u041e\u0448\u0438\u0431\u043a\u0430: ".concat(e.status))}))})(e).then((function(e){X(!0),se.push("/"),fe(e.login),console.log(e)})).catch((function(e){ue(!1),pe(!0),console.log(e)}))}})}),Object(p.jsx)(d.b,{path:"/sign-in-ya",children:Object(p.jsx)(U,{})})]}),Object(p.jsx)(x,{isOpen:n,onClose:oe,onUpdateUser:function(e){N.deleteCard(e.id).then((function(){ee((function(t){return t.filter((function(t){return t.id!==e.id}))}))})).catch((function(e){return console.log(e)}))},buttonText:ae?"\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435...":"\u0414\u0430"}),Object(p.jsx)(k,{isOpen:y,onClose:oe,onAddCard:function(e,t){ce(!0),N.addCard(e,t).then((function(e){console.log(e),ee([e].concat(Object(r.a)($))),oe()})).catch((function(e){return console.log(e)})).finally((function(){ce(!1)}))},buttonText:ae?"\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435...":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c"}),Object(p.jsx)(v,{isOpen:i,onClose:oe,onUpdateAvatar:function(e){ce(!0),N.updateProfileImage(e).then((function(e){K(e),oe()})).catch((function(e){return console.log(e)})).finally((function(){ce(!1)}))},buttonText:ae?"\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435...":"Lf"}),Object(p.jsx)(g,{card:A,isOpen:q,onClose:oe}),Object(p.jsx)(_,{name:"confirmation",title:"\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b?",isOpen:P,onClose:oe})]})})),R=function(e){e&&e instanceof Function&&n.e(3).then(n.bind(null,37)).then((function(t){var n=t.getCLS,a=t.getFID,c=t.getFCP,s=t.getLCP,o=t.getTTFB;n(e),a(e),c(e),s(e),o(e)}))};o.a.render(Object(p.jsx)(c.a.StrictMode,{children:Object(p.jsx)(i.a,{children:Object(p.jsx)(w,{})})}),document.getElementById("root")),R()}},[[36,1,2]]]); //# sourceMappingURL=main.1269047a.chunk.js.map