{"version":3,"file":"static/js/5937.b4df0682.chunk.js","mappings":"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","sources":["components/NavBreadcrumbs.js","functions/PageMetadataFunctions.js","functions/SpecialityFunctions.js","views/menu/FoodAllergyQuestion.js","views/menu/MenuHeaderMoreInformationModal.js","views/menu/MenuRhsBasketLines.js","views/menu/ControlEstablishmentDescription.js","views/menu/unregistered/MenuHeaderMap.js","views/menu/unregistered/MenuUnregistered.js","views/menu/MenuHeader.js","views/menu/MenuRhsBasketDeliveryFeeLine.js","views/menu/MenuRhsBasket.js","views/menu/ReusableMenu.js","views/menu/ReusableMenuImports.js","views/shared/SwitchBetweenSubscriptions.js"],"sourcesContent":["import React from \"react\"\r\n\r\nimport {Breadcrumbs, Link, Typography} from \"@mui/material\";\r\n\r\n\r\nexport default function NavBreadcrumbs({noMargin, textOnly, level2Url, level2Name, level3Name}) {\r\n\r\n return (\r\n
\r\n \r\n Home \r\n {\r\n level2Name && level2Url &&\r\n {level2Name} \r\n }\r\n {level3Name}\r\n \r\n
\r\n )\r\n}\r\n","import {\r\n ServiceEnumSubscription,\r\n ServiceEnumTableBooking,\r\n ServiceEnumSingleOrder,\r\n EstablishmentUnregistered\r\n} from \"./GeneralFunctions\";\r\n\r\nexport const BRAND_NAME = \"Menu\"\r\n\r\nexport function updateMenuPage(establishment) {\r\n if (establishment.activeStatus === EstablishmentUnregistered) {\r\n updateUnregisteredMenuHeadings(establishment)\r\n } else {\r\n updateRegisteredMenuHeadings(establishment)\r\n }\r\n}\r\n\r\nfunction updateUnregisteredMenuHeadings(establishment) {\r\n let title = establishment.name\r\n let description = establishment.name\r\n if (establishment.localAreaName) {\r\n title += \" in \" + establishment.localAreaName\r\n description += \" in \" + establishment.localAreaName\r\n }\r\n\r\n if (establishment.offlineMenuImages && establishment.offlineMenuImages.length > 0) {\r\n title += \" - View Offline Menu\"\r\n description += \". You can view a picture of the \"+establishment.name+\" Menu. Owner? Activate the \"+establishment.name+\" Menu for free and start receiving orders.\"\r\n } else {\r\n title += \" (Unregistered)\"\r\n description += \" is not yet registered. Owner? Activate now and start receiving orders. Customer? Leave a review or upload a picture of the \"+establishment.name+\" Menu.\"\r\n }\r\n updatePageHeadings(title, description)\r\n}\r\n\r\nfunction updateRegisteredMenuHeadings(establishment) {\r\n let servicesTitleString = \"\"\r\n if (establishment.servicesOffered.includes(ServiceEnumSingleOrder)) {\r\n if (establishment.servicesOffered.includes(ServiceEnumTableBooking)) {\r\n servicesTitleString = \"order a takeaway or book a table and dine in\"\r\n } else if (establishment.servicesOffered.includes(ServiceEnumSubscription)) {\r\n servicesTitleString = \"order a takeaway or schedule repeat deliveries\"\r\n } else {\r\n servicesTitleString = \"order a takeaway of your favourite food\"\r\n }\r\n } else if (establishment.servicesOffered.includes(ServiceEnumTableBooking)) {\r\n servicesTitleString = \"book a table and eat-in\"\r\n } else if (establishment.servicesOffered.includes(ServiceEnumSubscription)) {\r\n servicesTitleString = \"schedule regular deliveries of your choice of Food\"\r\n }\r\n\r\n const title = establishment.name + \" in \" + establishment.localAreaName + \" \" + servicesTitleString + \" \" + BRAND_NAME\r\n const description = establishment.name + \" - \" + servicesTitleString + \" in \" + establishment.localAreaName+\". \"+establishment.modifiableDetails.shortDescription\r\n\r\n updatePageHeadings(title, description)\r\n}\r\n\r\nexport const updatePageHeadings = (title, description) => {\r\n document.title = title\r\n document.getElementsByTagName('meta').namedItem('description').setAttribute('content', description)\r\n}\r\n\r\n","\r\n//THIS MUST MATCH SERVER SIDE\r\nexport const specialities = [\r\n {enumName: \"Chinese\", name: \"Chinese\", long:\"Chinese cuisine\"},\r\n {enumName: \"Indian\", name: \"Indian\", long:\"Indian cuisine\"},\r\n {enumName: \"Bangladeshi\", name:\"Bangladeshi\", long:\"Bangladeshi cuisine\"},\r\n {enumName: \"Pakistani\", name:\"Pakistani\", long:\"Pakistani cuisine\"},\r\n {enumName: \"Pizza\", name: \"Pizza\", long:\"Pizza\"},\r\n {enumName: \"Seafood\", name:\"Seafood\", long:\"Seafood\"},\r\n {enumName: \"Burger\", name:\"Burger\", long:\"Burgers\"},\r\n {enumName: \"Greek\", name:\"Greek\", long:\"Greek cuisine\"},\r\n {enumName: \"Desserts\", name:\"Desserts\", long:\"Desserts\"},\r\n {enumName: \"Asian\", name:\"Asian\", long:\"Asian cuisine\"},\r\n {enumName: \"Bakery\", name:\"Bakery\", long:\"Baked goods\"},\r\n {enumName: \"FreshMeat\", name:\"Fresh Meat\", long:\"Fresh Meat\"}\r\n]\r\n\r\nexport const convertSpecialityEnumToPretty = (enumName) => specialities.filter(tag => tag.enumName === enumName)[0].name\r\nexport const convertSpecialityEnumToLongPretty = (enumName) => specialities.filter(tag => tag.enumName === enumName)[0].long\r\n\r\n","import {\r\n Button,\r\n ClickAwayListener,\r\n Popper,\r\n} from \"@mui/material\";\r\nimport React, {Fragment} from \"react\";\r\n\r\nexport default function FoodAllergyQuestion({establishment}) {\r\n\r\n const [allergyHelpAnchorEl, setAllergyHelpAnchorEl] = React.useState(null)\r\n\r\n return (\r\n \r\n \r\n \r\n {/*TODO R2: improve the experience for allergies*/}\r\n setAllergyHelpAnchorEl(null)}>\r\n
Before ordering you must call and speak to {establishment.name} on {establishment.modifiableDetails.telephoneNumber} and confirm that the restaurant is able to facilitate the order with due consideration to the allergy details.
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from \"react\"\r\nimport Grid from '@mui/material/Grid'\r\nimport Button from '@mui/material/Button'\r\nimport CustomSmallModal from \"../../layouts/CustomSmallModal\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport {Circle} from \"@mui/icons-material\";\r\nimport {Tooltip} from \"@mui/material\";\r\n\r\nexport const MAPBOX_TOKEN = \"pk.eyJ1IjoiZHNvdXRoYWxsIiwiYSI6ImNrdzJiZTZmcTFka3oybm50aTl2c25wMzAifQ.inxqhQHAyktX1IuadnxLRw\"\r\n\r\nexport default function MenuHeaderMoreInformationModal({menuConfig, triggerRender}) {\r\n\r\n const establishment = menuConfig.establishment\r\n const latitude = establishment.location?.latitude\r\n const longitude = establishment.location?.longitude\r\n const height = 200\r\n const width = window.innerWidth < 600 ? (window.innerWidth-16) : 560\r\n\r\n const foodRatingImgUrl = () => {\r\n if (establishment.foodStandardsData.ratingValue === null)\r\n return \"url('/static/food-hygiene/awaiting.png')\"\r\n switch(establishment.foodStandardsData.ratingValue) {\r\n case 0: return \"url('/static/food-hygiene/zeroRating.png')\"\r\n case 1: return \"url('/static/food-hygiene/oneRating.png')\"\r\n case 2: return \"url('/static/food-hygiene/twoRating.png')\"\r\n case 3: return \"url('/static/food-hygiene/threeRating.png')\"\r\n case 4: return \"url('/static/food-hygiene/fourRating.png')\"\r\n case 5: return \"url('/static/food-hygiene/fiveRating.png')\"\r\n default: return \"\"\r\n }\r\n }\r\n\r\n function setModalOpen(o) {\r\n menuConfig.moreInfoModalOpen=o\r\n triggerRender()\r\n }\r\n\r\n return (\r\n \r\n
\r\n {\r\n longitude && latitude && \r\n }\r\n
\r\n \r\n \r\n Services offered through Menu\r\n
    \r\n Delivery of Takeaways
    \r\n Takeaway Collection
    \r\n Delivery of Repeat Orders
    \r\n Repeat Orders for Collection
    \r\n Table Bookings
    \r\n Pre-ordering Meals
    \r\n
