{"version":3,"file":"static/js/412.2d7d774c.chunk.js","mappings":"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","sources":["components/Reservations/Reservation.tsx","components/form-components/Button/Button.tsx"],"sourcesContent":["import React from 'react';\r\nimport Moment from 'moment';\r\nimport MomentTimeZone from 'moment-timezone';\r\nimport { useState } from 'react';\r\nimport { defineMessages, FormattedDate, FormattedMessage, FormattedTime } from 'react-intl';\r\nimport Confirmation from '../Confirmation/Confirmation';\r\nimport { IPaidTransactionResponse, IReservationDetails, IReservationRequest, ReservationStateType } from 'src/entities/reservation';\r\nimport SecondaryButton from '../form-components/SecondaryButton/SecondaryButton';\r\nimport Popup from '../Popup/Popup';\r\nimport globalMessages from 'src/services/globalMessages';\r\nimport { LocationDescriptor } from 'history';\r\nimport { Link } from 'react-router-dom';\r\nimport { useContext } from 'react';\r\nimport { ReadonlyInfo } from '../ReadonlyInfo/ReadonlyInfo';\r\nimport { TextSkeleton } from '../Placeholder/Placeholder';\r\nimport { ButtonSkeleton } from '../form-components/Button/Button';\r\nimport { getPaidTransaction } from 'src/services/api/reservation';\r\nimport makeCancelable from 'src/services/cancelablePromise';\r\nimport FormattedPrice from '../BookingFlow/modules/ServiceSelect/FormattedPrice/FormattedPrice';\r\nimport { calculateGrossPriceWithPersonCount } from 'src/entities/service';\r\nimport { AppContext, IAppProvidedState } from 'src/contexts/AppContext';\r\n\r\nconst messages = defineMessages({\r\n details: {\r\n id: 'details',\r\n defaultMessage: 'Részletek'\r\n },\r\n pastReservation: {\r\n id: 'pastReservation',\r\n defaultMessage: 'Elmúlt foglalás'\r\n },\r\n cannotModify: {\r\n id: 'cannotModify',\r\n defaultMessage: 'Nem módosítható'\r\n },\r\n selectAnotherAppointment: {\r\n id: 'selectAnotherAppointment',\r\n defaultMessage: 'Másik időpontot keresek'\r\n },\r\n notConfirmedYet: {\r\n id: 'notConfirmedYet',\r\n defaultMessage: 'Visszaigazolásra vár'\r\n },\r\n info: {\r\n id: 'info',\r\n defaultMessage: 'Info'\r\n },\r\n modifyReservation: {\r\n id: 'modifyReservation',\r\n defaultMessage: 'Foglalás módosítás'\r\n }\r\n})\r\n\r\nexport interface IReservationProps {\r\n reservation: IReservationDetails;\r\n canModify: boolean;\r\n displayModifyText?: boolean;\r\n displayReadMore: boolean;\r\n withNote?: true;\r\n onEdit?: () => void;\r\n onDelete?: () => void;\r\n tryAgain?: LocationDescriptor;\r\n clientKey?: string;\r\n needsPayment?: boolean;\r\n isReservationEnd?: boolean;\r\n}\r\n\r\nconst Reservation: React.FunctionComponent =\r\n (\r\n { reservation: {\r\n Id,\r\n EventState,\r\n Calendar,\r\n Service,\r\n StartTime,\r\n EndTime,\r\n DurationToUser,\r\n PersonCount,\r\n Questions,\r\n Title,\r\n CalendarName,\r\n IsDurationVisible\r\n },\r\n canModify,\r\n withNote,\r\n displayModifyText = true,\r\n displayReadMore,\r\n tryAgain = null,\r\n clientKey,\r\n needsPayment,\r\n isReservationEnd,\r\n onEdit = () => null,\r\n onDelete = () => null }) => {\r\n\r\n const { company } = useContext(AppContext);\r\n\r\n const [isWarningVisible, setIsWarningVisible] = useState(false);\r\n const [isReadonlyInfoVisible, setIsReadonlyInfoVisible] = useState(false);\r\n const [hasPaidTransaction, setHasPaidTransaction] = useState(false);\r\n\r\n const fetchPaidTransaction = () => {\r\n\r\n const request: IReservationRequest = {\r\n Id,\r\n ClientKey: clientKey\r\n };\r\n\r\n const transactionSubscription = makeCancelable(getPaidTransaction(request));\r\n transactionSubscription.promise\r\n .then((data) => {\r\n if (data) {\r\n setHasPaidTransaction(data.HasPaidTransaction);\r\n }\r\n })\r\n .then(() => setIsWarningVisible(true));\r\n return () => transactionSubscription.cancel();\r\n }\r\n\r\n const Actions = () => {\r\n if (tryAgain) {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n const start = MomentTimeZone(StartTime);\r\n start.tz(company?.TimeZone);\r\n const now = MomentTimeZone(new Date());\r\n now.tz(company?.TimeZone);\r\n\r\n if (start.isBefore(now)) {\r\n return \r\n }\r\n\r\n if (!canModify) {\r\n return displayModifyText ?\r\n
\r\n {EventState === ReservationStateType.NotConfirmed &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n
\r\n setIsReadonlyInfoVisible(true)} />\r\n setIsReadonlyInfoVisible(false)} >\r\n \r\n \r\n
\r\n : null\r\n }\r\n\r\n if (EventState === ReservationStateType.NotConfirmed) {\r\n return (\r\n
\r\n
\r\n isReservationEnd ? setIsWarningVisible(true) : fetchPaidTransaction()} />\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n isReservationEnd ? setIsWarningVisible(true) : fetchPaidTransaction()} />\r\n \r\n
\r\n )\r\n }\r\n\r\n const endTime = Service?.IsDurationVisible || IsDurationVisible \r\n ? (\r\n DurationToUser \r\n ? Moment(StartTime).add(DurationToUser, 'minutes').toDate()\r\n : StartTime !== EndTime && EndTime || null)\r\n : '';\r\n \r\n return (\r\n
\r\n
\r\n {StartTime && PersonCount &&\r\n

\r\n \r\n {endTime && <>–}\r\n \r\n {', '}\r\n \r\n {msg}\r\n }}\r\n {...globalMessages.nPersons} />\r\n \r\n \r\n

