{"version":3,"file":"chunks/ClinicPage.chunk.1b01b8e1a86fc5fecbf9.js","mappings":"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","sources":["webpack://BeautyBecomes/./common/react/components/Core/ItemEditor/ItemEditorWrapper.tsx","webpack://BeautyBecomes/./ClientApp/components/Pages/Clinic/ClinicPage.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport { WithDeleted } from '@common/typescript/objects/WithDeleted';\r\nimport { ItemProviderContext, useItemProviderContext } from '@common/react/components/Core/ItemProvider/ItemProvider';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport { handleUrl } from '@common/react/utils/FIltersParamsFromUrl/FiltersParamsFromUrl';\r\n\r\nexport interface ItemEditorWrapperProps {\r\n\t/**\r\n\t * function providing ItemProvider context and two callbacks\r\n\t * @param context - ItemProviderContext\r\n\t * @param handlerBack - callback for 'Back' button\r\n\t * @param afterSubmit - after submit callBack\r\n\t */\r\n\trender: (context: ItemProviderContext, handlerBack: () => void, afterSubmit: (T) => void) => React.ReactNode;\r\n\t/**\r\n\t * default back path for handleBack\r\n\t */\r\n\tbackPath: string;\r\n\t/**\r\n\t * how handle page in url. By default false\r\n\t * `pathname/${page}` or `${pathname}?page=${page}`\r\n\t */\r\n\tpageInSearch?: boolean;\r\n\t/**\r\n\t * custom afterSubmit\r\n\t * @param item - item saved item\r\n\t * @param setItem - setItem from ItemProvider context\r\n\t * @param history - history from react-router-dom\r\n\t * @param pageInSearch - same as ItemEditorWrapper pageInSearch props\r\n\t */\r\n\tafterSubmit?: (item: T, setItem: React.Dispatch>, history, pageInSearch?: boolean) => void;\r\n\t/**\r\n\t * custom handlerBack\r\n\t * @param history - history from react-router-dom\r\n\t * @param backPath - same as ItemEditorWrapper backPath props\r\n\t */\r\n\thandlerBack?: (history, backPath: string) => void;\r\n\t/**\r\n\t * div wrapper class name, by default \"container\"\r\n\t */\r\n\tclassName?: string;\r\n}\r\n\r\nconst defaultHandleBack = (history, backPath: string) => {\r\n\tconst { location } = history;\r\n\tif (location.state?.prevPath) {\r\n\t\thistory.push(location.state.prevPath);\r\n\t} else {\r\n\t\thistory.push(backPath);\r\n\t}\r\n};\r\n\r\nconst defaultAfterSubmit = (item, setItem, history, pageInSearch) => {\r\n\tsetItem({ ...item });\r\n\tconst { location } = history;\r\n\tif (pageInSearch) {\r\n\t\tconst filters = {\r\n\t\t\tpage: pageInSearch ? item.id : undefined,\r\n\t\t};\r\n\r\n\t\thandleUrl(filters, location, history, item.id, '', pageInSearch);\r\n\t} else {\r\n\t\thistory.replace({\r\n\t\t\t...location,\r\n\t\t\tpathname: location.pathname.replace('/-1', `/${item.id}`),\r\n\t\t});\r\n\t}\r\n};\r\n\r\n/**\r\n * ItemEditorWrapper component.\r\n *\r\n * usage examples:\r\n * - React.ReactNode} />\r\n *\r\n * @typeParam T - T Any {WithDeleted}\r\n * @param props - ItemEditorWrapperProps\r\n * @type {React.FC}\r\n * @returns React.ReactElement\r\n */\r\nexport const ItemEditorWrapper: (p: ItemEditorWrapperProps) => React.ReactElement = ({\r\n\trender,\r\n\tbackPath,\r\n\tpageInSearch = false,\r\n\thandlerBack: handleBackProps = defaultHandleBack,\r\n\tafterSubmit: afterSubmitProps = defaultAfterSubmit,\r\n\tclassName = 'container',\r\n}) => {\r\n\tconst context = useItemProviderContext();\r\n\r\n\tif (!context.state) throw 'Need ItemProvider context!';\r\n\r\n\tconst {\r\n\t\tactions: { setItem },\r\n\t\tstate: { item, itemLoading },\r\n\t} = context;\r\n\r\n\tconst history = useHistory<{prevPath?: string}>();\r\n\r\n\tconst handlerBack = React.useMemo(() => {\r\n\t\treturn () => {\r\n\t\t\thandleBackProps(history, backPath);\r\n\t\t};\r\n\t}, [history, backPath]);\r\n\r\n\tconst afterSubmit = React.useMemo(() => {\r\n\t\treturn (item: T) => {\r\n\t\t\tafterSubmitProps(item, setItem, history, pageInSearch);\r\n\t\t};\r\n\t}, [setItem, history, pageInSearch]);\r\n\r\n\treturn !item || itemLoading\r\n\t\t? \r\n\t\t:
{render(context, handlerBack, afterSubmit)}
;\r\n};\r\n","import * as React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useLocation, useParams } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport Slider from 'react-slick-adaptive-height-fixed';\r\n\r\nimport 'slick-carousel/slick/slick.css';\r\n\r\nimport { ItemProvider, useItemProviderContext } from '@common/react/components/Core/ItemProvider/ItemProvider';\r\nimport { imageSize } from '@common/react/utils/utils';\r\nimport { Lang } from '@common/typescript/objects/Lang';\r\nimport { ItemEditorWrapper } from '@common/react/components/Core/ItemEditor/ItemEditorWrapper';\r\n\r\nimport ServerPageProvider from '@app/components/UI/SeverPageProviderWithLang/ServerpageProviderWithLang';\r\nimport '@app/scss/pages/doctorPage.scss';\r\nimport '@app/scss/pages/clinic.scss';\r\nimport { Location } from '@app/objects/Location';\r\nimport { SimpleBreadCrumbs } from '@app/components/UI/SimpleBreadcrumbs/SimpleBreadcrumbs';\r\nimport ShareLinks from '@app/components/UI/ShareLinks/ShareLinks';\r\nimport DoctorCard from '@app/components/Pages/Home/DoctorCard';\r\nimport { reviewsSliderSettings, sliderSettings } from '@app/components/Utils';\r\nimport ContactUsForm from '@app/components/Forms/ContactUs/ContactUsForm';\r\nimport '@app/scss/components/slick-theme.scss';\r\nimport { Review } from '@app/objects/Review';\r\nimport Reviews from '@app/components/UI/Reviews/Reviews';\r\nimport { OfficeInfoBlock } from '@app/components/Pages/Home/OfficeInfoBlock';\r\nimport Rate from '@app/components/UI/Rate/Rate';\r\nimport { ApplicationState } from '@app/store';\r\n\r\ninterface DoctorInnerProps {\r\n\tload: () => Promise;\r\n}\r\n\r\ninterface LocationWithReviews extends Location {\r\n\treviews: Array;\r\n}\r\n\r\nconst onClick = (id) => {\r\n\tdocument.getElementById(id)\r\n\t\t?.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n};\r\n\r\nconst ClinicInner: React.FC = ({ load }) => {\r\n\tconst context = useItemProviderContext();\r\n\tconst location = useLocation();\r\n\r\n\tconst [skipLoad, setSkipLoad] = React.useState(true);\r\n\tconst lang = useSelector((state: ApplicationState) => state.login.lang);\r\n\r\n\tif (!context.state) throw 'Need ItemProvider context!';\r\n\r\n\tconst { state: { item } } = context;\r\n\r\n\tconst { i18n, t } = useTranslation();\r\n\tconst isEnglish = i18n.language === 'en';\r\n\r\n\tconst name = isEnglish ? item.nameEn : item.nameEs;\r\n\r\n\tconst avatars = [item.siteAvatar, ...item.files.map((q) => q.file.src)];\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst newPath = lang === Lang.Es ? `/es/clinic/${item?.pathEs}` : `/clinic/${item?.pathEn}`;\r\n\t\tif (!skipLoad && newPath !== location.pathname) {\r\n\t\t\tload();\r\n\t\t}\r\n\t\tsetSkipLoad(false);\r\n\t}, [location.pathname]);\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{avatars.length > 0 &&
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{avatars.map((avatar) =>
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\"Clinic\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
}\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{name}\r\n\t\t\t\t\t\t\t
onClick('reviews')} className=\"pull-right\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.averageReviewRate.toLocaleString('en', { maximumFractionDigits: 2 })}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.totalReviewCount}\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\treviews\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{item.doctors?.length > 0 ?
\r\n\t\t\t\t\t{item.doctors?.map((item) => )}\r\n\t\t\t\t
: null}\r\n\t\t\t\t{item.doctors?.length > 0 ?
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{item.doctors.map((item) => )}\r\n\t\t\t\t\t\r\n\t\t\t\t
: null}\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

