{"version":3,"file":"govx-desktop.tickets.venuepage.45542d716e124188040f.js","mappings":"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","sources":["webpack://@govx/govx-shop/./node_modules/@material-ui/icons/LocalOffer.js","webpack://@govx/govx-shop/./src/desktop/components/Tickets/cards/VenueCard/index.js","webpack://@govx/govx-shop/./src/desktop/components/Tickets/TicketsVenuePage/index.js"],"sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z\"\n}), 'LocalOffer');\n\nexports.default = _default;","import React from 'react'\nimport { connect } from 'react-redux'\nimport { compose, withState, lifecycle, branch, renderNothing } from 'recompose'\nimport { withStyles } from '@material-ui/core/styles'\nimport Grid from '@material-ui/core/Grid'\nimport Typography from '@material-ui/core/Typography'\nimport TicketIcon from '@material-ui/icons/LocalOffer'\n\nimport {\n  gotoRegister,\n  gotoLogin,\n  fetchTicketDiscount,\n  fetchTicketRestrictions,\n  showModal,\n  gotoTicketLink,\n  viewedVenueTicket,\n  clickedVenueTicket,\n  launchedVenueTicketModal,\n} from '../../../../../redux/actions'\nimport { selectUser } from '../../../../../redux/selectors'\nimport { getTicketsVenuePath } from '../../../../../setup/routeConstants'\nimport {\n  buildTicketsLogoPictureUrl,\n  isImageAvailable,\n} from '../../../../../utilities/picture-util'\nimport {\n  formatEventName,\n  getVenueDisplayName,\n} from '../../../../../utilities/tickets-util'\nimport TicketCTA from '../TicketCTA'\nimport NoActionLink from '../../../common/links/NoActionLink'\nimport RouteLink from '../../../common/links/RouteLink'\nimport TicketDiscountCodeModal from '../../TicketDiscountCodeModal'\nimport NoTicketsModal from '../../NoTicketsModal'\nimport TicketRestrictionsModal from '../../TicketRestrictionsModal'\nimport Sensor from 'react-visibility-sensor'\n\nconst styles = {\n  card: {\n    position: 'relative',\n    display: 'flex',\n    minHeight: '112px',\n    overflow: 'hidden',\n    marginBottom: '15px',\n    border: '1px solid #eaeaea',\n    borderRadius: '3px',\n  },\n  logoContainer: {\n    width: '120px',\n    minHeight: '112px',\n    float: 'left',\n    display: 'flex',\n    justifyContent: 'center',\n    alignItems: 'center',\n    padding: '15px 0px 15px 15px',\n    backgroundColor: (props) =>\n      isImageAvailable(props.venue.logoPicture) ? '#fff' : '#eaeaea',\n  },\n  logo: {\n    display: 'flex',\n    maxWidth: '100%',\n    maxHeight: '100%',\n  },\n  info: {\n    position: 'relative',\n    minHeight: '112px',\n    width: (props) => (props.isVenuePage ? '100%' : 'calc(100% - 120px)'),\n    float: (props) => (props.isVenuePage ? 'none' : 'left'),\n    padding: '15px',\n  },\n  ticketIcon: {\n    width: '64px',\n    height: '64px',\n    fill: '#ccc',\n    filter: 'drop-shadow(-1px 1px 0px rgba(0,0,0,.4))',\n  },\n}\n\nconst VenueCard = ({\n  classes,\n  descriptionExpanded,\n  isVenuePage,\n  onLoginClick,\n  onRestrictionsClick,\n  onSignupClick,\n  onTicketClick,\n  setDescriptionExpanded,\n  ticket,\n  user,\n  venue,\n  tracked,\n  trackTicket,\n}) => (\n  <>\n    {!tracked && (\n      <Sensor partialVisibility={true} onChange={(x) => x && trackTicket()}>\n        <span style={{}}>&nbsp;</span>\n      </Sensor>\n    )}\n    <div className={classes.card}>\n      {!isVenuePage && (\n        <RouteLink\n          unstyled\n          to={getTicketsVenuePath(venue.id, venue.seoName)}\n          extraClass={classes.logoContainer}\n        >\n          {isImageAvailable(venue.logoPicture) ? (\n            <img\n              src={buildTicketsLogoPictureUrl(venue.logoPicture, venue.seoName)}\n              alt={venue.name}\n              className={classes.logo}\n            />\n          ) : (\n            <div className={classes.logo}>\n              <TicketIcon className={classes.ticketIcon} />\n            </div>\n          )}\n        </RouteLink>\n      )}\n      <div className={classes.info}>\n        <Grid container spacing={2}>\n          <Grid item xs={8}>\n            {ticket.name && (\n              <Typography\n                variant='subtitle1'\n                gutterBottom\n                style={{ fontSize: '20px' }}\n              >\n                {formatEventName(ticket.name)}\n              </Typography>\n            )}\n            {!isVenuePage && (\n              <Typography variant='body1' noWrap>\n                <RouteLink\n                  to={getTicketsVenuePath(venue.id, venue.seoName)}\n                  style={{ color: '#00a1df' }}\n                >\n                  {venue.name.trim().length > 0\n                    ? venue.name\n                    : getVenueDisplayName(venue)}\n                </RouteLink>\n                {venue.city && `, ${venue.city}`}\n                {venue.state && `, ${venue.state}`}\n              </Typography>\n            )}\n            {ticket.description && (\n              <Typography\n                variant='body1'\n                style={{ marginTop: '10px', color: '#999' }}\n              >\n                {ticket.description.length > 123 ? (\n                  descriptionExpanded ? (\n                    <span>\n                      {ticket.description}&nbsp;\n                      <NoActionLink\n                        style={{ color: '#00a1df' }}\n                        children='Less'\n                        onClick={() => setDescriptionExpanded(false)}\n                      />\n                    </span>\n                  ) : (\n                    <span>\n                      {ticket.description.slice(0, 123)}&nbsp;\n                      <NoActionLink\n                        style={{ color: '#00a1df' }}\n                        children='More'\n                        onClick={() => setDescriptionExpanded(true)}\n                      />\n                    </span>\n                  )\n                ) : (\n                  ticket.description\n                )}\n              </Typography>\n            )}\n          </Grid>\n          <Grid item xs={4}>\n            <TicketCTA\n              ticket={ticket}\n              user={user}\n              onSignupClick={onSignupClick}\n              onLoginClick={onLoginClick}\n              onRestrictionsClick={onRestrictionsClick}\n              onTicketClick={onTicketClick}\n            />\n          </Grid>\n        </Grid>\n      </div>\n    </div>\n  </>\n)\n\nconst mapStateToProps = (state, ownProps) => ({\n  user: selectUser(state),\n})\n\nconst mapDispatchToProps = (dispatch, ownProps) => ({\n  onSignupClick: (e) => {\n    e && e.preventDefault()\n    dispatch(gotoRegister())\n  },\n  onLoginClick: (e) => {\n    e && e.preventDefault()\n    dispatch(gotoLogin())\n  },\n  onRestrictionsClick: (e, ticket) => {\n    e && e.preventDefault()\n    dispatch(fetchTicketRestrictions(ticket.id)).then((restrictions) =>\n      dispatch(\n        showModal('DYNAMIC', {\n          component: TicketRestrictionsModal,\n          restrictions,\n        }),\n      ),\n    )\n  },\n  onTicketClick: (e, ticket) => {\n    e && e.preventDefault()\n    dispatch(clickedVenueTicket(ownProps.ticket, ownProps.position))\n\n    if (!ticket.accessGranted) {\n      return dispatch(fetchTicketRestrictions(ticket.id)).then((restrictions) =>\n        dispatch(\n          showModal('DYNAMIC', {\n            component: TicketRestrictionsModal,\n            restrictions,\n            isVenuePage: ownProps.isVenuePage,\n          }),\n        ),\n      )\n    } else if (ticket.link && ticket.discountType < 2)\n      return dispatch(\n        gotoTicketLink({\n          entity: ownProps.venue,\n          type: 'venue',\n          ticket: ticket,\n        }),\n      )\n    else\n      return dispatch(fetchTicketDiscount(ticket.id)).then((discount) => {\n        if (discount) {\n          if (discount.finalDiscountType < 2)\n            dispatch(\n              gotoTicketLink({\n                entity: ownProps.venue,\n                type: 'venue',\n                ticket: discount,\n              }),\n            )\n          else {\n            dispatch(\n              launchedVenueTicketModal(ownProps.ticket, ownProps.position),\n            )\n            dispatch(\n              showModal('DYNAMIC', {\n                component: TicketDiscountCodeModal,\n                isVenuePage: ownProps.isVenuePage,\n                position: ownProps.position,\n                venue: ownProps.venue,\n                ticket: ownProps.ticket,\n                discount: discount,\n              }),\n            )\n          }\n        } else {\n          dispatch(launchedVenueTicketModal(ownProps.ticket, ownProps.position))\n          dispatch(showModal('DYNAMIC', { component: NoTicketsModal }))\n        }\n      })\n  },\n  trackTicket: () => {\n    if (!ownProps.tracked) {\n      ownProps.setTracked(true)\n      dispatch(viewedVenueTicket(ownProps.ticket, ownProps.position))\n    }\n  },\n})\n\nconst enhance = compose(\n  withState('tracked', 'setTracked', false),\n  connect(mapStateToProps, mapDispatchToProps),\n  withState('error', 'setError', (props) => null),\n  withState('descriptionExpanded', 'setDescriptionExpanded', (props) => false),\n  lifecycle({\n    componentDidCatch(error, info) {\n      this.props.setError(error)\n      console.log('Error in VenueCardDesktop:', error, info.componentStack)\n    },\n  }),\n  withStyles(styles),\n  branch(({ error }) => error, renderNothing),\n)\n\nexport default enhance(VenueCard)\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport {\n  compose,\n  withState,\n  withProps,\n  lifecycle,\n  withHandlers,\n} from 'recompose'\nimport { withRouter } from 'react-router'\nimport { withStyles } from '@material-ui/core/styles'\nimport Tabs from '@material-ui/core/Tabs'\nimport Tab from '@material-ui/core/Tab'\nimport Grid from '@material-ui/core/Grid'\nimport Typography from '@material-ui/core/Typography'\nimport CircularProgress from '@material-ui/core/CircularProgress'\nimport {\n  fetchVenueEvents,\n  fetchVenueTickets,\n  onEvent,\n} from '../../../../redux/actions'\nimport {\n  selectVenue,\n  selectVenueEvents,\n  selectVenueTickets,\n} from '../../../../redux/selectors'\nimport { RouteConstants } from '../../../../setup/routeConstants'\nimport { getVenueDisplayName } from '../../../../utilities/tickets-util'\nimport Hero from '../Hero'\nimport EventCard from '../cards/EventCard'\nimport VenueCard from '../cards/VenueCard'\nconst styles = {\n  content: {\n    minHeight: '100px',\n    position: 'relative',\n    display: 'flex',\n    justifyContent: 'center',\n    maxWidth: '1200px',\n    margin: (props) =>\n      props.venue && props.venue.description ? '-48px auto 0px' : '0px auto',\n  },\n  htmlContainer: {\n    marginTop: (props) =>\n      props.venue && props.venue.description ? '30px' : '0px',\n    fontFamily: 'geomanist-regular, Helvetica, sans-serif',\n\n    '@global': {\n      a: {\n        color: '#00a1df',\n        textDecoration: 'none',\n\n        '&:hover': {\n          color: '#222',\n          textDecoration: 'underline',\n        },\n      },\n    },\n  },\n  adContainer: {\n    marginTop: '30px',\n\n    '@global': {\n      'svg, img': {\n        maxWidth: '100%',\n      },\n      a: {\n        color: '#00a1df',\n        textDecoration: 'none',\n\n        '&:hover': {\n          textDecoration: 'underline',\n        },\n      },\n    },\n  },\n  tabIndicator: {\n    backgroundColor: 'transparent',\n  },\n  selectedTab: {\n    color: '#00a1df',\n  },\n  tabsRoot: {\n    '@media(max-width: 767px)': {\n      height: '36px',\n      minHeight: '36px',\n      marginTop: '12px',\n    },\n  },\n  tabRoot: {\n    backgroundColor: '#fff',\n    borderTopRightRadius: '3px',\n    borderTopLeftRadius: '3px',\n\n    '@media(max-width: 767px)': {\n      height: '36px',\n    },\n  },\n}\n\nconst VenuePage = ({\n  classes,\n  events,\n  onTabChange,\n  selectedTab,\n  tickets,\n  venue,\n  venueName,\n}) =>\n  venue ? (\n    <div>\n      <Hero\n        data={{ ...venue, name: venue.name || venueName }}\n        withTabs={venue.description}\n      />\n      <div className={classes.content}>\n        <Grid container spacing={3}>\n          <Grid item xs={12} sm={9}>\n            {venue.description && (\n              <Tabs\n                value={selectedTab}\n                onChange={(e, v) => onTabChange(v)}\n                classes={{\n                  root: classes.tabsRoot,\n                  indicator: classes.tabIndicator,\n                }}\n              >\n                <Tab\n                  label='Tickets'\n                  classes={{\n                    root: classes.tabRoot,\n                    selected: classes.selectedTab,\n                  }}\n                  style={{ marginRight: '10px' }}\n                />\n                <Tab\n                  label='More info'\n                  classes={{\n                    root: classes.tabRoot,\n                    selected: classes.selectedTab,\n                  }}\n                />\n              </Tabs>\n            )}\n            {selectedTab === 0 && (\n              <div style={{ marginTop: '30px' }}>\n                {tickets &&\n                  tickets.length > 0 &&\n                  tickets.map((t, i) => (\n                    <VenueCard\n                      key={i}\n                      ticket={t}\n                      venue={venue}\n                      isVenuePage={true}\n                      position={i + 1}\n                    />\n                  ))}\n                {events && events.length > 0 ? (\n                  <div>\n                    <Typography\n                      variant='subtitle1'\n                      gutterBottom\n                      style={{ fontFamily: 'geomanist-regular' }}\n                    >\n                      Upcoming events at {venueName}\n                    </Typography>\n                    {events\n                      .sort(\n                        (a, b) => new Date(a.eventDate) - new Date(b.eventDate),\n                      )\n                      .map((e, i) => (\n                        <EventCard\n                          key={i}\n                          event={e}\n                          isVenuePage={true}\n                          position={i + 1}\n                        />\n                      ))}\n                  </div>\n                ) : null}\n              </div>\n            )}\n            {selectedTab === 1 && (\n              <div\n                className={classes.htmlContainer}\n                dangerouslySetInnerHTML={{ __html: venue.description }}\n              />\n            )}\n          </Grid>\n          <Grid item xs={12} sm={3}>\n            {venue.ads && venue.ads.trim().length > 0 && (\n              <div\n                className={classes.adContainer}\n                dangerouslySetInnerHTML={{ __html: venue.ads }}\n              />\n            )}\n          </Grid>\n        </Grid>\n      </div>\n    </div>\n  ) : (\n    <div className={classes.content}>\n      <div style={{ marginTop: '150px' }}>\n        <CircularProgress />\n      </div>\n    </div>\n  )\n\nconst mapStateToProps = (state, ownProps) => ({\n  venue: selectVenue(parseInt(ownProps.match.params.id))(state),\n  events: selectVenueEvents(parseInt(ownProps.match.params.id))(state),\n  tickets: selectVenueTickets(parseInt(ownProps.match.params.id))(state),\n})\n\nconst mapDispatchToProps = (dispatch, ownProps) => ({\n  fetchVenueEvents: (id) => dispatch(fetchVenueEvents(id)),\n  fetchVenueTickets: (id) => dispatch(fetchVenueTickets(id)),\n  gotoHome: () => ownProps.history.push(RouteConstants.tickets.index.path),\n  trackTabClick: (index) =>\n    dispatch(\n      onEvent({\n        category: 'Venue Page',\n        action: 'Tabs',\n        label: index === 0 ? 'Tickets' : 'More info',\n      }),\n    ),\n})\n\nconst enhance = compose(\n  withRouter,\n  connect(mapStateToProps, mapDispatchToProps),\n  withState('selectedTab', 'setSelectedTab', (props) => 0),\n  withState('error', 'setError', (props) => null),\n  withProps((o) => ({\n    venueName:\n      o.venue && o.venue.name\n        ? o.venue.name.trim().length > 0\n          ? o.venue.name\n          : getVenueDisplayName(o.venue)\n        : 'Venue',\n  })),\n  lifecycle({\n    componentDidMount() {\n      this.props.fetchVenueEvents(parseInt(this.props.match.params.id))\n      this.props.fetchVenueTickets(parseInt(this.props.match.params.id))\n    },\n    componentDidCatch(error, info) {\n      this.props.setError(error)\n      console.log('Error in Venue:', error, info.componentStack)\n      this.props.gotoHome()\n    },\n  }),\n  withHandlers({\n    onTabChange: (props) => (activeTabIndex) => {\n      props.setSelectedTab(activeTabIndex)\n      props.trackTabClick(activeTabIndex)\n    },\n  }),\n  withStyles(styles),\n)\n\nexport default enhance(VenuePage)\n"],"names":["_interopRequireDefault","require","_interopRequireWildcard","exports","React","_default","createElement","d","styles","card","position","display","minHeight","overflow","marginBottom","border","borderRadius","logoContainer","width","float","justifyContent","alignItems","padding","backgroundColor","props","isImageAvailable","venue","logoPicture","logo","maxWidth","maxHeight","info","isVenuePage","ticketIcon","height","fill","filter","compose","withState","connect","state","ownProps","user","selectUser","dispatch","onSignupClick","e","preventDefault","gotoRegister","onLoginClick","gotoLogin","onRestrictionsClick","ticket","fetchTicketRestrictions","id","then","restrictions","showModal","component","TicketRestrictionsModal","onTicketClick","clickedVenueTicket","accessGranted","link","discountType","gotoTicketLink","entity","type","fetchTicketDiscount","discount","finalDiscountType","launchedVenueTicketModal","TicketDiscountCodeModal","NoTicketsModal","trackTicket","tracked","setTracked","viewedVenueTicket","lifecycle","componentDidCatch","error","this","setError","console","log","componentStack","withStyles","branch","_ref2","renderNothing","_ref","classes","descriptionExpanded","setDescriptionExpanded","Sensor","partialVisibility","onChange","x","style","className","RouteLink","unstyled","to","getTicketsVenuePath","seoName","extraClass","src","buildTicketsLogoPictureUrl","alt","name","TicketIcon","Grid","container","spacing","item","xs","Typography","variant","gutterBottom","fontSize","formatEventName","noWrap","color","trim","length","getVenueDisplayName","city","concat","description","marginTop","NoActionLink","children","onClick","slice","TicketCTA","withRouter","selectVenue","parseInt","match","params","events","selectVenueEvents","tickets","selectVenueTickets","fetchVenueEvents","fetchVenueTickets","gotoHome","history","push","RouteConstants","index","path","trackTabClick","onEvent","category","action","label","withProps","o","venueName","componentDidMount","withHandlers","onTabChange","activeTabIndex","setSelectedTab","content","margin","htmlContainer","fontFamily","a","textDecoration","adContainer","tabIndicator","selectedTab","tabsRoot","tabRoot","borderTopRightRadius","borderTopLeftRadius","Hero","data","_objectSpread","withTabs","sm","Tabs","value","v","root","indicator","Tab","selected","marginRight","map","t","i","VenueCard","key","sort","b","Date","eventDate","EventCard","event","dangerouslySetInnerHTML","__html","ads","CircularProgress"],"sourceRoot":""}