{"version":3,"sources":["assets/zoo-la-la-2021-logo.png","modules/Navigation/AppBar.js","modules/Navigation/CoreComponentSwitch.js","modules/Schedule/ScheduleItem.js","data/dateUtils.js","data/Schedule.js","modules/Schedule/sponsor.jpg","modules/Schedule/TableSchedule.js","modules/Map/MapContainer.js","data/realm.jsx","assets/myLocation.svg","modules/Map/MyLocation.js","modules/Map/Restaurant.js","data/Restaurants.js","data/Bars.js","data/Games.jsx","data/PhotoBooth.jsx","data/Music.jsx","data/Others.jsx","modules/Restaurants/RestaurantCard.jsx","modules/Restaurants/DisplayRestaurants.js","modules/Map/components/PointOfInterest.jsx","modules/Restaurants/AddRestaurant.js","App.js","serviceWorker.js","index.js"],"names":["useStyles","makeStyles","theme","appBar","height","backgroundColor","palette","background","paper","logo","display","width","spacer","flexGrow","menuButton","CustomAppBar","classes","AppBar","position","className","Toolbar","src","ZooLaLaLogo","alt","Button","onClick","window","location","color","container","bottom","zIndex","createButtonData","text","icon","buttonData","Map","Schedule","Restaurant","CoreComponentSwitch","focus","setFocus","Box","boxShadow","BottomNavigation","showLabels","value","onChange","e","newValue","map","BottomNavigationAction","label","margin","description","whiteSpace","ScheduleItem","startTime","endTime","event","Typography","variant","align","getDateByHour","DateUtils","hour","minutes","date","Date","setHours","setMinutes","this","time","toLocaleTimeString","replace","bypass","now","getDate","Error","hasEnded","schedule","Fragment","List","dense","ListItem","ListItemText","primary","lng","lat","coordinates","itm","id","nanoid","EventIcon","isAvailable","process","filter","stickyTableHeader","tableBody","sponsorContainer","sponsor","maxWidth","maxHeight","overflow","TableSchedule","Paper","elevation","square","Sponsor","data","index","Divider","toString","mapContainer","top","loadError","MapContainer","center","children","useLoadScript","googleMapsApiKey","isLoaded","mapContainerClassName","zoom","options","styles","search","includes","DarkMapsStyles","MapsStyles","disableDefaultUI","restriction","latLngBounds","north","south","west","east","strictBounds","CircularProgress","ADD_LOCATION","gql","isCollectionTime","getHours","MyLocation","props","React","useState","currentLocation","setCurrentLocation","useMutation","addLocation","useEffect","interval","tries","timeout","undefined","nextPing","backoff","ping","setTimeout","origin","variables","coords","timestamp","toISOString","then","catch","watchPositionID","navigator","geolocation","watchPosition","longitude","latitude","error","console","log","clearWatch","clearTimeout","LocationIcon","padding","spacing","border","closeButton","restaurantIcon","restaurantOverlay","name","food","open","setRestaurantFocus","seeMore","toggleOpen","mapPaneName","OverlayView","OVERLAY_MOUSE_TARGET","onCloseClick","tags","sort","a","b","aTime","bTime","bar","LocalBar","Games","game","LocalPlayIcon","PhotoBooth","photo","CameraAltIcon","Music","MusicNoteIcon","Others","InfoIcon","MonetizationOnIcon","other","marginLeft","marginRight","marginBottom","header","paddingBottom","content","paddingTop","secondary","RestaurantCard","isFocused","seeLocation","ref","createRef","current","scrollIntoView","behavior","Card","CardHeader","title","subheader","action","CardContent","join","DisplayRestaurants","restaurants","restaurantFocus","customIcon","customOverlay","PointOfInterest","AddRestaurant","isOpen","Dialog","DialogTitle","method","TextField","type","createMuiTheme","main","appBackground","appContainer","marginTop","clickAway","left","zooMap","showMap","hideMap","visibility","App","setOpen","poiFocus","setPoiFocus","fetchData","Container","focusedComponent","Bars","navFocus","Boolean","hostname","match","APP_ID","app","Realm","getValidAccessToken","currentUser","logIn","anonymous","refreshCustomData","accessToken","client","ApolloClient","link","HttpLink","uri","fetch","headers","Authorization","cache","InMemoryCache","ReactDOM","render","ApolloProvider","document","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.4ffefb74.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/zoo-la-la-2021-logo.7eaabbc4.png\";","import React from \"react\";\nimport { AppBar, Toolbar, Button, makeStyles } from \"@material-ui/core\";\nimport ZooLaLaLogo from \"../../assets/zoo-la-la-2021-logo.png\";\n\nconst useStyles = makeStyles(theme => ({\n appBar: {\n height: \"10vh\",\n backgroundColor: theme.palette.background.paper\n },\n logo: {\n display: 'block',\n height: '66px',\n width: '100px',\n // margin: 'auto'\n },\n spacer: {\n flexGrow: 1\n },\n menuButton: {\n // marginRight: theme.spacing(0)\n }\n}))\n\nfunction CustomAppBar () {\n const classes = useStyles()\n\n return (\n \n \n \"ZooLaLa\n\n
\n\n {\n window.location = \"http://zoolala.givesmart.com/\"\n }}\n color=\"primary\"\n >\n Donate\n \n\n \n \n )\n}\n\nexport default CustomAppBar\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n BottomNavigation,\n BottomNavigationAction,\n Box,\n makeStyles\n} from '@material-ui/core'\nimport {\n Map,\n Schedule,\n Restaurant\n} from '@material-ui/icons'\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'fixed',\n bottom: '0',\n width: '100%',\n height: '10vh',\n zIndex: 10000\n }\n}))\n\nfunction createButtonData (text, icon) {\n return { text, icon }\n}\n\nconst buttonData = [\n createButtonData('Map', ),\n createButtonData('Schedule', ),\n createButtonData('Restaurants', )\n]\n\nfunction CoreComponentSwitch ({ focus, setFocus, ...props }) {\n const classes = useStyles()\n\n return \n {\n setFocus(newValue)\n }}\n className={classes.container}\n >\n {\n buttonData.map(({ text, icon }) => (\n \n ))\n }\n \n \n}\n\nCoreComponentSwitch.propTypes = {\n focus: PropTypes.string.isRequired,\n setFocus: PropTypes.func.isRequired\n}\n\nexport default CoreComponentSwitch\n","import React from 'react'\nimport {\n Typography,\n makeStyles\n} from \"@material-ui/core\"\n\nconst useStyles = makeStyles(theme => ({\n container: {\n margin: '0 8px'\n },\n description: {\n whiteSpace: 'pre-wrap'\n }\n}))\n\nfunction ScheduleItem ({ startTime, endTime, event, location, description, ...props }) {\n const classes = useStyles()\n \n return (\n
\n {event}\n {startTime.getDateByHour()}-{endTime.getDateByHour()}\n {location}\n
{description}
\n
\n )\n}\n\nexport default ScheduleItem","class DateUtils {\n\n constructor(hour, minutes = 0) {\n const date = new Date()\n date.setHours(hour)\n date.setMinutes(minutes)\n this.time = date\n }\n\n setTime (time) {\n this.time = time\n return this\n }\n\n getDateByHour () {\n if (typeof this.time === 'string') {\n this.time = new Date(this.time)\n }\n return this.time.toLocaleTimeString().replace(/:\\d{2}\\s/, ' ')\n }\n\n static isAvailable (endTime, startTime, bypass = false) {\n const now = new Date();\n\n // If it isn't event day, return that everything is available\n if (now.getDate() !== 25) {\n return false\n }\n\n if (!endTime.time || !startTime.time) {\n throw Error('Time must be an instance of DateUtils')\n }\n\n // const hasStarted = startTime < now\n const hasEnded = new Date(endTime.time) < now\n\n // This is for only showing things that have started, not using in 2021\n // return (hasStarted && !hasEnded) || bypass\n\n return hasEnded && !bypass\n }\n\n\n\n}\n\nexport default DateUtils","import React from 'react'\nimport DateUtils from \"./dateUtils\";\nimport { nanoid } from 'nanoid'\nimport { Typography, List, ListItem, ListItemText } from '@material-ui/core'\nimport EventIcon from '@material-ui/icons/Event'\n\nconst schedule = [\n {\n \"startTime\": new DateUtils(18, 30),\n \"endTime\": new DateUtils(19, 30),\n \"event\": \"VIP Reception\",\n \"location\": \"Vine Street Village\",\n \"description\": \n VIP ticket holders only\n Exclusive Food Sampling by Thunderdome Restaurant Group\n Private animal experiences including:\n \n \n \n \n \n \n \n \n \n \n \n,\n \"coordinates\": {\n lng: -84.5092,\n lat: 39.143\n }\n },\n {\n \"startTime\": new DateUtils(19, 30),\n \"endTime\": new DateUtils(21, 30),\n \"event\": \"Dinner-by-the-bite\",\n \"location\": \"\",\n \"description\": Taste food samples from local restaurants while you wander around the Zoo. Experience the Zoo as not many get to do, with drinks in hand and the entire Zoo to explore.,\n \"coordinates\": {\n lng: -84.508,\n lat: 39.145\n }\n },\n {\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21, 30),\n event: 'Bourbon Tasting',\n location: \"Giraffe Ridge\",\n description: \n $20 add on\n \n NEW this year - we've partnered with Brain Brew Custom Whiskey to bring a new bourbon tasting experience to Zoo La La. You will get to taste four custom whiskeys while also supporting Zoo Education programs.\n \n ,\n coordinates: {\n lat:39.14350466823326,\n lng: -84.50697812215859\n }\n },\n {\n \"startTime\": new DateUtils(20, 0),\n \"endTime\": new DateUtils(20, 20),\n \"event\": \"Special Wings of Wonder Encounter\",\n \"location\": \"Wings of Wonder Theater\",\n \"description\": Experience a one-of-a-kind bird encounter where birds will fly overhead!,\n \"coordinates\": {\n lng: -84.50940582943393,\n lat: 39.14571873135727\n }\n }\n]\n .map(itm => {\n return {\n ...itm,\n id: nanoid(),\n icon: EventIcon,\n isAvailable: DateUtils.isAvailable(itm.endTime, itm.startTime, process.env.NODE_ENV === 'development')\n }\n })\n .filter(itm => !itm.isAvailable)\n\nexport default schedule","export default __webpack_public_path__ + \"static/media/sponsor.f28fbf62.jpg\";","import React from 'react'\nimport {\n Paper,\n Divider,\n makeStyles\n} from \"@material-ui/core\";\nimport ScheduleItem from './ScheduleItem'\nimport data from '../../data/Schedule'\nimport Sponsor from './sponsor.jpg'\n\nconst useStyles = makeStyles(theme => ({\n stickyTableHeader: {\n // position: 'fixed',\n // top: '60px'\n },\n tableBody: {\n\n },\n sponsorContainer: {\n height: '80px'\n },\n sponsor: {\n margin: '1vh auto',\n display: 'block',\n maxWidth: '275px'\n },\n container: {\n position: 'absolute',\n zIndex: theme.zIndex.appBar - 1,\n width: '100%',\n maxHeight: 'calc(100% - 126px)',\n overflow: 'scroll'\n }\n}))\n\nfunction TableSchedule () {\n const classes = useStyles()\n\n return (\n \n
\n \"Fort\n
\n {\n data.map(({startTime, endTime, event, location, description}, index) => (\n \n \n \n \n ))\n }\n
\n )\n}\n\nexport default TableSchedule","import React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n CircularProgress,\n Typography,\n makeStyles\n} from \"@material-ui/core\";\nimport { useLoadScript, GoogleMap} from \"@react-google-maps/api\";\nimport MapsStyles from './MapsStyles'\nimport DarkMapsStyles from './DarkMapsStyles'\n\nconst useStyles = makeStyles(theme => ({\n mapContainer: {\n height: 'calc(100% - 126px)',\n width: '100%',\n position: 'absolute',\n top: 0,\n zIndex: theme.zIndex.appBar - 2,\n backgroundColor: theme.palette.background.paper\n },\n loadError: {\n position: 'relative',\n top: '32vh'\n }\n}))\n\nfunction MapContainer ({ center, className, children }) {\n const classes = useStyles()\n const { isLoaded, loadError } = useLoadScript({\n googleMapsApiKey: process.env.REACT_APP_GOOGLE_MAPS_KEY\n })\n\n function renderMap () {\n if ( isLoaded ) {\n return
\n \n {\n children\n }\n \n
\n } else if ( loadError ) {\n return
\n
\n \n There has been an error loading the map\n \n
\n
\n } else {\n return
\n }\n }\n\n return renderMap()\n}\n\nMapContainer.propTypes = {\n children: PropTypes.element,\n className: PropTypes.string,\n center: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n })\n}\n\nexport default MapContainer\n","import { gql } from '@apollo/client'\n\nexport const ADD_LOCATION = gql`\n mutation AddLocation($data: UserLocationInsertInput!) {\n insertOneUserLocation(data: $data) {\n coords\n timestamp\n }\n }\n`;\n\nlet date = new Date();\nexport const isCollectionTime = (date.getDate() === 25 && date.getHours() > 18 && date.getHours() < 23)","export default __webpack_public_path__ + \"static/media/myLocation.0c71962c.svg\";","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Marker } from \"@react-google-maps/api\";\nimport { useMutation } from '@apollo/client'\nimport { ADD_LOCATION, isCollectionTime } from '../../data/realm'\nimport LocationIcon from '../../assets/myLocation.svg'\n\nfunction MyLocation ( props ) {\n const [ currentLocation, setCurrentLocation ] = React.useState({\n lng: -84.508,\n lat: 39.145\n })\n\n const [addLocation] = useMutation(ADD_LOCATION)\n\n React.useEffect(() => {\n const baseInterval = 30000\n let interval = 100\n let tries = 1;\n let timeout = undefined\n\n function nextPing (backoff = false) {\n if (backoff && tries > 5) {\n return\n } else if (backoff) {\n tries++\n interval = baseInterval * tries\n } else if (!backoff && tries !== 1) {\n tries = 1\n interval = 30000\n }\n ping()\n }\n\n function ping () {\n timeout = window.setTimeout(() => {\n if (window.location.origin.includes('zoolala.events') && isCollectionTime) {\n addLocation({\n variables: {\n data: {\n coords: [ currentLocation.lng, currentLocation.lat ],\n timestamp: new Date().toISOString()\n }\n }\n }).then(() => {\n interval = 30000\n nextPing()\n }).catch(e => {\n nextPing(true)\n })\n }\n }, interval)\n }\n\n ping()\n\n const watchPositionID = navigator.geolocation.watchPosition(({ coords }) => {\n setCurrentLocation({lng: coords.longitude, lat: coords.latitude})\n }, error => console.log(error))\n\n return () => {\n navigator.geolocation.clearWatch(watchPositionID)\n if (timeout) {\n window.clearTimeout(timeout)\n }\n }\n }, [addLocation])\n\n return (\n \n {\n currentLocation\n ? \n : ''\n }\n \n )\n}\n\nMyLocation.propTypes = {\n currentLocation: PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number\n })\n}\n\nexport default MyLocation","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Paper, Typography, Button, makeStyles } from \"@material-ui/core\"\nimport { OverlayView, InfoWindow } from \"@react-google-maps/api\";\nimport RestaurantIcon from \"@material-ui/icons/Restaurant\"\n\nconst useStyles = makeStyles(theme => ({\n paper: {\n padding: theme.spacing(1),\n maxWidth: 200,\n zIndex: 1500,\n border: \"none\"\n },\n closeButton: {\n padding: 0,\n flexGrow: 1\n },\n restaurantIcon: {\n zIndex: 900\n },\n restaurantOverlay: {\n zIndex: 1000\n }\n}))\n\nfunction Restaurant ({ coordinates, name, food, startTime, endTime, open = false, setRestaurantFocus, seeMore, ...props }) {\n const classes = useStyles(props)\n\n function toggleOpen () {\n setRestaurantFocus(open ? undefined : props.id)\n }\n\n function renderInfoWindow () {\n return open ? \n \n \n { name }\n \n \n { startTime.getDateByHour()}-{ endTime.getDateByHour() }\n \n \n { food }\n \n \n \n : ''\n }\n\n return \n \n \n \n\n {\n renderInfoWindow()\n }\n\n \n}\n\nRestaurant.propTypes = {\n coordinates: PropTypes.shape({\n lng: PropTypes.number,\n lat: PropTypes.number\n }).isRequired,\n name: PropTypes.string,\n food: PropTypes.string,\n startTime: PropTypes.object,\n endTime: PropTypes.object,\n open: PropTypes.bool,\n setRestaurantFocus: PropTypes.func.isRequired,\n seeMore: PropTypes.func.isRequired\n}\n\nexport default Restaurant\n","import DateUtils from \"./dateUtils\"\nimport { nanoid } from 'nanoid'\n\nfunction createRestaurant ({ name, food, tags = [], startTime, endTime, coordinates }) {\n return { name, food, tags,\n id: nanoid(),\n \"coordinates\": {\n lng: coordinates.lng,\n lat: coordinates.lat\n },\n startTime,\n endTime,\n isAvailable: DateUtils.isAvailable(endTime, startTime, process.env.NODE_ENV === 'development')\n }\n}\n\nexport default [\n {\n name: 'AnishaArts',\n food: 'Bhel Puri',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145506, lng: -84.510080}\n },\n {\n name: 'Bakersfield',\n food: 'Chips & Guacamole',\n tags: [ 'Vegan', 'Gluten Free' ],\n startTime: new DateUtils(18, 30),\n endTime: new DateUtils(19,30),\n coordinates: {lat:39.14318979719742, lng: -84.50841082639693}\n },\n {\n name: 'Bibibop Asian Grill',\n food: 'Sampling of build your bowl',\n tags: [ 'Savory', 'Sweet', 'Vegetarian', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145943, lng: -84.509697}\n },\n {\n name: 'Buckabee Brownies',\n food: 'Brownies and Blondies',\n tags: [ 'Sweet', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.146251, lng: -84.508041}\n },\n {\n name: 'Che',\n food: 'Empanadas!',\n tags: [ 'Savory' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145942619577106, lng: -84.50980322233337}\n },\n {\n name: 'Cheesecakes By Ken',\n food: 'Cheesecake bites',\n tags: [ 'Sweet', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.1436526721259, lng: -84.50891637853212}\n },\n {\n name: 'Chick Fil A',\n food: 'Cookies',\n tags: [ 'Sweet' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.143699806740884, lng: -84.5089254947093}\n },\n {\n name: 'City Barbeque',\n food: 'Sliced brisket',\n tags: [ 'Savory', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145257, lng: -84.510110}\n },\n {\n name: 'Coffee Emporium',\n food: 'Cold Brew, Iced Tea, Coffee, Lemonade',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14347356030112, lng: -84.50891333980641}\n },\n {\n name: 'Dinner to Doorbells',\n food: 'Asian Lettuce Wraps (chicken & cauliflower)',\n tags: [ 'Savory', 'Vegetarian' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145494, lng: -84.510040}\n },\n {\n name: 'Duck Donuts',\n food: 'Donuts',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14505799310157, lng: -84.50633970088333}\n },\n {\n name: \"Eddie Merlot's\",\n food: 'Bourbon Beef Brochettes',\n tags: [ 'Savory' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.146298, lng: -84.509622}\n },\n {\n name: 'Fausto',\n food: 'Primaterra Farm Duck Liver Mousse',\n tags: [ 'Savory' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14594342676881, lng: -84.50985630373431}\n },\n {\n name: 'Forno',\n food: 'Gnocchi',\n tags: [ 'Savory' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14593454765975, lng: -84.50983652831043}\n },\n {\n name: \"Gabby's Cafe\",\n food: 'Italian Meatballs in Marinara',\n tags: [ 'Savory' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14513947622799, lng: -84.507297916105}\n },\n {\n name: 'Hearth at Karrikin',\n food: 'Caesar Asparagus',\n tags: [ 'Savory', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.146236, lng: -84.507920}\n },\n {\n name: \"Holtman's Donuts\",\n food: 'Donut Holes',\n tags: [ 'Sweet' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14592728293332, lng: -84.50985630373431}\n },\n {\n name: \"LaRosa's\",\n food: 'Pizza slices',\n tags: [ 'Savory', 'Vegetarian' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.146282, lng: -84.508127}\n },\n {\n name: \"Mom 'n 'em Coffee\",\n food: 'Coffee Cart',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145935354851524, lng: -84.50986046698144}\n },\n {\n name: 'Pata Roja Taqueria',\n food: '',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.146161, lng: -84.509037}\n },\n {\n name: 'Pepp&Dolores',\n food: 'Tri-colore – Seasoned Ricotta and Roasted Heirloom Tomatoes, Basil, Crostini',\n tags: [ 'Vegetarian' ],\n startTime: new DateUtils(18, 30),\n endTime: new DateUtils(19,30),\n coordinates: {lat:39.14338979710742, lng: -84.50822082639693}\n },\n {\n name: 'Pepp&Dolores',\n food: \"Meatball - Veal & Pork Meatball, Nonna's Red Sauce\",\n tags: [ 'Savory' ],\n startTime: new DateUtils(18, 30),\n endTime: new DateUtils(19,30),\n coordinates: {lat:39.14318979710742, lng: -84.50821082639693}\n },\n {\n name: 'Queen City Cotton Candy',\n food: 'Gourmet Cotton Candy',\n tags: [ 'Sweet', 'Vegetarian', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145038523285905, lng: -84.50734332406951}\n },\n {\n name: 'Ruya',\n food: 'Coffee Drinks',\n tags: [ 'Sweet', 'Vegetarian', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14500722541762, lng: -84.50636588495884}\n },\n {\n name: 'Skyline',\n food: 'Cheese Coneys',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14491644046485, lng: -84.5073524056624}\n },\n {\n name: 'Smoothie Kings',\n food: 'Smoothie samples',\n tags: [ 'Savory', 'Sweet' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.143690379820434, lng: -84.50884648784044}\n },\n {\n name: 'Southern Grace',\n food: 'Vegan, Vegetarian Pasta',\n tags: [ 'Vegan', \"Vegetarian\"],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.14366209905141, lng: -84.50890118490351}\n },\n {\n name: 'Street City Pub',\n food: 'Brussel Sprouts',\n tags: [],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.145096068840466, lng: -84.50630042477006}\n },\n {\n name: 'The Eagle',\n food: 'Hush Puppy - Corn, Jalapeno, Cheddar, Comeback Sauce',\n tags: [ 'Vegetarian' ],\n startTime: new DateUtils(18, 30),\n endTime: new DateUtils(19,30),\n coordinates: {lat:39.14329979710742, lng: -84.50841082639693}\n },\n {\n name: 'Whole Foods',\n food: 'TTLA (tempeh, tomato, lettuce & avocado) wraps ',\n tags: [ 'Savory', 'Gluten Free' ],\n startTime: new DateUtils(19, 30),\n endTime: new DateUtils(21,30),\n coordinates: {lat:39.146278, lng: -84.508092}\n }\n]\n .map(createRestaurant)\n .sort((a, b) => {\n if ( a.name < b.name ) {\n return -1\n }\n if ( a.name > b.name ) {\n return 1\n }\n return 0\n })\n .sort((a, b) => {\n const aTime = new Date(a.endTime.time)\n const bTime = new Date(b.endTime.time)\n if (aTime < bTime) {\n return -1\n }\n if (aTime > bTime) {\n return 1\n }\n return 0\n })\n .filter(itm => !itm.isAvailable)","import React from 'react'\nimport { nanoid } from 'nanoid'\nimport LocalBar from '@material-ui/icons/LocalBar'\n\nexport default [\n {\n name: 'Beer & Wine Bar',\n coordinates: {lat: 39.144875323438875, lng: -84.5097263963715}\n },\n {\n name: 'Beer & Wine Bar',\n coordinates: {lat: 39.146242, lng: -84.507885}\n },\n {\n name: 'Beer & Wine Bar',\n coordinates: {lat: 39.143728238683266, lng: -84.5074967048359}\n },\n {\n name: \"Drink Tickets Sales Stations\",\n coordinates: {lat: 39.14312868924776, lng: -84.50869191253408}\n },\n {\n name: \"Full Bar\",\n coordinates: {lat: 39.14341551260239, lng: -84.50871624660816}\n },\n {\n name: \"Full Bar +Drink Ticket Sales\",\n coordinates: {lat: 39.146351, lng: -84.509630}\n },\n {\n name: \"Full Bar +Drink Ticket Sales\",\n coordinates: {lat: 39.14451732207221, lng: -84.50717380100203}\n },\n {\n name: \"Welcome Drink\",\n coordinates: {lat: 39.14299429609001, lng: -84.50908303606055}\n }\n]\n .map(bar => {\n return {\n ...bar,\n id: nanoid(),\n icon: LocalBar\n }\n })","import React from 'react'\nimport LocalPlayIcon from '@material-ui/icons/LocalPlay';\nimport { nanoid } from 'nanoid'\n\nconst Games = [{\n name: \"Who Killed My Goat\",\n coordinates: {lat:39.14522546668582, lng: -84.50684456144451}\n},\n{\n name: \"Day in the Life MadLibs\",\n coordinates: {lat:39.146228, lng: -84.508111}\n},\n{\n name: \"Tortoise Bingo\",\n coordinates: {lat:39.1445736683354, lng: -84.50745230318431}\n},\n{\n name: \"Animal Jeopardy\",\n coordinates: {lat:39.14337551260239, lng: -84.50871624660816}\n},\n{\n name: \"Feed the Animals Cornhole\",\n coordinates: {lat:39.144889688327375, lng: -84.50986531244506}\n}].map(game => {\n return {\n ...game,\n id: nanoid(),\n icon: LocalPlayIcon\n }\n})\n\nexport default Games","import React from 'react'\nimport CameraAltIcon from '@material-ui/icons/CameraAlt';\nimport {nanoid} from \"nanoid\";\n\nconst PhotoBooth = [\n {\n name: \"Framester Photo Booth\",\n coordinates: {lat:39.146390, lng: -84.509481}\n }\n].map(photo => {\n return {\n ...photo,\n id: nanoid(),\n icon: CameraAltIcon\n }\n})\n\nexport default PhotoBooth","import React from 'react'\nimport {nanoid} from 'nanoid'\nimport MusicNoteIcon from '@material-ui/icons/MusicNote';\n\nconst Music = [\n {\n name: \"Wade & Murphy\",\n coordinates: {lat: 39.144712186040735, lng: -84.50703152271325}\n },\n {\n name: \"DJ Jeremy Hillard\",\n coordinates: { lat:39.143138921078354, lng: -84.50918676718344 }\n },\n {\n name: \"LoopManDan\",\n coordinates: {lat:39.146280, lng: -84.508224}\n },\n {\n name: \"Matt Waters Band\",\n coordinates: {lat:39.146178, lng: -84.509743}\n },\n {\n name: \"Todd of Kentucky Struts\",\n coordinates:{lat:39.14343520138473, lng: -84.50696916525585}\n }\n].map(game => {\n return {\n ...game,\n id: nanoid(),\n icon: MusicNoteIcon\n }\n})\n\n\nexport default Music","import React from 'react'\nimport MonetizationOnIcon from '@material-ui/icons/MonetizationOn';\nimport { nanoid } from \"nanoid\";\nimport InfoIcon from '@material-ui/icons/Info';\n\nconst Others = [\n {\n name: \"Will Call\",\n icon: InfoIcon,\n coordinates: {lat:39.143147, lng: -84.508799}\n },\n {\n name: \"Sponsor Suites - Ft Washington\",\n icon: MonetizationOnIcon,\n coordinates: {lat:39.14318182723275, lng: -84.50815082249977}\n },\n {\n name: \"Sponsor Suites- Honda\",\n icon: MonetizationOnIcon,\n coordinates: {lat:39.14321452751097, lng: -84.50821055321396}\n }\n].map(other => {\n return {\n ...other,\n id: nanoid()\n }\n})\n\nexport default Others","import React, { useEffect, createRef } from 'react'\nimport PropTypes from 'prop-types'\nimport {\n Card,\n CardHeader,\n CardContent,\n Typography,\n Button,\n makeStyles\n} from '@material-ui/core'\n\nconst useStyles = makeStyles(theme => ({\n container: {\n maxHeight: '80vh',\n overflow: 'scroll',\n marginLeft: '2vw',\n marginRight: '2vw',\n marginBottom: '1vh'\n },\n header: {\n paddingBottom: 0\n },\n content: {\n paddingTop: 0\n },\n name: {\n // display: \"block\"\n },\n food: {\n color: theme.palette.text.secondary\n }\n}))\n\nfunction RestaurantCard ({ name, food, tags, startTime, endTime, isFocused, setRestaurantFocus, seeLocation, ...props }) {\n const classes = useStyles()\n\n const ref = createRef()\n useEffect(() => {\n if ( isFocused ) {\n ref.current.scrollIntoView({ behavior: 'smooth'})\n }\n }, [isFocused, ref])\n\n return(\n \n {\n setRestaurantFocus()\n seeLocation()\n }}\n >\n See On Map\n \n }\n className={classes.header}\n />\n \n { tags.join(', ') }\n { food }\n \n \n )\n}\n\nRestaurantCard.propTypes = {\n name: PropTypes.string.isRequired,\n food: PropTypes.string.isRequired,\n tags: PropTypes.array,\n startTime: PropTypes.object,\n endTime: PropTypes.object,\n isFocused: PropTypes.bool,\n setRestaurantFocus: PropTypes.func.isRequired,\n seeLocation: PropTypes.func.isRequired\n}\n\nexport default RestaurantCard","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { makeStyles } from \"@material-ui/core\";\nimport RestaurantCard from './RestaurantCard';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n marginBottom: '10vh',\n maxHeight: 'calc(100% - 126px)',\n overflow: 'scroll'\n }\n}))\n\nfunction DisplayRestaurants ({ restaurants, restaurantFocus, setRestaurantFocus, seeLocation, ...props}) {\n const classes = useStyles(props)\n\n return (\n
\n {\n restaurants.map(({ id, name, food, tags, startTime, endTime }, index) => {\n const isFocused = restaurantFocus === id\n return {\n setRestaurantFocus(id === restaurantFocus ? undefined : id)\n }}\n isFocused={isFocused}\n food={food}\n name={name}\n tags={tags}\n startTime={startTime}\n endTime={endTime}\n seeLocation={seeLocation}\n />\n })\n }\n
\n )\n}\n\nDisplayRestaurants.propTypes = {\n restaurantFocus: PropTypes.string,\n setRestaurantFocus: PropTypes.func.isRequired,\n seeLocation: PropTypes.func.isRequired,\n restaurants: PropTypes.array.isRequired\n}\n\nexport default DisplayRestaurants\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Paper, makeStyles } from \"@material-ui/core\"\nimport { OverlayView, InfoWindow } from \"@react-google-maps/api\";\n\nconst useStyles = makeStyles(theme => ({\n paper: {\n padding: theme.spacing(1),\n maxWidth: 200,\n zIndex: 1500,\n border: \"none\"\n },\n closeButton: {\n padding: 0,\n flexGrow: 1\n },\n customIcon: {\n zIndex: 900\n },\n customOverlay: {\n zIndex: 1000\n }\n}))\n\nfunction PointOfInterest ({ CustomIcon, coordinates, open = false, setFocused, children, ...props }) {\n const classes = useStyles(props)\n\n function toggleOpen () {\n setFocused(open ? undefined : props.id)\n }\n\n function renderInfoWindow () {\n return open ? \n \n {\n children\n }\n \n \n : ''\n }\n\n return \n \n {\n toggleOpen()\n }}/>\n \n\n {\n renderInfoWindow()\n }\n\n \n}\n\nPointOfInterest.propTypes = {\n id: PropTypes.string.isRequired,\n coordinates: PropTypes.shape({\n lng: PropTypes.number,\n lat: PropTypes.number\n }).isRequired,\n open: PropTypes.bool,\n setFocused: PropTypes.func.isRequired,\n CustomIcon: PropTypes.object.isRequired\n}\n\nexport default PointOfInterest\n","import React from 'react'\nimport { Dialog, DialogTitle, TextField, Button } from '@material-ui/core'\nimport Axios from 'axios'\n\nfunction AddRestaurant () {\n const isOpen = window.location.search.includes('addpoi')\n\n async function saveData (e) {\n e.preventDefault()\n }\n\n return (\n \n Add Restaurant\n
\n \n \n
\n \n \n
\n )\n}\n\nexport default AddRestaurant","import React, { useState, useEffect } from 'react';\nimport {\n MuiThemeProvider,\n createMuiTheme,\n Container,\n Typography,\n Paper,\n makeStyles\n} from '@material-ui/core'\nimport Axios from 'axios'\nimport { AppBar, CoreComponentSwitch } from './modules/Navigation'\nimport { TableSchedule } from './modules/Schedule'\nimport { MapContainer, MyLocation, Restaurant} from './modules/Map'\nimport Schedule from './data/Schedule'\nimport Restaurants from \"./data/Restaurants\";\nimport Bars from \"./data/Bars\";\nimport Games from './data/Games'\nimport PhotoBooth from \"./data/PhotoBooth\";\nimport Music from './data/Music'\nimport Others from './data/Others'\nimport { DisplayRestaurants } from \"./modules/Restaurants\";\nimport PointOfInterest from \"./modules/Map/components/PointOfInterest\";\nimport AddRestaurant from \"./modules/Restaurants/AddRestaurant\"\n\nconst theme = createMuiTheme({\n palette: {\n primary: {main: \"rgb(92, 175, 176)\"},\n secondary: {main: \"rgb(246, 147, 32)\"},\n type: window.location.search.includes('dark') ? 'dark': 'light'\n }\n})\n\nconst useStyles = makeStyles(theme => ({\n appBar: {\n height: \"10vh\",\n backgroundColor: theme.palette.background.paper\n },\n appBackground: {\n position: 'absolute',\n top: 0,\n height: '100vh',\n width: '100vw'\n },\n appContainer: {\n margin: '0',\n padding: '0',\n marginTop: '10vh',\n height: '80vh',\n width: '100vw',\n position: \"relative\"\n },\n clickAway: {\n position: 'fixed',\n top: 0,\n left: 0,\n height: '100vh',\n width: '100vw',\n backgroundColor: theme.palette.background.paper\n },\n logo: {\n display: 'block',\n margin: 'auto',\n height: '66px',\n width: '100px'\n },\n menuButton: {\n display: 'none',\n marginRight: theme.spacing(2)\n },\n zooMap: {\n maxWidth: '100vw'\n },\n showMap: {\n\n },\n hideMap: {\n visibility: 'hidden'\n }\n}))\n\nfunction App() {\n const [ open, setOpen ] = useState(false)\n const [ focus, setFocus ] = useState('Map')\n const [ restaurants, setRestaurants ] = useState([])\n\n const [ poiFocus, setPoiFocus] = useState(undefined)\n const classes = useStyles()\n\n useEffect(() => {\n\n async function fetchData() {\n // const { data } = await Axios.get('https://zoolala.events/api')\n // setRestaurants(data)\n }\n fetchData()\n })\n\n function focusedComponent () {\n switch ( focus ) {\n default:\n return
\n case 'Schedule':\n return \n case 'Restaurants':\n return {\n setFocus('Map')\n }}\n />\n }\n }\n\n return (\n \n \n\n \n\n \n\n {\n open\n ?
{\n setOpen(false)\n }} className={classes.clickAway}/>\n : ''\n }\n\n \n\n { focusedComponent() }\n\n id === poiFocus )[0]\n .coordinates\n : undefined\n }\n >\n \n \n\n {/* {\n Schedule.map((event, index) => {\n return \n {event.event}\n {event.startTime.getDateByHour()}-{event.endTime.getDateByHour()}\n { event.description }\n \n })\n } */}\n\n {\n restaurants.map((food, index) => {\n setFocus('Restaurants')\n setPoiFocus(food.id)\n }}\n {...food}\n />)\n }\n\n {/* {\n Bars.map((bar, index) => {\n return \n {bar.name}\n \n })\n } */}\n\n {/* {\n Games.map((game, index) => {\n return \n {game.name}\n \n })\n } */}\n\n {/* {\n PhotoBooth.map((photo, index) => {\n return \n {photo.name}\n \n })\n } */}\n\n {/* {\n PhotoBooth.map((photo, index) => {\n return \n {photo.name}\n \n })\n } */}\n\n {/* {\n Music.map((music, index) => {\n return \n {music.name}\n \n })\n } */}\n\n {/* {\n Others.map((other, index) => {\n return \n {other.name}\n \n })\n } */}\n\n \n \n\n \n\n {\n setFocus(navFocus)\n setPoiFocus(undefined)\n }}\n />\n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nimport {\n ApolloProvider,\n ApolloClient,\n HttpLink,\n InMemoryCache,\n } from \"@apollo/client\";\n\nimport * as Realm from \"realm-web\"\n\nexport const APP_ID = \"zoolala-nnckr\";\n\nconst app = new Realm.App({ id: APP_ID })\n\n// Gets a valid Realm user access token to authenticate requests\nasync function getValidAccessToken() {\n // Guarantee that there's a logged in user with a valid access token\n if (!app.currentUser) {\n // If no user is logged in, log in an anonymous user. The logged in user will have a valid\n // access token.\n await app.logIn(Realm.Credentials.anonymous());\n } else {\n // An already logged in user's access token might be stale. To guarantee that the token is\n // valid, we refresh the user's custom data which also refreshes their access token.\n await app.currentUser.refreshCustomData();\n }\n\n return app.currentUser.accessToken;\n}\n \n// Configure the ApolloClient to connect to your app's GraphQL endpoint\nconst client = new ApolloClient({\n link: new HttpLink({\n uri: `https://realm.mongodb.com/api/client/v2.0/app/${APP_ID}/graphql`,\n // We define a custom fetch handler for the Apollo client that lets us authenticate GraphQL requests.\n // The function intercepts every Apollo HTTP request and adds an Authorization header with a valid\n // access token before sending the request.\n fetch: async (uri, options) => {\n const accessToken = await getValidAccessToken();\n options.headers.Authorization = `Bearer ${accessToken}`;\n return fetch(uri, options);\n },\n }),\n cache: new InMemoryCache()\n});\n\nReactDOM.render(\n \n, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}