| Current Path : /home/users/unlimited/www/ondemand.codeskitter.site/build/static/js/ |
| Current File : /home/users/unlimited/www/ondemand.codeskitter.site/build/static/js/373.bd1a8d6b.chunk.js.map |
{"version":3,"file":"static/js/373.bd1a8d6b.chunk.js","mappings":"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","sources":["Components/LightBox/ParticularServicesLightBox.jsx","Components/Reusable/Sections/ProviderService.jsx","Components/Reusable/Sections/ProviderDetailedCard.jsx","Components/Reusable/Sections/ProviderDetails.jsx","Components/Dialogs/ShareDialog.tsx","Components/Reusable/Sections/Rating.jsx","Components/Reusable/Sections/ProviderCard.jsx","Components/Reusable/Sections/Promocodes.jsx","Images/No_Image Found_99.svg","Components/LightBox/AboutUsLightbox.jsx","Components/Reusable/Sections/AboutUs.jsx","Components/Reusable/Sections/ProviderServices.jsx","Components/LightBox/UrlTypeComponent.jsx","Components/LightBox/CustomVideoModal.jsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport Modal from \"react-modal\";\nimport CustomVideoModal from \"./CustomVideoModal\";\nimport { UrlType, getUrlType, placeholderImage } from \"../../util/Helper\";\nimport CustomLightBox from \"./CustomLightBox\";\n\nModal.setAppElement(\"#root\"); // Important for accessibility\n\nconst ParticularServicesLightBox = ({ urls, setLightBoxState }) => {\n const [isLightboxOpen, setIsLightboxOpen] = useState(false);\n const [lightboxIndex, setLightboxIndex] = useState(0);\n const [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n const [videoUrl, setVideoUrl] = useState(\"\");\n\n const handleClick = (url, type, index) => {\n try {\n if (type === UrlType.IMAGE) {\n setLightboxIndex(index);\n setIsLightboxOpen(true);\n setLightBoxState(true);\n } else if (type === UrlType.VIDEO) {\n setVideoUrl(url);\n setIsVideoModalOpen(true);\n setLightBoxState(true);\n }\n } catch (error) {\n setLightBoxState(false);\n console.error(\"Error handling click:\", error);\n }\n };\n\n const renderUrls = () => {\n try {\n return urls.map((url, index) => {\n const type = getUrlType(url);\n return (\n <div\n key={index}\n onClick={() => handleClick(url, type, index)}\n className=\"parent_div\"\n >\n {type === UrlType.IMAGE ? (\n <img src={url} alt=\"work evidence\" onError={placeholderImage} />\n ) : (\n <video className=\"video_data\" src={url} />\n )}\n </div>\n );\n });\n } catch (error) {\n console.error(\"Error rendering URLs:\", error);\n return null;\n }\n };\n\n const images = urls\n ?.filter((url) => getUrlType(url) === UrlType.IMAGE)\n ?.map((url) => ({ src: url }));\n\n const gotoPrevious = () => {\n // Calculate the previous index\n const newIndex = (lightboxIndex + images?.length - 1) % images?.length;\n setLightboxIndex(newIndex);\n };\n\n const gotoNext = () =>\n setLightboxIndex((prevIndex) => (prevIndex + 1) % images?.length);\n\n const lightBoxClose = () => {\n setLightBoxState(false);\n setIsLightboxOpen(false);\n };\n\n return (\n <div className=\"main-lightbox\">\n <div className=\"all-images\">{renderUrls()}</div>\n\n {isLightboxOpen && (\n <>\n <CustomLightBox\n lightboxOpen={isLightboxOpen}\n currentImages={images}\n currentImageIndex={lightboxIndex}\n handleCloseLightbox={lightBoxClose}\n gotoNext={gotoNext}\n gotoPrevious={gotoPrevious}\n />\n </>\n )}\n {isVideoModalOpen && (\n <CustomVideoModal\n isOpen={isVideoModalOpen}\n videoUrl={videoUrl}\n onClose={() => setIsVideoModalOpen(false)}\n />\n )}\n </div>\n );\n};\n\nexport default ParticularServicesLightBox;\n","/* eslint eqeqeq: 0 */\nimport {\n Box,\n Grid,\n Typography,\n Card,\n CardContent,\n Button,\n CardMedia,\n IconButton,\n CircularProgress,\n Divider,\n Modal,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Rating,\n Avatar,\n Skeleton,\n} from \"@mui/material\";\nimport NorthEastIcon from \"@mui/icons-material/NorthEast\";\nimport { NorthWest } from \"@mui/icons-material\";\nimport api from \"../../../API/apiCollection\";\nimport { useState, useEffect } from \"react\";\nimport StarIcon from \"@mui/icons-material/Star\";\nimport toast from \"react-hot-toast\";\nimport { t } from \"i18next\";\nimport { DeleteOutline } from \"@mui/icons-material\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { updateBaseCart } from \"../../../redux/cart\";\nimport { capilaizeString, placeholderImage } from \"../../../util/Helper\";\nimport { useTheme } from \"@emotion/react\";\nimport { setPromoCode } from \"../../../redux/Promocode\";\nimport { useParams } from \"react-router\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport ImageOutlined from \"@mui/icons-material/ImageOutlined\";\nimport ButtonBase from \"@mui/material/ButtonBase\"; // Import ButtonBase component\nimport TextSnippetIcon from \"@mui/icons-material/TextSnippet\";\nimport { formatDistanceToNow } from \"date-fns\";\nimport profileNoBooking from \"../../../Images/no-booking.png\";\nimport ParticularServicesLightBox from \"../../LightBox/ParticularServicesLightBox\";\nimport { addCustomJobReqData, handleCustomJob } from \"../../../redux/isCustomJobRequest\";\n\nconst ProviderService = ({ service, index, provider, partner_id }) => {\n // Added index as a prop\n\n const [isAvailableAtLocation, setisAvailableAtLocation] = useState(null);\n\n const [lightboxState, setLightBoxState] = useState(false);\n\n const [loading, setLoading] = useState(true);\n\n const [offset, setOffset] = useState(0);\n const [particularServiceRatingData, setParticularServiceRatingData] =\n useState([]);\n const [limit] = useState(5);\n const [hasLoadMore, setHasLoadMore] = useState(true);\n\n useEffect(() => {\n // Find the response with the matching partner_id\n const foundObject = provider.find(\n (response) => response.partner_id === partner_id\n );\n\n // If a matching response is found, update the state\n if (foundObject) {\n setisAvailableAtLocation(foundObject.is_Available_at_location);\n }\n }, [partner_id, provider]);\n\n const authentication = useSelector(\n (state) => state.authentication\n )?.isLoggedIn;\n\n const theme = useTheme();\n const cart = useSelector((state) => state.cart);\n const dispatch = useDispatch();\n const storedCartData = JSON.stringify(cart.base_cart?.data);\n const cartData = () => {\n if (storedCartData) {\n return JSON.parse(storedCartData);\n } else {\n return null; // or an empty default value if needed\n }\n };\n const [loadResponse, setLoadResponse] = useState(false);\n\n const params = useParams();\n const { company_name } = params;\n\n useEffect(() => {\n document.title = `${company_name}-Services`;\n }, [company_name]); // Include company_name in the dependency array\n\n const removePromo = () => {\n dispatch(setPromoCode([]));\n };\n\n // general function that we reuse to increment and decrement of items\n const handleAddCart = async (id, qty) => {\n try {\n dispatch(handleCustomJob(false));\n dispatch(addCustomJobReqData({}))\n\n removePromo();\n setLoadResponse(true);\n\n const response = await api.ManageCart({ id: id, qty: qty.toString() });\n\n if (response && response.data) {\n dispatch(updateBaseCart(response));\n\n let message = capilaizeString(response.message);\n toast.success(message);\n }\n } catch (error) {\n console.log(\"error\", error);\n } finally {\n setLoadResponse(false);\n }\n };\n\n // Arrow function for when user click on add button request sent to api with 1 Qty\n const handleOpen = (response) => {\n if (!authentication) {\n toast.error(\"You need to login before adding Items to your account\");\n return;\n }\n\n handleAddCart(response, 1);\n // handleModalOpen();\n };\n\n const partnerNotAvailable = () => {\n // Assuming you have logic to check if the partner is not available at the location\n const partnerNotAvailableAtLocation = true; // Replace with your logic\n\n if (partnerNotAvailableAtLocation) {\n toast.error(\"The partner is not available at your location\");\n } else {\n // Logic for removing the partner\n }\n };\n\n // Arrow function for when user increment items it update Qty and send api request -> Backup code\n const handleIncrement = (response) => {\n removePromo();\n const item = cartData().find((item) => item.service_id === response.id);\n\n cart.base_cart?.data.forEach((obj) => {\n if (obj.service_id === response.id && obj.qty > 0) {\n const quantity = parseInt(obj.qty);\n if (!item) {\n handleAddCart(response.id, quantity + 1);\n\n return;\n }\n if (item.servic_details.max_quantity_allowed > quantity) {\n handleAddCart(response.id, quantity + 1);\n return;\n }\n\n toast.error(\n `Maximum Quantity is ${item.servic_details.max_quantity_allowed}`\n );\n }\n });\n };\n\n // Arrow function forr when user decrement items it update Qty and send api request\n const handleDecrement = (response) => {\n cart.base_cart?.data.forEach((obj) => {\n removePromo();\n\n if (obj.service_id == response.id) {\n handleAddCart(response.id, parseInt(obj.qty) - 1);\n }\n });\n };\n\n const settings = useSelector((state) => state.Settings)?.settings;\n const currency_symbol = settings?.app_settings?.currency;\n\n // Arrow function for delete from cart\n const handleDelete = async (itemId) => {\n setLoadResponse(true);\n\n await api\n .removeCart({ itemId: itemId })\n .then(async (result) => {\n removePromo();\n dispatch(updateBaseCart(result));\n let message = capilaizeString(result.message);\n toast.success(message);\n setLoadResponse(false);\n })\n .catch((error) => console.log(\"error\", error));\n };\n\n const [modalOpen, setModalOpen] = useState(false);\n\n const handleModalOpen = async (e, data) => {\n e.preventDefault();\n setModalOpen(true);\n setLightBoxState(false);\n setLoading(true);\n setOffset(0); // Reset offset when opening the modal\n setParticularServiceRatingData([]); // Clear existing data\n await loadReviews(data, 0); // Pass 0 as the initial offset\n };\n\n useEffect(() => { }, [lightboxState]);\n\n const loadReviews = async (data, currentOffset) => {\n try {\n const response = await api.getRating({\n partner_id: data.user_id,\n service_id: data.id,\n offset: currentOffset.toString(),\n limit: limit.toString(),\n });\n setLoading(false);\n setParticularServiceRatingData((prevReviews) => [\n ...prevReviews,\n ...response.data,\n ]);\n setHasLoadMore(response?.data?.length === limit);\n } catch (error) {\n setLoading(false);\n console.log(\"modalRating ==>\", error);\n }\n };\n\n const handleLoadMore = async () => {\n const newOffset = offset + limit;\n setOffset(newOffset);\n await loadReviews(service.id, newOffset);\n };\n\n const handleModalClose = () => {\n setModalOpen(false);\n setModalOpen2(false);\n };\n\n const htmlToText = (html) => {\n const doc = new DOMParser().parseFromString(html, \"text/html\");\n return doc.body.textContent || \"\";\n };\n const [modalOpen2, setModalOpen2] = useState(false);\n\n const [expanded, setExpanded] = useState(false);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const ratings = [5, 4, 3, 2, 1]; // Array to map ratings\n const ratingCount = [\n parseInt(service.rating_5),\n parseInt(service.rating_4),\n parseInt(service.rating_3),\n parseInt(service.rating_2),\n parseInt(service.rating_1),\n ];\n\n // Calculate the total number of ratings\n const totalRatingsSum = ratingCount.reduce((a, b) => a + b, 0);\n\n return (\n <Box mt={2}>\n <Card\n className=\"provider-service-card\"\n sx={{\n background: theme.palette.background.box,\n boxShadow: \"none !important\",\n }}\n >\n {/* PC SCREEN ONLY */}\n <Box className=\"w-100\">\n <Box className=\"row align-items-center\">\n <Box item className=\"col-xxl-2 col-xl-2 col-lg-2 col-md-3 col-12\">\n <ButtonBase\n onClick={(e) => handleModalOpen(e, service)}\n className=\"provider-services\"\n >\n <img\n src={service.image_of_the_service}\n alt=\"hi\"\n onError={placeholderImage}\n className=\"provider-service-card1\"\n />\n </ButtonBase>\n </Box>\n\n <Box\n item\n className=\"col-xxl-10 col-xl-10 col-lg-10 col-md-9 col-12\"\n >\n <CardContent\n sx={{\n padding: \"0\",\n }}\n >\n <Box display={\"block\"} textAlign={\"start\"} key={index}>\n {/* Added key prop */}\n <Box display={\"flex\"} justifyContent={\"space-between\"}>\n <Typography\n color={theme?.palette?.primary?.main}\n sx={{ fontSize: \"22px\", cursor: \"pointer\" }}\n fontWeight={\"bold\"}\n mr={\"auto\"}\n onClick={(e) => handleModalOpen()}\n >\n {service.title}\n </Typography>\n <StarIcon color=\"gold\" className=\"color-gold\" />\n {/* only one digit after decimal point */}\n {parseFloat(service.average_rating).toFixed(1)} {\"\"}({\" \"}\n {parseFloat(service.total_ratings)} )\n </Box>\n <Box>\n <Typography\n className=\"provider-typo\"\n fontSize={14}\n pt={2}\n sx={{\n wordBreak: \"break-word\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"2\",\n WebkitBoxOrient: \"vertical\",\n }}\n >\n {service.description}\n </Typography>\n </Box>\n <Typography color={\"gray\"} fontSize={14}>\n {service.number_of_members_required} {t(\"person\")}\n {service.duration} {t(\"min\")}\n </Typography>\n <Box\n display={\"flex\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n mt={1}\n >\n <Typography\n mr={\"auto\"}\n fontWeight={\"bold\"}\n color={theme?.palette?.primary?.main}\n >\n <Box\n display={\"flex\"}\n justifyContent={\"center\"}\n alignItems={\"end\"}\n gap={\"5px\"}\n >\n <Typography\n mr={\"auto\"}\n fontWeight={\"bold\"}\n color={theme?.palette?.primary?.main}\n >\n {currency_symbol}\n {service.price_with_tax}\n </Typography>\n <del>\n {currency_symbol}\n {service.original_price_with_tax}\n </del>\n </Box>\n </Typography>\n\n <div className=\"\">\n {loadResponse ? (\n <CircularProgress size={24} />\n ) : cart.base_cart !== null &&\n cart.base_cart?.data?.some(\n (obj) => obj.service_id === service.id\n ) ? (\n <Box\n size=\"large\"\n width={109.88}\n height={42.5}\n borderRadius={\"5px\"}\n bgcolor={theme?.palette?.primary?.main}\n color={\"white\"}\n display={\"flex\"}\n justifyContent={\"space-around\"}\n alignItems={\"center\"}\n variant=\"outlined\"\n >\n {cart.base_cart?.data.some(\n (obj) =>\n obj.service_id === service.id &&\n parseInt(obj.qty) === 1\n ) ? (\n <IconButton\n size=\"small\"\n onClick={() => handleDelete(service.id)}\n >\n <DeleteOutline className=\"delete-icon\" />\n </IconButton>\n ) : (\n <IconButton\n size=\"small\"\n onClick={() => {\n handleDecrement(service);\n }}\n sx={{ color: \"white\" }}\n >\n -\n </IconButton>\n )}\n\n {cart.base_cart?.data.map((obj) => {\n if (obj.service_id === service.id && obj.qty > 0) {\n return (\n <Typography color={\"white\"}>\n {obj.qty}\n </Typography>\n );\n }\n return <></>;\n })}\n\n <IconButton\n size=\"small\"\n onClick={() => handleIncrement(service)}\n sx={{ color: \"white\" }}\n >\n +\n </IconButton>\n </Box>\n ) : (\n <>\n {isAvailableAtLocation == true ? (\n <Button\n variant=\"outlined\"\n onClick={() => handleOpen(service.id)}\n float=\"right\"\n size=\"medium\"\n // color=\"primary\"\n sx={{\n px: 5,\n py: 1,\n borderColor: \"gray\",\n textTransform: \"none\",\n \"&:hover\": {\n borderColor: \"gray\",\n },\n }}\n >\n {t(\"add\")}\n </Button>\n ) : (\n <Button\n variant=\"outlined\"\n onClick={partnerNotAvailable} // Assuming you have a handleRemove function\n float=\"right\"\n size=\"medium\"\n // color=\"secondary\" // You can change the color according to your design\n sx={{\n px: 5,\n py: 1,\n borderColor: \"gray\",\n textTransform: \"none\",\n \"&:hover\": {\n borderColor: \"gray\",\n },\n }}\n >\n {t(\"add\")}\n </Button>\n )}\n </>\n )}\n </div>\n </Box>\n </Box>\n </CardContent>\n </Box>\n </Box>\n </Box>\n </Card>\n <Divider sx={{ marginTop: 2 }} />\n\n {/* The Modal */}\n <Modal\n open={modalOpen}\n onClose={handleModalClose}\n aria-labelledby=\"service-modal\"\n aria-describedby=\"service-description\"\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <Box\n sx={{\n ...(lightboxState\n ? {\n position: \"relative\",\n borderRadius: \"15px\",\n p: 2,\n overflow: \"hidden\",\n }\n : {\n position: \"fixed\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: { xs: \"100%\", md: 500 },\n height: 800,\n maxHeight: \"90vh\",\n overflowY: \"auto\",\n bgcolor: theme.palette.background.box,\n boxShadow: 24,\n borderRadius: \"10px\",\n m: 0,\n p: 0,\n }),\n }}\n >\n {/* Close icon */}\n <IconButton\n onClick={handleModalClose}\n sx={{\n position: \"absolute\",\n top: 0,\n right: 0,\n\n m: 1,\n zIndex: 1,\n color: \"#FFFFFF\", // Ensure it's above other content\n backgroundColor: \"#343F53 !important\", // Add !important rule\n \"&:hover\": {\n backgroundColor: \"#343F53 !important\", // Add !important rule\n },\n }}\n >\n <CloseIcon />\n </IconButton>\n <Grid container md={12} xs={12} mb={2}>\n <Grid item md={12} xs={12}>\n <img\n width={\"100%\"}\n src={service.image_of_the_service}\n alt={service.title}\n onError={placeholderImage}\n />\n </Grid>\n </Grid>\n\n <Grid container display={\"flex\"} justifyContent={\"center\"}>\n <Grid item md={9} xs={6} px={2} mb={2} mt={1}>\n <Typography\n variant=\"h5\"\n component=\"h2\"\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n fontWeight: \"bold\",\n fontSize: \"24px\",\n lineHeight: \"32px\", // Adjusted line height\n letterSpacing: \"1.2px\",\n color: theme.palette.color.textColor,\n textAlign: \"left\",\n wordBreak: \"break-word\",\n }}\n >\n {service.title}\n </Typography>\n\n <Typography\n fontWeight={\"bold\"}\n color={theme.palette.color.textColor}\n >\n <Box\n display={\"flex\"}\n justifyContent={\"start\"}\n alignItems={\"center\"}\n gap={\"14px\"}\n my={1}\n >\n <Typography\n variant=\"h5\" // Adjust the variant as needed\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n fontWeight: \"bold\",\n fontSize: \"16px\", // Adjust the font size as needed\n lineHeight: \"26px\", // Adjust the line height as needed\n letterSpacing: \"0.8px\",\n color: theme.palette.color.textColor,\n textAlign: \"left\",\n marginTop: 1,\n wordBreak: \"break-word\",\n }}\n >\n {currency_symbol}\n {service.price_with_tax}\n </Typography>\n\n <del>\n <Typography\n variant=\"h5\" // Adjust the variant as needed\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n fontWeight: \"normal\", // Adjust the font weight as needed\n fontSize: \"16px\", // Adjust the font size as needed\n lineHeight: \"26px\", // Adjust the line height as needed\n letterSpacing: \"0.8px\",\n color: theme.palette.color.textColor,\n opacity: 0.4,\n textAlign: \"left\",\n marginTop: 1,\n wordBreak: \"break-word\",\n }}\n >\n {currency_symbol}\n {service.original_price_with_tax}\n </Typography>\n </del>\n </Box>\n </Typography>\n <Typography color={\"gray\"} fontSize={14} mt={0}>\n {service.number_of_members_required} {t(\"person\")}\n {service.duration} {t(\"min\")}\n </Typography>\n </Grid>\n\n <Grid item md={3} xs={6} mt={2} mb={2}>\n <Box display={\"flex\"} justifyContent={\"end\"} mr={3}>\n <StarIcon color=\"gold\" className=\"color-gold\" />\n {/* only one digit after decimal point */}\n <Box\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n color: theme.palette.color.textColor,\n }}\n >\n {parseFloat(service.average_rating).toFixed(1)} {\"\"}({\" \"}\n {parseFloat(service.total_ratings)} )\n </Box>\n </Box>\n\n <Box display={\"flex\"} mt={1}>\n <div className=\"\">\n {loadResponse ? (\n <CircularProgress size={24} />\n ) : cart.base_cart !== null &&\n cart.base_cart?.data?.some(\n (obj) => obj.service_id === service.id\n ) ? (\n <Box\n size=\"large\"\n width={80}\n height={40}\n borderRadius={\"5px\"}\n bgcolor={theme?.palette?.primary?.main}\n color={\"white\"}\n display={\"flex\"}\n justifyContent={\"space-around\"}\n alignItems={\"center\"}\n variant=\"outlined\"\n >\n {cart.base_cart?.data.some(\n (obj) =>\n obj.service_id === service.id &&\n parseInt(obj.qty) === 1\n ) ? (\n <IconButton\n size=\"small\"\n onClick={() => handleDelete(service.id)}\n >\n <DeleteOutline className=\"delete-icon\" />\n </IconButton>\n ) : (\n <IconButton\n size=\"small\"\n onClick={() => {\n handleDecrement(service);\n }}\n sx={{ color: \"white\" }}\n >\n -\n </IconButton>\n )}\n\n {cart.base_cart?.data.map((obj) => {\n if (obj.service_id === service.id && obj.qty > 0) {\n return (\n <Typography color={\"white\"}>{obj.qty}</Typography>\n );\n }\n return <></>;\n })}\n\n <IconButton\n size=\"small\"\n onClick={() => handleIncrement(service)}\n sx={{ color: \"white\" }}\n >\n +\n </IconButton>\n </Box>\n ) : (\n <>\n {isAvailableAtLocation == true ? (\n <Button\n variant=\"outlined\"\n onClick={() => {\n handleOpen(service.id);\n }}\n float=\"right\"\n size=\"medium\"\n // color=\"primary\"\n sx={{\n px: 5,\n py: 1,\n borderColor: \"gray\",\n textTransform: \"none\",\n \"&:hover\": {\n borderColor: \"gray\",\n },\n }}\n >\n {t(\"add\")}\n </Button>\n ) : (\n <Button\n variant=\"outlined\"\n onClick={partnerNotAvailable} // Assuming you have a handleRemove function\n float=\"right\"\n size=\"medium\"\n // color=\"secondary\" // You can change the color according to your design\n sx={{\n px: 5,\n py: 1,\n borderColor: \"gray\",\n textTransform: \"none\",\n \"&:hover\": {\n borderColor: \"gray\",\n },\n }}\n >\n {t(\"add\")}\n </Button>\n )}\n </>\n )}\n </div>\n </Box>\n </Grid>\n </Grid>\n\n <Grid container p={2} sx={{ borderTop: \"1px solid #A5A9B0\" }}>\n <Grid item md={12} xs={12}>\n <Typography\n variant=\"h5\"\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n fontWeight: \"bold\",\n fontSize: \"24px\",\n lineHeight: \"32px\",\n letterSpacing: \"0px\",\n color: theme.palette.color.textColor,\n opacity: 1,\n textAlign: \"left\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"about_service\")}\n </Typography>\n </Grid>\n <Grid item md={12} xs={12} mt={1}>\n <Box>\n <Typography\n key={index}\n fontSize=\"16px\"\n lineHeight=\"24px\"\n fontFamily=\"Plus Jakarta Sans\"\n color={theme.palette.color.textColor}\n textAlign=\"left\"\n sx={{\n fontWeight: \"normal\",\n letterSpacing: \"0px\",\n wordBreak: \"break-word\",\n }}\n >\n {service.description}\n </Typography>\n </Box>\n </Grid>\n </Grid>\n\n {service?.long_description?.length > 0 && (\n <Grid container p={2} sx={{ borderTop: \"1px solid #A5A9B0\" }}>\n <Grid item md={12} xs={12}>\n <Typography\n variant=\"h5\"\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n fontWeight: \"bold\",\n fontSize: \"24px\",\n lineHeight: \"32px\",\n letterSpacing: \"0px\",\n color: theme.palette.color.textColor,\n opacity: 1,\n textAlign: \"left\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"service_description\")}\n </Typography>\n </Grid>\n <Grid item md={12} xs={12} mt={1}>\n <Box>\n <Typography\n key={index}\n fontSize=\"16px\"\n lineHeight=\"24px\"\n fontFamily=\"Plus Jakarta Sans\"\n color={theme.palette.color.textColor}\n textAlign=\"left\"\n sx={{\n fontWeight: \"normal\",\n letterSpacing: \"0px\",\n wordBreak: \"break-word\",\n }}\n >\n {htmlToText(service.long_description)}\n </Typography>\n </Box>\n </Grid>\n </Grid>\n )}\n\n {service?.other_images?.length > 0 && (\n <Grid container p={2} sx={{ borderTop: \"1px solid #A5A9B0\" }}>\n <Grid item md={12} xs={12}>\n <Typography\n variant=\"h5\"\n sx={{\n fontFamily: \"Plus Jakarta Sans\",\n fontWeight: \"bold\",\n fontSize: \"24px\",\n lineHeight: \"32px\",\n letterSpacing: \"0px\",\n color: theme.palette.color.textColor,\n opacity: 1,\n textAlign: \"left\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"photos\")}\n </Typography>\n </Grid>\n\n <Grid\n item\n md={12}\n xs={12}\n display={\"flex\"}\n flexWrap={\"wrap\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n my={2}\n >\n {/* Check if service.other_images array exists and has elements */}\n {service?.other_images && service?.other_images?.length > 0 && (\n <>\n {[0, 1].map((row) => (\n <Box\n key={row}\n sx={{\n display: \"flex\",\n marginBottom: \"16px\",\n position: \"relative\",\n }}\n >\n {/* Map through the images for the current row */}\n {service.other_images\n .slice(row * 2, row * 2 + 2)\n .map((otherImage, index) => (\n <Box\n key={index}\n sx={{\n marginRight: index === 0 ? \"16px\" : \"0px\",\n position: \"relative\",\n }}\n >\n <Card\n sx={{\n width: \"200px\",\n borderRadius: \"10px\",\n position: \"relative\",\n }}\n >\n <CardMedia\n component=\"img\"\n image={otherImage} // Assuming otherImage is a valid image URL\n alt={`Image ${row * 2 + index + 1}`} // Use the index for alt text\n sx={{ width: \"200px\", height: \"200px\" }}\n />\n {row === 1 &&\n index === 1 && ( // Check if it's the last image\n <>\n <Box\n sx={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n backgroundColor: \"rgba(0, 0, 0, 0.5)\", // Gray texture\n borderRadius: \"10px\",\n }}\n />\n <Box\n sx={{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n zIndex: 1,\n }}\n >\n <Button\n variant=\"contained\"\n // color=\"secondary\"\n sx={{\n width: \"150px\",\n textTransform: \"none\",\n }}\n onClick={() => {\n setModalOpen2(true);\n }}\n >\n <ImageOutlined\n sx={{ width: \"20%\" }}\n />\n {t(\"see_all\")}\n </Button>\n </Box>\n </>\n )}\n </Card>\n </Box>\n ))}\n </Box>\n ))}\n </>\n )}\n </Grid>\n </Grid>\n )}\n\n {/* files */}\n {service?.files?.length > 0 ? (\n <Grid\n container\n spacing={2}\n mb={4}\n p={2}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n >\n <Grid item md={12}>\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: { xs: \"center\", md: \"left\" },\n letterSpacing: \"0px\",\n opacity: 1,\n marginBottom: \"30px\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"brochure\")}/{t(\"files\")}\n </Typography>\n </Grid>\n\n <Grid item md={12} mt={-2}>\n <div className=\"files_data\">\n {service?.files.map((fileUrl, index) => {\n const fileName = fileUrl.split(\"/\").pop();\n const fileNameWithoutExtension = fileName.replace(\n /\\.[^/.]+$/,\n \"\"\n );\n return (\n <Box mb={\"16px\"} key={index}>\n <TextSnippetIcon />\n <a\n href={fileUrl}\n download={fileName}\n style={{\n textDecoration: \"none\",\n color: theme.palette.color.textColor,\n }}\n >\n {fileNameWithoutExtension}\n </a>\n </Box>\n );\n })}\n </div>\n </Grid>\n </Grid>\n ) : null}\n\n {/* FAQS */}\n {service?.faqs?.length > 0 ? (\n <Grid\n container\n spacing={2}\n mb={4}\n p={2}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n >\n <Grid item md={12}>\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: { xs: \"center\", md: \"left\" },\n letterSpacing: \"0px\",\n opacity: 1,\n marginBottom: \"30px\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"faq\")}\n </Typography>\n </Grid>\n\n <Grid item md={12} mt={-2}>\n <div>\n {service?.faqs.map((faq, index) => (\n <Box mb={\"16px\"} key={index}>\n <Accordion\n expanded={expanded === `panel${index}`}\n onChange={handleChange(`panel${index}`)}\n style={{\n backgroundColor: theme.palette.background.box,\n boxShadow: \"none\",\n border: \"1px solid #CCCCCC\",\n color: \"#000000\",\n }}\n >\n <AccordionSummary\n expandIcon={\n expanded === `panel${index}` ? (\n <NorthWest sx={{ color: \"black\" }} /> // Render SouthEastIcon when expanded\n ) : (\n <NorthEastIcon sx={{ color: \"black\" }} /> // Render NorthEastIcon when collapsed\n )\n }\n aria-controls={`panel${index}-content`}\n id={`panel${index}-header`}\n style={{\n backgroundColor: \"#FFFFFF\",\n color: \"#000000\",\n boxShadow: \"none\",\n borderBottom:\n expanded === `panel${index}`\n ? \"none\"\n : \"1px solid #CCCCCC\",\n }}\n >\n {/* Show the number with 2 digits */}\n <Typography>\n {String(index + 1).padStart(2, \"0\")}. {faq.question}\n </Typography>\n </AccordionSummary>\n <AccordionDetails\n style={{\n backgroundColor: \"#FFFFFF\",\n color: \"#000000\",\n marginTop: \"-8px\",\n }}\n >\n <Typography\n sx={{\n font: \"var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/var(--unnamed-line-spacing-32) var(--unnamed-font-family-plus-jakarta-sans)\",\n color: \"var(--secondary-color-343f53)\",\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 0.6,\n wordBreak: \"break-word\",\n }}\n >\n {faq.answer}\n </Typography>\n </AccordionDetails>\n </Accordion>\n </Box>\n ))}\n </div>\n </Grid>\n </Grid>\n ) : null}\n\n {/* Overall rating */}\n <Box\n sx={{\n p: 2,\n mx: \"auto\",\n borderRadius: 2,\n textAlign: \"center\",\n }}\n >\n <Typography variant=\"h6\" sx={{ mb: 2 }}>\n {t(\"overall_rating\")}\n </Typography>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n mb: 2,\n }}\n >\n <Typography variant=\"h4\" sx={{ fontWeight: \"bold\", mr: 1 }}>\n {parseFloat(service?.average_rating).toFixed(1)}\n </Typography>\n <Box sx={{ display: \"flex\" }}>\n {[...Array(5)].map((_, i) => (\n <StarIcon\n key={i}\n sx={{\n color:\n i < Math.round(service?.average_rating)\n ? \"#FFD700\"\n : \"#C0C0C0\",\n }}\n />\n ))}\n </Box>\n </Box>\n <Typography variant=\"body2\" sx={{ mb: 2 }}>\n {service?.total_ratings} {t(\"reviews\")}\n </Typography>\n <Grid container spacing={1}>\n {ratings &&\n ratings.map((rating, index) => (\n <Grid\n item\n xs={12}\n key={rating}\n sx={{ display: \"flex\", alignItems: \"center\", gap: \"20px\" }}\n >\n <Typography variant=\"body2\">{rating}</Typography>\n <Box\n sx={{\n flexGrow: 1,\n bgcolor: \"#C0C0C0\",\n position: \"relative\",\n height: 10,\n }}\n >\n <Box\n sx={{\n height: \"100%\",\n width: `${(ratingCount[index] / totalRatingsSum) * 100\n }%`,\n bgcolor: \"#FFD700\",\n position: \"absolute\",\n top: 0,\n left: 0,\n }}\n />\n </Box>\n </Grid>\n ))}\n </Grid>\n\n {/* reviews and ratings */}\n <Box mx={1}>\n {loading === false ? (\n particularServiceRatingData &&\n particularServiceRatingData?.length === 0 ? (\n <div className=\"textaling-center\">\n <Box mt={5}>\n <img\n src={profileNoBooking}\n height={300}\n width={300}\n alt=\"not found\"\n onError={placeholderImage}\n />\n </Box>\n <p>{t(\"no_review_found\")}</p>\n </div>\n ) : (\n particularServiceRatingData &&\n particularServiceRatingData.map((review) => (\n <Box\n key={review.id}\n sx={{\n background: theme.palette.background.box,\n padding: 2,\n marginBottom: 1,\n borderRadius: \"10px\",\n }}\n gap={2}\n >\n <Box\n // marginTop={2}\n // marginLeft={1}\n display={\"flex\"}\n textAlign={\"start\"}\n alignItems={\"center\"}\n // marginBottom={2}\n >\n <Avatar\n alt={review?.user_name}\n className=\"avatar\"\n src={review?.profile_image}\n />\n <Box marginLeft={3} width={\"100%\"}>\n <Box\n sx={{\n float: \"right\",\n justifyContent: \"end\",\n textAlign: \"end\",\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\" }}>\n <StarIcon color=\"gold\" className=\"color-gold\" />\n <Typography variant=\"body1\" fontSize={\"small\"}>\n {parseFloat(review?.rating).toFixed(1)}\n </Typography>\n </Box>\n\n <Typography paddingTop={-2} color={\"gray\"}>\n {formatDistanceToNow(new Date(review?.rated_on), {\n addSuffix: true,\n })}\n </Typography>\n </Box>\n <Typography\n variant=\"h6\"\n color={theme?.palette?.primary?.main}\n fontSize={\"medium\"}\n >\n <strong>{review?.user_name}</strong>\n </Typography>\n <Rating\n name=\"read-only\"\n className=\"font-medium\"\n value={review?.rating}\n readOnly\n />\n </Box>\n </Box>\n {review.comment ? (\n <Typography marginTop={1}>{review.comment}</Typography>\n ) : (\n \"\"\n )}\n\n {review?.images ? (\n <Box marginTop={3} marginBottom={3}>\n <ParticularServicesLightBox\n urls={review?.images}\n setLightBoxState={setLightBoxState}\n />\n </Box>\n ) : (\n <></>\n )}\n <Divider sx={{ mt: 2 }} />\n </Box>\n ))\n )\n ) : (\n <Box>\n <Skeleton variant=\"rectangular\" height={\"100px\"} />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n </Box>\n )}\n </Box>\n\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n {hasLoadMore && !loading && (\n <Button\n variant=\"contained\"\n disableElevation\n size=\"small\"\n onClick={handleLoadMore}\n >\n {t(\"load_more\")}\n </Button>\n )}\n </Box>\n </Box>\n </Box>\n </Modal>\n\n <Modal open={modalOpen2} onClose={() => setModalOpen2(false)}>\n <Box\n sx={{\n position: \"relative\", // Set position to relative\n width: \"80%\",\n height: \"80%\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n bgcolor: \"background.paper\",\n border: \"2px solid #000\",\n borderRadius: \"10px\",\n boxShadow: 24,\n p: { xs: 0, md: 4 },\n overflowY: \"auto\",\n }}\n >\n {/* Close icon */}\n <Box\n display={\"flex\"}\n width={\"100%\"}\n alignItems={\"center\"}\n justifyContent={\"flex-end\"}\n >\n <IconButton\n onClick={handleModalClose}\n sx={{\n position: \"sticky\",\n top: \"5px\",\n // marginLeft: \"1200px\",\n display: \"flex\",\n justifyContent: \"end\",\n color: theme.palette.color.textColor,\n zIndex: 1,\n }}\n >\n <CloseIcon />\n </IconButton>\n </Box>\n\n {/* Grid for displaying images */}\n <Grid container spacing={0} alignItems=\"stretch\">\n {service.other_images.map((image, index) => (\n <Grid item xs={6} sm={4} md={3} key={index}>\n <Card sx={{ margin: \"8px\" }}>\n <CardMedia\n component=\"img\"\n image={image}\n alt={`Image ${index + 1}`}\n />\n </Card>\n </Grid>\n ))}\n </Grid>\n </Box>\n </Modal>\n </Box>\n );\n};\n\nexport default ProviderService;\n","import {\n Box,\n Card,\n CardContent,\n Typography,\n Divider,\n Rating,\n LinearProgress,\n Grid,\n Button,\n Skeleton,\n Avatar,\n} from \"@mui/material\";\nimport { t } from \"i18next\";\n\nimport React, { useEffect, useState } from \"react\";\nimport GradeIcon from \"@mui/icons-material/Grade\";\n// import CustomerReview from \"./CustomerReview\";\nimport { useTheme } from \"@mui/material\";\nimport api from \"../../../API/apiCollection\";\nimport { useParams } from \"react-router\";\nimport { formatDistanceToNow } from \"date-fns\"; // Import date-fns function\nimport UrlTypeComponent from \"../../LightBox/UrlTypeComponent\";\nimport profileNoBooking from \"../../../Images/no-booking.png\";\nimport { placeholderImage } from \"../../../util/Helper\";\n\nconst ProviderDetailedCard = ({\n overallRating,\n star1,\n star2,\n star3,\n star4,\n star5,\n noOfRating,\n partnerID,\n partner,\n}) => {\n const [rateTotal, setRateTotal] = useState(5);\n const [offset, setOffset] = useState(0);\n const [limit, setLimit] = useState(5);\n const [review, setReview] = useState([]);\n const [loading, setLoading] = useState(true);\n const [hasLoadMore, setHasLoadMore]= useState(true)\n // const [open, setOpen] = useState(false);\n const theme = useTheme();\n\n const params = useParams();\n const { company_name } = params;\n\n useEffect(() => {\n const company_name1 = process.env.REACT_APP_NAME;\n document.title = `${company_name}-Reviews | ${company_name1}`;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const loadReviews = async () => {\n try {\n const response = await api.getRating({\n partner_id: partner.partner_id,\n offset: offset.toString(),\n limit: limit.toString(),\n });\n\n setReview((prevReviews) => [...prevReviews, ...response.data]);\n setLoading(false);\n setRateTotal(response?.data?.length);\n setHasLoadMore(response?.data?.length === limit)\n } catch (error) {\n console.error(\"Error loading reviews:\", error);\n // Optionally handle error state or show an error message\n }\n };\n\n loadReviews();\n }, [offset, limit, partner.partner_id]);\n\n const handleLoadMore = () => {\n setOffset((prevOffset) => prevOffset + limit);\n };\n\n return (\n <>\n {/* Review Tab Content */}\n <Card\n sx={{\n borderRadius: \"10px\",\n }}\n >\n <CardContent\n sx={{\n backgroundColor: theme.palette.background.box,\n maxWidth: \"100%\",\n pb: \"5px !important\",\n }}\n >\n {/* REVIEW & RATING */}\n <Typography variant=\"h5\" fontWeight={\"bold\"} mb={2} pl={2}>\n {t(\"overall_rating\")}\n </Typography>\n <Divider orientation=\"horizontal\" sx={{ mx: -2 }} />\n\n <RatingCard\n overall={Number(overallRating)}\n star1={star1}\n star2={star2}\n star3={star3}\n star4={star4}\n star5={star5}\n noOfRating={noOfRating}\n />\n {/* Dynamic content coming from API */}\n {/* <CustomerReview\n partnerID={partnerID}\n limit={5}\n displayPagination={false}\n /> */}\n\n <Box mx={1}>\n {loading === false ? (\n review && review?.length === 0 ? (\n <div className=\"textaling-center\">\n <Box mt={5}>\n <img\n src={profileNoBooking}\n height={300}\n width={300}\n alt=\"not found\"\n onError={placeholderImage}\n />\n </Box>\n <p>{t(\"no_review_found\")}</p>\n </div>\n ) : (\n review &&\n review.map((review) => (\n <Box\n key={review.id}\n sx={{\n background: theme.palette.background.box,\n padding: 2,\n marginBottom: 1,\n borderRadius: \"10px\",\n }}\n gap={2}\n >\n <Box\n display={\"flex\"}\n textAlign={\"start\"}\n alignItems={\"center\"}\n >\n <Avatar\n alt={review.user_name}\n className=\"avatar\"\n src={review.profile_image}\n />\n <Box marginLeft={3} width={\"100%\"} className=\"custom-review-card\">\n <Box\n sx={{\n float: \"right\",\n justifyContent: \"end\",\n textAlign: \"end\",\n }}\n >\n <Typography variant=\"body1\" fontSize={\"small\"}>\n {parseFloat(review.rating).toFixed(1)}\n </Typography>\n <Typography paddingTop={-2} color={\"gray\"}>\n {formatDistanceToNow(new Date(review.rated_on), {\n addSuffix: true,\n })}\n </Typography>\n </Box>\n <Box>\n\n <Typography\n variant=\"h6\"\n color={theme?.palette?.primary?.main}\n fontSize={\"medium\"}\n >\n <strong>{review.user_name}</strong>\n </Typography>\n <Rating\n name=\"read-only\"\n className=\"font-medium\"\n value={review.rating}\n readOnly\n />\n </Box>\n </Box>\n </Box>\n {review.comment ? (\n <Typography marginTop={1}>{review.comment}</Typography>\n ) : (\n \"\"\n )}\n\n {review?.images ? (\n <Box marginTop={3} marginBottom={3}>\n <UrlTypeComponent urls={review.images} />\n </Box>\n ) : (\n <></>\n )}\n <Divider sx={{ mt: 2 }} />\n </Box>\n ))\n )\n ) : (\n <Box>\n <Skeleton variant=\"rectangular\" height={\"100px\"} />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n <Skeleton\n variant=\"rectangular\"\n sx={{ mt: 2 }}\n height={\"100px\"}\n />\n </Box>\n )}\n </Box>\n\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n {hasLoadMore && (\n <Button\n variant=\"contained\"\n disableElevation\n size=\"small\"\n onClick={handleLoadMore}\n >\n {t(\"load_more\")}\n </Button>\n )}\n </Box>\n </CardContent>\n </Card>\n </>\n\n /* THIS IS HAVE TO BE UPPER SHIFT */\n );\n};\n\nexport default ProviderDetailedCard;\n\nconst RatingCard = ({\n overall,\n star1,\n star2,\n star3,\n star4,\n star5,\n noOfRating,\n}) => {\n const arrayOfRating = [star1, star2, star3, star4, star5];\n const maxValue = Math.max(...arrayOfRating.map((value) => parseInt(value)));\n // Convert the array values to integers and create an array of objects with values and their original indices\n const ratingObjects = arrayOfRating.map((value, index) => ({\n value: parseInt(value),\n index: index,\n }));\n\n // Sort the ratingObjects array in ascending order based on the 'value' property\n ratingObjects.sort((a, b) => b.index - a.index);\n return (\n <Box\n justifyContent={\"center\"} // Center horizontally\n alignItems={\"center\"} // Center vertically\n bgcolor={\"#343F53\"}\n color={\"white\"}\n borderRadius={\"10px\"}\n p={{ xs: 2, md: 0 }}\n // px={2}\n // py={2}\n m={2}\n >\n <Grid container spacing={{ xs: 0, md: 0 }}>\n <Grid item md={4} sm={12} alignItems={\"center\"} width={\"100%\"}>\n <Box\n m={{ xs: 0, md: 3 }}\n display={\"flex\"}\n bgcolor={\"white\"}\n borderRadius={\"10px\"}\n color={\"black\"}\n flexDirection={\"column\"}\n alignItems={\"center\"}\n justifyContent={\"center\"} // Center horizontally\n height={\"283px\"}\n alignContent={\"center\"}\n sx={{ alignItems: \"center\" }}\n >\n <Typography\n className=\"back-343f\"\n variant=\"h5\"\n mb={2}\n borderRadius={\"60px\"}\n textAlign={\"center\"}\n sx={{\n height: \"100px\",\n width: \"100px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n color: \"#FFFFFF\", // Set to white\n textAlign: \"left\",\n font: \"normal normal bold 38px/13px Plus Jakarta Sans\",\n letterSpacing: \"1.9px\",\n opacity: 1,\n }}\n >\n {parseFloat(overall).toFixed(1)}\n </Typography>\n\n <Rating\n name=\"average-rating\"\n className=\"gap-1\"\n value={parseFloat(overall)}\n precision={0.2}\n component=\"legend\"\n readOnly\n mb={1}\n />\n <Typography\n variant=\"h6\"\n mt={1}\n gutterBottom\n sx={{\n textAlign: \"left\",\n font: \"normal normal medium 25px/13px Plus Jakarta Sans\",\n letterSpacing: \"1.25px\",\n color: \"#343F53\",\n opacity: 1,\n }}\n >\n {noOfRating} {t(\"reviews\")}\n </Typography>\n </Box>\n </Grid>\n\n <Grid item md={0.1} sm={12}>\n <Divider\n orientation={{ xs: \"horizontal\", md: \"vertical\" }}\n sx={{\n backgroundColor: \"gray\",\n height: { xs: \"1px\", md: \"100%\" },\n width: { xs: \"225px\", sm: \"100%\", md: \"1px\" },\n ml: { xs: 0, md: 0.2 },\n\n mt: { xs: 2, md: 0 },\n }}\n />\n </Grid>\n\n <Grid\n item\n md={7.9}\n sm={12}\n display={\"flex\"}\n flexDirection={\"column\"}\n justifyContent={\"space-between\"}\n width={\"100%\"}\n p={2}\n my={4}\n >\n {ratingObjects.map((rating, index) => (\n <Box\n key={index}\n mt={0}\n mb={0}\n display={\"flex\"}\n alignItems={\"center\"}\n flexDirection={\"row\"}\n width={\"100%\"}\n justifyContent={\"space-between\"}\n rowGap={1} // Adjust the rowGap property to decrease the gap\n gap={1} // Adjust the gap property to decrease the gap\n >\n <Box display={\"flex\"} alignItems={\"center\"}>\n <GradeIcon fontSize=\"small\" sx={{ marginRight: \"16px\" }} />\n\n <Typography fontSize={\"medium\"} variant=\"caption\" mr={1}>\n {rating.index + 1}\n </Typography>\n </Box>\n <LinearProgress\n variant=\"determinate\"\n value={(rating.value / maxValue) * 100}\n sx={{\n width: \"100%\",\n borderRadius: \"5px\",\n backgroundColor: \"gray\",\n height: 9, // Set the height of the entire progress bar to 9px\n \"& .MuiLinearProgress-bar\": {\n backgroundColor: \"#F6B313\", // Set the progress bar color to #F6B313\n },\n }}\n />\n\n <Typography fontSize={\"medium\"} variant=\"caption\" ml={4} mr={2}>\n {rating.value || 0}\n </Typography>\n </Box>\n ))}\n </Grid>\n </Grid>\n </Box>\n );\n};\n","import React from \"react\";\nimport { Box, Skeleton } from \"@mui/material\";\nimport ProviderDetailedCard from \"./ProviderDetailedCard\";\n\nconst ProviderDetails = ({ isProvierLoading, provider, partner_id }) => {\n return (\n <Box\n sx={{\n ml: -3,\n mt: -3,\n mr: -3,\n borderRadius: \"10px\",\n }}\n >\n {isProvierLoading ? (\n <>\n {provider.map((response) => {\n // if (response.partner_id === partner_id) {\n const overallRating = response.ratings;\n const star1 = response[\"1_star\"];\n const star2 = response[\"2_star\"];\n const star3 = response[\"3_star\"];\n const star4 = response[\"4_star\"];\n const star5 = response[\"5_star\"];\n const noOfRating = response.number_of_ratings;\n const partnerID = response.partner_id;\n\n return (\n <ProviderDetailedCard\n key={partnerID}\n overallRating={overallRating}\n star1={star1}\n star2={star2}\n star3={star3}\n star4={star4}\n star5={star5}\n noOfRating={noOfRating}\n partnerID={partnerID}\n partner={response}\n />\n );\n // }\n\n // return null;\n })}\n </>\n ) : (\n <Box display={\"flex\"} flexDirection={\"column\"} gap={3}>\n <Skeleton variant=\"rectangular\" height={\"800px\"} />\n <Skeleton variant=\"rectangular\" height={\"500px\"} />\n </Box>\n )}\n </Box>\n );\n};\n\nexport default ProviderDetails;\n","import React, { useState } from \"react\";\nimport { WhatsappIcon } from \"react-share\";\nimport { Box, Dialog, DialogTitle } from \"@mui/material\";\nimport { t } from \"i18next\";\nimport { ShareDialogProps } from \"../../typescriptTypes/globalTypes\";\n\nconst ShareDialog: React.FC<ShareDialogProps> = ({ open, setOpen }) => {\n const [isOpen, setIsOpen] = useState<boolean>(open);\n\n const handleClose = (): void => {\n setIsOpen(false);\n setOpen(false);\n };\n\n return (\n <Dialog onClose={handleClose} open={isOpen}>\n <Box>\n <DialogTitle>{t(\"share_provider_services\")}</DialogTitle>\n <WhatsappIcon xlinkTitle=\"Share\" size={32} round={true} />\n </Box>\n </Dialog>\n );\n};\n\nexport default ShareDialog;","import React from \"react\";\nimport { IoIosStar, IoIosStarHalf, IoIosStarOutline } from \"react-icons/io\";\n\nconst Rating = ({ rating }) => {\n const fullStars = Math.floor(rating); // Number of full stars\n const hasHalfStar = rating % 1 !== 0; // Check if there's a half star\n const emptyStars = 5 - fullStars - (hasHalfStar ? 1 : 0); // Remaining empty stars\n \n return (\n <div className=\"rating\">\n {/* Render full stars */}\n {Array(fullStars)\n .fill()\n .map((_, index) => (\n <IoIosStar key={`full-${index}`} className=\"full-star\" size={26} />\n ))}\n\n {/* Render half star if applicable */}\n {hasHalfStar && <IoIosStarHalf className=\"half-star\" size={26} />}\n\n {/* Render empty stars */}\n {Array(emptyStars)\n .fill()\n .map((_, index) => (\n <IoIosStarOutline\n key={`empty-${index}`}\n className=\"empty-star\"\n size={26}\n />\n ))}\n\n <style jsx>{`\n .rating {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .full-star,\n .half-star,\n .empty-star {\n margin: 0 2px;\n color: #ffd700;\n }\n\n .half-star {\n color: #ffd700; /* Ensure half stars have the correct color */\n }\n\n .empty-star {\n color: #ffd700; /* Empty stars still need to match color */\n }\n `}</style>\n </div>\n );\n};\n\nexport default Rating;\n","import {\n Avatar,\n Box,\n Card,\n Skeleton,\n CardMedia,\n Typography,\n Grid,\n Checkbox,\n Container,\n} from \"@mui/material\";\nimport { t } from \"i18next\";\nimport React, { useEffect, useState } from \"react\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\n// import GradeIcon from \"@mui/icons-material/Grade\";\n// import CustomerReview from \"./CustomerReview\";\nimport StarIcon from \"@mui/icons-material/Star\";\nimport { useTheme, IconButton } from \"@mui/material\";\n// import { Link } from \"react-router-dom\";\n//import slugify from \"slugify\";\nimport api from \"../../../API/apiCollection\";\nimport BookmarkBorderIcon from \"@mui/icons-material/BookmarkBorder\";\nimport BookmarkIcon from \"@mui/icons-material/Bookmark\";\nimport { setBookmark } from \"../../../redux/Bookmark\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport toast from \"react-hot-toast\";\nimport { ShareTwoTone } from \"@mui/icons-material\";\nimport ChatIcon from \"@mui/icons-material/Chat\";\nimport ShareDialog from \"../../Dialogs/ShareDialog\";\nimport { useNavigate } from \"react-router\";\nimport { getChatData, setChatData } from \"../../../redux/chatData\";\nimport { useIsRTL } from \"../../../util/Helper\";\nimport Rating from \"./Rating\";\n\nconst ProviderCard = ({\n partnerID,\n partner,\n\n isProvierLoading,\n}) => {\n const [rateTotal, setRateTotal] = useState(1);\n const [open, setOpen] = useState(false);\n const theme = useTheme();\n const isRtl = useIsRTL();\n // const slug = slugify(partner.company_name, {\n // lower: true, // Convert the slug to lowercase\n // });\n const dispatch = useDispatch();\n\n const navigate = useNavigate();\n const settings = useSelector((state) => state.Settings)?.settings;\n const marked = useSelector((state) => state.Bookmark)?.bookmark;\n const isLoggedIn = useSelector((state) => state.authentication)?.isLoggedIn;\n const locationData = useSelector((state) => state.Location);\n const lat = locationData.lat;\n const lng = locationData.lng;\n // let settings = useSelector((state) => state.Settings)?.settings;\n // settings = settings.general_settings;\n\n\n const isPreBookingChatAvailable =\n settings?.general_settings.allow_pre_booking_chat === \"1\";\n\n let isMark = marked && marked?.filter((e) => e.partner_id === partnerID);\n\n const [booked, setBooked] = useState(isMark?.length > 0 ? true : false);\n\n useEffect(() => {\n const fetchRatingTotal = async () => {\n if (rateTotal == null) {\n try {\n const response = await api.getRating({\n partner_id: partner.partner_id,\n offset: 0,\n limit: 5,\n });\n setRateTotal(response.total);\n } catch (error) {\n console.error(\"Error fetching rating total:\", error);\n // Optionally handle error state or show an error message\n }\n }\n };\n\n fetchRatingTotal();\n }, [partner.partner_id, rateTotal]); // Ensure rateTotal is in the dependency array\n\n const handleBookmark = async (x) => {\n try {\n setBooked(!booked);\n\n let formdata = new FormData();\n formdata.append(\"latitude\", lat);\n formdata.append(\"longitude\", lng);\n\n if (booked === true) {\n // Remove bookmark\n dispatch(\n setBookmark(\n marked.filter((bookmark) => bookmark.partner_id !== x.partner_id)\n )\n );\n\n await api\n .bookmark({\n type: \"remove\",\n lat: lat,\n lng: lng,\n partner_id: x.partner_id !== undefined ? x.partner_id : x.id,\n })\n .then((response) => {\n if (response && response.data) {\n // Show success toast for removal\n toast.success(response.message);\n } else {\n dispatch(\n setBookmark(\n marked.filter(\n (bookmark) => bookmark.partner_id !== x.partner_id\n )\n )\n );\n }\n })\n .catch((error) => {\n // Show error toast for removal\n toast.error(\"Failed to remove bookmark\");\n });\n } else {\n // Add bookmark\n const newMark = { partner_id: x.partner_id };\n\n let updatedMarkedArray = marked;\n updatedMarkedArray = [...updatedMarkedArray, newMark];\n\n dispatch(setBookmark(updatedMarkedArray));\n\n formdata.append(\"type\", \"add\");\n formdata.append(\n \"partner_id\",\n x.partner_id !== undefined ? x.partner_id : x.id\n );\n\n await api\n .bookmark({\n type: \"add\",\n lat: lat,\n lng: lng,\n partner_id: x.partner_id !== undefined ? x.partner_id : x.id,\n })\n .then((response) => {\n // Show success toast for addition\n if (response && response.data) {\n toast.success(response.message);\n } else {\n dispatch(\n setBookmark(\n marked.filter(\n (bookmark) => bookmark.partner_id !== x.partner_id\n )\n )\n );\n }\n })\n .catch((error) => {\n // Show error toast for addition\n toast.error(\"Failed to add bookmark\");\n });\n }\n } catch (error) {\n toast.error(\"An unexpected error occurred\");\n }\n };\n\n const handleCopy = () => {\n navigator.clipboard\n .writeText(window.location.href)\n .then(() => {\n // Show a success toast message\n toast.success(t(\"copied\"));\n })\n .catch((err) => {\n console.error(\"Failed to copy: \", err);\n });\n };\n const overallRating = partner.ratings;\n\n const handleChat = (e, data) => {\n e.preventDefault();\n if (!isLoggedIn) {\n toast.error(\"you need to login first!\");\n return false;\n }\n try {\n getChatData({\n booking_id: null,\n partner_id: partner?.partner_id,\n partner_name: partner?.company_name,\n image: partner?.image,\n order_status: \"\",\n });\n navigate(\"/chat\");\n } catch (error) {\n console.log(error);\n }\n };\n\n return (\n <>\n {/*///////////////////////////////////////////////////////////////////////////////////////// */}\n <Container\n sx={{\n background: theme.palette.background.box,\n borderRadius: \"10px\",\n maxWidth: \"100%\",\n }}\n className=\"mainContainer\"\n >\n <Grid container spacing={2}>\n <Grid\n item\n md={5}\n sm={6}\n mb={3}\n mt={1}\n alignItems={\"center\"}\n width={\"100%\"}\n >\n <Card sx={{ position: \"relative\" }}>\n <Box\n sx={{ borderRadius: \"8px\", float: \"right\", mt: 1.5, mr: 1.5 }}\n display={\"flex\"}\n gap={2}\n >\n {isPreBookingChatAvailable && partner?.pre_booking_chat === \"1\" ? (\n <IconButton\n aria-label=\"chat\"\n onClick={(e) => handleChat(e, partner)}\n sx={{\n color: theme?.palette?.primary?.main,\n backgroundColor: theme.palette.background.input,\n borderRadius: \"8px\",\n \"&:hover\": {\n backgroundColor: theme.palette.background.input, // Keep the same background color on hover\n },\n }}\n >\n <ChatIcon\n fontSize=\"small\"\n color=\"action\"\n sx={{ color: theme?.palette?.primary?.main }}\n />\n </IconButton>\n ) : null}\n\n <IconButton\n aria-label=\"share\"\n onClick={(e) => handleCopy()}\n sx={{\n color: theme?.palette?.primary?.main,\n backgroundColor: theme.palette.background.input,\n borderRadius: \"8px\",\n \"&:hover\": {\n backgroundColor: theme.palette.background.input, // Keep the same background color on hover\n },\n }}\n >\n <ShareTwoTone\n fontSize=\"small\"\n color=\"action\"\n sx={{ color: theme?.palette?.primary?.main }}\n />\n </IconButton>\n\n {open === true ? (\n <ShareDialog open={open} setOpen={setOpen} />\n ) : (\n \"\"\n )}\n\n {isLoggedIn === true ? (\n <Box\n sx={{\n backgroundColor: theme.palette.background.input,\n borderRadius: \"8px\",\n }}\n >\n <Checkbox\n key={partner.id}\n size=\"small\"\n checked={booked}\n sx={{ color: \"white\" }}\n icon={\n <BookmarkBorderIcon\n sx={{ color: theme?.palette?.primary?.main }}\n />\n }\n checkedIcon={\n <BookmarkIcon\n sx={{ color: theme?.palette?.primary?.main }}\n />\n }\n onClick={(e) => {\n e.stopPropagation();\n handleBookmark(partner);\n }}\n />\n </Box>\n ) : (\n \"\"\n )}\n </Box>\n\n <Box width={\"100%\"}>\n <CardMedia\n sx={{ objectFit: \"cover\", height: 228, width: \"100%\" }}\n image={partner.banner_image}\n />\n <CardMedia\n sx={{\n position: \"absolute\",\n zIndex: 10,\n top: 108,\n left: 20,\n }}\n className=\"provider_service_logo\"\n image={partner.image}\n />\n </Box>\n </Card>\n </Grid>\n <Grid item md={3} sm={6} xs={12} mb={3} maxWidth={\"100%\"}>\n {isProvierLoading ? (\n <>\n <Box\n mt={3}\n display={\"flex\"}\n flexDirection={{ xs: \"column\" }}\n alignItems={{ xs: \"center\", md: \"baseline\" }}\n justifyContent={\"center\"}\n >\n <Typography\n key={partner.partner_id}\n variant=\"h6\"\n mt={{ xs: 1, md: 2 }}\n sx={{\n letterSpacing: \"1.2px\", // Enclosed property names with quotes\n color: theme.palette.color.textColor,\n textAlign: { xs: \"center\", md: \"left\" },\n }}\n gutterBottom\n >\n <strong>{partner.company_name}</strong>\n </Typography>\n <Typography\n variant=\"subtitle1\"\n // fontWeight={\"bold\"}\n sx={{\n color: theme.palette.color.textColor,\n mt: { xs: 0, md: 2 },\n textAlign: { xs: \"center\", md: \"left\" },\n }}\n >\n {t(\"provider_rating\")}\n </Typography>\n\n <Box\n display={\"flex\"}\n alignItems={\"center\"}\n justifyContent={\"center\"}\n flexDirection={isRtl ? \"row-reverse\" : \"row\"} // Ensure reverse order in RTL\n >\n <Rating rating={overallRating} />\n {/* <Rating\n name=\"average-rating\"\n className=\"gap-1\"\n value={parseFloat(overallRating)}\n precision={0.2}\n component=\"legend\"\n readOnly\n mb={1}\n sx={{\n fontSize: \"29px\",\n transform: isRtl ? \"scaleX(-1)\" : \"none\",\n }}\n /> */}\n <Typography\n variant=\"h6\"\n sx={{\n marginRight: isRtl ? \"8px\" : \"0\",\n marginLeft: isRtl ? \"0\" : \"8px\",\n }}\n >\n ({parseFloat(partner.ratings).toFixed(1)})\n </Typography>\n </Box>\n </Box>\n </>\n ) : (\n <Skeleton width={200} height={50} />\n )}\n </Grid>\n <Grid item md={2} sm={6} xs={6} mb={3} mt={1}>\n <Box\n display={\"flex\"}\n width={\"228px\"}\n height={{ xs: \"190px\", md: \"228px\" }}\n maxWidth={\"100%\"}\n borderRadius={\"8px\"}\n sx={{\n backgroundColor: theme?.palette?.primary?.main,\n alignItems: \"center\", // Horizontally center the items\n justifyContent: \"center\", // Vertically center the items\n flexDirection: \"column\", // Set to \"column\" to stack items vertically\n margin: \"auto\", // Center the Box within the Grid item\n }}\n >\n <Avatar\n sx={{\n bgcolor: \"white\",\n marginTop: 0,\n height: \"60px\",\n width: \"60px\",\n }}\n >\n <CheckCircleIcon\n sx={{ p: 1, height: \"50px\", width: \"50px\" }}\n className=\"color-blue border-radius-50\"\n />\n </Avatar>\n\n <Box\n textAlign=\"center\"\n mt={{ xs: 2, md: 5 }}\n color={theme.palette.color.text}\n >\n <Typography variant=\"h5\" fontWeight=\"bold\">\n {partner.number_of_orders}\n </Typography>\n <Typography variant=\"subtitle1\" fontWeight=\"medium\">\n {t(\"bookings_complete\")}\n </Typography>\n </Box>\n </Box>\n </Grid>\n <Grid item md={2} sm={6} xs={6} mb={3} mt={1}>\n <Box\n display={\"flex\"}\n width={\"228px\"}\n height={{ xs: \"190px\", md: \"228px\" }}\n mb={3}\n maxWidth={\"100%\"}\n borderRadius={\"8px\"}\n sx={{\n backgroundColor: theme.palette.secondary.main,\n alignItems: \"center\", // Horizontally center the items\n justifyContent: \"center\", // Vertically center the items\n flexDirection: \"column\", // Set to \"column\" to stack items vertically\n margin: \"auto\", // Center the Box within the Grid item\n }}\n >\n <Avatar\n sx={{\n bgcolor: \"white\",\n marginTop: 0,\n height: \"60px\",\n width: \"60px\",\n }}\n >\n <StarIcon\n sx={{ color: \"#343f53\", height: \"50px\", width: \"50px\" }}\n className=\"border-radius-50\"\n />\n </Avatar>\n <Box\n textAlign=\"center\"\n mt={{ xs: 2, md: 5 }}\n color={theme.palette.color.text}\n >\n <Typography variant=\"h5\" fontWeight=\"bold\">\n {parseFloat(partner.ratings).toFixed(1)}\n </Typography>\n <Typography variant=\"subtitle1\" fontWeight=\"medium\">\n {t(\"provider_reviewers\")}\n </Typography>\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Container>\n </>\n );\n};\n\nexport default ProviderCard;\n","import React, { useEffect, useState } from \"react\";\nimport { Box, CardMedia, Divider, Typography } from \"@mui/material\";\nimport { PromoSkeleton } from \"../../Reusable/Sections/Skeletons\";\nimport api from \"../../../API/apiCollection\";\nimport { t } from \"i18next\";\nimport dayjs from \"dayjs\";\nimport Grid from \"@mui/material/Grid\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { useTheme } from \"@emotion/react\";\nimport { useParams } from \"react-router\";\nimport profileNoBooking from \"../../../Images/no-booking.png\";\n\nconst Promocodes = ({ partner_id }) => {\n const theme = useTheme();\n\n const [isPromo, setIsPromo] = useState([]);\n const [isLoading, setIsloading] = useState(true);\n\n const params = useParams();\n const { company_name } = params;\n\n useEffect(() => {\n const company = process.env.REACT_APP_NAME;\n document.title = `${company_name}-Promocodes|${company}`;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n //fetching promocodes\n useEffect(() => {\n const fetchPromoCode = async () => {\n try {\n if (isPromo?.length === 0) {\n const result = await api.Promocode({ partner_id: partner_id });\n setIsPromo(result.data);\n setIsloading(false);\n }\n } catch (error) {\n console.error(\"Error fetching promo code:\", error);\n // Optionally handle error state or show an error message\n }\n };\n\n fetchPromoCode();\n }, [isPromo?.length, partner_id]);\n\n return (\n <Box\n mr={{ xs: 0, md: 3.5 }}\n mt={1}\n sx={{ backgroundColor: theme.palette.background.box }}\n >\n {isLoading === false ? (\n isPromo && isPromo?.length > 0 ? (\n isPromo.map((promo, index) => {\n return (\n <Grid\n key={index}\n container\n mb={2}\n spacing={2}\n position={\"relative\"}\n sx={{\n background: theme.palette.background.box,\n padding: { xs: 0, md: \"15px\" },\n //backgroundColor: theme.palette.background.paper,\n borderRadius: \"10px\",\n marginTop: index > 0 ? \"30px\" : 0, // Add marginTop conditionally\n }}\n >\n {/* Image Grid (50%) Off*/}\n <Grid\n item\n md={1}\n xs={12}\n display={\"flex\"}\n alignItems={{ xs: \"center\", md: \"baseline\" }}\n justifyContent={\"center\"}\n >\n <CardMedia\n component=\"img\"\n sx={{\n width: 133,\n height: 133,\n borderRadius: \"50%\",\n marginLeft: 2,\n }}\n image={promo.image}\n alt=\"Live from space album cover\"\n />\n </Grid>\n {/* Promo code Information */}\n <Grid\n item\n md={7}\n xs={12}\n mt={2}\n ml={{ xs: 0, md: 6 }}\n display={\"flex\"}\n flexDirection={\"column\"}\n >\n <Grid item>\n <Typography\n sx={{\n letterSpacing: \"1.1px\",\n color: theme.palette.color.textColor,\n opacity: 0.9,\n marginLeft: \"0px\",\n }}\n variant=\"h6\"\n fontWeight={\"bold\"}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n {promo.promo_code}\n </Typography>\n\n <Typography\n sx={{\n marginTop: \"7px\",\n font: \"normal normal normal 18px/35px Plus Jakarta Sans\",\n letterSpacing: \"0.9px\",\n color: theme.palette.color.textColor,\n opacity: 0.59,\n marginLeft: \"0px\",\n mr: { xs: 0, md: 4 },\n }}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n {promo.message}\n </Typography>\n </Grid>\n\n <Grid item mb={2}>\n <Box\n my={2}\n sx={{\n textTransform: \"capitalize\",\n lineHeight: 2,\n marginLeft: \"0px\",\n }}\n >\n <Typography\n variant=\"body1\"\n sx={{\n mb: 1,\n mt: 1,\n // font: \"normal normal bold 18px/8px Plus Jakarta Sans\",\n // letterSpacing: \"0.9px\",\n color: theme.palette.color.textColor,\n opacity: \"0.61\",\n }}\n fontWeight={\"bold\"}\n >\n <Box\n display={\"flex\"}\n flexDirection={{ xs: \"column\", md: \"row\" }}\n alignItems={\"center\"}\n gap={1}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n <Box>{t(\"min_order_value\")}</Box>\n <Box>${promo.minimum_order_amount}</Box>\n </Box>\n </Typography>\n <Typography\n variant=\"body1\"\n sx={{\n mb: 1,\n mt: 1,\n // font: \"normal normal bold 18px/8px Plus Jakarta Sans\",\n letterSpacing: \"0.9px\",\n color: theme.palette.color.textColor,\n opacity: \" 0.61\",\n }}\n fontWeight={\"bold\"}\n >\n <Box\n display={\"flex\"}\n flexDirection={{ xs: \"column\", md: \"row\" }}\n alignItems={\"center\"}\n gap={1}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n <Box>{t(\"instant_discount_of\")}</Box>\n <Box>${promo.max_discount_amount}</Box>\n </Box>\n </Typography>\n <Typography\n variant=\"body1\"\n fontWeight={\"bold\"}\n sx={{\n mb: 1,\n mt: 1,\n // font: \"normal normal bold 18px/8px Plus Jakarta Sans\",\n letterSpacing: \"0.9px\",\n color: theme.palette.color.textColor,\n opacity: \" 0.61\",\n }}\n >\n <Box\n display={\"flex\"}\n flexDirection={{ xs: \"column\", md: \"row\" }}\n alignItems={\"center\"}\n gap={1}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n <Box>{t(\"offer_valid_from\")}</Box>\n <Box>\n {dayjs(promo.start_date).format(\"DD-MM-YYYY\")}{\" \"}\n {t(\"to\")}\n </Box>\n <Box>\n {dayjs(promo.end_date).format(\"DD-MM-YYYY\")}\n </Box>\n </Box>\n </Typography>\n {promo && promo.repeat_usage >= 1 ? (\n <Typography\n variant=\"body1\"\n fontWeight={\"bold\"}\n sx={{\n mb: 1,\n mt: 1,\n // font: \"normal normal bold 18px/8px Plus Jakarta Sans\",\n letterSpacing: \"0.9px\",\n color: theme.palette.color.textColor,\n opacity: \" 0.61\",\n }}\n >\n <Box\n display={\"flex\"}\n flexDirection={{ xs: \"column\", md: \"row\" }}\n alignItems={\"center\"}\n gap={1}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n <Box>{t(\"promo_maximum_times\")}</Box>\n {promo?.no_of_repeat_usage}\n <Box>{t(\"promo_times\")}</Box>\n </Box>\n </Typography>\n ) : null}\n </Box>\n </Grid>\n </Grid>\n\n <Box\n sx={{\n position: \"relative\",\n display: { xs: \"none\", sm: \"none\", md: \"block\" },\n }}\n >\n {/* Top half-circle */}\n <CircularProgress\n variant=\"determinate\"\n value={-50}\n size={45}\n thickness={2}\n sx={{\n backgroundColor: theme.palette.background.promoCode, // Set the desired background color\n // backgroundColor: \"#041C32\", // Set the desired background color\n color: \"transparent\",\n borderRadius: \"50%\", // Make it a circle\n }}\n style={{\n position: \"absolute\",\n top: \"-15%\", // Adjust this value to center the circle on the bottom of the line\n left: \"50%\",\n transform: \"translate(-45%, 35%)\",\n zIndex: \"1\",\n border: \"none\",\n }}\n />\n\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{\n mr: \"-2px\",\n borderRight: \"2px dotted #343F53\",\n top: -12,\n position: \"absolute\",\n height: \"100%\", // Adjust the height to make room for the top half-circle\n }}\n />\n\n {/* Bottom half-circle */}\n <CircularProgress\n variant=\"determinate\"\n value={-50}\n size={45}\n thickness={2}\n sx={{\n backgroundColor: theme.palette.background.promoCode, // Set the desired background color\n color: \"transparent\",\n borderRadius: \"50%\", // Make it a circle\n }}\n style={{\n position: \"absolute\",\n bottom: \"-20%\", // Adjust this value to center the circle on the bottom of the line\n left: \"50%\",\n zIndex: \"1\",\n transform: \"translate(-45%, -65%)\",\n }}\n />\n </Box>\n\n <Grid\n item\n ml={{ xs: 0, md: 5 }}\n md={3}\n xs={12}\n display={\"flex\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n >\n <Box\n display={\"flex\"}\n flexDirection={\"column\"}\n justifyContent={\"center\"}\n alignItems={\"center\"} // Center content horizontally\n textAlign={\"center\"}\n //my={2}\n mt={4}\n >\n <Typography\n component=\"div\"\n variant=\"h3\"\n sx={{\n width: \"116px\",\n height: \"58px\",\n color: theme.palette.color.textColor,\n opacity: \"0.9\",\n font: 'normal normal bold 16px/8px \"Plus Jakarta Sans\"',\n letterSpacing: \"2.3px\",\n }}\n >\n {promo.discount}\n {promo.discount_type === \"percentage\" ? \"%\" : \"$\"}{\" \"}\n </Typography>\n <Typography\n component=\"div\"\n variant=\"h3\"\n mb={1}\n sx={{\n width: \"114px\",\n height: \"58px\",\n opacity: \"0.9\",\n color: theme.palette.color.textColor,\n font: 'normal normal bold 16px/8px \"Plus Jakarta Sans\"',\n letterSpacing: \"2.3px\",\n }}\n >\n OFF\n </Typography>\n </Box>\n </Grid>\n </Grid>\n );\n })\n ) : (\n <>\n <Box\n display={\"flex\"}\n justifyContent={\"center\"}\n alignItems={\"center\"}\n textAlign={\"center\"}\n sx={{ flexDirection: { xs: \"column\", md: \"row\" }, margin:\"50px auto\" }}\n maxWidth={\"100%\"}\n >\n <Box>\n <Box>\n <Box\n component={\"img\"}\n src={profileNoBooking}\n alt=\"no promo code\"\n maxHeight={\"100%\"}\n maxWidth={\"100%\"}\n />\n </Box>\n <Typography sx={{ color: theme.palette.color.textColor, margin:\"10px auto\" }}>\n {t(\"no_promo\")}\n </Typography>\n </Box>\n </Box>\n </>\n )\n ) : (\n <PromoSkeleton />\n )}\n </Box>\n );\n};\n\nexport default Promocodes;\n","var _path, _path2, _path3;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgNoImageFound99(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 126,\n height: 101,\n viewBox: \"0 0 126 101\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.6206 19.8666C71.6206 18.1468 72.1262 16.4655 73.0734 15.0355C74.0207 13.6055 75.367 12.491 76.9423 11.8328C78.5175 11.1747 80.2508 11.0025 81.9231 11.338C83.5953 11.6735 85.1314 12.5017 86.337 13.7178C87.5426 14.9339 88.3637 16.4834 88.6963 18.1702C89.0289 19.857 88.8582 21.6054 88.2057 23.1943C87.5533 24.7832 86.4483 26.1413 85.0307 27.0968C83.613 28.0523 81.9463 28.5623 80.2413 28.5623C77.9549 28.5623 75.7622 27.6462 74.1455 26.0154C72.5288 24.3846 71.6206 22.1729 71.6206 19.8666ZM101.793 54.6494C96.8013 54.6422 91.9633 56.3903 88.1115 59.5929L70.9779 39.0696C70.7856 38.8392 70.5481 38.6517 70.2802 38.5189C70.0124 38.386 69.7201 38.3107 69.4219 38.2978C69.1237 38.2849 68.826 38.3346 68.5479 38.4437C68.2697 38.5529 68.017 38.7191 67.8059 38.9319L54.3792 52.4755L40.9604 35.0728C40.7611 34.8143 40.5065 34.6046 40.2156 34.4592C39.9246 34.3139 39.6049 34.2368 39.2803 34.2336C38.9556 34.2304 38.6345 34.3012 38.3408 34.4408C38.0471 34.5803 37.7884 34.785 37.5841 35.0395L5.18737 75.4074C4.95926 75.6917 4.81561 76.0353 4.77304 76.3985C4.73048 76.7617 4.79074 77.1297 4.94686 77.4598C5.10298 77.7899 5.34857 78.0687 5.65522 78.2638C5.96186 78.459 6.31703 78.5626 6.67962 78.5626H80.349C80.7661 82.7485 82.3782 86.7223 84.99 90.0022C87.6017 93.2822 91.1008 95.7272 95.0628 97.0409C99.0249 98.3546 103.28 98.4804 107.311 97.4032C111.343 96.3259 114.978 94.0919 117.776 90.972C120.574 87.852 122.414 83.9803 123.073 79.8263C123.733 75.6723 123.183 71.4145 121.491 67.5693C119.799 63.7242 117.038 60.4568 113.541 58.1635C110.045 55.8702 105.964 54.6495 101.793 54.6494Z\",\n fill: \"#0277FA\",\n fillOpacity: 0.08\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.569 67.9819L101.711 74.8983L94.8539 67.9819L92.5684 70.2874L99.425 77.2037L92.5684 84.1201L94.8539 86.4255L101.711 79.5092L108.569 86.4255L110.854 84.1201L103.998 77.2037L110.854 70.2874L108.569 67.9819Z\",\n fill: \"#343F53\",\n fillOpacity: 0.66\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M125.5 76.3885C125.502 82.3518 123.294 88.1005 119.31 92.5062C115.326 96.912 109.853 99.6565 103.966 100.201C98.0792 100.746 92.2028 99.051 87.4907 95.4497C82.7787 91.8484 79.5713 86.6005 78.4981 80.7363H6.96552C5.25133 80.7344 3.6079 80.0467 2.39579 78.824C1.18367 77.6014 0.501882 75.9436 0.5 74.2145V6.82281C0.501882 5.0937 1.18367 3.43597 2.39579 2.21331C3.6079 0.990648 5.25133 0.302924 6.96552 0.301025H97.4828C99.1969 0.302924 100.84 0.990648 102.052 2.21331C103.265 3.43597 103.946 5.0937 103.948 6.82281V52.5855C109.834 53.1331 115.306 55.8766 119.292 60.2791C123.278 64.6816 125.492 70.4262 125.5 76.3885ZM35.83 33.7973C36.2462 33.2724 36.7773 32.852 37.3818 32.5691C37.9862 32.2861 38.6474 32.1484 39.3135 32.1667C39.9796 32.185 40.6324 32.3589 41.2207 32.6746C41.8089 32.9903 42.3166 33.4393 42.7039 33.9862L54.3849 49.3966L66.2401 37.4382C66.6654 37.0018 67.1788 36.6627 67.7455 36.444C68.3122 36.2254 68.9188 36.1322 69.5244 36.1708C70.1294 36.205 70.7205 36.3671 71.2593 36.6467C71.7981 36.9264 72.2726 37.3172 72.6519 37.7939L89.214 56.1549C92.3597 54.1499 95.9322 52.9266 99.6379 52.5855V6.82281C99.6374 6.24642 99.4101 5.69381 99.0061 5.28624C98.602 4.87868 98.0542 4.64945 97.4828 4.64888H6.96552C6.39416 4.64963 5.84641 4.8789 5.4424 5.28643C5.03839 5.69396 4.81109 6.24647 4.81034 6.82281V72.9102L35.83 33.7973ZM69.4144 76.3885L39.2373 36.5699L7.57263 76.3885H69.4144ZM85.778 58.8086L69.375 40.6174L57.0317 52.8901L74.8422 76.3885H78.0862C78.0881 73.0801 78.773 69.8084 80.0972 66.7817C81.4215 63.7551 83.3563 61.0397 85.778 58.8086ZM121.19 76.3885C121.19 72.5188 120.052 68.736 117.921 65.5185C115.789 62.301 112.76 59.7933 109.216 58.3124C105.672 56.8316 101.772 56.4441 98.009 57.1991C94.2465 57.954 90.7903 59.8174 88.0777 62.5537C85.365 65.2899 83.5177 68.7761 82.7692 72.5715C82.0208 76.3668 82.4049 80.3007 83.873 83.8758C85.3411 87.4509 87.8272 90.5066 91.017 92.6565C94.2067 94.8063 97.9568 95.9538 101.793 95.9538C106.936 95.9481 111.866 93.8849 115.502 90.2169C119.139 86.5489 121.184 81.5757 121.19 76.3885ZM69.4655 19.8664C69.4655 17.7166 70.0975 15.615 71.2816 13.8275C72.4656 12.04 74.1486 10.6468 76.1176 9.82413C78.0867 9.00144 80.2533 8.78618 82.3436 9.20559C84.434 9.625 86.354 10.6602 87.8611 12.1804C89.3681 13.7005 90.3944 15.6373 90.8102 17.7458C91.226 19.8543 91.0126 22.0398 90.197 24.026C89.3814 26.0122 88.0002 27.7098 86.2281 28.9041C84.456 30.0985 82.3726 30.736 80.2414 30.736C77.3845 30.7326 74.6455 29.5863 72.6254 27.5486C70.6053 25.5109 69.4689 22.7481 69.4655 19.8664ZM73.7759 19.8664C73.7759 21.1563 74.1551 22.4172 74.8655 23.4897C75.5759 24.5622 76.5857 25.3981 77.7671 25.8917C78.9486 26.3853 80.2485 26.5145 81.5027 26.2628C82.7569 26.0112 83.909 25.3901 84.8132 24.478C85.7174 23.5659 86.3332 22.4038 86.5827 21.1387C86.8321 19.8736 86.7041 18.5623 86.2147 17.3706C85.7254 16.1789 84.8967 15.1603 83.8334 14.4437C82.7702 13.7271 81.5201 13.3446 80.2414 13.3446C78.5272 13.3465 76.8838 14.0342 75.6716 15.2569C74.4595 16.4795 73.7777 18.1373 73.7759 19.8664Z\",\n fill: \"#343F53\",\n fillOpacity: 0.66\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgNoImageFound99);\nexport default __webpack_public_path__ + \"static/media/No_Image Found_99.da209b8fc17a3f973d7b93218b01f952.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from \"react\";\nimport Modal from \"react-modal\";\nimport CustomVideoModal from \"./CustomVideoModal\";\nimport { UrlType, getUrlType } from \"../../util/Helper\";\nimport { FaTimes } from \"react-icons/fa\";\nimport { Button } from \"@mui/material\";\nimport CustomLightBox from \"./CustomLightBox\";\nModal.setAppElement(\"#root\"); // Important for accessibility\n\nconst AboutUsLightbox = ({ urls }) => {\n const [isLightboxOpen, setIsLightboxOpen] = useState(false);\n const [lightboxIndex, setLightboxIndex] = useState(0);\n const [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n const [videoUrl, setVideoUrl] = useState(\"\");\n const [isSeeAllModalOpen, setIsSeeAllModalOpen] = useState(false);\n const limit = 6;\n\n const handleClick = (url, type, index) => {\n try {\n if (type === UrlType.IMAGE) {\n setLightboxIndex(index);\n setIsLightboxOpen(true);\n } else if (type === UrlType.VIDEO) {\n setVideoUrl(url);\n setIsVideoModalOpen(true);\n }\n } catch (error) {\n console.error(\"Error handling click:\", error);\n }\n };\n\n const renderUrls = () => {\n try {\n return urls.slice(0, limit).map((url, index) => {\n const type = getUrlType(url);\n return (\n <div key={index} onClick={() => handleClick(url, type, index)} className=\"parent_div\">\n {type === UrlType.IMAGE ? (\n <img\n src={url}\n alt=\"work evidence\"\n />\n ) : (\n <video className=\"video_data\" src={url} />\n )}\n </div>\n );\n });\n } catch (error) {\n console.error(\"Error rendering URLs:\", error);\n return null;\n }\n };\n\n const images = urls\n ?.filter((url) => getUrlType(url) === UrlType.IMAGE)\n ?.map((url) => ({ src: url }));\n\n const gotoPrevious = () => {\n // Calculate the previous index\n const newIndex = (lightboxIndex + images?.length - 1) % images?.length;\n setLightboxIndex(newIndex);\n };\n\n const gotoNext = () =>\n setLightboxIndex((prevIndex) => (prevIndex + 1) % images?.length);\n\n return (\n <div className=\"main-lightbox\">\n <div className=\"all-images\">\n {renderUrls()}\n {urls.length > limit && (\n <Button onClick={() => setIsSeeAllModalOpen(true)}>See All</Button>\n )}\n </div>\n\n {isLightboxOpen && (\n <>\n <CustomLightBox lightboxOpen={isLightboxOpen} currentImages={images} currentImageIndex={lightboxIndex} handleCloseLightbox={() => setIsLightboxOpen(false)} gotoNext={gotoNext} gotoPrevious={gotoPrevious} />\n </>\n )}\n\n {isVideoModalOpen && (\n <CustomVideoModal\n isOpen={isVideoModalOpen}\n videoUrl={videoUrl}\n onClose={() => setIsVideoModalOpen(false)}\n />\n )}\n <Modal\n isOpen={isSeeAllModalOpen}\n onRequestClose={() => setIsSeeAllModalOpen(false)}\n contentLabel=\"All Images Modal\"\n >\n <button\n onClick={() => setIsSeeAllModalOpen(false)}\n className=\"about_lightbox_closeButton\"\n aria-label=\"Close\"\n >\n <FaTimes />\n </button>\n <div className=\"about_lightbox_all-images-modal\">\n {urls.map((url, index) => {\n const type = getUrlType(url);\n return (\n <div key={index} onClick={() => handleClick(url, type, index)} className=\"parent_div\">\n {type === UrlType.IMAGE ? (\n <img\n src={url}\n alt=\"work evidence\"\n />\n ) : (\n <video className=\"video_data\" src={url} />\n )}\n </div>\n );\n })}\n </div>\n </Modal>\n </div>\n );\n};\n\nexport default AboutUsLightbox;\n","import React, { useState, useEffect } from \"react\";\nimport { Grid, Typography, Card, CardMedia, Box } from \"@mui/material\";\nimport { t } from \"i18next\";\nimport { FaLocationDot } from \"react-icons/fa6\";\nimport { useTheme } from \"@emotion/react\";\nimport { useParams } from \"react-router\";\nimport NoImage from \"../../../Images/No_Image Found_99.svg\";\nimport GoogleMapBox from \"../../GoogleMap/GoogleMapBox\";\nimport { MAP_API } from \"../../../config/config\";\nimport AboutUsLightbox from \"../../LightBox/AboutUsLightbox\";\n\nconst AboutUs = ({ data }) => {\n const days = [\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n \"Sunday\",\n ];\n const LATITUDE = data && data.latitude;\n const LONGITUDE = data && data.longitude;\n const params = useParams();\n const { company_name } = params;\n\n useEffect(() => {\n const company = process.env.REACT_APP_NAME;\n document.title = `${company_name}-About Us|${company}`;\n }, []);\n\n const [expanded, setExpanded] = useState(false);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const formatTime = (timeStr) => {\n const [hours, minutes] = timeStr.split(\":\").map(Number);\n const suffix = hours >= 12 ? \"PM\" : \"AM\";\n const formattedHours = hours % 12 || 12;\n return `${formattedHours}:${minutes < 10 ? \"0\" : \"\"}${minutes} ${suffix}`;\n };\n\n // Function to convert HTML to plain text\n const htmlToText = (html) => {\n const doc = new DOMParser().parseFromString(html, \"text/html\");\n return doc.body.textContent || \"\";\n };\n\n const theme = useTheme();\n\n const isDayOpen = (day) => {\n return data && data[`${day.toLowerCase()}_is_open`] === \"1\";\n };\n\n return (\n <Box>\n <Grid container spacing={2}>\n <Grid\n item\n md={12}\n mb={2}\n p={2}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n >\n <div>\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 1,\n marginBottom: \"19px\",\n }}\n >\n {t(\"about_this_provider\")}\n </Typography>\n <Box>\n <Typography\n sx={{\n font: \"var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/var(--unnamed-line-spacing-32) var(--unnamed-font-family-plus-jakarta-sans)\",\n textAlign: { xs: \"center\", md: \"left\" },\n marginBottom: \"30px\",\n }}\n color={theme.palette.color.textColor}\n >\n {data?.about}\n </Typography>\n </Box>\n </div>\n </Grid>\n\n <Grid container gap={2} mb={2} mt={-2} py={2}>\n <Grid\n item\n md={5.9}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n >\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: { xs: \"center\", md: \"left\" },\n letterSpacing: \"0px\",\n opacity: 1,\n marginBottom: \"4px\",\n borderRadius: \"10px\",\n padding: 2,\n }}\n >\n {t(\"bussiness_hours\")}\n </Typography>\n <Grid container gap={1} ml={{ xs: 0, md: 2 }} mb={2}>\n {days.map((day, index) => (\n <Grid container key={index}>\n <Grid item xs={12} md={6}>\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal medium 22px/32px Plus Jakarta Sans\",\n color: theme.palette.color.textColor,\n textAlign: { xs: \"center\", md: \"left\" },\n letterSpacing: \"1.1px\",\n opacity: 1,\n marginBottom: \"3px\",\n }}\n >\n {day}\n </Typography>\n </Grid>\n <Grid item xs={12} md={6}>\n <Typography\n variant=\"body1\"\n color={theme.palette.color.textColor}\n textAlign={{ xs: \"center\", md: \"left\" }}\n >\n {isDayOpen(day)\n ? `${formatTime(\n data[`${day.toLowerCase()}_opening_time`]\n )} - ${formatTime(\n data[`${day.toLowerCase()}_closing_time`]\n )}`\n : \"Closed\"}\n </Typography>\n </Grid>\n </Grid>\n ))}\n </Grid>\n </Grid>\n\n <Grid\n item\n md={5.9}\n width={\"100%\"}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n p={2}\n >\n <Grid item md={12}>\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 1,\n }}\n >\n {t(\"photos\")}\n </Typography>\n </Grid>\n <Box\n mx={1}\n my={2}\n px={2}\n maxWidth={\"100%\"}\n display={\"flex\"}\n flexDirection={\"column\"}\n gap={2}\n >\n {data?.other_images?.length > 0 ? (\n <Box>\n {/* Lightbox */}\n <AboutUsLightbox urls={data.other_images} />\n </Box>\n ) : (\n <Box\n mt={3}\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n flexDirection: \"column\",\n alignItems: \"center\",\n }}\n >\n <Card\n sx={{\n width: \"60%\",\n marginTop: \"0px\",\n height: \"80%\",\n marginBottom: \"8px\",\n position: \"relative\",\n borderRadius: \"10px\",\n boxShadow: \"none\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <CardMedia\n component=\"img\"\n image={NoImage}\n alt=\"No Image\"\n sx={{\n width: \"100%\",\n height: \"100%\",\n }}\n />\n </Card>\n <Typography variant=\"h6\" textAlign=\"center\" color=\"#4a4a4a\">\n No Photos Available\n </Typography>\n </Box>\n )}\n </Box>\n </Grid>\n </Grid>\n </Grid>\n\n {/* Service Description */}\n\n {htmlToText(data.long_description)?.length > 0 && (\n <Grid container spacing={2} mt={-2}>\n <Grid\n item\n md={12}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n >\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 1,\n marginBottom: \"30px\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"company_information\")}\n </Typography>\n <Grid container>\n <Grid item md={12}>\n <Typography\n sx={{\n font: \"var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/var(--unnamed-line-spacing-32) var(--unnamed-font-family-plus-jakarta-sans)\",\n textAlign: { xs: \"center\", md: \"left\" },\n letterSpacing: \"0px\",\n marginBottom: \"30px\",\n pr: 2,\n wordBreak: \"break-word\",\n }}\n color={theme.palette.color.textColor}\n >\n {htmlToText(data.long_description)}\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n )}\n\n {/* GOOGLE MAP */}\n <Grid container spacing={2} mt={2}>\n <Grid\n item\n md={12}\n sm={12}\n xs={12}\n bgcolor={theme.palette.background.box}\n borderRadius={\"10px\"}\n width={\"100%\"}\n >\n <Typography\n variant=\"body1\"\n sx={{\n font: \"normal normal bold 24px/32px 'Plus Jakarta Sans'\",\n color: theme.palette.color.textColor,\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 1,\n marginBottom: \"30px\",\n wordBreak: \"break-word\",\n }}\n >\n {t(\"contact\")}\n </Typography>\n <Grid item md={12} sm={12} xm={12} mb={3}>\n <div\n style={{\n margin: \"1em\",\n marginLeft: \"0em\",\n }}\n >\n <GoogleMapBox\n onSelectLocation={(e) => e}\n apiKey={MAP_API}\n isLocationPass={true}\n locationlat={parseFloat(LATITUDE)}\n locationlng={parseFloat(LONGITUDE)}\n \n />\n </div>\n </Grid>\n\n <Grid item md={12} mb={2}>\n <Typography\n style={{\n font: \"var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/var(--unnamed-line-spacing-32) var(--unnamed-font-family-plus-jakarta-sans)\",\n color: \"var(--secondary-color-343f53)\",\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 1,\n fontSize: \"24px\",\n marginBottom: 2,\n wordBreak: \"break-word\",\n }}\n >\n {data.company_name}\n </Typography>\n <Typography\n style={{\n font: \"var(--unnamed-font-style-normal) normal var(--unnamed-font-weight-normal) 20px/var(--unnamed-line-spacing-32) var(--unnamed-font-family-plus-jakarta-sans)\",\n color: \"var(--secondary-color-343f53)\",\n textAlign: \"left\",\n letterSpacing: \"0px\",\n opacity: 1,\n marginTop: 10,\n fontSize: \"20px\",\n wordBreak: \"break-word\",\n }}\n >\n <FaLocationDot color=\"#2560FC \" /> {\" \"}\n {\" \"} {data.address}\n </Typography>\n </Grid>\n </Grid>\n </Grid>\n </Box>\n );\n};\n\nexport default AboutUs;\n","import {\n Box,\n Breadcrumbs,\n Container,\n Grid,\n Typography,\n Skeleton,\n Divider,\n Button,\n} from \"@mui/material\";\nimport api from \"../../../API/apiCollection\";\nimport React, { useEffect, useState } from \"react\";\nimport { useParams } from \"react-router\";\nimport { t } from \"i18next\";\nimport Layout from \"../../layout/Layout\";\nimport { useTheme } from \"@mui/material\";\n//import slugify from \"slugify\";\nimport ProviderService from \"./ProviderService\";\nimport { ServiceSkeleton } from \"./Skeletons\";\nimport Tab from \"@mui/material/Tab\";\nimport TabContext from \"@mui/lab/TabContext\";\nimport TabList from \"@mui/lab/TabList\";\nimport TabPanel from \"@mui/lab/TabPanel\";\nimport ProviderDetails from \"./ProviderDetails\";\nimport ProviderCard from \"./ProviderCard\";\nimport Promocodes from \"./Promocodes\";\nimport AboutUs from \"./AboutUs\";\nimport { useSelector } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport noServiceImage from \"../../../Images/No-service.png\";\nimport { placeholderImage } from \"../../../util/Helper\";\n\nconst CustomTabLabel = ({ children }) => (\n <Typography\n variant=\"body1\"\n sx={{ textTransform: \"capitalize\", fontWeight: \"600\" }}\n >\n {children}\n </Typography>\n);\n\nconst ProviderServices = () => {\n const theme = useTheme();\n\n const [data, setData] = useState([]);\n const [provider, setProvider] = useState([]);\n const [isLoadingServices, setIsLoadingServices] = useState(false);\n const [offset, setOffset] = useState(0);\n const [limit] = useState(10); // Set your desired limit\n const [hasLoadMoreServices, setHasLoadMoreServices] = useState(true);\n const [isProvierLoading, setProviderLoading] = useState(false);\n const location = useSelector((state) => state.Location);\n const params = useParams();\n const { partner_id } = params;\n const { company_name } = params;\n\n const [value, setValue] = React.useState(\"1\");\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n const loadProviderServices = async (currentOffset) => {\n try {\n const response = await api.allServices({\n partner_id: partner_id,\n company_name: company_name,\n latitude: location.lat,\n longitude: location.lng,\n offset: currentOffset.toString(),\n limit: limit.toString(),\n });\n setData((prevData) => [...prevData, ...response.data]);\n setHasLoadMoreServices(response?.data?.length === limit);\n setIsLoadingServices(true); // Assuming setIsLoading(false) is correct if data fetching is complete\n } catch (error) {\n setIsLoadingServices(true);\n console.error(\"Error fetching data:\", error);\n }\n }\n\n useEffect(() => {\n\n loadProviderServices(0)\n\n const fetchProviders = async () => {\n try {\n const response = await api.get_providers({\n latitude: location.lat,\n longitude: location.lng,\n id: partner_id\n });\n setProvider(response.data);\n setProviderLoading(true); // Assuming setProviderLoading(false) is correct if provider fetching is complete\n } catch (error) {\n console.error(\"Error fetching providers:\", error);\n setProviderLoading(true); // Ensure loading state is set to false in case of error\n }\n };\n\n // Call fetchProviders function\n fetchProviders();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [partner_id, company_name, location.lat, location.lng]);\n\n useEffect(() => {\n const company_name_main = process.env.REACT_APP_NAME;\n document.title = `${company_name} Services | ${company_name_main}`;\n }, [company_name]);\n\n const handleLoadMoreData = async () => {\n const newOffset = offset + limit;\n setOffset(newOffset);\n await loadProviderServices(newOffset);\n };\n\n return (\n <Layout>\n <>\n <Box sx={{}} paddingTop={\"0px\"} paddingBottom={\"44px\"} my={1}>\n <Container maxWidth=\"lg\" className=\"mainContainer\">\n <Breadcrumbs\n sx={{ paddingTop: \"30px\" }}\n separator=\"|\"\n aria-label=\"breadcrumb\"\n className=\"mt-2 mb-1\"\n >\n <Typography\n component={Link}\n to={\"/\"}\n className=\"breadcrumb\"\n sx={{\n color: theme.palette.color.breadcrum,\n }}\n >\n <strong>{t(\"home\")}</strong>\n </Typography>\n <Typography\n component={Link}\n to={\"/providers\"}\n className=\"breadcrumb\"\n sx={{\n color: theme.palette.color.breadcrum,\n }}\n >\n <strong>{t(\"Provider\")}</strong>\n </Typography>\n <Typography\n component={Link}\n to={\"/providers\"}\n className=\"breadcrumb\"\n sx={{\n color: theme.palette.color.breadcrum,\n }}\n >\n <strong> {t(\"provider_services\")}</strong>\n </Typography>\n </Breadcrumbs>\n {isProvierLoading ? (\n <>\n {provider.map((response) => {\n // if (response.partner_id === partner_id) {\n return (\n <Typography\n key={response.partner_id}\n variant=\"h4\"\n gutterBottom\n >\n <strong>{response.company_name}</strong>\n </Typography>\n );\n // }\n // return null;\n })}\n </>\n ) : (\n <Skeleton width={200} height={50} />\n )}\n </Container>\n </Box>\n <Container maxWidth=\"lg\" className=\"mainContainer\">\n <Grid container spacing={2} className=\"mainContainer\">\n <Grid item xs={12}>\n <Box>\n {isProvierLoading ? (\n <>\n {provider.map((response) => {\n // if (response.partner_id === partner_id) {\n const partnerID = response.partner_id;\n return (\n <ProviderCard\n key={partnerID}\n partnerID={partnerID}\n partner={response}\n provider={provider}\n isProvierLoading={isProvierLoading}\n />\n );\n // }\n // return null;\n })}\n </>\n ) : (\n <Box display={\"flex\"} flexDirection={\"column\"} gap={3}>\n <Skeleton variant=\"rectangular\" height={\"288px\"} />\n <Skeleton variant=\"rectangular\" height={\"50px\"} />\n <Skeleton variant=\"rectangular\" height={\"800px\"} />\n <Skeleton variant=\"rectangular\" height={\"500px\"} />\n </Box>\n )}\n </Box>\n </Grid>\n </Grid>\n </Container>\n\n <Container maxWidth=\"lg\" className=\"mainContainer\">\n <Grid container spacing={2} sx={{ borderRadius: \"10px\" }}>\n <Grid item xs={12}>\n <Box sx={{ mt: 2 }}>\n <TabContext value={value}>\n <Box sx={{ borderBottom: 1, borderColor: \"divider\" }}>\n <TabList\n onChange={handleChange}\n aria-label=\"lab API tabs example\"\n className=\"provider-tab\"\n >\n <Tab\n value=\"1\"\n label={\n <CustomTabLabel sx={{ fontWeight: \"bold\" }}>\n {t(\"services\")}\n </CustomTabLabel>\n }\n />\n <Tab\n value=\"2\"\n label={<CustomTabLabel>{t(\"reviews\")}</CustomTabLabel>}\n />\n <Tab\n value=\"3\"\n label={\n <CustomTabLabel>{t(\"promocodes\")}</CustomTabLabel>\n }\n />\n <Tab\n value=\"4\"\n label={<CustomTabLabel>{t(\"about_us\")}</CustomTabLabel>}\n />\n </TabList>\n </Box>\n\n <TabPanel\n value=\"1\"\n sx={{\n px: 0,\n py: 0,\n // paddingBottom: \"1.5em\",\n background: theme.palette.background.box,\n marginTop: 2,\n mb: 2,\n borderRadius: \"10px\",\n }}\n >\n <Typography variant=\"h5\" fontWeight={\"bold\"} py={2} px={4}>\n {t(\"our_services\")}\n </Typography>\n\n <Divider />\n <Box mt={1} px={3}>\n {isLoadingServices ? (\n data && data?.length === 0 ? (\n <>\n <Box\n maxWidth={\"100%\"}\n maxHeight={\"100%\"}\n alignItems={\"center\"}\n textAlign={\"center\"}\n >\n <img\n src={noServiceImage}\n style={{ maxWidth: \"100%\" }}\n width={\"400\"}\n alt=\"no service\"\n onError={placeholderImage}\n />\n </Box>\n <Box alignItems={\"center\"} textAlign={\"center\"}>\n <Typography>{t(\"no_service\")}</Typography>\n </Box>\n </>\n ) : (\n <Box>\n {data &&\n data.map((response) => (\n <ProviderService\n key={response.id}\n service={response}\n provider={provider}\n partner_id={partner_id}\n />\n ))}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n {hasLoadMoreServices && isLoadingServices && (\n <Button\n variant=\"contained\"\n disableElevation\n size=\"small\"\n onClick={handleLoadMoreData}\n sx={{\n margin: \"20px auto\"\n }}\n >\n {t(\"load_more\")}\n </Button>\n )}\n </Box>\n </Box>\n )\n ) : (\n <Box>\n <ServiceSkeleton />\n <ServiceSkeleton />\n <ServiceSkeleton />\n <ServiceSkeleton />\n <ServiceSkeleton />\n <ServiceSkeleton />\n </Box>\n )}\n </Box>\n </TabPanel>\n\n <TabPanel\n value=\"2\"\n sx={{\n borderRadius: \"10px\",\n mt: 2,\n }}\n >\n <ProviderDetails\n isProvierLoading={isProvierLoading}\n provider={provider}\n partner_id={partner_id}\n />\n </TabPanel>\n\n <TabPanel\n value=\"3\"\n sx={{\n //backgroundColor: \"#fff\",\n marginTop: \"0em\",\n width: \"100%\",\n p: { xs: 0, md: 3 },\n borderRadius: \"10px\",\n }}\n >\n <Promocodes partner_id={partner_id} />\n </TabPanel>\n\n <TabPanel\n value=\"4\"\n sx={{\n p: 2,\n pr: 1,\n borderRadius: \"10px\",\n mt: 2,\n }}\n >\n <Box>\n {isProvierLoading &&\n provider.map((response, index) => {\n // if (response.partner_id === partner_id) {\n // Store the desired response object in a variable\n const selectedProviderResponse = response;\n return (\n <AboutUs\n key={index}\n data={selectedProviderResponse}\n />\n );\n // }\n // return null;\n })}\n </Box>\n </TabPanel>\n </TabContext>\n </Box>\n </Grid>\n </Grid>\n </Container>\n </>\n </Layout>\n );\n};\n\nexport default ProviderServices;\n","import React, { useState } from \"react\";\nimport Modal from \"react-modal\";\nimport CustomVideoModal from \"./CustomVideoModal\";\nimport { UrlType, getUrlType, placeholderImage } from \"../../util/Helper\";\nimport CustomLightBox from \"./CustomLightBox\";\n\nModal.setAppElement(\"#root\"); // Important for accessibility\n\nconst UrlTypeComponent = ({ urls }) => {\n const [isLightboxOpen, setIsLightboxOpen] = useState(false);\n const [lightboxIndex, setLightboxIndex] = useState(0);\n const [isVideoModalOpen, setIsVideoModalOpen] = useState(false);\n const [videoUrl, setVideoUrl] = useState(\"\");\n\n const handleClick = (url, type, index) => {\n try {\n if (type === UrlType.IMAGE) {\n setLightboxIndex(index);\n setIsLightboxOpen(true);\n } else if (type === UrlType.VIDEO) {\n setVideoUrl(url);\n setIsVideoModalOpen(true);\n }\n } catch (error) {\n console.error(\"Error handling click:\", error);\n }\n };\n\n const renderUrls = () => {\n try {\n return urls.map((url, index) => {\n const type = getUrlType(url);\n return (\n <div key={index} onClick={() => handleClick(url, type, index)} className=\"parent_div\">\n {type === UrlType.IMAGE ? (\n <img\n src={url}\n alt=\"work evidence\"\n onError={placeholderImage}\n />\n ) : (\n <video className=\"video_data\" src={url} />\n )}\n </div>\n );\n });\n } catch (error) {\n console.error(\"Error rendering URLs:\", error);\n return null;\n }\n };\n\n const images = urls\n ?.filter((url) => getUrlType(url) === UrlType.IMAGE)\n ?.map((url) => ({ src: url }));\n\n const gotoPrevious = () => {\n // Calculate the previous index\n const newIndex = (lightboxIndex + images?.length - 1) % images?.length;\n setLightboxIndex(newIndex);\n };\n\n const gotoNext = () =>\n setLightboxIndex((prevIndex) => (prevIndex + 1) % images?.length);\n\n return (\n <div className=\"main-lightbox\">\n <div className=\"all-images\">{renderUrls()}</div>\n\n {isLightboxOpen && (\n <>\n <CustomLightBox lightboxOpen={isLightboxOpen} currentImages={images} currentImageIndex={lightboxIndex} handleCloseLightbox={() => setIsLightboxOpen(false)} gotoNext={gotoNext} gotoPrevious={gotoPrevious} />\n </>\n )}\n {isVideoModalOpen && (\n <CustomVideoModal\n isOpen={isVideoModalOpen}\n videoUrl={videoUrl}\n onClose={() => setIsVideoModalOpen(false)}\n />\n )}\n </div>\n );\n};\n\nexport default UrlTypeComponent;\n","// CustomVideoModal.js\nimport Hls from \"hls.js\";\nimport { t } from \"i18next\";\nimport React, { useEffect, useRef } from \"react\";\nimport { FaTimes } from \"react-icons/fa\";\nimport Modal from \"react-modal\";\n\nconst CustomVideoModal = ({ isOpen, videoUrl, onClose }) => {\n const videoRef = useRef(null);\n useEffect(() => {\n if (isOpen && videoRef.current) {\n const video = videoRef.current;\n\n if (Hls.isSupported()) {\n const hls = new Hls();\n hls.loadSource(videoUrl);\n hls.attachMedia(video);\n hls.on(Hls.Events.MANIFEST_PARSED, () => {\n video.play();\n });\n } else if (video.canPlayType('application/vnd.apple.mpegurl')) {\n // For browsers that support HLS natively (like Safari)\n video.src = videoUrl;\n video.addEventListener('loadedmetadata', () => {\n video.play();\n });\n }\n }\n }, [isOpen, videoUrl]);\n\n return (\n <Modal isOpen={isOpen} onRequestClose={onClose} contentLabel=\"Video Modal\">\n <div className=\"video_parent\">\n <video ref={videoRef} controls className=\"video_controls\">\n <source src={videoUrl} type=\"video/mp4\" />\n <source src={videoUrl} type=\"video/webm\" />\n <source src={videoUrl} type=\"video/ogg\" />\n <source src={videoUrl} type=\"video/3gpp\" />\n <source src={videoUrl} type=\"video/x-msvideo\" />\n <source src={videoUrl} type=\"video/x-matroska\" />\n <source src={videoUrl} type=\"video/quicktime\" />\n <source src={videoUrl} type=\"video/x-flv\" />\n {t(\"browser_not_support_tag\")}\n </video>\n <button onClick={onClose} className=\"close_button\">\n {\" \"}\n <FaTimes />\n </button>\n </div>\n </Modal>\n );\n};\n\nexport default CustomVideoModal;\n"],"names":["Modal","_ref","_urls$filter","urls","setLightBoxState","isLightboxOpen","setIsLightboxOpen","useState","lightboxIndex","setLightboxIndex","isVideoModalOpen","setIsVideoModalOpen","videoUrl","setVideoUrl","images","filter","url","getUrlType","UrlType","IMAGE","map","src","_jsxs","className","children","_jsx","renderUrls","index","type","onClick","handleClick","VIDEO","error","console","alt","onError","placeholderImage","_Fragment","CustomLightBox","lightboxOpen","currentImages","currentImageIndex","handleCloseLightbox","lightBoxClose","gotoNext","prevIndex","length","gotoPrevious","newIndex","CustomVideoModal","isOpen","onClose","_useSelector","_cart$base_cart","_useSelector2","_settings$app_setting","_theme$palette","_theme$palette$primar","_theme$palette2","_theme$palette2$prima","_theme$palette3","_theme$palette3$prima","_cart$base_cart4","_cart$base_cart4$data","_theme$palette4","_theme$palette4$prima","_cart$base_cart5","_cart$base_cart6","_cart$base_cart7","_cart$base_cart7$data","_theme$palette5","_theme$palette5$prima","_cart$base_cart8","_cart$base_cart9","_service$long_descrip","_service$other_images","_service$other_images2","_service$files","_service$faqs","service","provider","partner_id","isAvailableAtLocation","setisAvailableAtLocation","lightboxState","loading","setLoading","offset","setOffset","particularServiceRatingData","setParticularServiceRatingData","limit","hasLoadMore","setHasLoadMore","useEffect","foundObject","find","response","is_Available_at_location","authentication","useSelector","state","isLoggedIn","theme","useTheme","cart","dispatch","useDispatch","storedCartData","JSON","stringify","base_cart","data","loadResponse","setLoadResponse","params","useParams","company_name","document","title","removePromo","setPromoCode","handleAddCart","async","id","qty","handleCustomJob","addCustomJobReqData","api","ManageCart","toString","updateBaseCart","message","capilaizeString","toast","success","log","handleOpen","partnerNotAvailable","handleIncrement","_cart$base_cart2","item","parse","service_id","forEach","obj","quantity","parseInt","servic_details","max_quantity_allowed","handleDecrement","_cart$base_cart3","settings","Settings","currency_symbol","app_settings","currency","handleDelete","removeCart","itemId","then","result","catch","modalOpen","setModalOpen","handleModalOpen","e","preventDefault","loadReviews","currentOffset","_response$data","getRating","user_id","prevReviews","handleModalClose","setModalOpen2","modalOpen2","expanded","setExpanded","ratings","ratingCount","rating_5","rating_4","rating_3","rating_2","rating_1","totalRatingsSum","reduce","a","b","Box","mt","Card","sx","background","palette","box","boxShadow","ButtonBase","image_of_the_service","CardContent","padding","display","textAlign","justifyContent","Typography","color","primary","main","fontSize","cursor","fontWeight","mr","StarIcon","parseFloat","average_rating","toFixed","total_ratings","pt","wordBreak","overflow","textOverflow","WebkitLineClamp","WebkitBoxOrient","description","number_of_members_required","t","duration","alignItems","gap","price_with_tax","original_price_with_tax","CircularProgress","size","some","width","height","borderRadius","bgcolor","variant","IconButton","DeleteOutline","Button","float","px","py","borderColor","textTransform","Divider","marginTop","open","position","p","top","left","transform","xs","md","maxHeight","overflowY","m","right","zIndex","backgroundColor","CloseIcon","Grid","container","mb","component","fontFamily","lineHeight","letterSpacing","textColor","my","opacity","borderTop","long_description","html","DOMParser","parseFromString","body","textContent","other_images","flexWrap","row","marginBottom","slice","otherImage","marginRight","CardMedia","image","ImageOutlined","files","spacing","font","fileUrl","fileName","split","pop","fileNameWithoutExtension","replace","TextSnippetIcon","href","download","style","textDecoration","faqs","faq","Accordion","onChange","panel","event","isExpanded","border","AccordionSummary","expandIcon","NorthWest","NorthEastIcon","borderBottom","String","padStart","question","AccordionDetails","answer","mx","Array","_","i","Math","round","rating","flexGrow","profileNoBooking","review","_theme$palette6","_theme$palette6$prima","Avatar","user_name","profile_image","marginLeft","paddingTop","formatDistanceToNow","Date","rated_on","addSuffix","Rating","name","value","readOnly","comment","ParticularServicesLightBox","Skeleton","disableElevation","newOffset","sm","margin","overallRating","star1","star2","star3","star4","star5","noOfRating","partnerID","partner","rateTotal","setRateTotal","setLimit","setReview","_response$data2","maxWidth","pb","pl","orientation","RatingCard","overall","Number","UrlTypeComponent","handleLoadMore","prevOffset","_ref2","arrayOfRating","maxValue","max","ratingObjects","sort","flexDirection","alignContent","precision","gutterBottom","ml","rowGap","GradeIcon","LinearProgress","isProvierLoading","number_of_ratings","ProviderDetailedCard","setOpen","setIsOpen","Dialog","handleClose","DialogTitle","WhatsappIcon","xlinkTitle","fullStars","floor","hasHalfStar","emptyStars","fill","IoIosStar","IoIosStarHalf","IoIosStarOutline","jsx","_useSelector3","_theme$palette7","_theme$palette7$prima","isRtl","useIsRTL","navigate","useNavigate","marked","Bookmark","bookmark","locationData","Location","lat","lng","isPreBookingChatAvailable","general_settings","allow_pre_booking_chat","isMark","booked","setBooked","total","fetchRatingTotal","Container","pre_booking_chat","handleChat","getChatData","booking_id","partner_name","order_status","input","ChatIcon","navigator","clipboard","writeText","window","location","err","ShareTwoTone","ShareDialog","Checkbox","checked","icon","BookmarkBorderIcon","checkedIcon","BookmarkIcon","stopPropagation","formdata","FormData","append","setBookmark","x","undefined","newMark","updatedMarkedArray","handleBookmark","objectFit","banner_image","CheckCircleIcon","text","number_of_orders","secondary","isPromo","setIsPromo","isLoading","setIsloading","Promocode","fetchPromoCode","promo","promo_code","minimum_order_amount","max_discount_amount","dayjs","start_date","format","end_date","repeat_usage","no_of_repeat_usage","thickness","promoCode","flexItem","borderRight","bottom","discount","discount_type","PromoSkeleton","isSeeAllModalOpen","setIsSeeAllModalOpen","onRequestClose","contentLabel","FaTimes","_data$other_images","_htmlToText","LATITUDE","latitude","LONGITUDE","longitude","formatTime","timeStr","hours","minutes","htmlToText","isDayOpen","day","toLowerCase","about","AboutUsLightbox","NoImage","pr","xm","GoogleMapBox","onSelectLocation","apiKey","MAP_API","isLocationPass","locationlat","locationlng","FaLocationDot","address","CustomTabLabel","ProviderServices","setData","setProvider","isLoadingServices","setIsLoadingServices","hasLoadMoreServices","setHasLoadMoreServices","setProviderLoading","setValue","React","loadProviderServices","allServices","prevData","get_providers","fetchProviders","Layout","paddingBottom","Breadcrumbs","separator","Link","to","breadcrum","ProviderCard","TabContext","TabList","handleChange","newValue","Tab","label","TabPanel","noServiceImage","ProviderService","ServiceSkeleton","ProviderDetails","Promocodes","selectedProviderResponse","AboutUs","videoRef","useRef","current","video","Hls","hls","loadSource","attachMedia","on","MANIFEST_PARSED","play","canPlayType","addEventListener","ref","controls"],"sourceRoot":""}