\r\n
\r\n \r\n Accepted payment methods\r\n
    \r\n Online Card Payments
    \r\n Payment on Delivery / Collection
    \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n } />\r\n )\r\n}\r\n","import {\r\n Grid,\r\n} from \"@mui/material\";\r\nimport React, {Fragment} from \"react\";\r\nimport {DeleteForever} from \"@mui/icons-material\";\r\nimport {red} from \"@mui/material/colors\";\r\nimport * as GeneralFunctions from \"../../functions/GeneralFunctions\";\r\nimport {calculateLinePrice} from \"../../functions/OrderCalculationFunctions\";\r\n\r\nexport default function MenuRhsBasketLines({basket, removeFromBasket}) {\r\n\r\n return (\r\n\r\n basket.lines.map((basketLine, index) =>\r\n \r\n removeFromBasket(basketLine)}/>\r\n {\r\n //TODO R2: make this open the item modal so that the current item can be modified.\r\n // const itemAndCategory = fetchItemAndCategory(basketLine.menuId, basketLine.categoryId, basketLine.itemId)\r\n // setSelectedMenuItem(itemAndCategory.item)\r\n // setSelectedMenuItemsCategory(itemAndCategory.category)\r\n // setMenuItemModalOpen(true)\r\n }}>\r\n {basketLine.quantity} x {basketLine.itemName}\r\n \r\n {GeneralFunctions.convertDecimalToGbp(calculateLinePrice(basketLine))}\r\n \r\n
