bonuspluscomponents 0.0.83 → 0.0.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -222,4 +222,4 @@ const theme2 = createTheme({ palette: {
|
|
|
222
222
|
animation: ${0} 1.4s linear infinite;
|
|
223
223
|
`),Vd)),Yd=Le("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),Wd=Le("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.circle,t[`circle${ce(r.variant)}`],r.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>N({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&gn(Go||(Go=br`
|
|
224
224
|
animation: ${0} 1.4s ease-in-out infinite;
|
|
225
|
-
`),Bd)),Hi=w.forwardRef(function(t,r){const n=St({props:t,name:"MuiCircularProgress"}),{className:o,color:i="primary",disableShrink:s=!1,size:a=40,style:c,thickness:d=3.6,value:l=0,variant:g="indeterminate"}=n,v=Pe(n,zd),x=N({},n,{color:i,disableShrink:s,size:a,thickness:d,value:l,variant:g}),b=Fd(x),u={},h={},R={};if(g==="determinate"){const A=2*Math.PI*((Qe-d)/2);u.strokeDasharray=A.toFixed(3),R["aria-valuenow"]=Math.round(l),u.strokeDashoffset=`${((100-l)/100*A).toFixed(3)}px`,h.transform="rotate(-90deg)"}return p.jsx(Ud,N({className:Ie(b.root,o),style:N({width:a,height:a},h,c),ownerState:x,ref:r,role:"progressbar"},R,v,{children:p.jsx(Yd,{className:b.svg,ownerState:x,viewBox:`${Qe/2} ${Qe/2} ${Qe} ${Qe}`,children:p.jsx(Wd,{className:b.circle,style:u,ownerState:x,cx:Qe,cy:Qe,r:(Qe-d)/2,fill:"none",strokeWidth:d})})}))});process.env.NODE_ENV!=="production"&&(Hi.propTypes={classes:y.object,className:y.string,color:y.oneOfType([y.oneOf(["inherit","primary","secondary","error","info","success","warning"]),y.string]),disableShrink:on(y.bool,e=>e.disableShrink&&e.variant&&e.variant!=="indeterminate"?new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect."):null),size:y.oneOfType([y.number,y.string]),style:y.object,sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),thickness:y.number,value:y.number,variant:y.oneOf(["determinate","indeterminate"])});const qd=Hi;function Kd(e){return st("MuiLoadingButton",e)}const Gd=_t("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),Xe=Gd,Hd=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],Xd=e=>{const{loading:t,loadingPosition:r,classes:n}=e,o={root:["root",t&&"loading"],startIcon:[t&&`startIconLoading${ce(r)}`],endIcon:[t&&`endIconLoading${ce(r)}`],loadingIndicator:["loadingIndicator",t&&`loadingIndicator${ce(r)}`]},i=kt(o,Kd,n);return N({},n,i)},Jd=e=>e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"&&e!=="classes",Zd=Le(Dd,{shouldForwardProp:e=>Jd(e)||e==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(e,t)=>[t.root,t.startIconLoadingStart&&{[`& .${Xe.startIconLoadingStart}`]:t.startIconLoadingStart},t.endIconLoadingEnd&&{[`& .${Xe.endIconLoadingEnd}`]:t.endIconLoadingEnd}]})(({ownerState:e,theme:t})=>N({[`& .${Xe.startIconLoadingStart}, & .${Xe.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},e.loadingPosition==="center"&&{transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),[`&.${Xe.loading}`]:{color:"transparent"}},e.loadingPosition==="start"&&e.fullWidth&&{[`& .${Xe.startIconLoadingStart}, & .${Xe.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}},e.loadingPosition==="end"&&e.fullWidth&&{[`& .${Xe.startIconLoadingStart}, & .${Xe.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}})),Qd=Le("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.loadingIndicator,t[`loadingIndicator${ce(r.loadingPosition)}`]]}})(({theme:e,ownerState:t})=>N({position:"absolute",visibility:"visible",display:"flex"},t.loadingPosition==="start"&&(t.variant==="outlined"||t.variant==="contained")&&{left:t.size==="small"?10:14},t.loadingPosition==="start"&&t.variant==="text"&&{left:6},t.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:(e.vars||e).palette.action.disabled},t.loadingPosition==="end"&&(t.variant==="outlined"||t.variant==="contained")&&{right:t.size==="small"?10:14},t.loadingPosition==="end"&&t.variant==="text"&&{right:6},t.loadingPosition==="start"&&t.fullWidth&&{position:"relative",left:-10},t.loadingPosition==="end"&&t.fullWidth&&{position:"relative",right:-10})),Xi=w.forwardRef(function(t,r){const n=St({props:t,name:"MuiLoadingButton"}),{children:o,disabled:i=!1,id:s,loading:a=!1,loadingIndicator:c,loadingPosition:d="center",variant:l="text"}=n,g=Pe(n,Hd),v=ii(s),x=c??p.jsx(qd,{"aria-labelledby":v,color:"inherit",size:16}),b=N({},n,{disabled:i,loading:a,loadingIndicator:x,loadingPosition:d,variant:l}),u=Xd(b),h=a?p.jsx(Qd,{className:u.loadingIndicator,ownerState:b,children:x}):null;return p.jsxs(Zd,N({disabled:i||a,id:v,ref:r},g,{variant:l,classes:u,ownerState:b,children:[b.loadingPosition==="end"?o:h,b.loadingPosition==="end"?h:o]}))});process.env.NODE_ENV!=="production"&&(Xi.propTypes={children:y.node,classes:y.object,disabled:y.bool,id:y.string,loading:y.bool,loadingIndicator:y.node,loadingPosition:on(y.oneOf(["start","end","center"]),e=>e.loadingPosition==="start"&&!e.startIcon?new Error('MUI: The loadingPosition="start" should be used in combination with startIcon.'):e.loadingPosition==="end"&&!e.endIcon?new Error('MUI: The loadingPosition="end" should be used in combination with endIcon.'):null),sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),variant:y.oneOfType([y.oneOf(["contained","outlined","text"]),y.string])});const ef=Xi,Ji=({onClick:e,isLoading:t,children:r})=>(j.useEffect(()=>{const n=o=>{(o.code==="Enter"||o.code==="NumpadEnter")&&(e==null||e(),o.preventDefault())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[e]),p.jsx(ef,{onClick:()=>e==null?void 0:e(),loading:t,variant:"contained",children:r||"Далее"}));function tf({opened:e,setOpened:t,requiredMessages:r,incorrectMessages:n}){const o=()=>{t(!1)};return p.jsx(he.Modal,{open:e,onClose:t,children:p.jsx(he.Box,{className:"validation popup__root",children:p.jsxs(he.Box,{sx:{bgcolor:"background.default"},className:"validation_popup",children:[p.jsxs("div",{className:"validation_popup__title",children:[p.jsx("div",{children:"ОПОВЕЩЕНИЕ"}),p.jsx("div",{children:p.jsx(he.IconButton,{onClick:()=>o(),children:p.jsx(An,{})})})]}),p.jsxs("div",{className:"validation_popup__body",children:[r.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(or,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Не указаны следующие обязательные поля:"}),p.jsx("ul",{children:r.map((i,s)=>p.jsx("li",{dangerouslySetInnerHTML:{__html:i}},s))})]})]})}),n.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(or,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Следующие поля заполнены с ошибкой:"}),p.jsx("ul",{children:n.map((i,s)=>p.jsx("li",{children:i},s))})]})]})})]}),p.jsx("div",{className:"validation_popup__buttons",children:p.jsx(Ji,{onClick:()=>o(),children:"Продолжить"})})]})})})}const Zi=({validationsProp:e})=>{const[t,r]=j.useState(e),n=j.useRef({incorrect:[]}),o=(u,h,R,A)=>{const{detail:E}=u;if(E&&A){const T=n.current.incorrect;if(!E.value){n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:!1});return}const m=A(E.value);m.isError?T.some(P=>P.id===h)||(n.current.incorrect=[...T,{id:h,message:m.message,label:R}]):n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:m.isError,message:m.message})}},i=u=>{const h=new CustomEvent(`${Zr}_${u.id}`,{detail:{...u}});document.dispatchEvent(h)},s=()=>({addEventListeners:()=>t==null?void 0:t.forEach(u=>document.addEventListener(`${Jr}_${u.id}`,h=>o(h,u.id,u.label,u.validator))),removeEventListeners:()=>t==null?void 0:t.forEach(u=>document.removeEventListener(`${Jr}_${u.id}`,h=>o(h,u.id,u.label,u.validator)))});j.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=s();return u(),()=>{h()}},[t]);const a=j.useRef({empties:[]}),c=()=>a.current.empties.length>0||n.current.incorrect.length>0?(d(),x(!0),!1):!0,d=()=>{const u=new CustomEvent(Hr,{detail:{ids:a.current.empties.map(h=>h.id)}});document.dispatchEvent(u)},l=u=>{var R,A,E;const h=a.current.empties;(R=u==null?void 0:u.detail)!=null&&R.empty?h.some(T=>{var m;return T.id===((m=u==null?void 0:u.detail)==null?void 0:m.id)})||(a.current.empties=[...h,{id:(A=u==null?void 0:u.detail)==null?void 0:A.id,label:u==null?void 0:u.detail.label,message:(E=u==null?void 0:u.detail)==null?void 0:E.message}]):a.current.empties=h.filter(T=>{var m;return T.id!==((m=u==null?void 0:u.detail)==null?void 0:m.id)})},g=()=>({addEventListeners:()=>document.addEventListener(Xr,l),removeEventListeners:()=>document.removeEventListener(Xr,l)}),[v,x]=j.useState(!1),b=p.jsx(tf,{incorrectMessages:n.current.incorrect.map(u=>u.label),requiredMessages:a.current.empties.map(u=>u.label),opened:v,setOpened:x});return j.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=g();return u(),()=>{h()}},[]),{validationPopup:b,formIsValid:c,setValidations:r}},tn=({id:e,requiredMessage:t,variant:r="standard",...n})=>{const[o,i]=j.useState({isError:!1}),[s,a]=j.useState(!1),c=b=>{const u=new CustomEvent(`${Jr}_${e}`,{detail:{id:e,value:b}});document.dispatchEvent(u)},d=b=>{const{detail:u}=b;u&&i(h=>({isError:u.isError,message:u.message}))};j.useEffect(()=>(document.addEventListener(`${Zr}_${e}`,d),()=>{document.removeEventListener(`${Zr}_${e}`,d)}),[]);const l=(b,u=!1)=>{if(!n.required)return;u&&a(!b);const h=new CustomEvent(Xr,{detail:{id:e,empty:!b,label:n.label??"",message:t}});document.dispatchEvent(h)};j.useEffect(()=>{setTimeout(()=>l((n==null?void 0:n.value)||""),1)},[]);const g=b=>{var u,h;a(((h=(u=b==null?void 0:b.detail)==null?void 0:u.ids)==null?void 0:h.includes(e))||!1)},v=()=>({addEventListeners:()=>document.addEventListener(Hr,g),removeEventListeners:()=>document.removeEventListener(Hr,g)});j.useEffect(()=>{const{addEventListeners:b,removeEventListeners:u}=v();return b(),()=>{u()}},[]);const x=()=>{if(o.isError)return o.message;if(s)return t||"Это поле обязательно к заполнению"};return j.useEffect(()=>{n.value&&l(n.value,!0)},[n.value]),p.jsx(he.TextField,{sx:{".MuiInputLabel-root.Mui-focused":{color:"#bbb"},".MuiInput-root:after":{borderBottomColor:"#CBD7DC"}},...n,variant:r,helperText:x(),error:o.isError||s||!1,onChange:b=>{var u;(u=n==null?void 0:n.onChange)==null||u.call(n,b),l(b.target.value,!0)},onBlur:b=>{var u;c(b.target.value),(u=n==null?void 0:n.onBlur)==null||u.call(n,b)},autoComplete:"off",fullWidth:!0})},rf=({opened:e,setOpened:t,onSuccess:r,text:n,phone:o})=>{const[i,s]=j.useState({text:n??"",title:""}),{isLoading:a,Send:c}=Mt({url:"front/ticket",method:"post",successMessage:"Обращение успешно создано",onSuccessMessageConfirm:()=>t(!1)}),{formIsValid:d,validationPopup:l}=Zi({}),g=()=>{d()&&c({...i,phone:o}).then(()=>{r==null||r()})};return p.jsx(Fi,{title:"Создание обращения",opened:e,setOpened:t,children:p.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:[l,p.jsx("div",{children:p.jsx(tn,{id:"title",label:"Заголовок",value:i.title,onChange:v=>s(x=>({...x,title:v.target.value}))})}),p.jsx("div",{children:p.jsx(tn,{multiline:!0,required:!0,id:"text",label:"Текст",value:i.text,onChange:v=>s(x=>({...x,text:v.target.value}))})}),p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:p.jsx(Ji,{isLoading:a,onClick:()=>g(),children:"Создать новое обращение"})})]})})},nf=({phone:e,pageStateData:t})=>{if(!e)throw new Error("phone number is required");const[r,n]=j.useState(!1),[o,i]=j.useState([]),[s,a]=j.useState(null),{Send:c,isLoading:d}=Mt({url:"front/externalCustomerCabinet/tickets",method:"get",initLoading:!0}),l=()=>{c({phone:e}).then(b=>i(b.tickets))},g=()=>{l(),n(!1)};j.useEffect(()=>{l()},[]),j.useEffect(()=>{(t==null?void 0:t.path)==="NewTicket"&&n(!0),(t==null?void 0:t.path)==="AdditionTicket"&&a(t.data)},[t]);const v=j.useMemo(()=>{var b;return p.jsx(rf,{phone:e,opened:r,setOpened:n,onSuccess:()=>g(),text:(b=t==null?void 0:t.data)==null?void 0:b.text})},[r,n,t,g]),x=j.useMemo(()=>p.jsx(he.Button,{variant:"contained",onClick:()=>n(!0),children:"Создать обращение"}),[]);return{appeals:o,isLoading:d,createAppealPopup:v,createAppealButton:x,additionalInfoState:s}};var Dn={},of=Ue;Object.defineProperty(Dn,"__esModule",{value:!0});var Qi=Dn.default=void 0,sf=of(Ye()),af=p,cf=(0,sf.default)((0,af.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");Qi=Dn.default=cf;const uf=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0};function lf(e,t){const r=j.useRef(t);uf(t,r.current)||(r.current=t),j.useEffect(e,[e])}const df=({messages:e,preparedMessage:t,onSendMessageClick:r,isLoading:n,addIsLoading:o,remoteColor:i,remoteBackgroundColor:s})=>{var u;const[a,c]=j.useState(t??"");(((u=document.getElementById("root"))==null?void 0:u.clientWidth)??0)-80;const{ConvertUTCDateToLocalDate:d,ParseDataTimeToRusLocale:l}=jn(),{formIsValid:g,validationPopup:v}=Zi({}),x=()=>{g()&&(r(a),c(""))},b=h=>l(d(new Date(h.creationDate)));return lf(()=>{setTimeout(()=>{let h=document.getElementById("chat__chat_area");h&&h.scrollBy({top:h.scrollHeight,behavior:"smooth"})},300)},e.map(h=>h.id)),p.jsx("div",{children:p.jsxs("div",{className:"chat",children:[v,p.jsxs("section",{id:"chat__chat_area",className:"chat__chat_area",children:[e.length===0&&p.jsx("div",{className:"chat__chat_area__not_found",children:p.jsx("div",{children:n?"Идет загрузка":"Сообщения не найдены"})}),p.jsx("div",{className:"chat__chat_area__messages",children:e.map((h,R)=>p.jsx("div",{className:Kr("chat__chat_area__messages__message",{remote:!h.isBusinessMessage}),children:p.jsx("div",{children:p.jsxs("div",{style:{backgroundColor:h.isBusinessMessage?void 0:s,opacity:h.isBusinessMessage?void 0:.8,color:h.isBusinessMessage?void 0:i},children:[p.jsx("div",{children:h.text}),p.jsx("div",{className:"chat__chat_area__messages__message__date",children:b(h)})]})})},R))})]}),p.jsx("div",{className:"chat__input",children:p.jsx(tn,{required:!0,id:"chatMessage",label:"Текст",value:a,onChange:h=>c(h.target.value),multiline:!0})}),p.jsx("div",{className:"chat__button",children:p.jsx(us.LoadingButton,{disabled:!a,loading:o,variant:"contained",endIcon:p.jsx(Qi,{}),onClick:()=>x(),children:"Отправить"})})]})})},ff=(e,t)=>{const[r,n]=j.useState(Math.random()),o=j.useRef(!0);j.useEffect(()=>{if(o.current){o.current=!1,e(),n(Math.random());return}setTimeout(()=>{e(),n(Math.random())},t)},[r])},pf=({opened:e,setOpened:t,appeal:r,onSuccess:n,preparedText:o})=>{const[i,s]=j.useState([]),{Send:a,isLoading:c}=Mt({url:"/front/tickets/customer/chatMessages",method:"post"}),{Send:d,isLoading:l}=Mt({url:"front/tickets/customerAnswer",method:"post",successMessage:"Сообщение успешно отправлено"}),g=x=>{d({chatId:r.chatId,message:x}).then(b=>{b.message.creationDate=new Date(b.message.creationDate.replace("Z","")),s(u=>[...u,b.message])})},v=()=>{a({chatId:r.chatId}).then(x=>{s(x.messages)})};return ff(()=>v(),5e3),p.jsx(Fi,{title:"Обращение",opened:e,setOpened:()=>t(!1),children:p.jsx(df,{preparedMessage:o,messages:i,isLoading:c,onSendMessageClick:x=>g(x),addIsLoading:l})})};const mf=({appeal:e,additionalInfo:t})=>{const{ParseDataToRusLocale:r}=jn(),[n,o]=j.useState(!1);return j.useEffect(()=>{t&&t.id===e.id&&o(!0)},[t]),p.jsxs("div",{children:[n&&p.jsx(pf,{preparedText:t==null?void 0:t.text,opened:n,setOpened:()=>o(!1),appeal:e}),p.jsxs("div",{className:"appeal_element",onClick:()=>o(!0),children:[p.jsxs("div",{className:"appeal_element__header",children:[p.jsx("div",{className:"appeal_element__header__left",children:p.jsxs("div",{children:[p.jsxs("div",{children:["Обращение № ",e.number]}),p.jsx("div",{children:e.title})]})}),p.jsx("div",{className:"appeal_element__header__right",children:p.jsx("div",{children:r(e.creationDate,{day:"2-digit",month:"2-digit",year:"2-digit"})})})]}),p.jsx("div",{className:"appeal_element__body",children:p.jsx(Gr,{title:`Последнее сообщение (${e.lastMessageIsBusiness?"Вам":"Вы"})`,text:e.lastMessageText})})]})]})},hf=()=>{const{phoneNumber:e}=j.useContext(at),{appeals:t,createAppealPopup:r,createAppealButton:n,additionalInfoState:o}=nf({phone:e});return p.jsxs("div",{children:[p.jsx("div",{style:{marginBottom:"1em",display:"flex",flexDirection:"column",gap:"1em"},children:t.map((i,s)=>p.jsx(mf,{additionalInfo:o,appeal:i},s))}),r,p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:n})]})},vf=()=>{var i;const[e,t]=j.useState(""),r=(s,a)=>{t(a)},{cabinetSettings:n}=j.useContext(at),o=[{icon:p.jsx(Ai,{}),value:"info",label:"Карта",page:p.jsx("div",{children:"Информация по карте"}),active:!0},{icon:p.jsx(Ii,{}),value:"receipt",label:"История",page:p.jsx(Ql,{}),active:!0},{icon:p.jsx(Mi,{}),value:"appeals",label:"Обращения",page:p.jsx(hf,{}),active:n==null?void 0:n.canShowAppeals},{icon:p.jsx(or,{}),value:"businessInfo",label:"Информация",page:p.jsx(ed,{}),active:n==null?void 0:n.canShowBusinessInfo},{icon:p.jsx(Ni,{}),value:"personInfo",label:"Клиент",page:p.jsx("div",{children:"Редактирование клиента"}),active:n==null?void 0:n.canEditPersonInfo},{icon:p.jsx(ki,{}),value:"registration",label:"Регистрация",page:p.jsx("div",{children:"Регистрация клиента"}),active:n==null?void 0:n.isReg}];return p.jsxs("div",{className:"page_view",children:[p.jsx("div",{className:"page_view__page scrollbar",children:(i=o.find(s=>s.value===e))==null?void 0:i.page}),p.jsx("div",{className:"page_view__navigation",children:p.jsx("div",{children:p.jsx(he.BottomNavigation,{sx:{paddingBottom:"2em"},value:e,onChange:r,children:o.map((s,a)=>p.jsx(he.BottomNavigationAction,{sx:{padding:"0",minWidth:"56px"},label:s.label,value:s.value,icon:s.icon},a))})})})]})},gf={popups:[]},yf=j.createContext(gf),bf=()=>{const[e,t]=j.useState([]);return{popups:e}},xf=({children:e})=>{const t=bf();return p.jsx(yf.Provider,{value:t,children:e})};exports.AppContext=at;exports.AppProvider=Vl;exports.PopupProvider=xf;exports.Router=vf;
|
|
225
|
+
`),Bd)),Hi=w.forwardRef(function(t,r){const n=St({props:t,name:"MuiCircularProgress"}),{className:o,color:i="primary",disableShrink:s=!1,size:a=40,style:c,thickness:d=3.6,value:l=0,variant:g="indeterminate"}=n,v=Pe(n,zd),x=N({},n,{color:i,disableShrink:s,size:a,thickness:d,value:l,variant:g}),b=Fd(x),u={},h={},R={};if(g==="determinate"){const A=2*Math.PI*((Qe-d)/2);u.strokeDasharray=A.toFixed(3),R["aria-valuenow"]=Math.round(l),u.strokeDashoffset=`${((100-l)/100*A).toFixed(3)}px`,h.transform="rotate(-90deg)"}return p.jsx(Ud,N({className:Ie(b.root,o),style:N({width:a,height:a},h,c),ownerState:x,ref:r,role:"progressbar"},R,v,{children:p.jsx(Yd,{className:b.svg,ownerState:x,viewBox:`${Qe/2} ${Qe/2} ${Qe} ${Qe}`,children:p.jsx(Wd,{className:b.circle,style:u,ownerState:x,cx:Qe,cy:Qe,r:(Qe-d)/2,fill:"none",strokeWidth:d})})}))});process.env.NODE_ENV!=="production"&&(Hi.propTypes={classes:y.object,className:y.string,color:y.oneOfType([y.oneOf(["inherit","primary","secondary","error","info","success","warning"]),y.string]),disableShrink:on(y.bool,e=>e.disableShrink&&e.variant&&e.variant!=="indeterminate"?new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect."):null),size:y.oneOfType([y.number,y.string]),style:y.object,sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),thickness:y.number,value:y.number,variant:y.oneOf(["determinate","indeterminate"])});const qd=Hi;function Kd(e){return st("MuiLoadingButton",e)}const Gd=_t("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),Xe=Gd,Hd=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],Xd=e=>{const{loading:t,loadingPosition:r,classes:n}=e,o={root:["root",t&&"loading"],startIcon:[t&&`startIconLoading${ce(r)}`],endIcon:[t&&`endIconLoading${ce(r)}`],loadingIndicator:["loadingIndicator",t&&`loadingIndicator${ce(r)}`]},i=kt(o,Kd,n);return N({},n,i)},Jd=e=>e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"&&e!=="classes",Zd=Le(Dd,{shouldForwardProp:e=>Jd(e)||e==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(e,t)=>[t.root,t.startIconLoadingStart&&{[`& .${Xe.startIconLoadingStart}`]:t.startIconLoadingStart},t.endIconLoadingEnd&&{[`& .${Xe.endIconLoadingEnd}`]:t.endIconLoadingEnd}]})(({ownerState:e,theme:t})=>N({[`& .${Xe.startIconLoadingStart}, & .${Xe.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},e.loadingPosition==="center"&&{transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),[`&.${Xe.loading}`]:{color:"transparent"}},e.loadingPosition==="start"&&e.fullWidth&&{[`& .${Xe.startIconLoadingStart}, & .${Xe.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}},e.loadingPosition==="end"&&e.fullWidth&&{[`& .${Xe.startIconLoadingStart}, & .${Xe.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}})),Qd=Le("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.loadingIndicator,t[`loadingIndicator${ce(r.loadingPosition)}`]]}})(({theme:e,ownerState:t})=>N({position:"absolute",visibility:"visible",display:"flex"},t.loadingPosition==="start"&&(t.variant==="outlined"||t.variant==="contained")&&{left:t.size==="small"?10:14},t.loadingPosition==="start"&&t.variant==="text"&&{left:6},t.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:(e.vars||e).palette.action.disabled},t.loadingPosition==="end"&&(t.variant==="outlined"||t.variant==="contained")&&{right:t.size==="small"?10:14},t.loadingPosition==="end"&&t.variant==="text"&&{right:6},t.loadingPosition==="start"&&t.fullWidth&&{position:"relative",left:-10},t.loadingPosition==="end"&&t.fullWidth&&{position:"relative",right:-10})),Xi=w.forwardRef(function(t,r){const n=St({props:t,name:"MuiLoadingButton"}),{children:o,disabled:i=!1,id:s,loading:a=!1,loadingIndicator:c,loadingPosition:d="center",variant:l="text"}=n,g=Pe(n,Hd),v=ii(s),x=c??p.jsx(qd,{"aria-labelledby":v,color:"inherit",size:16}),b=N({},n,{disabled:i,loading:a,loadingIndicator:x,loadingPosition:d,variant:l}),u=Xd(b),h=a?p.jsx(Qd,{className:u.loadingIndicator,ownerState:b,children:x}):null;return p.jsxs(Zd,N({disabled:i||a,id:v,ref:r},g,{variant:l,classes:u,ownerState:b,children:[b.loadingPosition==="end"?o:h,b.loadingPosition==="end"?h:o]}))});process.env.NODE_ENV!=="production"&&(Xi.propTypes={children:y.node,classes:y.object,disabled:y.bool,id:y.string,loading:y.bool,loadingIndicator:y.node,loadingPosition:on(y.oneOf(["start","end","center"]),e=>e.loadingPosition==="start"&&!e.startIcon?new Error('MUI: The loadingPosition="start" should be used in combination with startIcon.'):e.loadingPosition==="end"&&!e.endIcon?new Error('MUI: The loadingPosition="end" should be used in combination with endIcon.'):null),sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),variant:y.oneOfType([y.oneOf(["contained","outlined","text"]),y.string])});const ef=Xi,Ji=({onClick:e,isLoading:t,children:r})=>(j.useEffect(()=>{const n=o=>{(o.code==="Enter"||o.code==="NumpadEnter")&&(e==null||e(),o.preventDefault())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[e]),p.jsx(ef,{onClick:()=>e==null?void 0:e(),loading:t,variant:"contained",children:r||"Далее"}));function tf({opened:e,setOpened:t,requiredMessages:r,incorrectMessages:n}){const o=()=>{t(!1)};return p.jsx(he.Modal,{open:e,onClose:t,children:p.jsx(he.Box,{className:"validation popup__root",children:p.jsxs(he.Box,{sx:{bgcolor:"background.default"},className:"validation_popup",children:[p.jsxs("div",{className:"validation_popup__title",children:[p.jsx("div",{children:"ОПОВЕЩЕНИЕ"}),p.jsx("div",{children:p.jsx(he.IconButton,{onClick:()=>o(),children:p.jsx(An,{})})})]}),p.jsxs("div",{className:"validation_popup__body",children:[r.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(or,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Не указаны следующие обязательные поля:"}),p.jsx("ul",{children:r.map((i,s)=>p.jsx("li",{dangerouslySetInnerHTML:{__html:i}},s))})]})]})}),n.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(or,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Следующие поля заполнены с ошибкой:"}),p.jsx("ul",{children:n.map((i,s)=>p.jsx("li",{children:i},s))})]})]})})]}),p.jsx("div",{className:"validation_popup__buttons",children:p.jsx(Ji,{onClick:()=>o(),children:"Продолжить"})})]})})})}const Zi=({validationsProp:e})=>{const[t,r]=j.useState(e),n=j.useRef({incorrect:[]}),o=(u,h,R,A)=>{const{detail:E}=u;if(E&&A){const T=n.current.incorrect;if(!E.value){n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:!1});return}const m=A(E.value);m.isError?T.some(P=>P.id===h)||(n.current.incorrect=[...T,{id:h,message:m.message,label:R}]):n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:m.isError,message:m.message})}},i=u=>{const h=new CustomEvent(`${Zr}_${u.id}`,{detail:{...u}});document.dispatchEvent(h)},s=()=>({addEventListeners:()=>t==null?void 0:t.forEach(u=>document.addEventListener(`${Jr}_${u.id}`,h=>o(h,u.id,u.label,u.validator))),removeEventListeners:()=>t==null?void 0:t.forEach(u=>document.removeEventListener(`${Jr}_${u.id}`,h=>o(h,u.id,u.label,u.validator)))});j.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=s();return u(),()=>{h()}},[t]);const a=j.useRef({empties:[]}),c=()=>a.current.empties.length>0||n.current.incorrect.length>0?(d(),x(!0),!1):!0,d=()=>{const u=new CustomEvent(Hr,{detail:{ids:a.current.empties.map(h=>h.id)}});document.dispatchEvent(u)},l=u=>{var R,A,E;const h=a.current.empties;(R=u==null?void 0:u.detail)!=null&&R.empty?h.some(T=>{var m;return T.id===((m=u==null?void 0:u.detail)==null?void 0:m.id)})||(a.current.empties=[...h,{id:(A=u==null?void 0:u.detail)==null?void 0:A.id,label:u==null?void 0:u.detail.label,message:(E=u==null?void 0:u.detail)==null?void 0:E.message}]):a.current.empties=h.filter(T=>{var m;return T.id!==((m=u==null?void 0:u.detail)==null?void 0:m.id)})},g=()=>({addEventListeners:()=>document.addEventListener(Xr,l),removeEventListeners:()=>document.removeEventListener(Xr,l)}),[v,x]=j.useState(!1),b=p.jsx(tf,{incorrectMessages:n.current.incorrect.map(u=>u.label),requiredMessages:a.current.empties.map(u=>u.label),opened:v,setOpened:x});return j.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=g();return u(),()=>{h()}},[]),{validationPopup:b,formIsValid:c,setValidations:r}},tn=({id:e,requiredMessage:t,variant:r="standard",...n})=>{const[o,i]=j.useState({isError:!1}),[s,a]=j.useState(!1),c=b=>{const u=new CustomEvent(`${Jr}_${e}`,{detail:{id:e,value:b}});document.dispatchEvent(u)},d=b=>{const{detail:u}=b;u&&i(h=>({isError:u.isError,message:u.message}))};j.useEffect(()=>(document.addEventListener(`${Zr}_${e}`,d),()=>{document.removeEventListener(`${Zr}_${e}`,d)}),[]);const l=(b,u=!1)=>{if(!n.required)return;u&&a(!b);const h=new CustomEvent(Xr,{detail:{id:e,empty:!b,label:n.label??"",message:t}});document.dispatchEvent(h)};j.useEffect(()=>{setTimeout(()=>l((n==null?void 0:n.value)||""),1)},[]);const g=b=>{var u,h;a(((h=(u=b==null?void 0:b.detail)==null?void 0:u.ids)==null?void 0:h.includes(e))||!1)},v=()=>({addEventListeners:()=>document.addEventListener(Hr,g),removeEventListeners:()=>document.removeEventListener(Hr,g)});j.useEffect(()=>{const{addEventListeners:b,removeEventListeners:u}=v();return b(),()=>{u()}},[]);const x=()=>{if(o.isError)return o.message;if(s)return t||"Это поле обязательно к заполнению"};return j.useEffect(()=>{n.value&&l(n.value,!0)},[n.value]),p.jsx(he.TextField,{sx:{".MuiInputLabel-root.Mui-focused":{color:"#bbb"},".MuiInput-root:after":{borderBottomColor:"#CBD7DC"}},...n,variant:r,helperText:x(),error:o.isError||s||!1,onChange:b=>{var u;(u=n==null?void 0:n.onChange)==null||u.call(n,b),l(b.target.value,!0)},onBlur:b=>{var u;c(b.target.value),(u=n==null?void 0:n.onBlur)==null||u.call(n,b)},autoComplete:"off",fullWidth:!0})},rf=({opened:e,setOpened:t,onSuccess:r,text:n,phone:o})=>{const[i,s]=j.useState({text:n??"",title:""}),{isLoading:a,Send:c}=Mt({url:"front/ticket",method:"post",successMessage:"Обращение успешно создано",onSuccessMessageConfirm:()=>t(!1)}),{formIsValid:d,validationPopup:l}=Zi({}),g=()=>{d()&&c({...i,phone:o}).then(()=>{r==null||r()})};return p.jsx(Fi,{title:"Создание обращения",opened:e,setOpened:t,children:p.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:[l,p.jsx("div",{children:p.jsx(tn,{id:"title",label:"Заголовок",value:i.title,onChange:v=>s(x=>({...x,title:v.target.value}))})}),p.jsx("div",{children:p.jsx(tn,{multiline:!0,required:!0,id:"text",label:"Текст",value:i.text,onChange:v=>s(x=>({...x,text:v.target.value}))})}),p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:p.jsx(Ji,{isLoading:a,onClick:()=>g(),children:"Создать новое обращение"})})]})})},nf=({phone:e,pageStateData:t})=>{if(!e)throw new Error("phone number is required");const[r,n]=j.useState(!1),[o,i]=j.useState([]),[s,a]=j.useState(null),{Send:c,isLoading:d}=Mt({url:"externalCustomerCabinet/tickets",method:"get",initLoading:!0}),l=()=>{c({phone:e}).then(b=>i(b.tickets))},g=()=>{l(),n(!1)};j.useEffect(()=>{l()},[]),j.useEffect(()=>{(t==null?void 0:t.path)==="NewTicket"&&n(!0),(t==null?void 0:t.path)==="AdditionTicket"&&a(t.data)},[t]);const v=j.useMemo(()=>{var b;return p.jsx(rf,{phone:e,opened:r,setOpened:n,onSuccess:()=>g(),text:(b=t==null?void 0:t.data)==null?void 0:b.text})},[r,n,t,g]),x=j.useMemo(()=>p.jsx(he.Button,{variant:"contained",onClick:()=>n(!0),children:"Создать обращение"}),[]);return{appeals:o,isLoading:d,createAppealPopup:v,createAppealButton:x,additionalInfoState:s}};var Dn={},of=Ue;Object.defineProperty(Dn,"__esModule",{value:!0});var Qi=Dn.default=void 0,sf=of(Ye()),af=p,cf=(0,sf.default)((0,af.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");Qi=Dn.default=cf;const uf=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0};function lf(e,t){const r=j.useRef(t);uf(t,r.current)||(r.current=t),j.useEffect(e,[e])}const df=({messages:e,preparedMessage:t,onSendMessageClick:r,isLoading:n,addIsLoading:o,remoteColor:i,remoteBackgroundColor:s})=>{var u;const[a,c]=j.useState(t??"");(((u=document.getElementById("root"))==null?void 0:u.clientWidth)??0)-80;const{ConvertUTCDateToLocalDate:d,ParseDataTimeToRusLocale:l}=jn(),{formIsValid:g,validationPopup:v}=Zi({}),x=()=>{g()&&(r(a),c(""))},b=h=>l(d(new Date(h.creationDate)));return lf(()=>{setTimeout(()=>{let h=document.getElementById("chat__chat_area");h&&h.scrollBy({top:h.scrollHeight,behavior:"smooth"})},300)},e.map(h=>h.id)),p.jsx("div",{children:p.jsxs("div",{className:"chat",children:[v,p.jsxs("section",{id:"chat__chat_area",className:"chat__chat_area",children:[e.length===0&&p.jsx("div",{className:"chat__chat_area__not_found",children:p.jsx("div",{children:n?"Идет загрузка":"Сообщения не найдены"})}),p.jsx("div",{className:"chat__chat_area__messages",children:e.map((h,R)=>p.jsx("div",{className:Kr("chat__chat_area__messages__message",{remote:!h.isBusinessMessage}),children:p.jsx("div",{children:p.jsxs("div",{style:{backgroundColor:h.isBusinessMessage?void 0:s,opacity:h.isBusinessMessage?void 0:.8,color:h.isBusinessMessage?void 0:i},children:[p.jsx("div",{children:h.text}),p.jsx("div",{className:"chat__chat_area__messages__message__date",children:b(h)})]})})},R))})]}),p.jsx("div",{className:"chat__input",children:p.jsx(tn,{required:!0,id:"chatMessage",label:"Текст",value:a,onChange:h=>c(h.target.value),multiline:!0})}),p.jsx("div",{className:"chat__button",children:p.jsx(us.LoadingButton,{disabled:!a,loading:o,variant:"contained",endIcon:p.jsx(Qi,{}),onClick:()=>x(),children:"Отправить"})})]})})},ff=(e,t)=>{const[r,n]=j.useState(Math.random()),o=j.useRef(!0);j.useEffect(()=>{if(o.current){o.current=!1,e(),n(Math.random());return}setTimeout(()=>{e(),n(Math.random())},t)},[r])},pf=({opened:e,setOpened:t,appeal:r,onSuccess:n,preparedText:o})=>{const[i,s]=j.useState([]),{Send:a,isLoading:c}=Mt({url:"/front/tickets/customer/chatMessages",method:"post"}),{Send:d,isLoading:l}=Mt({url:"front/tickets/customerAnswer",method:"post",successMessage:"Сообщение успешно отправлено"}),g=x=>{d({chatId:r.chatId,message:x}).then(b=>{b.message.creationDate=new Date(b.message.creationDate.replace("Z","")),s(u=>[...u,b.message])})},v=()=>{a({chatId:r.chatId}).then(x=>{s(x.messages)})};return ff(()=>v(),5e3),p.jsx(Fi,{title:"Обращение",opened:e,setOpened:()=>t(!1),children:p.jsx(df,{preparedMessage:o,messages:i,isLoading:c,onSendMessageClick:x=>g(x),addIsLoading:l})})};const mf=({appeal:e,additionalInfo:t})=>{const{ParseDataToRusLocale:r}=jn(),[n,o]=j.useState(!1);return j.useEffect(()=>{t&&t.id===e.id&&o(!0)},[t]),p.jsxs("div",{children:[n&&p.jsx(pf,{preparedText:t==null?void 0:t.text,opened:n,setOpened:()=>o(!1),appeal:e}),p.jsxs("div",{className:"appeal_element",onClick:()=>o(!0),children:[p.jsxs("div",{className:"appeal_element__header",children:[p.jsx("div",{className:"appeal_element__header__left",children:p.jsxs("div",{children:[p.jsxs("div",{children:["Обращение № ",e.number]}),p.jsx("div",{children:e.title})]})}),p.jsx("div",{className:"appeal_element__header__right",children:p.jsx("div",{children:r(e.creationDate,{day:"2-digit",month:"2-digit",year:"2-digit"})})})]}),p.jsx("div",{className:"appeal_element__body",children:p.jsx(Gr,{title:`Последнее сообщение (${e.lastMessageIsBusiness?"Вам":"Вы"})`,text:e.lastMessageText})})]})]})},hf=()=>{const{phoneNumber:e}=j.useContext(at),{appeals:t,createAppealPopup:r,createAppealButton:n,additionalInfoState:o}=nf({phone:e});return p.jsxs("div",{children:[p.jsx("div",{style:{marginBottom:"1em",display:"flex",flexDirection:"column",gap:"1em"},children:t.map((i,s)=>p.jsx(mf,{additionalInfo:o,appeal:i},s))}),r,p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:n})]})},vf=()=>{var i;const[e,t]=j.useState(""),r=(s,a)=>{t(a)},{cabinetSettings:n}=j.useContext(at),o=[{icon:p.jsx(Ai,{}),value:"info",label:"Карта",page:p.jsx("div",{children:"Информация по карте"}),active:!0},{icon:p.jsx(Ii,{}),value:"receipt",label:"История",page:p.jsx(Ql,{}),active:!0},{icon:p.jsx(Mi,{}),value:"appeals",label:"Обращения",page:p.jsx(hf,{}),active:n==null?void 0:n.canShowAppeals},{icon:p.jsx(or,{}),value:"businessInfo",label:"Информация",page:p.jsx(ed,{}),active:n==null?void 0:n.canShowBusinessInfo},{icon:p.jsx(Ni,{}),value:"personInfo",label:"Клиент",page:p.jsx("div",{children:"Редактирование клиента"}),active:n==null?void 0:n.canEditPersonInfo},{icon:p.jsx(ki,{}),value:"registration",label:"Регистрация",page:p.jsx("div",{children:"Регистрация клиента"}),active:n==null?void 0:n.isReg}];return p.jsxs("div",{className:"page_view",children:[p.jsx("div",{className:"page_view__page scrollbar",children:(i=o.find(s=>s.value===e))==null?void 0:i.page}),p.jsx("div",{className:"page_view__navigation",children:p.jsx("div",{children:p.jsx(he.BottomNavigation,{sx:{paddingBottom:"2em"},value:e,onChange:r,children:o.map((s,a)=>p.jsx(he.BottomNavigationAction,{sx:{padding:"0",minWidth:"56px"},label:s.label,value:s.value,icon:s.icon},a))})})})]})},gf={popups:[]},yf=j.createContext(gf),bf=()=>{const[e,t]=j.useState([]);return{popups:e}},xf=({children:e})=>{const t=bf();return p.jsx(yf.Provider,{value:t,children:e})};exports.AppContext=at;exports.AppProvider=Vl;exports.PopupProvider=xf;exports.Router=vf;
|
|
@@ -7351,7 +7351,7 @@ const ls = ({ validationsProp: e }) => {
|
|
|
7351
7351
|
if (!e)
|
|
7352
7352
|
throw new Error("phone number is required");
|
|
7353
7353
|
const [r, n] = Ee(!1), [o, i] = Ee([]), [s, a] = Ee(null), { Send: c, isLoading: d } = Lt({
|
|
7354
|
-
url: "
|
|
7354
|
+
url: "externalCustomerCabinet/tickets",
|
|
7355
7355
|
method: "get",
|
|
7356
7356
|
initLoading: !0
|
|
7357
7357
|
}), l = () => {
|
|
@@ -222,4 +222,4 @@ const theme2 = createTheme({ palette: {
|
|
|
222
222
|
animation: ${0} 1.4s linear infinite;
|
|
223
223
|
`),ud)),pd=Le("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),md=Le("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.circle,t[`circle${ae(r.variant)}`],r.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>N({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&Qr(Fi||(Fi=hr`
|
|
224
224
|
animation: ${0} 1.4s ease-in-out infinite;
|
|
225
|
-
`),ld)),Ui=R.forwardRef(function(t,r){const n=_t({props:t,name:"MuiCircularProgress"}),{className:o,color:i="primary",disableShrink:s=!1,size:a=40,style:c,thickness:d=3.6,value:l=0,variant:g="indeterminate"}=n,v=je(n,cd),x=N({},n,{color:i,disableShrink:s,size:a,thickness:d,value:l,variant:g}),b=dd(x),u={},h={},$={};if(g==="determinate"){const A=2*Math.PI*((tt-d)/2);u.strokeDasharray=A.toFixed(3),$["aria-valuenow"]=Math.round(l),u.strokeDashoffset=`${((100-l)/100*A).toFixed(3)}px`,h.transform="rotate(-90deg)"}return p.jsx(fd,N({className:Ne(b.root,o),style:N({width:a,height:a},h,c),ownerState:x,ref:r,role:"progressbar"},$,v,{children:p.jsx(pd,{className:b.svg,ownerState:x,viewBox:`${tt/2} ${tt/2} ${tt} ${tt}`,children:p.jsx(md,{className:b.circle,style:u,ownerState:x,cx:tt,cy:tt,r:(tt-d)/2,fill:"none",strokeWidth:d})})}))});process.env.NODE_ENV!=="production"&&(Ui.propTypes={classes:y.object,className:y.string,color:y.oneOfType([y.oneOf(["inherit","primary","secondary","error","info","success","warning"]),y.string]),disableShrink:Or(y.bool,e=>e.disableShrink&&e.variant&&e.variant!=="indeterminate"?new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect."):null),size:y.oneOfType([y.number,y.string]),style:y.object,sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),thickness:y.number,value:y.number,variant:y.oneOf(["determinate","indeterminate"])});const hd=Ui;function vd(e){return rt("MuiLoadingButton",e)}const Ke=ft("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),gd=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],yd=e=>{const{loading:t,loadingPosition:r,classes:n}=e,o={root:["root",t&&"loading"],startIcon:[t&&`startIconLoading${ae(r)}`],endIcon:[t&&`endIconLoading${ae(r)}`],loadingIndicator:["loadingIndicator",t&&`loadingIndicator${ae(r)}`]},i=Ot(o,vd,n);return N({},n,i)},bd=e=>e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"&&e!=="classes",xd=Le(sd,{shouldForwardProp:e=>bd(e)||e==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(e,t)=>[t.root,t.startIconLoadingStart&&{[`& .${Ke.startIconLoadingStart}`]:t.startIconLoadingStart},t.endIconLoadingEnd&&{[`& .${Ke.endIconLoadingEnd}`]:t.endIconLoadingEnd}]})(({ownerState:e,theme:t})=>N({[`& .${Ke.startIconLoadingStart}, & .${Ke.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},e.loadingPosition==="center"&&{transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),[`&.${Ke.loading}`]:{color:"transparent"}},e.loadingPosition==="start"&&e.fullWidth&&{[`& .${Ke.startIconLoadingStart}, & .${Ke.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}},e.loadingPosition==="end"&&e.fullWidth&&{[`& .${Ke.startIconLoadingStart}, & .${Ke.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}})),Ed=Le("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.loadingIndicator,t[`loadingIndicator${ae(r.loadingPosition)}`]]}})(({theme:e,ownerState:t})=>N({position:"absolute",visibility:"visible",display:"flex"},t.loadingPosition==="start"&&(t.variant==="outlined"||t.variant==="contained")&&{left:t.size==="small"?10:14},t.loadingPosition==="start"&&t.variant==="text"&&{left:6},t.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:(e.vars||e).palette.action.disabled},t.loadingPosition==="end"&&(t.variant==="outlined"||t.variant==="contained")&&{right:t.size==="small"?10:14},t.loadingPosition==="end"&&t.variant==="text"&&{right:6},t.loadingPosition==="start"&&t.fullWidth&&{position:"relative",left:-10},t.loadingPosition==="end"&&t.fullWidth&&{position:"relative",right:-10})),Yi=R.forwardRef(function(t,r){const n=_t({props:t,name:"MuiLoadingButton"}),{children:o,disabled:i=!1,id:s,loading:a=!1,loadingIndicator:c,loadingPosition:d="center",variant:l="text"}=n,g=je(n,gd),v=po(s),x=c??p.jsx(hd,{"aria-labelledby":v,color:"inherit",size:16}),b=N({},n,{disabled:i,loading:a,loadingIndicator:x,loadingPosition:d,variant:l}),u=yd(b),h=a?p.jsx(Ed,{className:u.loadingIndicator,ownerState:b,children:x}):null;return p.jsxs(xd,N({disabled:i||a,id:v,ref:r},g,{variant:l,classes:u,ownerState:b,children:[b.loadingPosition==="end"?o:h,b.loadingPosition==="end"?h:o]}))});process.env.NODE_ENV!=="production"&&(Yi.propTypes={children:y.node,classes:y.object,disabled:y.bool,id:y.string,loading:y.bool,loadingIndicator:y.node,loadingPosition:Or(y.oneOf(["start","end","center"]),e=>e.loadingPosition==="start"&&!e.startIcon?new Error('MUI: The loadingPosition="start" should be used in combination with startIcon.'):e.loadingPosition==="end"&&!e.endIcon?new Error('MUI: The loadingPosition="end" should be used in combination with endIcon.'):null),sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),variant:y.oneOfType([y.oneOf(["contained","outlined","text"]),y.string])});const _d=Yi,Wi=({onClick:e,isLoading:t,children:r})=>(O.useEffect(()=>{const n=o=>{(o.code==="Enter"||o.code==="NumpadEnter")&&(e==null||e(),o.preventDefault())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[e]),p.jsx(_d,{onClick:()=>e==null?void 0:e(),loading:t,variant:"contained",children:r||"Далее"})),Rf="";function Td({opened:e,setOpened:t,requiredMessages:r,incorrectMessages:n}){const o=()=>{t(!1)};return p.jsx(me.Modal,{open:e,onClose:t,children:p.jsx(me.Box,{className:"validation popup__root",children:p.jsxs(me.Box,{sx:{bgcolor:"background.default"},className:"validation_popup",children:[p.jsxs("div",{className:"validation_popup__title",children:[p.jsx("div",{children:"ОПОВЕЩЕНИЕ"}),p.jsx("div",{children:p.jsx(me.IconButton,{onClick:()=>o(),children:p.jsx(En,{})})})]}),p.jsxs("div",{className:"validation_popup__body",children:[r.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(fr,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Не указаны следующие обязательные поля:"}),p.jsx("ul",{children:r.map((i,s)=>p.jsx("li",{dangerouslySetInnerHTML:{__html:i}},s))})]})]})}),n.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(fr,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Следующие поля заполнены с ошибкой:"}),p.jsx("ul",{children:n.map((i,s)=>p.jsx("li",{children:i},s))})]})]})})]}),p.jsx("div",{className:"validation_popup__buttons",children:p.jsx(Wi,{onClick:()=>o(),children:"Продолжить"})})]})})})}const qi=({validationsProp:e})=>{const[t,r]=O.useState(e),n=O.useRef({incorrect:[]}),o=(u,h,$,A)=>{const{detail:E}=u;if(E&&A){const T=n.current.incorrect;if(!E.value){n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:!1});return}const m=A(E.value);m.isError?T.some(P=>P.id===h)||(n.current.incorrect=[...T,{id:h,message:m.message,label:$}]):n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:m.isError,message:m.message})}},i=u=>{const h=new CustomEvent(`${Cn}_${u.id}`,{detail:{...u}});document.dispatchEvent(h)},s=()=>({addEventListeners:()=>t==null?void 0:t.forEach(u=>document.addEventListener(`${Sn}_${u.id}`,h=>o(h,u.id,u.label,u.validator))),removeEventListeners:()=>t==null?void 0:t.forEach(u=>document.removeEventListener(`${Sn}_${u.id}`,h=>o(h,u.id,u.label,u.validator)))});O.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=s();return u(),()=>{h()}},[t]);const a=O.useRef({empties:[]}),c=()=>a.current.empties.length>0||n.current.incorrect.length>0?(d(),x(!0),!1):!0,d=()=>{const u=new CustomEvent(_n,{detail:{ids:a.current.empties.map(h=>h.id)}});document.dispatchEvent(u)},l=u=>{var $,A,E;const h=a.current.empties;($=u==null?void 0:u.detail)!=null&&$.empty?h.some(T=>{var m;return T.id===((m=u==null?void 0:u.detail)==null?void 0:m.id)})||(a.current.empties=[...h,{id:(A=u==null?void 0:u.detail)==null?void 0:A.id,label:u==null?void 0:u.detail.label,message:(E=u==null?void 0:u.detail)==null?void 0:E.message}]):a.current.empties=h.filter(T=>{var m;return T.id!==((m=u==null?void 0:u.detail)==null?void 0:m.id)})},g=()=>({addEventListeners:()=>document.addEventListener(Tn,l),removeEventListeners:()=>document.removeEventListener(Tn,l)}),[v,x]=O.useState(!1),b=p.jsx(Td,{incorrectMessages:n.current.incorrect.map(u=>u.label),requiredMessages:a.current.empties.map(u=>u.label),opened:v,setOpened:x});return O.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=g();return u(),()=>{h()}},[]),{validationPopup:b,formIsValid:c,setValidations:r}},jn=({id:e,requiredMessage:t,variant:r="standard",...n})=>{const[o,i]=O.useState({isError:!1}),[s,a]=O.useState(!1),c=b=>{const u=new CustomEvent(`${Sn}_${e}`,{detail:{id:e,value:b}});document.dispatchEvent(u)},d=b=>{const{detail:u}=b;u&&i(h=>({isError:u.isError,message:u.message}))};O.useEffect(()=>(document.addEventListener(`${Cn}_${e}`,d),()=>{document.removeEventListener(`${Cn}_${e}`,d)}),[]);const l=(b,u=!1)=>{if(!n.required)return;u&&a(!b);const h=new CustomEvent(Tn,{detail:{id:e,empty:!b,label:n.label??"",message:t}});document.dispatchEvent(h)};O.useEffect(()=>{setTimeout(()=>l((n==null?void 0:n.value)||""),1)},[]);const g=b=>{var u,h;a(((h=(u=b==null?void 0:b.detail)==null?void 0:u.ids)==null?void 0:h.includes(e))||!1)},v=()=>({addEventListeners:()=>document.addEventListener(_n,g),removeEventListeners:()=>document.removeEventListener(_n,g)});O.useEffect(()=>{const{addEventListeners:b,removeEventListeners:u}=v();return b(),()=>{u()}},[]);const x=()=>{if(o.isError)return o.message;if(s)return t||"Это поле обязательно к заполнению"};return O.useEffect(()=>{n.value&&l(n.value,!0)},[n.value]),p.jsx(me.TextField,{sx:{".MuiInputLabel-root.Mui-focused":{color:"#bbb"},".MuiInput-root:after":{borderBottomColor:"#CBD7DC"}},...n,variant:r,helperText:x(),error:o.isError||s||!1,onChange:b=>{var u;(u=n==null?void 0:n.onChange)==null||u.call(n,b),l(b.target.value,!0)},onBlur:b=>{var u;c(b.target.value),(u=n==null?void 0:n.onBlur)==null||u.call(n,b)},autoComplete:"off",fullWidth:!0})},Sd=({opened:e,setOpened:t,onSuccess:r,text:n,phone:o})=>{const[i,s]=O.useState({text:n??"",title:""}),{isLoading:a,Send:c}=Ft({url:"front/ticket",method:"post",successMessage:"Обращение успешно создано",onSuccessMessageConfirm:()=>t(!1)}),{formIsValid:d,validationPopup:l}=qi({}),g=()=>{d()&&c({...i,phone:o}).then(()=>{r==null||r()})};return p.jsx(Oi,{title:"Создание обращения",opened:e,setOpened:t,children:p.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:[l,p.jsx("div",{children:p.jsx(jn,{id:"title",label:"Заголовок",value:i.title,onChange:v=>s(x=>({...x,title:v.target.value}))})}),p.jsx("div",{children:p.jsx(jn,{multiline:!0,required:!0,id:"text",label:"Текст",value:i.text,onChange:v=>s(x=>({...x,text:v.target.value}))})}),p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:p.jsx(Wi,{isLoading:a,onClick:()=>g(),children:"Создать новое обращение"})})]})})},Cd=({phone:e,pageStateData:t})=>{if(!e)throw new Error("phone number is required");const[r,n]=O.useState(!1),[o,i]=O.useState([]),[s,a]=O.useState(null),{Send:c,isLoading:d}=Ft({url:"front/externalCustomerCabinet/tickets",method:"get",initLoading:!0}),l=()=>{c({phone:e}).then(b=>i(b.tickets))},g=()=>{l(),n(!1)};O.useEffect(()=>{l()},[]),O.useEffect(()=>{(t==null?void 0:t.path)==="NewTicket"&&n(!0),(t==null?void 0:t.path)==="AdditionTicket"&&a(t.data)},[t]);const v=O.useMemo(()=>{var b;return p.jsx(Sd,{phone:e,opened:r,setOpened:n,onSuccess:()=>g(),text:(b=t==null?void 0:t.data)==null?void 0:b.text})},[r,n,t,g]),x=O.useMemo(()=>p.jsx(me.Button,{variant:"contained",onClick:()=>n(!0),children:"Создать обращение"}),[]);return{appeals:o,isLoading:d,createAppealPopup:v,createAppealButton:x,additionalInfoState:s}};var Pn={},$d=Be;Object.defineProperty(Pn,"__esModule",{value:!0});var Gi=Pn.default=void 0,Od=$d(We()),wd=p,Rd=(0,Od.default)((0,wd.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");Gi=Pn.default=Rd;const jd=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0};function Pd(e,t){const r=O.useRef(t);jd(t,r.current)||(r.current=t),O.useEffect(e,[e])}const jf="",Id=({messages:e,preparedMessage:t,onSendMessageClick:r,isLoading:n,addIsLoading:o,remoteColor:i,remoteBackgroundColor:s})=>{var u;const[a,c]=O.useState(t??"");(((u=document.getElementById("root"))==null?void 0:u.clientWidth)??0)-80;const{ConvertUTCDateToLocalDate:d,ParseDataTimeToRusLocale:l}=hn(),{formIsValid:g,validationPopup:v}=qi({}),x=()=>{g()&&(r(a),c(""))},b=h=>l(d(new Date(h.creationDate)));return Pd(()=>{setTimeout(()=>{let h=document.getElementById("chat__chat_area");h&&h.scrollBy({top:h.scrollHeight,behavior:"smooth"})},300)},e.map(h=>h.id)),p.jsx("div",{children:p.jsxs("div",{className:"chat",children:[v,p.jsxs("section",{id:"chat__chat_area",className:"chat__chat_area",children:[e.length===0&&p.jsx("div",{className:"chat__chat_area__not_found",children:p.jsx("div",{children:n?"Идет загрузка":"Сообщения не найдены"})}),p.jsx("div",{className:"chat__chat_area__messages",children:e.map((h,$)=>p.jsx("div",{className:vn("chat__chat_area__messages__message",{remote:!h.isBusinessMessage}),children:p.jsx("div",{children:p.jsxs("div",{style:{backgroundColor:h.isBusinessMessage?void 0:s,opacity:h.isBusinessMessage?void 0:.8,color:h.isBusinessMessage?void 0:i},children:[p.jsx("div",{children:h.text}),p.jsx("div",{className:"chat__chat_area__messages__message__date",children:b(h)})]})})},$))})]}),p.jsx("div",{className:"chat__input",children:p.jsx(jn,{required:!0,id:"chatMessage",label:"Текст",value:a,onChange:h=>c(h.target.value),multiline:!0})}),p.jsx("div",{className:"chat__button",children:p.jsx(rs.LoadingButton,{disabled:!a,loading:o,variant:"contained",endIcon:p.jsx(Gi,{}),onClick:()=>x(),children:"Отправить"})})]})})},Nd=(e,t)=>{const[r,n]=O.useState(Math.random()),o=O.useRef(!0);O.useEffect(()=>{if(o.current){o.current=!1,e(),n(Math.random());return}setTimeout(()=>{e(),n(Math.random())},t)},[r])},Ad=({opened:e,setOpened:t,appeal:r,onSuccess:n,preparedText:o})=>{const[i,s]=O.useState([]),{Send:a,isLoading:c}=Ft({url:"/front/tickets/customer/chatMessages",method:"post"}),{Send:d,isLoading:l}=Ft({url:"front/tickets/customerAnswer",method:"post",successMessage:"Сообщение успешно отправлено"}),g=x=>{d({chatId:r.chatId,message:x}).then(b=>{b.message.creationDate=new Date(b.message.creationDate.replace("Z","")),s(u=>[...u,b.message])})},v=()=>{a({chatId:r.chatId}).then(x=>{s(x.messages)})};return Nd(()=>v(),5e3),p.jsx(Oi,{title:"Обращение",opened:e,setOpened:()=>t(!1),children:p.jsx(Id,{preparedMessage:o,messages:i,isLoading:c,onSendMessageClick:x=>g(x),addIsLoading:l})})},Pf="",Md=({appeal:e,additionalInfo:t})=>{const{ParseDataToRusLocale:r}=hn(),[n,o]=O.useState(!1);return O.useEffect(()=>{t&&t.id===e.id&&o(!0)},[t]),p.jsxs("div",{children:[n&&p.jsx(Ad,{preparedText:t==null?void 0:t.text,opened:n,setOpened:()=>o(!1),appeal:e}),p.jsxs("div",{className:"appeal_element",onClick:()=>o(!0),children:[p.jsxs("div",{className:"appeal_element__header",children:[p.jsx("div",{className:"appeal_element__header__left",children:p.jsxs("div",{children:[p.jsxs("div",{children:["Обращение № ",e.number]}),p.jsx("div",{children:e.title})]})}),p.jsx("div",{className:"appeal_element__header__right",children:p.jsx("div",{children:r(e.creationDate,{day:"2-digit",month:"2-digit",year:"2-digit"})})})]}),p.jsx("div",{className:"appeal_element__body",children:p.jsx(bn,{title:`Последнее сообщение (${e.lastMessageIsBusiness?"Вам":"Вы"})`,text:e.lastMessageText})})]})]})},kd=()=>{const{phoneNumber:e}=O.useContext(ot),{appeals:t,createAppealPopup:r,createAppealButton:n,additionalInfoState:o}=Cd({phone:e});return p.jsxs("div",{children:[p.jsx("div",{style:{marginBottom:"1em",display:"flex",flexDirection:"column",gap:"1em"},children:t.map((i,s)=>p.jsx(Md,{additionalInfo:o,appeal:i},s))}),r,p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:n})]})},Dd=()=>{var i;const[e,t]=O.useState(""),r=(s,a)=>{t(a)},{cabinetSettings:n}=O.useContext(ot),o=[{icon:p.jsx(bi,{}),value:"info",label:"Карта",page:p.jsx("div",{children:"Информация по карте"}),active:!0},{icon:p.jsx(gi,{}),value:"receipt",label:"История",page:p.jsx(Cl,{}),active:!0},{icon:p.jsx(xi,{}),value:"appeals",label:"Обращения",page:p.jsx(kd,{}),active:n==null?void 0:n.canShowAppeals},{icon:p.jsx(fr,{}),value:"businessInfo",label:"Информация",page:p.jsx($l,{}),active:n==null?void 0:n.canShowBusinessInfo},{icon:p.jsx(yi,{}),value:"personInfo",label:"Клиент",page:p.jsx("div",{children:"Редактирование клиента"}),active:n==null?void 0:n.canEditPersonInfo},{icon:p.jsx(Ei,{}),value:"registration",label:"Регистрация",page:p.jsx("div",{children:"Регистрация клиента"}),active:n==null?void 0:n.isReg}];return p.jsxs("div",{className:"page_view",children:[p.jsx("div",{className:"page_view__page scrollbar",children:(i=o.find(s=>s.value===e))==null?void 0:i.page}),p.jsx("div",{className:"page_view__navigation",children:p.jsx("div",{children:p.jsx(me.BottomNavigation,{sx:{paddingBottom:"2em"},value:e,onChange:r,children:o.map((s,a)=>p.jsx(me.BottomNavigationAction,{sx:{padding:"0",minWidth:"56px"},label:s.label,value:s.value,icon:s.icon},a))})})})]})},Ld={popups:[]},zd=O.createContext(Ld),Vd=()=>{const[e,t]=O.useState([]);return{popups:e}},Bd=({children:e})=>{const t=Vd();return p.jsx(zd.Provider,{value:t,children:e})};Ie.AppContext=ot,Ie.AppProvider=fl,Ie.PopupProvider=Bd,Ie.Router=Dd,Object.defineProperty(Ie,Symbol.toStringTag,{value:"Module"})});
|
|
225
|
+
`),ld)),Ui=R.forwardRef(function(t,r){const n=_t({props:t,name:"MuiCircularProgress"}),{className:o,color:i="primary",disableShrink:s=!1,size:a=40,style:c,thickness:d=3.6,value:l=0,variant:g="indeterminate"}=n,v=je(n,cd),x=N({},n,{color:i,disableShrink:s,size:a,thickness:d,value:l,variant:g}),b=dd(x),u={},h={},$={};if(g==="determinate"){const A=2*Math.PI*((tt-d)/2);u.strokeDasharray=A.toFixed(3),$["aria-valuenow"]=Math.round(l),u.strokeDashoffset=`${((100-l)/100*A).toFixed(3)}px`,h.transform="rotate(-90deg)"}return p.jsx(fd,N({className:Ne(b.root,o),style:N({width:a,height:a},h,c),ownerState:x,ref:r,role:"progressbar"},$,v,{children:p.jsx(pd,{className:b.svg,ownerState:x,viewBox:`${tt/2} ${tt/2} ${tt} ${tt}`,children:p.jsx(md,{className:b.circle,style:u,ownerState:x,cx:tt,cy:tt,r:(tt-d)/2,fill:"none",strokeWidth:d})})}))});process.env.NODE_ENV!=="production"&&(Ui.propTypes={classes:y.object,className:y.string,color:y.oneOfType([y.oneOf(["inherit","primary","secondary","error","info","success","warning"]),y.string]),disableShrink:Or(y.bool,e=>e.disableShrink&&e.variant&&e.variant!=="indeterminate"?new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect."):null),size:y.oneOfType([y.number,y.string]),style:y.object,sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),thickness:y.number,value:y.number,variant:y.oneOf(["determinate","indeterminate"])});const hd=Ui;function vd(e){return rt("MuiLoadingButton",e)}const Ke=ft("MuiLoadingButton",["root","loading","loadingIndicator","loadingIndicatorCenter","loadingIndicatorStart","loadingIndicatorEnd","endIconLoadingEnd","startIconLoadingStart"]),gd=["children","disabled","id","loading","loadingIndicator","loadingPosition","variant"],yd=e=>{const{loading:t,loadingPosition:r,classes:n}=e,o={root:["root",t&&"loading"],startIcon:[t&&`startIconLoading${ae(r)}`],endIcon:[t&&`endIconLoading${ae(r)}`],loadingIndicator:["loadingIndicator",t&&`loadingIndicator${ae(r)}`]},i=Ot(o,vd,n);return N({},n,i)},bd=e=>e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"&&e!=="classes",xd=Le(sd,{shouldForwardProp:e=>bd(e)||e==="classes",name:"MuiLoadingButton",slot:"Root",overridesResolver:(e,t)=>[t.root,t.startIconLoadingStart&&{[`& .${Ke.startIconLoadingStart}`]:t.startIconLoadingStart},t.endIconLoadingEnd&&{[`& .${Ke.endIconLoadingEnd}`]:t.endIconLoadingEnd}]})(({ownerState:e,theme:t})=>N({[`& .${Ke.startIconLoadingStart}, & .${Ke.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0}},e.loadingPosition==="center"&&{transition:t.transitions.create(["background-color","box-shadow","border-color"],{duration:t.transitions.duration.short}),[`&.${Ke.loading}`]:{color:"transparent"}},e.loadingPosition==="start"&&e.fullWidth&&{[`& .${Ke.startIconLoadingStart}, & .${Ke.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginRight:-8}},e.loadingPosition==="end"&&e.fullWidth&&{[`& .${Ke.startIconLoadingStart}, & .${Ke.endIconLoadingEnd}`]:{transition:t.transitions.create(["opacity"],{duration:t.transitions.duration.short}),opacity:0,marginLeft:-8}})),Ed=Le("div",{name:"MuiLoadingButton",slot:"LoadingIndicator",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.loadingIndicator,t[`loadingIndicator${ae(r.loadingPosition)}`]]}})(({theme:e,ownerState:t})=>N({position:"absolute",visibility:"visible",display:"flex"},t.loadingPosition==="start"&&(t.variant==="outlined"||t.variant==="contained")&&{left:t.size==="small"?10:14},t.loadingPosition==="start"&&t.variant==="text"&&{left:6},t.loadingPosition==="center"&&{left:"50%",transform:"translate(-50%)",color:(e.vars||e).palette.action.disabled},t.loadingPosition==="end"&&(t.variant==="outlined"||t.variant==="contained")&&{right:t.size==="small"?10:14},t.loadingPosition==="end"&&t.variant==="text"&&{right:6},t.loadingPosition==="start"&&t.fullWidth&&{position:"relative",left:-10},t.loadingPosition==="end"&&t.fullWidth&&{position:"relative",right:-10})),Yi=R.forwardRef(function(t,r){const n=_t({props:t,name:"MuiLoadingButton"}),{children:o,disabled:i=!1,id:s,loading:a=!1,loadingIndicator:c,loadingPosition:d="center",variant:l="text"}=n,g=je(n,gd),v=po(s),x=c??p.jsx(hd,{"aria-labelledby":v,color:"inherit",size:16}),b=N({},n,{disabled:i,loading:a,loadingIndicator:x,loadingPosition:d,variant:l}),u=yd(b),h=a?p.jsx(Ed,{className:u.loadingIndicator,ownerState:b,children:x}):null;return p.jsxs(xd,N({disabled:i||a,id:v,ref:r},g,{variant:l,classes:u,ownerState:b,children:[b.loadingPosition==="end"?o:h,b.loadingPosition==="end"?h:o]}))});process.env.NODE_ENV!=="production"&&(Yi.propTypes={children:y.node,classes:y.object,disabled:y.bool,id:y.string,loading:y.bool,loadingIndicator:y.node,loadingPosition:Or(y.oneOf(["start","end","center"]),e=>e.loadingPosition==="start"&&!e.startIcon?new Error('MUI: The loadingPosition="start" should be used in combination with startIcon.'):e.loadingPosition==="end"&&!e.endIcon?new Error('MUI: The loadingPosition="end" should be used in combination with endIcon.'):null),sx:y.oneOfType([y.arrayOf(y.oneOfType([y.func,y.object,y.bool])),y.func,y.object]),variant:y.oneOfType([y.oneOf(["contained","outlined","text"]),y.string])});const _d=Yi,Wi=({onClick:e,isLoading:t,children:r})=>(O.useEffect(()=>{const n=o=>{(o.code==="Enter"||o.code==="NumpadEnter")&&(e==null||e(),o.preventDefault())};return document.addEventListener("keydown",n),()=>{document.removeEventListener("keydown",n)}},[e]),p.jsx(_d,{onClick:()=>e==null?void 0:e(),loading:t,variant:"contained",children:r||"Далее"})),Rf="";function Td({opened:e,setOpened:t,requiredMessages:r,incorrectMessages:n}){const o=()=>{t(!1)};return p.jsx(me.Modal,{open:e,onClose:t,children:p.jsx(me.Box,{className:"validation popup__root",children:p.jsxs(me.Box,{sx:{bgcolor:"background.default"},className:"validation_popup",children:[p.jsxs("div",{className:"validation_popup__title",children:[p.jsx("div",{children:"ОПОВЕЩЕНИЕ"}),p.jsx("div",{children:p.jsx(me.IconButton,{onClick:()=>o(),children:p.jsx(En,{})})})]}),p.jsxs("div",{className:"validation_popup__body",children:[r.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(fr,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Не указаны следующие обязательные поля:"}),p.jsx("ul",{children:r.map((i,s)=>p.jsx("li",{dangerouslySetInnerHTML:{__html:i}},s))})]})]})}),n.length>0&&p.jsx("div",{children:p.jsxs("div",{children:[p.jsx("div",{className:"validation_popup__body__warning",children:p.jsx(fr,{color:"error",fontSize:"inherit"})}),p.jsxs("div",{children:[p.jsx("div",{children:"Следующие поля заполнены с ошибкой:"}),p.jsx("ul",{children:n.map((i,s)=>p.jsx("li",{children:i},s))})]})]})})]}),p.jsx("div",{className:"validation_popup__buttons",children:p.jsx(Wi,{onClick:()=>o(),children:"Продолжить"})})]})})})}const qi=({validationsProp:e})=>{const[t,r]=O.useState(e),n=O.useRef({incorrect:[]}),o=(u,h,$,A)=>{const{detail:E}=u;if(E&&A){const T=n.current.incorrect;if(!E.value){n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:!1});return}const m=A(E.value);m.isError?T.some(P=>P.id===h)||(n.current.incorrect=[...T,{id:h,message:m.message,label:$}]):n.current.incorrect=T.filter(P=>P.id!==h),i({id:E.id,isError:m.isError,message:m.message})}},i=u=>{const h=new CustomEvent(`${Cn}_${u.id}`,{detail:{...u}});document.dispatchEvent(h)},s=()=>({addEventListeners:()=>t==null?void 0:t.forEach(u=>document.addEventListener(`${Sn}_${u.id}`,h=>o(h,u.id,u.label,u.validator))),removeEventListeners:()=>t==null?void 0:t.forEach(u=>document.removeEventListener(`${Sn}_${u.id}`,h=>o(h,u.id,u.label,u.validator)))});O.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=s();return u(),()=>{h()}},[t]);const a=O.useRef({empties:[]}),c=()=>a.current.empties.length>0||n.current.incorrect.length>0?(d(),x(!0),!1):!0,d=()=>{const u=new CustomEvent(_n,{detail:{ids:a.current.empties.map(h=>h.id)}});document.dispatchEvent(u)},l=u=>{var $,A,E;const h=a.current.empties;($=u==null?void 0:u.detail)!=null&&$.empty?h.some(T=>{var m;return T.id===((m=u==null?void 0:u.detail)==null?void 0:m.id)})||(a.current.empties=[...h,{id:(A=u==null?void 0:u.detail)==null?void 0:A.id,label:u==null?void 0:u.detail.label,message:(E=u==null?void 0:u.detail)==null?void 0:E.message}]):a.current.empties=h.filter(T=>{var m;return T.id!==((m=u==null?void 0:u.detail)==null?void 0:m.id)})},g=()=>({addEventListeners:()=>document.addEventListener(Tn,l),removeEventListeners:()=>document.removeEventListener(Tn,l)}),[v,x]=O.useState(!1),b=p.jsx(Td,{incorrectMessages:n.current.incorrect.map(u=>u.label),requiredMessages:a.current.empties.map(u=>u.label),opened:v,setOpened:x});return O.useEffect(()=>{const{addEventListeners:u,removeEventListeners:h}=g();return u(),()=>{h()}},[]),{validationPopup:b,formIsValid:c,setValidations:r}},jn=({id:e,requiredMessage:t,variant:r="standard",...n})=>{const[o,i]=O.useState({isError:!1}),[s,a]=O.useState(!1),c=b=>{const u=new CustomEvent(`${Sn}_${e}`,{detail:{id:e,value:b}});document.dispatchEvent(u)},d=b=>{const{detail:u}=b;u&&i(h=>({isError:u.isError,message:u.message}))};O.useEffect(()=>(document.addEventListener(`${Cn}_${e}`,d),()=>{document.removeEventListener(`${Cn}_${e}`,d)}),[]);const l=(b,u=!1)=>{if(!n.required)return;u&&a(!b);const h=new CustomEvent(Tn,{detail:{id:e,empty:!b,label:n.label??"",message:t}});document.dispatchEvent(h)};O.useEffect(()=>{setTimeout(()=>l((n==null?void 0:n.value)||""),1)},[]);const g=b=>{var u,h;a(((h=(u=b==null?void 0:b.detail)==null?void 0:u.ids)==null?void 0:h.includes(e))||!1)},v=()=>({addEventListeners:()=>document.addEventListener(_n,g),removeEventListeners:()=>document.removeEventListener(_n,g)});O.useEffect(()=>{const{addEventListeners:b,removeEventListeners:u}=v();return b(),()=>{u()}},[]);const x=()=>{if(o.isError)return o.message;if(s)return t||"Это поле обязательно к заполнению"};return O.useEffect(()=>{n.value&&l(n.value,!0)},[n.value]),p.jsx(me.TextField,{sx:{".MuiInputLabel-root.Mui-focused":{color:"#bbb"},".MuiInput-root:after":{borderBottomColor:"#CBD7DC"}},...n,variant:r,helperText:x(),error:o.isError||s||!1,onChange:b=>{var u;(u=n==null?void 0:n.onChange)==null||u.call(n,b),l(b.target.value,!0)},onBlur:b=>{var u;c(b.target.value),(u=n==null?void 0:n.onBlur)==null||u.call(n,b)},autoComplete:"off",fullWidth:!0})},Sd=({opened:e,setOpened:t,onSuccess:r,text:n,phone:o})=>{const[i,s]=O.useState({text:n??"",title:""}),{isLoading:a,Send:c}=Ft({url:"front/ticket",method:"post",successMessage:"Обращение успешно создано",onSuccessMessageConfirm:()=>t(!1)}),{formIsValid:d,validationPopup:l}=qi({}),g=()=>{d()&&c({...i,phone:o}).then(()=>{r==null||r()})};return p.jsx(Oi,{title:"Создание обращения",opened:e,setOpened:t,children:p.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1em"},children:[l,p.jsx("div",{children:p.jsx(jn,{id:"title",label:"Заголовок",value:i.title,onChange:v=>s(x=>({...x,title:v.target.value}))})}),p.jsx("div",{children:p.jsx(jn,{multiline:!0,required:!0,id:"text",label:"Текст",value:i.text,onChange:v=>s(x=>({...x,text:v.target.value}))})}),p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:p.jsx(Wi,{isLoading:a,onClick:()=>g(),children:"Создать новое обращение"})})]})})},Cd=({phone:e,pageStateData:t})=>{if(!e)throw new Error("phone number is required");const[r,n]=O.useState(!1),[o,i]=O.useState([]),[s,a]=O.useState(null),{Send:c,isLoading:d}=Ft({url:"externalCustomerCabinet/tickets",method:"get",initLoading:!0}),l=()=>{c({phone:e}).then(b=>i(b.tickets))},g=()=>{l(),n(!1)};O.useEffect(()=>{l()},[]),O.useEffect(()=>{(t==null?void 0:t.path)==="NewTicket"&&n(!0),(t==null?void 0:t.path)==="AdditionTicket"&&a(t.data)},[t]);const v=O.useMemo(()=>{var b;return p.jsx(Sd,{phone:e,opened:r,setOpened:n,onSuccess:()=>g(),text:(b=t==null?void 0:t.data)==null?void 0:b.text})},[r,n,t,g]),x=O.useMemo(()=>p.jsx(me.Button,{variant:"contained",onClick:()=>n(!0),children:"Создать обращение"}),[]);return{appeals:o,isLoading:d,createAppealPopup:v,createAppealButton:x,additionalInfoState:s}};var Pn={},$d=Be;Object.defineProperty(Pn,"__esModule",{value:!0});var Gi=Pn.default=void 0,Od=$d(We()),wd=p,Rd=(0,Od.default)((0,wd.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");Gi=Pn.default=Rd;const jd=(e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0};function Pd(e,t){const r=O.useRef(t);jd(t,r.current)||(r.current=t),O.useEffect(e,[e])}const jf="",Id=({messages:e,preparedMessage:t,onSendMessageClick:r,isLoading:n,addIsLoading:o,remoteColor:i,remoteBackgroundColor:s})=>{var u;const[a,c]=O.useState(t??"");(((u=document.getElementById("root"))==null?void 0:u.clientWidth)??0)-80;const{ConvertUTCDateToLocalDate:d,ParseDataTimeToRusLocale:l}=hn(),{formIsValid:g,validationPopup:v}=qi({}),x=()=>{g()&&(r(a),c(""))},b=h=>l(d(new Date(h.creationDate)));return Pd(()=>{setTimeout(()=>{let h=document.getElementById("chat__chat_area");h&&h.scrollBy({top:h.scrollHeight,behavior:"smooth"})},300)},e.map(h=>h.id)),p.jsx("div",{children:p.jsxs("div",{className:"chat",children:[v,p.jsxs("section",{id:"chat__chat_area",className:"chat__chat_area",children:[e.length===0&&p.jsx("div",{className:"chat__chat_area__not_found",children:p.jsx("div",{children:n?"Идет загрузка":"Сообщения не найдены"})}),p.jsx("div",{className:"chat__chat_area__messages",children:e.map((h,$)=>p.jsx("div",{className:vn("chat__chat_area__messages__message",{remote:!h.isBusinessMessage}),children:p.jsx("div",{children:p.jsxs("div",{style:{backgroundColor:h.isBusinessMessage?void 0:s,opacity:h.isBusinessMessage?void 0:.8,color:h.isBusinessMessage?void 0:i},children:[p.jsx("div",{children:h.text}),p.jsx("div",{className:"chat__chat_area__messages__message__date",children:b(h)})]})})},$))})]}),p.jsx("div",{className:"chat__input",children:p.jsx(jn,{required:!0,id:"chatMessage",label:"Текст",value:a,onChange:h=>c(h.target.value),multiline:!0})}),p.jsx("div",{className:"chat__button",children:p.jsx(rs.LoadingButton,{disabled:!a,loading:o,variant:"contained",endIcon:p.jsx(Gi,{}),onClick:()=>x(),children:"Отправить"})})]})})},Nd=(e,t)=>{const[r,n]=O.useState(Math.random()),o=O.useRef(!0);O.useEffect(()=>{if(o.current){o.current=!1,e(),n(Math.random());return}setTimeout(()=>{e(),n(Math.random())},t)},[r])},Ad=({opened:e,setOpened:t,appeal:r,onSuccess:n,preparedText:o})=>{const[i,s]=O.useState([]),{Send:a,isLoading:c}=Ft({url:"/front/tickets/customer/chatMessages",method:"post"}),{Send:d,isLoading:l}=Ft({url:"front/tickets/customerAnswer",method:"post",successMessage:"Сообщение успешно отправлено"}),g=x=>{d({chatId:r.chatId,message:x}).then(b=>{b.message.creationDate=new Date(b.message.creationDate.replace("Z","")),s(u=>[...u,b.message])})},v=()=>{a({chatId:r.chatId}).then(x=>{s(x.messages)})};return Nd(()=>v(),5e3),p.jsx(Oi,{title:"Обращение",opened:e,setOpened:()=>t(!1),children:p.jsx(Id,{preparedMessage:o,messages:i,isLoading:c,onSendMessageClick:x=>g(x),addIsLoading:l})})},Pf="",Md=({appeal:e,additionalInfo:t})=>{const{ParseDataToRusLocale:r}=hn(),[n,o]=O.useState(!1);return O.useEffect(()=>{t&&t.id===e.id&&o(!0)},[t]),p.jsxs("div",{children:[n&&p.jsx(Ad,{preparedText:t==null?void 0:t.text,opened:n,setOpened:()=>o(!1),appeal:e}),p.jsxs("div",{className:"appeal_element",onClick:()=>o(!0),children:[p.jsxs("div",{className:"appeal_element__header",children:[p.jsx("div",{className:"appeal_element__header__left",children:p.jsxs("div",{children:[p.jsxs("div",{children:["Обращение № ",e.number]}),p.jsx("div",{children:e.title})]})}),p.jsx("div",{className:"appeal_element__header__right",children:p.jsx("div",{children:r(e.creationDate,{day:"2-digit",month:"2-digit",year:"2-digit"})})})]}),p.jsx("div",{className:"appeal_element__body",children:p.jsx(bn,{title:`Последнее сообщение (${e.lastMessageIsBusiness?"Вам":"Вы"})`,text:e.lastMessageText})})]})]})},kd=()=>{const{phoneNumber:e}=O.useContext(ot),{appeals:t,createAppealPopup:r,createAppealButton:n,additionalInfoState:o}=Cd({phone:e});return p.jsxs("div",{children:[p.jsx("div",{style:{marginBottom:"1em",display:"flex",flexDirection:"column",gap:"1em"},children:t.map((i,s)=>p.jsx(Md,{additionalInfo:o,appeal:i},s))}),r,p.jsx("div",{style:{display:"flex",justifyContent:"center"},children:n})]})},Dd=()=>{var i;const[e,t]=O.useState(""),r=(s,a)=>{t(a)},{cabinetSettings:n}=O.useContext(ot),o=[{icon:p.jsx(bi,{}),value:"info",label:"Карта",page:p.jsx("div",{children:"Информация по карте"}),active:!0},{icon:p.jsx(gi,{}),value:"receipt",label:"История",page:p.jsx(Cl,{}),active:!0},{icon:p.jsx(xi,{}),value:"appeals",label:"Обращения",page:p.jsx(kd,{}),active:n==null?void 0:n.canShowAppeals},{icon:p.jsx(fr,{}),value:"businessInfo",label:"Информация",page:p.jsx($l,{}),active:n==null?void 0:n.canShowBusinessInfo},{icon:p.jsx(yi,{}),value:"personInfo",label:"Клиент",page:p.jsx("div",{children:"Редактирование клиента"}),active:n==null?void 0:n.canEditPersonInfo},{icon:p.jsx(Ei,{}),value:"registration",label:"Регистрация",page:p.jsx("div",{children:"Регистрация клиента"}),active:n==null?void 0:n.isReg}];return p.jsxs("div",{className:"page_view",children:[p.jsx("div",{className:"page_view__page scrollbar",children:(i=o.find(s=>s.value===e))==null?void 0:i.page}),p.jsx("div",{className:"page_view__navigation",children:p.jsx("div",{children:p.jsx(me.BottomNavigation,{sx:{paddingBottom:"2em"},value:e,onChange:r,children:o.map((s,a)=>p.jsx(me.BottomNavigationAction,{sx:{padding:"0",minWidth:"56px"},label:s.label,value:s.value,icon:s.icon},a))})})})]})},Ld={popups:[]},zd=O.createContext(Ld),Vd=()=>{const[e,t]=O.useState([]);return{popups:e}},Bd=({children:e})=>{const t=Vd();return p.jsx(zd.Provider,{value:t,children:e})};Ie.AppContext=ot,Ie.AppProvider=fl,Ie.PopupProvider=Bd,Ie.Router=Dd,Object.defineProperty(Ie,Symbol.toStringTag,{value:"Module"})});
|