\r\n }\r\n {(Service || Title) &&

{Service && Service.Name || Title}

}\r\n {(Calendar || CalendarName) &&

{Calendar && Calendar.Name || CalendarName}

}\r\n {Questions && displayReadMore && }\r\n {withNote &&

{Service?.Note}

}\r\n
\r\n {needsPayment &&\r\n
\r\n \r\n
\r\n }\r\n \r\n setIsWarningVisible(false)} >\r\n \r\n \r\n
)\r\n }\r\n\r\nexport const ReservationSkeleton: React.FC<{ withButtons?: boolean }> = ({ withButtons }) =>\r\n
\r\n
\r\n
\r\n \r\n \r\n <>–\r\n {', '}\r\n {msg}\r\n }}\r\n {...globalMessages.nPersons} />\r\n \r\n
\r\n
{'Skeleton service name'}
\r\n
{'Skeleton calendar name'}
\r\n
\r\n {withButtons\r\n ?
\r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n\r\nexport default Reservation;","import React from 'react';\r\nimport { MessageDescriptor, FormattedMessage } from 'react-intl';\r\nimport { Bone } from 'src/components/Placeholder/Placeholder';\r\nimport classNames from 'classnames';\r\n\r\nexport interface IButtonProps extends Omit, 'onClick'> {\r\n caption: MessageDescriptor | React.ReactText;\r\n onClick: () => void;\r\n dangerous?: boolean;\r\n}\r\n\r\nexport const ButtonSkeleton: React.FC<{ caption?: MessageDescriptor, className?: string }> = ({ caption, className }) =>\r\n \r\n \r\n "],"names":["messages","details","id","defaultMessage","pastReservation","cannotModify","selectAnotherAppointment","notConfirmedYet","info","modifyReservation","ReservationSkeleton","withButtons","className","role","value","year","month","day","hour","minute","values","n","span","msg","nPersons","caption","delete","modify","reservation","Id","EventState","Calendar","Service","StartTime","EndTime","DurationToUser","PersonCount","Questions","Title","CalendarName","IsDurationVisible","canModify","withNote","displayModifyText","displayReadMore","tryAgain","clientKey","needsPayment","isReservationEnd","onEdit","onDelete","company","useContext","useState","isWarningVisible","setIsWarningVisible","isReadonlyInfoVisible","setIsReadonlyInfoVisible","hasPaidTransaction","setHasPaidTransaction","fetchPaidTransaction","request","ClientKey","transactionSubscription","promise","then","data","HasPaidTransaction","cancel","endTime","add","toDate","dateTime","Name","Note","Price","Currency","PaymentMethod","VatPercentage","currency","Link","to","start","tz","TimeZone","now","Date","isBefore","NotConfirmed","dangerous","onClick","title","visible","closePopup","phoneNumber","PhoneNumber","isModify","description","confirmDelete","affirmativeCaption","affirmativeAction","warning","paidTransactionWarning","ButtonSkeleton"],"sourceRoot":""}