(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8697],{74498:e=>{e.exports={section:"CompanyReviews_section__jsSLr",sortWrapper:"CompanyReviews_sortWrapper__nHMN_",activeSortOption:"CompanyReviews_activeSortOption__OYSoq",sortIcon:"CompanyReviews_sortIcon__0fwy3"}},78697:(e,t,a)=>{"use strict";a.r(t),a.d(t,{CompanyReviews:()=>h});var l=a(95155),s=a(12115),n=a(84685),o=a(66216),r=a(37940),i=a(74518),c=a(37862),u=a(6814),p=a(4779),v=a(26180),y=a(56755);let d=[{value:"newest",label:"Сначала новые"},{value:"oldest",label:"Сначала старые"},{value:"high-rating",label:"С высокой оценкой"},{value:"low-rating",label:"С низкой оценкой"}];var m=a(74498),w=a.n(m);let g=e=>{switch(e){case"oldest":return u.DD.dateAsc;case"high-rating":return u.DD.ratingDesc;case"low-rating":return u.DD.ratingAsc;default:return u.DD.dateDesc}},h=({organization:e,organizationType:t,reviews:a})=>{let[u,m]=(0,s.useState)(a.content),[h,_]=(0,s.useState)(a.total),[C,b]=(0,s.useState)("newest"),[S,x]=(0,s.useState)(!1),[f,j]=(0,s.useState)(!1),[D,k]=(0,s.useState)(!1),N=a.size||4,R=u.length<h,z=d.find(e=>e.value===C)?.label||d[0].label,A="oldest"===C||"low-rating"===C,I=(0,s.useMemo)(()=>g(C),[C]),M=(0,s.useCallback)(async({from:a,append:l})=>{let s=await (0,i.FC)({url:e.url,type:t,from:a,size:N,sort:I});_(s.total),m(e=>l?[...e,...s.content]:s.content)},[t,e.url,N,I]),O=(0,s.useCallback)(async()=>{if(!f&&!D&&R){j(!0);try{await M({from:u.length,append:!0})}finally{j(!1)}}},[M,R,f,D,u.length]),E=(0,s.useCallback)(async a=>{if(D||a.value===C)return void x(!1);(0,p._)({eventCategory:y.mu,eventActionType:p.y.select,eventActionText:(0,v.y)(a.label)}),b(a.value),k(!0);let l=g(a.value);try{let a=await (0,i.FC)({url:e.url,type:t,from:0,size:N,sort:l});_(a.total),m(a.content)}finally{k(!1)}x(!1)},[D,t,e.url,N,b,x,C]);return(0,l.jsxs)("section",{className:w().section,children:[(0,l.jsx)(o.m,{children:(0,l.jsx)("div",{className:w().sortWrapper,children:(0,l.jsxs)(r.ms,{opened:S,placement:"bottom-end",onToggle:x,children:[(0,l.jsxs)(r.uu,{onClick:()=>x(!0),className:w().activeSortOption,children:[A?(0,l.jsx)(n.EBK,{className:w().sortIcon}):(0,l.jsx)(n.yZ$,{className:w().sortIcon}),z]}),(0,l.jsx)(r.pm,{children:d.map(e=>(0,l.jsx)(r.n5,{label:e.label,onClick:()=>E(e)},e.value))})]})})}),(0,l.jsx)(c.S,{reviews:u,onShowMore:R?O:void 0,loadingMore:f,eventCategory:"companyDetail",organization:e})]})}}}]);