{t('site.Schedule an Appointment Now')}

\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nconst ClinicPageComponent: React.FC = () => {\r\n\tconst { path } = useParams<{ path }>();\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbackPath=\"/\"\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default ClinicPageComponent;\r\n"],"names":["defaultHandleBack","history","backPath","_location$state","location","state","prevPath","push","defaultAfterSubmit","item","setItem","pageInSearch","_objectSpread","filters","page","id","undefined","handleUrl","replace","pathname","concat","ItemEditorWrapper","_ref","render","_ref$pageInSearch","_ref$handlerBack","handlerBack","handleBackProps","_ref$afterSubmit","afterSubmit","afterSubmitProps","_ref$className","className","context","useItemProviderContext","actions","_context$state","itemLoading","useHistory","React","Loader","ClinicInner","_item$doctors","_item$doctors2","_item$doctors3","load","useLocation","_React$useState2","_slicedToArray","skipLoad","setSkipLoad","lang","useSelector","login","_useTranslation","useTranslation","i18n","t","isEnglish","language","name","nameEn","nameEs","avatars","siteAvatar","_toConsumableArray","files","map","q","file","src","newPath","Lang","pathEs","pathEn","SimpleBreadCrumbs","title","links","ShareLinks","length","Slider","_extends","sliderSettings","dots","avatar","key","imageSize","alt","onClick","_document$getElementB","document","getElementById","scrollIntoView","behavior","block","averageReviewRate","toLocaleString","maximumFractionDigits","Rate","hideEmpty","value","totalReviewCount","dangerouslySetInnerHTML","__html","textEn","textEs","OfficeInfoBlock","titleAsH2","showWorkingHours","office","style","marginTop","doctors","DoctorCard","doctor","reviewsSliderSettings","Reviews","reviews","ContactUsForm","locationId","path","useParams","ServerPageProvider","inner","serverPage","_ref2","_serverPage$item","ItemProvider","type","readonly","additionalParams","published","withProfessions","loadRequest","skipInitLoad"],"sourceRoot":""}