\r\n {basketLine.requiredChoices.map(choice =>
{choice.name}: {choice.selection.name} {GeneralFunctions.convertDecimalToGbpStringInBrackets(choice.selection.price)}
)}\r\n {basketLine.removeParts.map(part =>
- {part.name}
)}\r\n {basketLine.addParts.map(part =>
+ {part.name + \" \" + GeneralFunctions.convertDecimalToGbpStringInBrackets(part.price)}
)}\r\n
\r\n
\r\n
\r\n )\r\n )\r\n}\r\n","import React from \"react\";\r\nimport {Grid} from \"@mui/material\";\r\n\r\nexport default function ControlEstablishmentDescription({establishment}) {\r\n\r\n const sections = establishment.modifiableDetails.shortDescription.split(\"#\")\r\n\r\n function renderSection(section) {\r\n\r\n const parts = section.split(\"\\n\")\r\n const heading = parts[0]\r\n let body = parts[1]\r\n if (!body)\r\n body = parts[2]\r\n if (!body)\r\n body = parts[3]\r\n\r\n if (!heading || !body)\r\n return\r\n\r\n\r\n // const isHeading = section.includes(\"\\n\")\r\n return \r\n
\r\n {/*
{section}
*/}\r\n
{heading}
\r\n
{body}
\r\n
\r\n
\r\n }\r\n\r\n return (\r\n \r\n { sections.map(s => renderSection(s)) }\r\n \r\n )\r\n}\r\n","import React, {useState} from \"react\"\r\n\r\nimport {useMediaQuery} from \"@mui/material\"\r\nimport {\r\n convertBusinessTypeEnumToPretty, numberToWord,\r\n} from \"../../../functions/GeneralFunctions\";\r\nimport {MAPBOX_TOKEN} from \"../MenuHeaderMoreInformationModal\";\r\nimport Button from \"@mui/material/Button\";\r\nimport {BRAND_NAME} from \"../../../functions/PageMetadataFunctions\";\r\nimport {convertServerDateToShortPrettyDateOrTodayString} from \"../../../functions/DateFunctions\";\r\nimport {convertSpecialityEnumToLongPretty, convertSpecialityEnumToPretty} from \"../../../functions/SpecialityFunctions\";\r\nimport RegisterEstablishmentModal from \"../../modals/registerEstablishment/RegisterEstablishmentModal\";\r\nimport ControlEstablishmentDescription from \"../ControlEstablishmentDescription\";\r\nimport {dangerColor} from \"../../../assets/jss/material-dashboard-react\";\r\n\r\nfunction MenuHeaderMapInternal({establishment}) {\r\n\r\n const [registrationModalOpen, setRegistrationModalOpen] = useState(false)\r\n\r\n\r\n const isSmDownScreen = useMediaQuery(theme => theme.breakpoints.down(\"sm\"))\r\n const isLgDownScreen = useMediaQuery(theme => theme.breakpoints.down(\"lg\"))\r\n\r\n const latitude = establishment.location?.latitude\r\n const longitude = establishment.location?.longitude\r\n const mapWidth = isSmDownScreen ? 280 : isLgDownScreen ? 350 : 600\r\n const mapHeight = 150\r\n\r\n // alert(JSON.stringify(establishment.foodStandardsData))\r\n let confidenceInManagementLine = establishment.foodStandardsData.ratingDate && \"This inspection (from \"+convertServerDateToShortPrettyDateOrTodayString(establishment.foodStandardsData.ratingDate)+\") means that \" + establishment.name + \" \" + convertFoodHygieneToDescription(establishment.foodStandardsData.ratingValue) +\".\"\r\n if (establishment.foodStandardsData.confidenceInManagement != null)\r\n confidenceInManagementLine += \" The inspection also provided a confidence in the management rating of \"+ numberToWord(establishment.foodStandardsData.confidenceInManagement)+\". \"\r\n function convertFoodHygieneToDescription(ratingValue) {\r\n switch (ratingValue) {\r\n case 0: return \"drastically requires improvement\"\r\n case 1: return \"requires major improvement\"\r\n case 2: return \"requires improvement\"\r\n case 3: return \"is generally satisfactory\"\r\n case 4: return \"is generally good\"\r\n case 5: return \"is very good\"\r\n default: return \"is not current available\"\r\n }\r\n }\r\n\r\n function specialitiesString() {\r\n if (!establishment.specialities || establishment.specialities.length === 0) {\r\n return\r\n } else if (establishment.specialities.length === 1) {\r\n return
{establishment.name} specialises in {convertSpecialityEnumToLongPretty(establishment.specialities[0])}.
\r\n } else {\r\n let s = establishment.specialities.map(s => convertSpecialityEnumToPretty(s)).join(\", \")\r\n const index = s.lastIndexOf(\",\")\r\n return
{establishment.name}'s speciality cuisines include {s.substring(0, index) + \" and\" + s.substring(index + 1)}.
\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

Unregistered Menu

\r\n
{establishment.name} has not yet registered their Menu
\r\n\r\n \r\n
Zero Setup Fees, Zero Monthly Fees, Zero Commission, Zero Fees*
\r\n
* Credit card fees apply (if you choose to accept credit card payments)
\r\n Example of how your Menu could look\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n {establishment.name} is a {convertBusinessTypeEnumToPretty(establishment.businessTypeEnum, true).toLowerCase()} {establishment.districtRef && in {establishment.districtRef}} ({establishment.localAreaName}, {establishment.regionName}) with a {establishment.foodStandardsData.ratingValue ? \"perfect \" : \"\"}{establishment.foodStandardsData.ratingValue ? numberToWord(establishment.foodStandardsData.ratingValue) + \" out of five\" : \"currently unknown (awaiting inspection)\"} food hygiene rating. {confidenceInManagementLine} Although {establishment.name} is not yet part of the {BRAND_NAME} family, you can find reviews and nearby {convertBusinessTypeEnumToPretty(establishment.businessTypeEnum, false).toLowerCase()} below.\r\n
\r\n { specialitiesString() }\r\n \r\n {/*{ establishment.modifiableDetails.shortDescription &&
{establishment.modifiableDetails.shortDescription}
}*/}\r\n
\r\n {\r\n longitude && latitude &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n\r\n
\r\n
Are you a regular visitor to {establishment.name}? Please let them know that Menu is free to use and they can start receiving orders today!
\r\n \r\n
\r\n { registrationModalOpen && setRegistrationModalOpen(false)} /> }\r\n
\r\n )\r\n}\r\nexport default React.memo(MenuHeaderMapInternal)\r\n","import React, {Fragment, useContext, useEffect, useState} from \"react\"\r\n\r\nimport {Card, CircularProgress, Grid, Rating, Tooltip, useMediaQuery} from \"@mui/material\"\r\nimport {\r\n convert2dpOrNull,\r\n convertBusinessTypeEnumToPretty, loadEstablishment, makeFetch, numberToWord,\r\n} from \"../../../functions/GeneralFunctions\";\r\nimport {styled} from \"@mui/material/styles\";\r\nimport Button from \"@mui/material/Button\";\r\nimport {BRAND_NAME} from \"../../../functions/PageMetadataFunctions\";\r\nimport {\r\n convertServerDateToShortPrettyDateOrTodayString,\r\n convertServerLocalDateTimeToSimpleDateTime\r\n} from \"../../../functions/DateFunctions\";\r\nimport CardBody from \"../../../components/Card/CardBody\";\r\nimport GlobalState, {openBackdropSpinner} from \"../../../functions/GlobalStateFunctions\";\r\nimport * as GeneralFunctions from \"../../../functions/GeneralFunctions\";\r\nimport {GpsFixed} from \"@mui/icons-material\";\r\nimport MenuHeaderMap from \"./MenuHeaderMap\";\r\nimport { Suspense } from 'react';\r\nimport LoadingMessage from \"../../../components/LoadingMessage\";\r\n\r\nconst MenuReviewModal = React.lazy(() => import('../MenuReviewModal'))\r\nconst MenuUploadOfflineMenuModal = React.lazy(() => import('../MenuUploadOfflineMenuModal'))\r\n\r\nfunction updateEstablishments(setGlobalState, currentRef, allEstablishments, listToUpdate) {\r\n const similar = allEstablishments.filter (e => currentRef !== e.ref).splice(0,20)\r\n similar.forEach(e => {\r\n console.log(\"found similar:\"+e.ref)\r\n listToUpdate.push(e)\r\n })\r\n}\r\n\r\nfunction MenuUnregisteredInternal({currentUser, establishment}) {\r\n\r\n const [similarEstablishments, ] = useState([])\r\n const [similarOnlineEstablishments, ] = useState([])\r\n const [postReviewModalOpen, setPostReviewModalOpen] = useState(false)\r\n const [uploadOfflineMenuOpen, setUploadOfflineMenuOpen] = useState(false)\r\n const [reviewsContainer, setReviewsContainer] = useState(false)\r\n const [, setGlobalState] = useContext(GlobalState)\r\n\r\n const isSmDownScreen = useMediaQuery(theme => theme.breakpoints.down(\"sm\"))\r\n\r\n const ReviewRating = styled(Rating)({\r\n '& .MuiRating-icon': {\r\n color: '#FFD700',\r\n fontSize: \"1.3rem\"\r\n },\r\n })\r\n\r\n const ActiveRating = styled(Rating)({\r\n '& .MuiRating-icon': {\r\n color: '#FFD700',\r\n fontSize: isSmDownScreen ? \"1.5rem\" : \"2.2rem\"\r\n },\r\n })\r\n const DeactivatedRating = styled(Rating)({\r\n '& .MuiRating-icon': {\r\n color: 'grey',\r\n fontSize: isSmDownScreen ? \"1.5rem\" : \"2.2rem\"\r\n },\r\n })\r\n\r\n useEffect(() => {\r\n if (establishment && establishment.ref)\r\n makeFetch(setGlobalState, \"/api/fetch-reviews?establishmentId=\"+establishment.id, result => { setReviewsContainer(result) } )\r\n }, [setGlobalState, establishment])\r\n\r\n useEffect(() => {\r\n //TODO R2: filterActive should eventually be true\r\n //TODO R2: also can be more efficient by only pulling relevant info from the server\r\n //TODO R2: could order these by distance\r\n if (establishment.districtRef) { //online only establishments dont always have a district specified (this is often before an establishment has its full details uploaded to the food standards)\r\n makeFetch(setGlobalState, '/api/relevant-establishments-full?postcodeDistrictRef='+establishment.districtRef+'&businessTypeEnum='+establishment.businessTypeEnum+'&filterActive=false', allEstablishments => {\r\n updateEstablishments(setGlobalState, establishment.ref, allEstablishments, similarEstablishments)\r\n })\r\n } else if (establishment.regionName) {\r\n makeFetch(setGlobalState, '/api/online-establishments-full?regionName='+establishment.regionName+'&businessTypeEnum='+establishment.businessTypeEnum, allEstablishments => {\r\n updateEstablishments(setGlobalState, establishment.ref, allEstablishments, similarOnlineEstablishments)\r\n })\r\n }\r\n }, [setGlobalState, establishment, similarEstablishments, similarOnlineEstablishments])\r\n\r\n\r\n\r\n function convertFoodHygieneToDescription(ratingValue) {\r\n switch (ratingValue) {\r\n case 0: return \"drastically requires improvement\"\r\n case 1: return \"requires major improvement\"\r\n case 2: return \"requires improvement\"\r\n case 3: return \"is generally satisfactory\"\r\n case 4: return \"is generally good\"\r\n case 5: return \"is very good\"\r\n default: return \"is not current available\"\r\n }\r\n }\r\n\r\n function navigateToPage(url) {\r\n openBackdropSpinner(setGlobalState)\r\n window.location.href=url\r\n }\r\n\r\n function buildOfflineImageText(establishment, imgIndex) {\r\n let coreText = establishment.name + \" offline menu\"\r\n if (establishment.offlineMenuImages.length > 1)\r\n coreText += \" \" + (imgIndex + 1) + \" of \" + establishment.offlineMenuImages.length\r\n return coreText\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n Our Rating\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Hygiene\r\n
\r\n {\r\n establishment.foodStandardsData.ratingDate\r\n ? \r\n
\r\n
\r\n : \r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n \r\n {\r\n similarEstablishments.length === 0 && similarOnlineEstablishments.length === 0 &&\r\n
\r\n There are no similar {convertBusinessTypeEnumToPretty(establishment.businessTypeEnum, false).toLowerCase()} nearby in {establishment.regionName}{establishment.districtRef && {establishment.districtRef}}.\r\n
\r\n\r\n }\r\n {\r\n similarEstablishments.length > 0 &&\r\n
\r\n

Other {convertBusinessTypeEnumToPretty(establishment.businessTypeEnum, false)} Nearby

\r\n
\r\n {\r\n similarEstablishments.map(e =>\r\n navigateToPage(e.ref)}>\r\n \r\n

{e.name}

\r\n {\r\n e.location && \r\n
{e.location.fullAddress}
\r\n
\r\n {convert2dpOrNull(GeneralFunctions.calcDistanceBetweenInKm(establishment.location.latitude, establishment.location.longitude, e.location.latitude, e.location.longitude))}km from {establishment.name}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n
\r\n
\r\n }\r\n {\r\n similarOnlineEstablishments.length > 0 &&\r\n
\r\n

Other Online {convertBusinessTypeEnumToPretty(establishment.businessTypeEnum, false)} Nearby

\r\n
\r\n {\r\n similarOnlineEstablishments.map(e =>\r\n navigateToPage(e.ref)}>\r\n \r\n

{e.name}

\r\n
{e.localAreaName}
\r\n
\r\n
\r\n )\r\n }\r\n
\r\n
\r\n }\r\n
\r\n

Menu

\r\n {\r\n establishment.offlineMenuImages.length === 0\r\n ?
This Menu is awaiting activation. However, in the meantime you can upload an offline Menu, to help other visitors order.
\r\n : establishment.offlineMenuImages.map( (img, imgIndex) =>\r\n
\r\n {buildOfflineImageText(establishment, window.open(img.url)}\r\n />\r\n
\r\n )\r\n }\r\n \r\n {/* or let the owner know they can */}\r\n {/**/}\r\n {/* and start receiving orders immediately.*/}\r\n
\r\n
\r\n

Reviews

\r\n {\r\n // JSON.stringify(establishment.reviews)\r\n !reviewsContainer\r\n ? \r\n : reviewsContainer.reviews.length === 0 ?
How was your experience at {establishment.name}?
\r\n : reviewsContainer.reviews.map( review =>\r\n
\r\n
\r\n \r\n Reviewed {convertServerLocalDateTimeToSimpleDateTime(review.createdDateTime, \"just now\")}\r\n
\r\n
{review.heading}
\r\n
{review.body}
\r\n
Date Visited: {review.dateOfVisit}
\r\n
\r\n )\r\n }\r\n
\r\n \r\n
\r\n
\r\n }>\r\n { postReviewModalOpen && }\r\n { uploadOfflineMenuOpen && }\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default React.memo(MenuUnregisteredInternal)\r\n","import React, {useContext} from \"react\"\r\nimport {Card, CardContent, Chip, IconButton, Tooltip, Typography} from \"@mui/material\"\r\nimport {bestGlobalDiscountToday} from \"../../functions/DiscountFunctions\";\r\nimport Tabs from \"@mui/material/Tabs\";\r\nimport Tab from \"@mui/material/Tab\";\r\n\r\nimport {styled} from '@mui/material/styles'\r\nimport {\r\n HistoryOutlined,\r\n InfoOutlined,\r\n} from \"@mui/icons-material\";\r\nimport GlobalState, {openReservationsModal} from \"../../functions/GlobalStateFunctions\";\r\nimport {\r\n EstablishmentUnregistered,\r\n ServiceEnumSingleOrder, ServiceEnumSubscription, ServiceEnumTableBooking,\r\n serviceEnumToSelectedHeaderEnum\r\n} from \"../../functions/GeneralFunctions\";\r\n\r\n//TODO R2: When more pages are live, make them faster by making the unregistered pages lazy loading\r\nimport MenuUnregistered from \"./unregistered/MenuUnregistered\";\r\nimport {setServiceEnum} from \"../../functions/BasketFunctions\";\r\nimport ControlEstablishmentDescription from \"./ControlEstablishmentDescription\";\r\n\r\nexport default function MenuHeader({currentUser, menuConfig, triggerRender}) {\r\n\r\n const [, setGlobalState] = useContext(GlobalState)\r\n\r\n const establishment = menuConfig.establishment\r\n const basket = menuConfig.basket\r\n\r\n function openMoreInfoModal() {\r\n menuConfig.moreInfoModalOpen = true\r\n triggerRender()\r\n }\r\n\r\n const StyledDiscountCorner = styled('div')({\r\n width: 0,\r\n height: 0,\r\n borderTop: \"90px solid #ffcc00\",\r\n borderBottom: \"90px solid transparent\",\r\n borderRight: \"90px solid transparent\",\r\n \"& .maintext\": {\r\n // fontFamily: \"Google Sans\",\r\n // border:\"black solid thin\",\r\n fontSize: \"normal\",\r\n position:\"absolute\",\r\n top: \"16px\",\r\n width: \"100px\",\r\n left: \"-23px\",\r\n textAlign: \"center\",\r\n transform: \"rotate(-45deg)\",\r\n display:\"block\"\r\n },\r\n \"& .subtext\": {\r\n fontSize: \"xx-small\",\r\n position:\"absolute\",\r\n top: \"28px\",\r\n width: \"100px\",\r\n left: \"-13px\",\r\n textAlign: \"center\",\r\n transform: \"rotate(-45deg)\",\r\n display:\"block\"\r\n }\r\n })\r\n\r\n const establishmentLogoUrl = establishment.logo100x100 ? \"url('\" + establishment.logo100x100.url + \"')\" : null\r\n\r\n return (\r\n
\r\n {\r\n establishmentLogoUrl\r\n ? \r\n
\r\n \r\n :
\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n currentUser.isRegistered && (establishment.servicesOffered.includes(ServiceEnumSingleOrder)) &&\r\n \r\n openReservationsModal(setGlobalState)}>\r\n \r\n }\r\n {\r\n establishment.name && bestGlobalDiscountToday(establishment) &&\r\n
\r\n \r\n
{bestGlobalDiscountToday(establishment)}% off
\r\n
All Marked Prices
\r\n
\r\n
\r\n }\r\n {\r\n establishment.name &&\r\n \r\n

{ establishment.name }

\r\n
{ establishment.location ? establishment.location.fullAddress :\"Online Only\" }
\r\n {establishment.modifiableDetails.telephoneNumber &&
{establishment.modifiableDetails.telephoneNumber}
}\r\n\r\n
\r\n {\r\n establishment.activeStatus !== EstablishmentUnregistered && \r\n }\r\n
\r\n {\r\n establishment.activeStatus === EstablishmentUnregistered\r\n ? \r\n : establishment.activeStatus !== \"Active\"\r\n ?
Sorry, we are not currently taking orders
\r\n : menuConfig.closedMsg && {menuConfig.closedMsg}} color={\"error\"} variant={\"outlined\"}>\r\n }\r\n\r\n {/*{JSON.stringify(establishment.servicesOffered)}*/}\r\n {\r\n establishment.servicesOffered.includes(ServiceEnumTableBooking)\r\n && (establishment.servicesOffered.includes(ServiceEnumSingleOrder) || establishment.servicesOffered.includes(ServiceEnumSubscription))\r\n && basket && basket.serviceOfferingEnum &&\r\n \r\n { setServiceEnum(menuConfig, ServiceEnumSingleOrder); triggerRender() } }/>\r\n { setServiceEnum(menuConfig, ServiceEnumTableBooking); triggerRender() } }/>\r\n \r\n }\r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\n","import {Grid} from \"@mui/material\";\r\nimport React, {Fragment} from \"react\";\r\nimport * as GeneralFunctions from \"../../functions/GeneralFunctions\";\r\n\r\nexport default function MenuRhsBasketDeliveryFeeLine({ basket }) {\r\n\r\n return (\r\n \r\n {\r\n (typeof basket.additionalSpendForFreeDelivery === 'number') &&\r\n \r\n {/**/}\r\n {\r\n basket.additionalSpendForFreeDelivery <= 0.0\r\n // ? Qualifies for Free Delivery\r\n ? \r\n Delivery\r\n Free\r\n \r\n : Add { GeneralFunctions.convertDecimalToGbp(basket.additionalSpendForFreeDelivery) } for free delivery\r\n }\r\n\r\n \r\n }\r\n {\r\n basket.deliveryFee != null && !basket.requiresFeePerMileButNotAvailable &&\r\n\r\n \r\n Delivery\r\n \r\n { GeneralFunctions.convertDecimalToGbp( basket.deliveryFee ) }\r\n \r\n \r\n }\r\n {\r\n basket.requiresFeePerMileButNotAvailable &&\r\n \r\n Delivery\r\n \r\n £ / mile\r\n \r\n {/*
(sign-in to view delivery details here)
*/}\r\n
\r\n }\r\n
\r\n )\r\n}\r\n","import {\r\n Button, Chip,\r\n Divider,\r\n Grid,\r\n Hidden, IconButton, ListItemIcon, Menu, MenuItem,\r\n useMediaQuery\r\n} from \"@mui/material\";\r\nimport Paper from \"@mui/material/Paper\";\r\nimport React, {Fragment, useContext} from \"react\";\r\nimport {\r\n convertDecimalToGbp,\r\n} from \"../../functions/GeneralFunctions\";\r\nimport MenuRhsBasketDeliveryFeeLine from \"./MenuRhsBasketDeliveryFeeLine\";\r\nimport * as DiscountFunctions from \"../../functions/DiscountFunctions\";\r\nimport MenuRhsBasketLines from \"./MenuRhsBasketLines\";\r\nimport FoodAllergyQuestion from \"./FoodAllergyQuestion\";\r\nimport ControlCollectionOrDelivery from \"./ControlCollectionOrDelivery\";\r\nimport {\r\n cancelSubscription,\r\n createEmptyBasket,\r\n isBasketReadyToShowTotalAmount,\r\n isSubscriptionPaused,\r\n pauseSubscription, populateMenuConfigWithSubscriptionFromServer\r\n} from \"../../functions/MenuFunctions\";\r\nimport GlobalState from \"../../functions/GlobalStateFunctions\";\r\nimport {\r\n AddCircleOutline,\r\n DeleteOutline, Edit,\r\n MoreVert,\r\n Pause,\r\n ShoppingBasketOutlined\r\n} from \"@mui/icons-material\";\r\nimport {hasSingleOrderEnabled} from \"../../functions/ServiceFunctions\";\r\nimport SwitchBetweenSubscriptions from \"../shared/SwitchBetweenSubscriptions\";\r\nimport {convertFrequencyToPretty} from \"./checkout/MenuCheckoutBasket\";\r\nimport {calculateBillingDate} from \"../userOrdersAndBookings/UserSubscriptionsSection\";\r\nimport {\r\n convertToVeryShortPrettyDate,\r\n parseJsonDateTimeToDate,\r\n} from \"../../functions/DateFunctions\";\r\n\r\nexport default function MenuRhsBasket({setCurrentUser, currentUser, menuConfig, removeFromBasket, onCheckoutClick, revalueBasket, triggerRender}) {\r\n\r\n const establishment = menuConfig.establishment\r\n const basket = menuConfig.basket\r\n const deliverySelected = basket.deliverySelected\r\n\r\n const [, setGlobalState] = useContext(GlobalState)\r\n const [moreOptionsMenuAnchor, setMoreOptionsMenuAnchor] = React.useState(null)\r\n\r\n const isMdDownScreen = useMediaQuery(theme => theme.breakpoints.down(\"md\"))\r\n\r\n const collectionOrDeliveryControl = establishment.takeawaysDetails && \r\n\r\n const allSubscriptionIds = menuConfig.allSubscriptionIds\r\n const selectedSubscription = menuConfig.selectedSubscription\r\n\r\n function onCancelSubscriptionClick() {\r\n const onComplete = () => {\r\n setMoreOptionsMenuAnchor(null)\r\n //TODO R2: make pretty? Maybe use MUI alerts...\r\n alert(\"You have successfully cancelled your reservation\")\r\n }\r\n cancelSubscription(setGlobalState, setCurrentUser, currentUser.id, menuConfig, revalueBasket, triggerRender, onComplete)\r\n }\r\n\r\n const subscriptionPaused = isSubscriptionPaused(selectedSubscription)\r\n\r\n function switchToModifySubscription() {\r\n populateMenuConfigWithSubscriptionFromServer(setGlobalState, menuConfig, allSubscriptionIds[0])\r\n setMoreOptionsMenuAnchor(null)\r\n revalueBasket()\r\n triggerRender()\r\n }\r\n function switchToNewBasket() {\r\n createEmptyBasket(menuConfig)\r\n setMoreOptionsMenuAnchor(null)\r\n }\r\n function onPauseSubscriptionClick(resumesAt) {\r\n setMoreOptionsMenuAnchor(null)\r\n pauseSubscription(setGlobalState, setCurrentUser, currentUser, menuConfig, resumesAt, triggerRender)\r\n }\r\n function createPauseMenuLine(weeksToPause) {\r\n if (weeksToPause <= 0 || weeksToPause > 4)\r\n throw Error(\"Invalid weeksToPause:\"+weeksToPause)\r\n const resumesAt = calculateBillingDate(selectedSubscription, weeksToPause)\r\n // const weeksToPauseText = weeksToPause === 1 ? \"one week\" : \"two weeks\"\r\n return onPauseSubscriptionClick(resumesAt)}> Pause until {convertToVeryShortPrettyDate(resumesAt)}\r\n }\r\n function createContextMenu() {\r\n\r\n const showSwitchToSingle = menuConfig.isSubscription && hasSingleOrderEnabled(establishment)\r\n const showPauseSubscription = menuConfig.isSubscription && selectedSubscription && !subscriptionPaused\r\n const showCancelSubscription = menuConfig.isSubscription && selectedSubscription\r\n const showSwitchToModifySubscription = !menuConfig.isSubscription && currentUser.subscriptionIds && currentUser.subscriptionIds.length > 0\r\n\r\n if (showSwitchToSingle || showPauseSubscription || showCancelSubscription || showSwitchToModifySubscription)\r\n return \r\n setMoreOptionsMenuAnchor(e.currentTarget)}>\r\n setMoreOptionsMenuAnchor(null)} anchorOrigin={{ vertical: 'top', horizontal: 'left' }} transformOrigin={{ vertical: 'top', horizontal: 'left' }} >\r\n { showSwitchToSingle && New Order }\r\n { showPauseSubscription && createPauseMenuLine(1) }\r\n { showPauseSubscription && createPauseMenuLine(2) }\r\n { showPauseSubscription && createPauseMenuLine(4) }\r\n {/*{ showResumeSubscription && Resume Subscription }*/}\r\n { showCancelSubscription && Cancel Subscription }\r\n { showSwitchToSingle && New Subscription }\r\n { showSwitchToModifySubscription && Update your Subscription }\r\n \r\n \r\n }\r\n\r\n function getCheckoutButtonText() {\r\n if (menuConfig.isSubscription && selectedSubscription) {\r\n if (subscriptionPaused)\r\n return \"Re-enable Subscription\"\r\n if (!establishment.detachedSubscriptionUpdated)\r\n return \"Change Subscription Frequency\"\r\n return \"Modify Subscription\"\r\n }\r\n return \"Checkout\"\r\n }\r\n function getCheckoutButtonColor() {\r\n if (menuConfig.isSubscription) {\r\n if (!selectedSubscription || selectedSubscription.cancelled || isSubscriptionPaused(selectedSubscription))\r\n return\r\n if (!establishment.detachedSubscriptionUpdated)\r\n return \"lightgrey\"\r\n }\r\n }\r\n\r\n return (\r\n !establishment.takeawaysDetails\r\n ?
Loading basket details for the service
\r\n : \r\n \r\n
\r\n
\r\n \r\n

\r\n { createContextMenu() }\r\n { menuConfig.isSubscription\r\n ?
Subscription\r\n {subscriptionPaused && } variant={\"filled\"} label={\"Paused until \"+convertToVeryShortPrettyDate(parseJsonDateTimeToDate(selectedSubscription.pausedButResumesAt))} color={\"info\"} /> }\r\n
\r\n :
Basket
}\r\n

\r\n\r\n \r\n \r\n
\r\n\r\n { menuConfig.isSubscription && selectedSubscription &&\r\n
\r\n
{selectedSubscription.basket.deliverySelected ? \"Delivery\" : \"Collection\"}, {selectedSubscription.basket.subscriptionDeliverySlotDescription}
\r\n
{convertFrequencyToPretty(selectedSubscription.basket.frequency)}
\r\n

\r\n
\r\n }\r\n\r\n {\r\n basket.lines.length === 0 &&\r\n
\r\n { collectionOrDeliveryControl }\r\n

\r\n Your basket is empty!\r\n
\r\n }\r\n {\r\n basket.lines.length > 0 &&\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n collectionOrDeliveryControl\r\n }\r\n \r\n Subtotal\r\n \r\n {convertDecimalToGbp( basket.subtotal )}\r\n \r\n \r\n { deliverySelected && }\r\n \r\n Service fee\r\n Always Free\r\n \r\n\r\n {\r\n DiscountFunctions.bestGlobalDiscountToday(establishment) &&\r\n \r\n Discount ({DiscountFunctions.bestGlobalDiscountToday(establishment)}%)\r\n \r\n { convertDecimalToGbp( basket.discount ) }\r\n \r\n \r\n }\r\n\r\n \r\n \r\n Total\r\n \r\n \r\n \r\n {\r\n isBasketReadyToShowTotalAmount(basket, deliverySelected) ? convertDecimalToGbp(basket.total) : \"TBC\"\r\n }\r\n \r\n \r\n \r\n {/*
{DEBUG_isBasketReadyToShowTotalAmount(basket)}
*/}\r\n
\r\n {}\r\n {menuConfig.isSubscription && establishment.detachedSubscriptionUpdated && }\r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\n","import React, {useContext, useEffect, useRef, useState} from \"react\"\r\nimport { Suspense } from 'react';\r\n\r\nimport {CircularProgress, Grid, useMediaQuery} from \"@mui/material\"\r\nimport NavBreadcrumbs from \"../../components/NavBreadcrumbs\";\r\nimport MenuHeader from \"./MenuHeader\";\r\nimport {getQueryParam} from \"../../functions/UrlFunctions\";\r\nimport {\r\n makeFetch,\r\n makePost,\r\n ServiceEnumPreorder,\r\n ServiceEnumSubscription,\r\n ServiceEnumSingleOrder, removeQueryParams, reportErrorWithServer\r\n} from \"../../functions/GeneralFunctions\";\r\nimport GlobalState from \"../../functions/GlobalStateFunctions\";\r\nimport ReusableMenuImports, {removeFromBasketFull} from \"./ReusableMenuImports\";\r\nimport MenuRhsBasket from \"./MenuRhsBasket\";\r\n\r\n\r\nconst MenuLhsCategories = React.lazy(() => import('./MenuLhsFilteredCategoriesContainer'))\r\nconst MenuMainMenuSection = React.lazy(() => import('./MenuMainMenuSection'))\r\nconst MenuRhsBookTable = React.lazy(() => import('./MenuRhsBookTable'))\r\n\r\nconst MenuMainEatInSection = React.lazy(() => import('./MenuMainEatInSection'))\r\n\r\nexport const SIDE_MARGIN_TOP = \"100px\"\r\n\r\n\r\nexport const fetchQuantityOfBaseItemInBasket = (menuConfig, category, item) => {\r\n if (!menuConfig?.basket?.lines) {\r\n return\r\n }\r\n const matchingItems = menuConfig.basket.lines.filter ( (line) => line.categoryName === category.name && line.itemName === item.name )\r\n if (matchingItems.length === 0)\r\n return\r\n else\r\n return matchingItems.reduce((total, item) => total + item.quantity, 0)\r\n}\r\n\r\nexport default function ReusableMenu({currentUser, setCurrentUser, revalueBasket, menuConfig, triggerParentRender}) {\r\n\r\n const [, setGlobalState] = useContext(GlobalState)\r\n\r\n let scrollRefs = useRef({})\r\n let tableBookingScrollRefs = useRef({})\r\n\r\n const [, setUnusedValueForRerender] = useState(0)\r\n const triggerRender = () => setUnusedValueForRerender(value => value + 1)\r\n\r\n const [selectedMenuItem, setSelectedMenuItem] = React.useState(false)\r\n const [selectedMenuItemsCategory, setSelectedMenuItemsCategory] = React.useState(false)\r\n\r\n function removeFromBasketCurry(basketLine) {\r\n removeFromBasketFull(menuConfig, basketLine, revalueBasket, triggerRender)\r\n }\r\n\r\n useEffect(() => {\r\n const stripeSuccess = getQueryParam(\"stripe-success\")\r\n if (stripeSuccess === \"true\") {\r\n const stripePaymentStatusId = getQueryParam(\"payment-status-id\")\r\n // alert(\"Stripe Success!!!\")\r\n makePost(setGlobalState, '/api/complete-stripe-order',\r\n JSON.stringify({stripePaymentStatusId: stripePaymentStatusId}),\r\n response => {\r\n const paymentIntent = response.payload\r\n // setLastProcessedBasket(paymentIntent.basket)\r\n if (paymentIntent.basket.serviceOfferingEnum === ServiceEnumSingleOrder || paymentIntent.basket.serviceOfferingEnum === ServiceEnumSubscription) {\r\n menuConfig.orderSuccessfulModalOpen=true\r\n } else if (paymentIntent.basket.serviceOfferingEnum === ServiceEnumPreorder) {\r\n menuConfig.preorderSuccess=true\r\n menuConfig.orderSuccessfulModalOpen=true\r\n } else {\r\n alert(\"Error: Unexpected service offering enum: \"+paymentIntent.basket.serviceOfferingEnum)\r\n }\r\n makeFetch(setGlobalState, '/api/v0/current-user/', user => {\r\n setCurrentUser(user)\r\n })\r\n removeQueryParams()\r\n }, () => {\r\n //TODO R2: This is the worst possible error message and needs to be flagged high. The user has paid, but order not marked as such\r\n reportErrorWithServer(setGlobalState,\"Error Occurred that means that user may have been charged but order not marked as such. User:\"+currentUser?.id+\", Establishment:\"+menuConfig?.establishment?.ref+\", Payment Status: \"+ stripePaymentStatusId)\r\n alert(\"An error has occurred, which means that you may have been charged, but the order has not been logged. Please contact the restaurant, and inform them of this message and that your order details can be seen on their STRIPE invoice.\")\r\n removeQueryParams()\r\n })\r\n } else if (stripeSuccess === \"false\") {\r\n menuConfig.orderFailedModalOpen=true\r\n }\r\n }, [menuConfig, setGlobalState, setCurrentUser])\r\n\r\n function onCheckoutClick() {\r\n revalueBasket()\r\n if (currentUser.isRegistered)\r\n menuConfig.checkoutModalOpen=true\r\n else\r\n menuConfig.loginOrGuestModalOpen=true\r\n triggerRender()\r\n }\r\n\r\n function createUnregisteredView() {\r\n return
\r\n \r\n \r\n { menuHeader }\r\n \r\n
\r\n }\r\n function createSingleOrderAndSubscriptionView() {\r\n return
\r\n \r\n {\r\n isMdUpScreen\r\n ? \r\n \r\n \r\n \r\n \r\n { menuHeader }\r\n fetchQuantityOfBaseItemInBasket(menuConfig, category, item)} setSelectedMenuItemsCategory={setSelectedMenuItemsCategory} updateScrollRef={(ref, index) => { scrollRefs.current[index] = ref } } triggerRender={triggerRender} />\r\n \r\n \r\n \r\n \r\n \r\n : \r\n \r\n { menuHeader }\r\n \r\n \r\n fetchQuantityOfBaseItemInBasket(menuConfig, category, item)} setSelectedMenuItemsCategory={setSelectedMenuItemsCategory} updateScrollRef={(ref, index) => { scrollRefs.current[index] = ref } } triggerRender={triggerRender} />\r\n \r\n \r\n { isSmUpScreen && }\r\n \r\n \r\n }\r\n
\r\n }\r\n\r\n function createEatInView() {\r\n return
\r\n \r\n \r\n { !isMdUpScreen && { menuHeader } }\r\n \r\n { !isMdDownScreen && menuHeader }\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n const isSmUpScreen = useMediaQuery(theme => theme.breakpoints.up(\"sm\"))\r\n const isMdDownScreen = useMediaQuery(theme => theme.breakpoints.down(\"md\"), {noSsr: true})\r\n const isMdUpScreen = useMediaQuery(theme => theme.breakpoints.up(\"md\"), {noSsr: true})\r\n\r\n const menuHeader = \r\n\r\n return (\r\n
\r\n }>\r\n\r\n \r\n {\r\n menuConfig.isSubscription || menuConfig.isSingleOrder ? createSingleOrderAndSubscriptionView()\r\n : menuConfig.isTableBooking ? createEatInView()\r\n : menuConfig.isPreorder ? Error(\"Pre-order not supported\")\r\n : menuConfig.isPayAtTable ? Error(\"Pay@Table not supported\")\r\n : createUnregisteredView()\r\n }\r\n \r\n
\r\n )\r\n}\r\n","import React, {Fragment, useState} from \"react\"\r\n\r\nimport {useMediaQuery} from \"@mui/material\"\r\nimport {createEmptyBasket} from \"../../functions/MenuFunctions\";\r\n\r\nconst ModalPreorder = React.lazy(() => import(\"./ModalPreorder\"))\r\nconst MenuItemModal = React.lazy(() => import(\"./MenuItemModal\"))\r\nconst ModalConfirmTableReservation = React.lazy(() => import('./ModalConfirmTableReservation'))\r\nconst ModalBookTableSuccess = React.lazy(() => import('./ModalBookTableSuccess'))\r\nconst MenuLoginOrGuestModal = React.lazy(() => import('./MenuLoginOrGuestModal'))\r\nconst MenuHeaderMoreInformationModal = React.lazy(() => import('./MenuHeaderMoreInformationModal'))\r\nconst ShoppingBasketIcon = React.lazy(() => import('@mui/icons-material/ShoppingBasket'))\r\nconst CheckoutModal = React.lazy(() => import('./checkout/CheckoutModal'))\r\nconst ModalBookTable = React.lazy(() => import('./ModalBookTable'))\r\n\r\nconst OrderSuccessfulModal = React.lazy(() => import('./OrderSuccessfulModal'))\r\nconst OrderFailedModal = React.lazy(() => import('./OrderFailedModal'))\r\n\r\n\r\nexport const removeFromBasketFull = (menuConfig, basketLine, revalueBasket, triggerRender) => {\r\n const basketLineIndex = menuConfig.basket.lines.indexOf(basketLine)\r\n menuConfig.basket.lines.splice(basketLineIndex, 1)\r\n if (menuConfig.basket.lines.length === 0)\r\n createEmptyBasket(menuConfig)\r\n revalueBasket()\r\n triggerRender()\r\n}\r\n\r\nexport default function ReusableMenuImports({currentUser, setCurrentUser, selectedMenuItem, selectedMenuItemsCategory, revalueBasket, menuConfig, triggerParentRender}) {\r\n\r\n const [, setUnusedValueForRerender] = useState(0)\r\n const triggerRender = () => setUnusedValueForRerender(value => value + 1)\r\n\r\n const showCheckoutIconOnSmallScreen = (menuConfig.isSingleOrder || menuConfig.isSubscription || menuConfig.isPreorder || menuConfig.isPayAtTable) ? true : false\r\n\r\n function removeFromBasketCurry(basketLine) {\r\n removeFromBasketFull(menuConfig, basketLine, revalueBasket, triggerRender)\r\n }\r\n function onCheckoutClick() {\r\n revalueBasket()\r\n if (currentUser.isRegistered)\r\n menuConfig.checkoutModalOpen=true\r\n else\r\n menuConfig.loginOrGuestModalOpen=true\r\n triggerRender()\r\n }\r\n function buildMobileBasketSelector() {\r\n return
\r\n
onCheckoutClick()}>\r\n \r\n
\r\n
\r\n }\r\n\r\n const isSmUpScreen = useMediaQuery(theme => theme.breakpoints.up(\"sm\"))\r\n\r\n return (\r\n \r\n { !menuConfig.orderingDisabled && menuConfig.menuItemModalOpen && }\r\n { !menuConfig.orderingDisabled && menuConfig.checkoutModalOpen && }\r\n { !menuConfig.orderingDisabled && menuConfig.loginOrGuestModalOpen && }\r\n { !menuConfig.orderingDisabled && menuConfig.orderSuccessfulModalOpen && }\r\n { !menuConfig.orderingDisabled && menuConfig.orderFailedModalOpen && }\r\n { menuConfig.moreInfoModalOpen && }\r\n { menuConfig.tableReservationModalOpen && }\r\n { menuConfig.tableReservationCompleteModalOpen && }\r\n { menuConfig.confirmReservationModalOpen && }\r\n { showCheckoutIconOnSmallScreen && menuConfig.basket.lines && menuConfig.basket.lines.length > 0 && !isSmUpScreen && buildMobileBasketSelector() }\r\n { menuConfig.preorderModalOpen && }\r\n \r\n )\r\n}\r\n","import {\r\n Button,\r\n} from \"@mui/material\";\r\nimport React, {useContext} from \"react\";\r\nimport {AddCircle} from \"@mui/icons-material\";\r\nimport {createEmptyBasket, populateMenuConfigWithSubscriptionFromServer} from \"../../functions/MenuFunctions\";\r\nimport GlobalState from \"../../functions/GlobalStateFunctions\";\r\nimport {ServiceEnumSubscription} from \"../../functions/GeneralFunctions\";\r\nimport {refreshServiceCache} from \"../../functions/BasketFunctions\";\r\n\r\nexport default function SwitchBetweenSubscriptions({allSubscriptionIds, menuConfig, showAddSubscription, triggerRender}) {\r\n\r\n const [, setGlobalState] = useContext(GlobalState)\r\n\r\n if (!allSubscriptionIds || allSubscriptionIds.length === 0)\r\n return\r\n\r\n if (!menuConfig.isSubscription)\r\n return\r\n\r\n console.log(\"Current Subscription: \"+menuConfig.basket.subscriptionId)\r\n\r\n function onSubscriptionChange(index) {\r\n menuConfig.basket.serviceOfferingEnum = ServiceEnumSubscription\r\n\r\n if (index === undefined) {\r\n menuConfig.selectedSubscription = undefined\r\n createEmptyBasket(menuConfig)\r\n } else {\r\n const subscriptionId = allSubscriptionIds[index]\r\n populateMenuConfigWithSubscriptionFromServer(setGlobalState, menuConfig, subscriptionId)\r\n }\r\n refreshServiceCache(menuConfig)\r\n triggerRender()\r\n }\r\n\r\n console.log(\"Switch between subscriptions with subscriptions length:\"+allSubscriptionIds.length)\r\n\r\n return
\r\n { allSubscriptionIds.length > 1 &&
You have multiple subscriptions:
}\r\n { allSubscriptionIds.length > 1 && allSubscriptionIds.map((subscriptionId, i) => ) }\r\n { showAddSubscription && menuConfig.isSubscription && }\r\n
\r\n}\r\n"],"names":["NavBreadcrumbs","_ref","noMargin","textOnly","level2Url","level2Name","level3Name","_jsx","style","position","marginLeft","children","_jsxs","Breadcrumbs","color","backgroundImage","borderRadius","padding","Link","fontSize","fontWeight","underline","href","textTransform","Typography","cursor","BRAND_NAME","updateMenuPage","establishment","activeStatus","EstablishmentUnregistered","title","name","description","localAreaName","offlineMenuImages","length","updatePageHeadings","updateUnregisteredMenuHeadings","servicesTitleString","servicesOffered","includes","ServiceEnumSingleOrder","ServiceEnumTableBooking","ServiceEnumSubscription","modifiableDetails","shortDescription","updateRegisteredMenuHeadings","document","getElementsByTagName","namedItem","setAttribute","specialities","enumName","long","convertSpecialityEnumToPretty","filter","tag","convertSpecialityEnumToLongPretty","FoodAllergyQuestion","allergyHelpAnchorEl","setAllergyHelpAnchorEl","React","Fragment","Button","size","type","onClick","e","currentTarget","Popper","open","Boolean","anchorEl","maxWidth","zIndex","ClickAwayListener","onClickAway","border","backgroundColor","telephoneNumber","MAPBOX_TOKEN","MenuHeaderMoreInformationModal","_establishment$locati","_establishment$locati2","menuConfig","triggerRender","latitude","location","longitude","width","window","innerWidth","setModalOpen","o","moreInfoModalOpen","CustomSmallModal","header1","body","textAlign","height","src","Grid","container","spacing","marginTop","item","xs","sm","paddingLeft","Tooltip","takeawaysDetails","deliveryDetails","enabled","IconButton","Circle","collectionDetails","repeatOrdersDetails","eatInServiceDetails","preorderEnabled","stripeDetails","payByCashDetails","foodRatingImgUrl","foodStandardsData","ratingValue","backgroundSize","backgroundRepeat","backgroundPosition","variant","fullWidth","MenuRhsBasketLines","basket","removeFromBasket","lines","map","basketLine","index","DeleteForever","red","verticalAlign","lineHeight","quantity","itemName","GeneralFunctions","calculateLinePrice","marginBottom","requiredChoices","choice","selection","price","id","removeParts","part","addParts","ControlEstablishmentDescription","sections","split","justifyContent","s","section","parts","heading","md","paddingTop","paddingRight","textDecoration","renderSection","MenuHeaderMapInternal","registrationModalOpen","setRegistrationModalOpen","useState","isSmDownScreen","useMediaQuery","theme","breakpoints","down","isLgDownScreen","mapWidth","confidenceInManagementLine","ratingDate","convertServerDateToShortPrettyDateOrTodayString","convertFoodHygieneToDescription","confidenceInManagement","numberToWord","fontStyle","convertBusinessTypeEnumToPretty","businessTypeEnum","toLowerCase","districtRef","regionName","join","lastIndexOf","substring","specialitiesString","RegisterEstablishmentModal","selectedEstablishment","closeModal","MenuReviewModal","MenuUploadOfflineMenuModal","updateEstablishments","setGlobalState","currentRef","allEstablishments","listToUpdate","ref","splice","forEach","console","log","push","MenuUnregisteredInternal","currentUser","similarEstablishments","similarOnlineEstablishments","postReviewModalOpen","setPostReviewModalOpen","uploadOfflineMenuOpen","setUploadOfflineMenuOpen","reviewsContainer","setReviewsContainer","useContext","GlobalState","ReviewRating","styled","Rating","ActiveRating","DeactivatedRating","navigateToPage","url","openBackdropSpinner","buildOfflineImageText","imgIndex","coreText","useEffect","makeFetch","result","marginRight","opacity","disabled","value","hygene","structural","MenuHeaderMap","overflowX","whiteSpace","Card","minWidth","display","margin","CardBody","fullAddress","GpsFixed","convert2dpOrNull","img","alt","loading","reviews","review","ratingOutOfFive","convertServerLocalDateTimeToSimpleDateTime","createdDateTime","dateOfVisit","authorUserId","LoadingMessage","msg","Suspense","fallback","CircularProgress","top","left","setIsOpen","MenuHeader","StyledDiscountCorner","borderTop","borderBottom","borderRight","transform","establishmentLogoUrl","logo100x100","maxHeight","minHeight","float","InfoOutlined","isRegistered","openReservationsModal","HistoryOutlined","bestGlobalDiscountToday","className","CardContent","MenuUnregistered","closedMsg","Chip","label","serviceOfferingEnum","Tabs","serviceEnumToSelectedHeaderEnum","indicatorColor","textColor","centered","Tab","setServiceEnum","MenuRhsBasketDeliveryFeeLine","additionalSpendForFreeDelivery","deliveryFee","requiresFeePerMileButNotAvailable","MenuRhsBasket","setCurrentUser","onCheckoutClick","revalueBasket","deliverySelected","moreOptionsMenuAnchor","setMoreOptionsMenuAnchor","isMdDownScreen","collectionOrDeliveryControl","ControlCollectionOrDelivery","allSubscriptionIds","selectedSubscription","onCancelSubscriptionClick","cancelSubscription","onComplete","alert","subscriptionPaused","isSubscriptionPaused","switchToModifySubscription","populateMenuConfigWithSubscriptionFromServer","switchToNewBasket","createEmptyBasket","createPauseMenuLine","weeksToPause","Error","resumesAt","calculateBillingDate","MenuItem","pauseSubscription","onPauseSubscriptionClick","ListItemIcon","Pause","convertToVeryShortPrettyDate","Hidden","smUp","Paper","showSwitchToSingle","isSubscription","hasSingleOrderEnabled","showPauseSubscription","showCancelSubscription","showSwitchToModifySubscription","subscriptionIds","MoreVert","Menu","onClose","anchorOrigin","vertical","horizontal","transformOrigin","ShoppingBasketOutlined","DeleteOutline","AddCircleOutline","Edit","createContextMenu","icon","parseJsonDateTimeToDate","pausedButResumesAt","SwitchBetweenSubscriptions","showAddSubscription","Divider","subscriptionDeliverySlotDescription","convertFrequencyToPretty","frequency","convertDecimalToGbp","subtotal","DiscountFunctions","discount","isBasketReadyToShowTotalAmount","total","detachedSubscriptionUpdated","cancelled","getCheckoutButtonColor","MenuLhsCategories","MenuMainMenuSection","MenuRhsBookTable","MenuMainEatInSection","SIDE_MARGIN_TOP","fetchQuantityOfBaseItemInBasket","category","_menuConfig$basket","matchingItems","line","categoryName","reduce","ReusableMenu","triggerParentRender","scrollRefs","useRef","tableBookingScrollRefs","setUnusedValueForRerender","selectedMenuItem","setSelectedMenuItem","selectedMenuItemsCategory","setSelectedMenuItemsCategory","removeFromBasketCurry","removeFromBasketFull","checkoutModalOpen","loginOrGuestModalOpen","stripeSuccess","getQueryParam","stripePaymentStatusId","makePost","JSON","stringify","response","paymentIntent","payload","orderSuccessfulModalOpen","ServiceEnumPreorder","preorderSuccess","user","removeQueryParams","_menuConfig$establish","reportErrorWithServer","orderFailedModalOpen","isSmUpScreen","up","noSsr","isMdUpScreen","menuHeader","ReusableMenuImports","isSingleOrder","_menuConfig$establish4","_menuConfig$establish5","direction","lg","xl","alignSelf","fetchQuantityInBasket","updateScrollRef","current","background","createSingleOrderAndSubscriptionView","isTableBooking","_menuConfig$establish6","_menuConfig$establish7","alignItems","createEatInView","isPreorder","isPayAtTable","_menuConfig$establish2","_menuConfig$establish3","createUnregisteredView","ModalPreorder","MenuItemModal","ModalConfirmTableReservation","ModalBookTableSuccess","MenuLoginOrGuestModal","ShoppingBasketIcon","CheckoutModal","ModalBookTable","OrderSuccessfulModal","OrderFailedModal","basketLineIndex","indexOf","showCheckoutIconOnSmallScreen","orderingDisabled","menuItemModalOpen","selectedCategory","selectedItem","tableReservationModalOpen","tableReservationCompleteModalOpen","confirmReservationModalOpen","fontFamily","right","bottom","preorderModalOpen","parentMenuConfig","subscriptionId","i","onSubscriptionChange","undefined","startIcon","AddCircle","refreshServiceCache"],"sourceRoot":""}