{"version":3,"sources":["constants/routes.js","components/Header.js","components/Footer.js","components/HomeHeroSection.js","components/ErrorSnackbar.js","constants/config.js","components/FeaturedPost.js","constants/endpoints.js","services/telemetry.service.js","hooks/useSpeakersFeatured.js","components/FeaturedSpeakers.js","components/FindABanner.js","components/MicSection.js","pages/Home.js","components/FlippedItem.js","components/ResultList.js","pages/Speakers.js","hooks/useSpeakers.js","pages/Communities.js","hooks/useCommunities.js","pages/Conferences.js","hooks/useConferences.js","components/BreadCrumbs.js","components/SpeakerDetailTabs.js","components/SocialLinks.js","components/Tags.js","components/SpeakerCard.js","components/TwitterContent.js","pages/SpeakerDetail.js","pages/Privacy.js","pages/Terms.js","components/CommunityDetailTabs.js","hooks/useCommunitiesFeatured.js","components/FeaturedCommunities.js","components/CommunityCard.js","pages/CommunityDetail.js","components/ConferenceDetailTabs.js","hooks/useConferencesFeatured.js","components/FeaturedConferences.js","components/ConferenceCard.js","pages/ConferenceDetail.js","pages/Search.js","components/Router.js","components/ScrollToTop.js","Main.js","utils/TelemetryProvider.js","App.js","serviceWorker.js","index.js"],"names":["path","name","useStyles","makeStyles","theme","toolbarLink","padding","spacing","flexShrink","fontSize","transition","textDecoration","color","palette","secondary","main","primary","logo","breakpoints","down","display","overflow","speaker","up","navSection","marginLeft","search","active","HideOnScroll","props","children","window","trigger","useScrollTrigger","target","undefined","Slide","appear","direction","in","Header","classes","history","useHistory","query","URLSearchParams","useLocation","sections","image","process","altImage","speakerImage","altSpeakerImage","AppBar","position","Container","maxWidth","Toolbar","className","toolbar","id","role","Link","to","routes","component","RouterLink","src","alt","onError","e","onerror","Typography","Hidden","smDown","map","section","i","variant","url","NavLink","activeClassName","exact","title","onSubmit","preventDefault","terms","value","length","push","pathname","Input","type","required","spellCheck","aria-label","defaultValue","get","placeholder","endAdornment","InputAdornment","defaultProps","PropTypes","footer","grey","footerMain","width","minHeight","backgroundColor","textAlign","footerMenu","footerLink","light","Footer","Grid","container","item","xs","md","align","href","Date","getFullYear","mainFeaturedPost","common","white","marginBottom","height","backgroundSize","backgroundRepeat","backgroundPosition","overlay","top","bottom","right","left","mainFeaturedPostContent","paddingTop","paddingLeft","paddingRight","HomeHeroSection","post","Paper","style","backgroundImage","square","imageText","mountOnEnter","timeout","gutterBottom","paragraph","description","ErrorSnackbar","error","alertOpen","setAlertOpen","useState","Boolean","useEffect","Snackbar","open","autoHideDuration","onClose","Alert","severity","data-testid","message","NODE_ENV","REACT_APP_APPLICATION_INSIGHTS_TELEMETRY_KEY","REACT_APP_URL","REACT_APP_API","REACT_APP_IMAGES","REACT_APP_DISQUS_SHORT_NAME","nodeEnv","nodeEnvironments","production","applicationInsightsTelemetryKey","api","images","disqusShortName","card","cardTitle","cardMedia","cardLocation","verticalAlign","margin","cardLocationIcon","cardDetail","textOverflow","cardViewProfile","FeaturedPost","rest","Card","CardActionArea","CardMedia","config","slug","CardContent","location","CardActions","disableSpacing","Button","size","rootRoute","speakers","speakersFeatured","communities","communitiesFeatured","conferences","conferencesFeatured","stats","reactPlugin","appInsights","applicationInsights","initialize","instrumentationKey","browserHistory","Error","ReactPlugin","ApplicationInsights","maxBatchInterval","disableFetchTracking","extensions","extensionConfig","identifier","loadAppInsights","trackException","exception","useSpeakersFeatured","setError","isLoaded","setLoaded","setSpeakers","async","response","fetch","endpoints","data","json","ok","result","x","fetchData","FeaturedSpeakers","sm","lg","CircularProgress","findA","FindABanner","text","micSection","count","fontWeight","MicSection","setStats","ref","inView","useInView","threshold","triggerOnce","alignItems","justifyContent","start","end","speakerCount","delay","countUpRef","communityCount","conferenceCount","sectionTitle","textTransform","letterSpacing","sectionIcon","marginRight","Home","onElementAppear","el","index","spring","onUpdate","val","opacity","onGridExit","removeElement","overshootClamping","transform","onComplete","shouldFlip","prev","current","FlippedItem","stagger","flipId","onAppear","onExit","shouldInvert","inverseFlipId","translate","delayUntil","ResultList","Component","constructor","super","this","state","sort","orderBy","filteredIds","render","flipKey","JSON","stringify","staggerConfig","default","reverse","speed","decisionData","fieldSet","htmlFor","onClick","setState","onKeyUp","defaultChecked","listStyleType","filter","d","includes","a","b","score","localeCompare","Math","random","withStyles","borderColor","Speakers","useSpeakers","Communities","setCommunities","useCommunities","Conferences","setConferences","useConferences","breadcrumbs","StyledBreadcrumb","root","typography","fontWeightRegular","boxShadow","shadows","emphasize","Chip","BreadCrumbs","paths","split","Breadcrumbs","underline","label","icon","clickable","last","slice","join","flexGrow","StyledTableRow","action","hover","TableRow","SpeakerDetailTabs","setValue","React","presentations","setPresentations","TabContext","Tabs","onChange","event","newValue","indicatorColor","textColor","centered","Tab","TabPanel","TableContainer","Table","table","TableHead","TableCell","TableBody","stripedRows","row","scope","flexWrap","listStyle","chip","SocialLinks","socialPlatforms","social","key","PlatformIcon","Icons","IconButton","Tags","tags","tag","float","SpeakerCard","TwitterContent","anchor","document","createElement","setAttribute","twitterEmbed","getElementById","hasChildNodes","innerHTML","appendChild","script","twitter","SpeakerDetail","useParams","setSpeaker","disqusShortname","disqusConfig","find","DiscussionEmbed","shortname","Privacy","Terms","CommunityDetailTabs","useCommunitiesFeatured","FeaturedCommunities","CommunityCard","CommunityDetail","community","setCommunity","ConferenceDetailTabs","useConferencesFeatured","FeaturedConferences","ConferenceCard","ConferenceDetail","conference","setConference","Search","results","setResults","Router","ScrollToTop","scrollTo","offset","mixins","Main","CssBaseline","TelemetryProvider","initialized","componentDidMount","disabled","withRouter","withAITracking","createTheme","fontFamily","h1","fontStyle","h2","h3","h4","h5","h6","dark","contrastText","blue","overrides","MuiAppBar","colorPrimary","colorSecondary","colorDefault","disableTelemetry","App","ThemeProvider","hostname","match","ReactDOM","StrictMode","navigator","serviceWorker","ready","then","registration","unregister","catch","console"],"mappings":"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","file":"static/js/main.83fadd47.chunk.js","sourcesContent":["export default {\n root: {\n path: '/',\n name: 'Home',\n },\n speakers: {\n path: '/speakers',\n name: 'Speakers',\n },\n communities: {\n path: '/communities',\n name: 'Communities',\n },\n conferences: {\n path: '/conferences',\n name: 'Conferences',\n },\n search: {\n path: '/search',\n name: 'Search',\n },\n privacy: {\n path: '/privacy',\n name: 'Privacy',\n },\n terms: {\n path: '/terms',\n name: 'Terms of Use',\n },\n};\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Link as RouterLink, NavLink, useHistory, useLocation } from 'react-router-dom';\nimport Link from '@material-ui/core/Link';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport SearchIcon from '@material-ui/icons/Search';\nimport AppBar from '@material-ui/core/AppBar';\nimport Typography from '@material-ui/core/Typography';\nimport useScrollTrigger from '@material-ui/core/useScrollTrigger';\nimport Slide from '@material-ui/core/Slide';\nimport Container from '@material-ui/core/Container';\nimport Input from '@material-ui/core/Input';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Hidden from '@material-ui/core/Hidden';\nimport routes from '../constants/routes';\n\nconst useStyles = makeStyles(theme => ({\n toolbarLink: {\n padding: theme.spacing(1),\n flexShrink: 0,\n fontSize: '16px',\n transition: '0.3s',\n textDecoration: 'none',\n color: theme.palette.secondary.main,\n '&:hover': {\n color: theme.palette.primary.main,\n textDecoration: 'none',\n },\n },\n logo: {\n [theme.breakpoints.down('xs')]: {\n display: 'none',\n },\n overflow: 'hidden',\n },\n speaker: {\n [theme.breakpoints.up('sm')]: {\n display: 'none',\n },\n },\n navSection: {\n marginLeft: 'auto',\n },\n search: {\n display: 'inline',\n },\n active: {\n color: theme.palette.primary.main,\n },\n}));\n\nfunction HideOnScroll(props) {\n const { children, window } = props;\n const trigger = useScrollTrigger({ target: window ? window() : undefined });\n\n return (\n \n {children}\n \n );\n}\n\nHideOnScroll.defaultProps = {\n window: null,\n};\n\nHideOnScroll.propTypes = {\n children: PropTypes.element.isRequired,\n /**\n * Injected by the documentation to work in an iframe.\n * You won't need it on your project.\n */\n window: PropTypes.func,\n};\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function Header(props) {\n const classes = useStyles();\n const history = useHistory();\n const query = useQuery();\n const { sections } = props;\n const image = `${process.env.PUBLIC_URL}/images/speakermeet.svg`;\n const altImage = `${process.env.PUBLIC_URL}/images/speakermeet.png`;\n const speakerImage = `${process.env.PUBLIC_URL}/images/speaker.svg`;\n const altSpeakerImage = `${process.env.PUBLIC_URL}/images/speaker.png`;\n const handleSubmit = e => {\n e.preventDefault();\n if (e.target.terms.value.length > 1) {\n history.push({ pathname: routes.search.path, search: `?terms=${e.target.terms.value}` });\n }\n };\n\n return (\n \n \n \n \n \n {\n e.target.onerror = null;\n e.target.src = altImage;\n }}\n />\n {\n e.target.onerror = null;\n e.target.src = altSpeakerImage;\n }}\n />\n \n\n \n \n {sections.map((section, i) => (\n \n {section.title}\n \n ))}\n \n
\n \n \n \n }\n />\n \n
\n
\n
\n
\n
\n );\n}\n\nHeader.defaultProps = {\n sections: PropTypes.array,\n};\n\nHeader.propTypes = {\n sections: PropTypes.arrayOf(PropTypes.shape()),\n};\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Container from '@material-ui/core/Container';\nimport Typography from '@material-ui/core/Typography';\nimport { Link as RouterLink } from 'react-router-dom';\nimport Link from '@material-ui/core/Link';\nimport Grid from '@material-ui/core/Grid';\nimport grey from '@material-ui/core/colors/grey';\nimport TwitterIcon from '@material-ui/icons/Twitter';\nimport FacebookIcon from '@material-ui/icons/Facebook';\nimport GitHubIcon from '@material-ui/icons/GitHub';\nimport routes from '../constants/routes';\n\nconst useStyles = makeStyles(theme => ({\n footer: {\n color: grey[200],\n },\n footerMain: {\n width: '100%',\n minHeight: 400,\n backgroundColor: theme.palette.primary.main,\n padding: theme.spacing(4),\n color: 'white',\n textAlign: 'left',\n },\n footerMenu: {\n backgroundColor: theme.palette.secondary.main,\n },\n footerLink: {\n transition: '0.3s',\n textDecoration: 'none',\n color: 'white',\n '&:hover': {\n color: theme.palette.secondary.light,\n textDecoration: 'none',\n },\n },\n}));\n\nexport default function Footer(props) {\n const classes = useStyles();\n const { sections } = props;\n\n return (\n \n );\n}\n\nFooter.defaultProps = {\n sections: null,\n};\n\nFooter.propTypes = {\n sections: PropTypes.arrayOf(PropTypes.shape()),\n};\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport { Link as RouterLink } from 'react-router-dom';\nimport Link from '@material-ui/core/Link';\nimport Slide from '@material-ui/core/Slide';\nimport Container from '@material-ui/core/Container';\nimport routes from '../constants/routes';\n\nconst useStyles = makeStyles(theme => ({\n mainFeaturedPost: {\n position: 'relative',\n backgroundColor: theme.palette.grey[800],\n color: theme.palette.common.white,\n marginBottom: theme.spacing(4),\n height: 450,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'right top',\n },\n overlay: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n left: 0,\n backgroundColor: 'rgba(0,0,0,.3)',\n },\n mainFeaturedPostContent: {\n position: 'relative',\n paddingTop: theme.spacing(10),\n paddingLeft: theme.spacing(3),\n paddingRight: 0,\n textAlign: 'left',\n [theme.breakpoints.up('sm')]: {\n width: 600,\n },\n [theme.breakpoints.down('sm')]: {\n width: 320,\n },\n },\n}));\n\nexport default function HomeHeroSection(props) {\n const classes = useStyles();\n const { post } = props;\n\n return (\n \n {post.imageText}\n
\n \n \n \n \n
\n \n {post.title}\n \n \n {post.description}\n \n \n \n \n
\n
\n
\n
\n
\n \n );\n}\n\nHomeHeroSection.defaultProps = {\n post: null,\n};\n\nHomeHeroSection.propTypes = {\n post: PropTypes.shape(),\n};\n","import { Snackbar } from '@material-ui/core';\nimport { Alert } from '@material-ui/lab';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nconst ErrorSnackbar = ({ error }) => {\n const [alertOpen, setAlertOpen] = useState(Boolean(error));\n\n useEffect(() => {\n if (error) {\n setAlertOpen(true);\n }\n }, [error]);\n\n return error ? (\n setAlertOpen(false)}>\n \n Error:\n {error.message}\n \n \n ) : null;\n};\n\nErrorSnackbar.propTypes = {\n error: PropTypes.shape({\n message: PropTypes.node,\n }),\n};\n\nErrorSnackbar.defaultProps = {\n error: null,\n};\n\nexport default ErrorSnackbar;\n","const {\n NODE_ENV,\n REACT_APP_APPLICATION_INSIGHTS_TELEMETRY_KEY,\n REACT_APP_URL,\n REACT_APP_API,\n REACT_APP_IMAGES,\n REACT_APP_DISQUS_SHORT_NAME,\n} = process.env;\n\nconst nodeEnvironments = {\n production: 'production',\n};\n\nconst config = {\n nodeEnv: NODE_ENV,\n nodeEnvironments,\n applicationInsightsTelemetryKey: REACT_APP_APPLICATION_INSIGHTS_TELEMETRY_KEY,\n url: REACT_APP_URL,\n api: REACT_APP_API,\n images: REACT_APP_IMAGES,\n disqusShortName: REACT_APP_DISQUS_SHORT_NAME,\n};\n\nexport default {\n ...config,\n};\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardActions from '@material-ui/core/CardActions';\nimport Button from '@material-ui/core/Button';\nimport LocationOn from '@material-ui/icons/LocationOn';\nimport config from '../constants/config';\n\nconst useStyles = makeStyles(theme => ({\n card: {\n maxWidth: 345,\n textAlign: 'left',\n },\n cardTitle: {\n textAlign: 'center',\n },\n cardMedia: {\n height: 280,\n },\n cardLocation: {\n height: 20,\n verticalAlign: 'middle',\n margin: theme.spacing(2, 0),\n },\n cardLocationIcon: {\n height: 20,\n verticalAlign: 'middle',\n },\n cardDetail: {\n height: 145,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n cardViewProfile: {\n marginLeft: 'auto',\n },\n}));\n\nexport default function FeaturedPost({ post, ...rest }) {\n const classes = useStyles();\n const altImage = `${process.env.PUBLIC_URL}/images/placeholder.png`;\n\n return (\n \n \n {\n e.target.onerror = null;\n e.target.src = altImage;\n }}\n />\n \n \n {post.name}\n \n \n \n {post.location}\n \n \n {post.description}\n \n \n \n \n \n View Profile\n \n \n \n );\n}\n\nFeaturedPost.defaultProps = {\n post: null,\n};\n\nFeaturedPost.propTypes = {\n post: PropTypes.shape({\n name: PropTypes.string,\n slug: PropTypes.string,\n location: PropTypes.string,\n description: PropTypes.string,\n path: PropTypes.string,\n }),\n};\n","import config from './config';\n\nconst rootRoute = `${config.api}/api`;\n\nexport default {\n speakers: `${rootRoute}/Speakers`,\n speakersFeatured: `${rootRoute}/Speakers/Featured`,\n communities: `${rootRoute}/Communities`,\n communitiesFeatured: `${rootRoute}/Communities/Featured`,\n conferences: `${rootRoute}/Conferences`,\n conferencesFeatured: `${rootRoute}/Conferences/Featured`,\n search: `${rootRoute}/Search`,\n stats: `${rootRoute}/Statistics/Counts`,\n};\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web';\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js';\n\nlet reactPlugin = null;\nlet appInsights = null;\n\n/**\n * Create the App Insights Telemetry Service\n * @return {{reactPlugin: ReactPlugin, appInsights: Object, initialize: Function}} - Object\n */\nconst createTelemetryService = () => {\n /**\n * Initialize the Application Insights class\n * @param {string} instrumentationKey - Application Insights Instrumentation Key\n * @param {Object} browserHistory - client's browser history, supplied by the withRouter HOC\n * @return {void}\n */\n const initialize = (instrumentationKey, browserHistory) => {\n if (!browserHistory) {\n throw new Error('Could not initialize Telemetry Service');\n }\n if (!instrumentationKey) {\n throw new Error('Could not identify instrumentation key');\n }\n\n reactPlugin = new ReactPlugin();\n\n appInsights = new ApplicationInsights({\n config: {\n instrumentationKey,\n maxBatchInterval: 0,\n disableFetchTracking: false,\n extensions: [reactPlugin],\n extensionConfig: {\n [reactPlugin.identifier]: {\n history: browserHistory,\n },\n },\n },\n });\n\n appInsights.loadAppInsights();\n };\n\n return { reactPlugin, appInsights, initialize };\n};\n\nexport const applicationInsights = createTelemetryService();\nexport const getAppInsights = () => appInsights;\n/* istanbul ignore next */\nexport const trackException = exception => {\n if (!appInsights) return;\n appInsights.trackException({ exception });\n};\n/* istanbul ignore next */\nexport const trackEvent = (name, properties) => {\n if (!appInsights) return;\n appInsights.trackEvent({ name, properties });\n};\n","import { useEffect, useState } from 'react';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nexport default function useSpeakersFeatured() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [speakers, setSpeakers] = useState([]);\n\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.speakersFeatured);\n const data = await response.json();\n if (response.ok) {\n const result = data.map(x => ({\n ...x,\n path: `${routes.speakers.path}/${x.slug}`,\n }));\n setSpeakers(result);\n } else {\n throw new Error(data);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n\n useEffect(() => {\n fetchData();\n }, []);\n\n return {\n error,\n isLoaded,\n speakers,\n };\n}\n","import React from 'react';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport ErrorSnackbar from './ErrorSnackbar';\r\nimport FeaturedPost from './FeaturedPost';\r\nimport useSpeakersFeatured from '../hooks/useSpeakersFeatured';\r\n\r\nexport default function FeaturedSpeakers() {\r\n const { error, isLoaded, speakers } = useSpeakersFeatured();\r\n\r\n return (\r\n <>\r\n \r\n Featured Speakers\r\n \r\n\r\n \r\n\r\n \r\n {!isLoaded ? (\r\n \r\n \r\n \r\n ) : (\r\n speakers.map(post => (\r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles(theme => ({\n findA: {\n width: '100%',\n backgroundColor: theme.palette.primary.main,\n padding: theme.spacing(4),\n color: 'white',\n },\n}));\n\nexport default function FindABanner(props) {\n const classes = useStyles();\n const { text } = props;\n\n return (\n
\n {`Find a ${text}`}\n
\n );\n}\n\nFindABanner.propTypes = {\n text: PropTypes.string.isRequired,\n};\n","import React, { useEffect, useState } from 'react';\nimport Paper from '@material-ui/core/Paper/Paper';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Grid from '@material-ui/core/Grid';\nimport CountUp from 'react-countup';\nimport { useInView } from 'react-intersection-observer';\nimport { CircularProgress } from '@material-ui/core';\nimport Container from '@material-ui/core/Container';\nimport endpoints from '../constants/endpoints';\nimport { trackException } from '../services/telemetry.service';\nimport ErrorSnackbar from './ErrorSnackbar';\n\nconst useStyles = makeStyles(() => ({\n micSection: {\n backgroundImage: `url(${process.env.PUBLIC_URL}/images/mic.png)`,\n minHeight: 515,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center top',\n color: 'white',\n },\n count: {\n fontSize: 50,\n fontWeight: 'bold',\n },\n text: {\n fontSize: 18,\n },\n}));\n\nexport default function MicSection() {\n const classes = useStyles();\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [stats, setStats] = useState(null);\n\n const [ref, inView] = useInView({\n threshold: 0.3,\n triggerOnce: true,\n });\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.stats);\n const result = await response.json();\n if (response.ok) {\n setStats(result);\n } else {\n throw new Error(result);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, []);\n\n return (\n \n {!isLoaded ? (\n \n ) : (\n \n {stats && (\n \n \n \n {({ countUpRef }) => (\n
\n \n
\n Speakers Worldwide\n
\n )}\n
\n
\n \n \n {({ countUpRef }) => (\n
\n \n
\n Communities Added\n
\n )}\n
\n
\n \n \n {({ countUpRef }) => (\n
\n \n
\n Conferences Listed\n
\n )}\n
\n
\n \n )}\n
\n )}\n \n
\n );\n}\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport SearchIcon from '@material-ui/icons/Search';\nimport GroupAddIcon from '@material-ui/icons/GroupAdd';\nimport RecordVoiceOverIcon from '@material-ui/icons/RecordVoiceOver';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Container from '@material-ui/core/Container';\nimport HomeHeroSection from '../components/HomeHeroSection';\nimport FeaturedSpeakers from '../components/FeaturedSpeakers';\nimport FindABanner from '../components/FindABanner';\nimport MicSection from '../components/MicSection';\n\nconst useStyles = makeStyles(theme => ({\n sectionTitle: {\n fontSize: 35,\n marginBottom: theme.spacing(4),\n textTransform: 'uppercase',\n letterSpacing: 0,\n fontWeight: 400,\n },\n sectionIcon: {\n fontSize: 40,\n color: theme.palette.primary.main,\n verticalAlign: 'bottom',\n marginRight: 6,\n },\n}));\n\nconst mainFeaturedPost = {\n title: 'Speaker and Conference',\n description: \"Find out why SpeakerMeet is the best speaker's resource on the web!\",\n image: `${process.env.PUBLIC_URL}/images/hero-speaker.jpg`,\n};\n\nexport default function Home() {\n const classes = useStyles();\n\n return (\n <>\n \n SpeakerMeet\n \n\n \n \n \n How It Works\n \n\n \n \n \n \n Search\n \n \n The Industry's Directory\n \n \n The right speaker can energize and engage an audience in ways that can spell the\n difference between a successful conference and a forgettable one. Whether you're\n in search of a full-time professional speaker or a specific subject-matter expert,\n SpeakerMeet can help make your event a success.\n \n \n\n \n \n \n Connect\n \n \n Easy Interaction\n \n \n Our goal is to streamline the scheduling process from end-to-end. Rather than\n searching for an appropriate speaker, tracking down contact information, requesting\n availability, and then hoping that someone sees your message, we have consolidated\n everything you need into one convenient location. Your only concerns are who and when.\n \n \n\n \n \n \n Schedule\n \n \n Speakers and Conferences\n \n \n Once you find the perfect speaker, you can schedule and then manage every aspect of\n your event from SpeakerMeet. No more searching emails, checking multiple calendars, or\n tracking down contact information at the last minute. It’s all here, at a glance.\n \n \n \n \n \n \n \n \n \n \n Who it's for\n \n\n \n \n \"\"\n \n \n \n \n Speakers\n \n \n The Industry's Directory\n \n \n SpeakerMeet wasn't created for only scheduling speakers. It's also a\n platform for speakers to manage engagements and promote their brand. As a Speaker, you\n can share information with audiences between events or integrate your personal site.\n \n \n\n \n \n \n Communities\n \n \n Easy Interaction\n \n \n Our communities allow you to take part in larger discussions and reach your audience\n even after the conference ends. SpeakerMeet communities are a great place to get\n interactive feedback on your presentations or share information.\n \n \n\n \n \"\"\n \n\n \n \"\"\n \n\n \n \n \n Conferences\n \n \n Speakers and Conferences\n \n \n Keeping pace with an ever-changing industry can be difficult. Want a daily update on\n .NET events in your state? A summary of upcoming web application conferences? Select\n your interests and manage your notifications however you like. You can receive them by\n any of the major push platforms or keep them all here in your dashboard. We fit your\n working style.\n \n \n \n \n\n \n\n \n \n \n \n \n Speakers\n \n \n The Industry's Directory\n \n \n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum\n has been the industry’s standard dummy text ever since the 1500s, when an unknown\n printer took a galley of type and scrambled it to make a type specimen book. It has\n survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged.\n \n \n\n \n \n \n Communities\n \n \n Easy Interaction\n \n \n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum\n has been the industry’s standard dummy text ever since the 1500s, when an unknown\n printer took a galley of type and scrambled it to make a type specimen book. It has\n survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged.\n \n \n\n \n \n \n Conferences\n \n \n Speakers and Conferences\n \n \n Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum\n has been the industry’s standard dummy text ever since the 1500s, when an unknown\n printer took a galley of type and scrambled it to make a type specimen book. It has\n survived not only five centuries, but also the leap into electronic typesetting,\n remaining essentially unchanged.\n \n \n \n \n \n );\n}\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport Grid from '@material-ui/core/Grid';\nimport { Flipped, spring } from 'react-flip-toolkit';\nimport FeaturedPost from './FeaturedPost';\n\nconst onElementAppear = (el, index) =>\n spring({\n onUpdate: val => {\n el.style.opacity = val; // eslint-disable-line no-param-reassign\n },\n delay: index * 50,\n });\n\nconst onExit = type => (el, index, removeElement) => {\n spring({\n config: { overshootClamping: true },\n onUpdate: val => {\n el.style.transform = `scale${type === 'grid' ? 'X' : 'Y'}(${1 - val})`; // eslint-disable-line no-param-reassign\n },\n delay: index * 50,\n onComplete: removeElement,\n });\n\n return () => {\n el.style.opacity = ''; // eslint-disable-line no-param-reassign\n removeElement();\n };\n};\n\nconst onGridExit = onExit('grid');\nconst shouldFlip = (prev, current) => prev.type !== current.type;\n\nexport default function FlippedItem(props) {\n const { id, stagger, post } = props;\n const flipId = `item-${id}`;\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nFlippedItem.defaultProps = {\n post: null,\n};\n\nFlippedItem.propTypes = {\n id: PropTypes.string.isRequired,\n stagger: PropTypes.bool.isRequired,\n post: PropTypes.shape(),\n};\n","import React, { Component } from 'react';\nimport * as PropTypes from 'prop-types';\nimport { Flipper, Flipped } from 'react-flip-toolkit';\nimport { withStyles } from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport FlippedItem from './FlippedItem';\n\nconst styles = theme => ({\n fieldSet: {\n borderColor: theme.palette.primary.light,\n margin: theme.spacing(0, 0, 2, 0),\n },\n});\n\nclass ResultList extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n type: 'grid',\n sort: props.orderBy,\n filteredIds: [],\n stagger: 'forward',\n spring: 'veryGentle',\n };\n }\n\n render() {\n const { classes, data } = this.props;\n const { type, sort, stagger, filteredIds, spring } = this.state;\n\n return (\n \n
\n Sort\n {\n this.setState({ sort: 'asc' });\n }}\n onKeyUp={() => {\n this.setState({ sort: 'asc' });\n }}\n >\n \n asc\n \n {\n this.setState({ sort: 'desc' });\n }}\n onKeyUp={() => {\n this.setState({ sort: 'desc' });\n }}\n >\n \n desc\n \n
\n\n \n \n \n {[...data]\n .filter(d => !filteredIds.includes(d.id))\n .sort((a, b) => {\n if (sort === 'score') {\n return a.score > b.score;\n }\n if (sort === 'asc') {\n return a.name.localeCompare(b.name);\n }\n if (sort === 'desc') {\n return b.name.localeCompare(a.name);\n }\n return 0.5 - Math.random();\n })\n .map(d => (\n \n ))}\n \n \n \n \n );\n }\n}\n\nResultList.defaultProps = {\n orderBy: 'random',\n};\n\nResultList.propTypes = {\n data: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n classes: PropTypes.shape().isRequired,\n orderBy: PropTypes.string,\n};\n\nexport default withStyles(styles)(ResultList);\n","import { CircularProgress } from '@material-ui/core';\nimport Container from '@material-ui/core/Container';\nimport { Helmet } from 'react-helmet-async';\nimport React from 'react';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FindABanner from '../components/FindABanner';\nimport ResultList from '../components/ResultList';\nimport useSpeakers from '../hooks/useSpeakers';\n\nexport default function Speakers() {\n const { speakers, error, isLoaded } = useSpeakers();\n\n return (\n <>\n \n SpeakerMeet | Speakers\n \n\n \n\n \n {!isLoaded ? : }\n \n\n \n \n );\n}\n","import { useEffect, useState } from 'react';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nexport default function useSpeakers() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [speakers, setSpeakers] = useState([]);\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.speakers);\n const data = await response.json();\n if (response.ok) {\n const result = data.speakers.map(x => ({\n ...x,\n path: `${routes.speakers.path}/${x.slug}`,\n }));\n setSpeakers(result);\n } else {\n throw new Error(data);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, []);\n\n return {\n speakers,\n error,\n isLoaded,\n };\n}\n","import { CircularProgress } from '@material-ui/core';\nimport Container from '@material-ui/core/Container';\nimport { Helmet } from 'react-helmet-async';\nimport React from 'react';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FindABanner from '../components/FindABanner';\nimport ResultList from '../components/ResultList';\nimport useCommunities from '../hooks/useCommunities';\n\nexport default function Communities() {\n const { error, isLoaded, communities } = useCommunities();\n\n return (\n <>\n \n SpeakerMeet | Communities\n \n\n \n\n \n {!isLoaded ? : }\n \n\n \n \n );\n}\n","import { useEffect, useState } from 'react';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nexport default function useCommunities() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [communities, setCommunities] = useState([]);\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.communities);\n const data = await response.json();\n if (response.ok) {\n const result = data.communities.map(x => ({\n ...x,\n path: `${routes.communities.path}/${x.slug}`,\n }));\n setCommunities(result);\n } else {\n throw new Error(data);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, []);\n\n return {\n error,\n isLoaded,\n communities,\n };\n}\n","import { CircularProgress } from '@material-ui/core';\nimport Container from '@material-ui/core/Container';\nimport { Helmet } from 'react-helmet-async';\nimport React from 'react';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FindABanner from '../components/FindABanner';\nimport ResultList from '../components/ResultList';\nimport useConferences from '../hooks/useConferences';\n\nexport default function Conferences() {\n const { error, isLoaded, conferences } = useConferences();\n\n return (\n <>\n \n SpeakerMeet | Conferences\n \n\n \n\n \n {!isLoaded ? : }\n \n\n \n \n );\n}\n","import { useEffect, useState } from 'react';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nexport default function useConferences() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [conferences, setConferences] = useState([]);\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.conferences);\n const data = await response.json();\n if (response.ok) {\n const result = data.conferences.map(x => ({\n ...x,\n path: `${routes.conferences.path}/${x.slug}`,\n }));\n setConferences(result);\n } else {\n throw new Error(data);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, []);\n\n return {\n error,\n isLoaded,\n conferences,\n };\n}\n","import { Link, Route } from 'react-router-dom';\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\nimport React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport HomeIcon from '@material-ui/icons/Home';\nimport { emphasize } from '@material-ui/core';\nimport { withStyles } from '@material-ui/styles';\nimport Chip from '@material-ui/core/Chip';\n\nconst useStyles = makeStyles(theme => ({\n breadcrumbs: {\n margin: theme.spacing(0, 0, 2, 0),\n },\n}));\n\nconst StyledBreadcrumb = withStyles(theme => ({\n root: {\n backgroundColor: theme.palette.grey[100],\n height: theme.spacing(3),\n color: theme.palette.grey[800],\n fontWeight: theme.typography.fontWeightRegular,\n '&:hover, &:focus': {\n backgroundColor: theme.palette.grey[300],\n },\n '&:active': {\n boxShadow: theme.shadows[1],\n backgroundColor: emphasize(theme.palette.grey[300], 0.12),\n },\n textTransform: 'uppercase',\n },\n}))(Chip);\n\nexport default function BreadCrumbs() {\n const classes = useStyles();\n\n return (\n \n {({ location }) => {\n const paths = location.pathname.split('/').filter(x => x);\n return (\n \n \n } clickable />\n \n {paths.map((value, index) => {\n const last = index === paths.length - 1;\n const to = `/${paths.slice(0, index + 1).join('/')}`;\n\n return last ? (\n \n {value}\n \n ) : (\n \n \n \n );\n })}\n \n );\n }}\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport * as PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport TabContext from '@material-ui/lab/TabContext';\nimport TabPanel from '@material-ui/lab/TabPanel';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport { withStyles } from '@material-ui/styles';\nimport { CircularProgress } from '@material-ui/core';\nimport endpoints from '../constants/endpoints';\nimport { trackException } from '../services/telemetry.service';\nimport ErrorSnackbar from './ErrorSnackbar';\n\nconst useStyles = makeStyles({\n root: {\n flexGrow: 1,\n minHeight: 500,\n },\n});\n\nconst StyledTableRow = withStyles(theme => ({\n root: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n}))(TableRow);\n\nexport default function SpeakerDetailTabs(props) {\n const classes = useStyles();\n const { id } = props;\n const [value, setValue] = React.useState('0');\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [presentations, setPresentations] = useState([]);\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(`${endpoints.speakers}/${id}/Presentations`);\n const result = await response.json();\n if (response.ok) {\n setPresentations(result);\n } else {\n throw new Error(result);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, [id]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n Item One\n \n {!isLoaded ? (\n \n ) : (\n \n \n \n \n Title\n \n \n \n {presentations.map(row => (\n \n \n {row.title}\n \n \n ))}\n \n
\n
\n )}\n
\n Item Three\n Item Four\n
\n
\n\n \n \n );\n}\n\nSpeakerDetailTabs.propTypes = {\n id: PropTypes.string.isRequired,\n};\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { IconButton } from '@material-ui/core';\nimport * as Icons from '@material-ui/icons';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n justifyContent: 'center',\n flexWrap: 'wrap',\n listStyle: 'none',\n padding: theme.spacing(0.5),\n margin: 0,\n },\n chip: {\n margin: theme.spacing(0.5),\n },\n}));\n\nfunction SocialLinks({ socialPlatforms }) {\n const classes = useStyles();\n\n return (\n
    \n {socialPlatforms.map(social => {\n const key = `${social.name}${social.url}`;\n const PlatformIcon = Icons[social.name] || Icons.Link;\n\n return (\n \n \n \n );\n })}\n
\n );\n}\n\nSocialLinks.propTypes = {\n socialPlatforms: PropTypes.arrayOf(\n PropTypes.shape({ name: PropTypes.string, url: PropTypes.string }),\n ).isRequired,\n};\n\nexport default SocialLinks;\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport Chip from '@material-ui/core/Chip';\nimport { makeStyles } from '@material-ui/styles';\n\nconst useStyles = makeStyles(theme => ({\n root: {\n display: 'flex',\n justifyContent: 'center',\n flexWrap: 'wrap',\n listStyle: 'none',\n padding: theme.spacing(0.5),\n margin: 0,\n },\n chip: {\n margin: theme.spacing(0.5),\n },\n}));\n\nfunction Tags({ tags }) {\n const classes = useStyles();\n\n return (\n
    \n {tags.map(tag => (\n
  • \n \n
  • \n ))}\n
\n );\n}\n\nTags.propTypes = {\n tags: PropTypes.arrayOf(PropTypes.string).isRequired,\n};\n\nexport default Tags;\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Typography } from '@material-ui/core';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardActions from '@material-ui/core/CardActions';\nimport LocationOn from '@material-ui/icons/LocationOn';\nimport config from '../constants/config';\nimport SocialLinks from './SocialLinks';\nimport Tags from './Tags';\n\nconst useStyles = makeStyles(theme => ({\n card: {\n maxWidth: 345,\n textAlign: 'left',\n },\n cardTitle: {\n textAlign: 'center',\n },\n cardLocation: {\n height: 20,\n verticalAlign: 'middle',\n margin: theme.spacing(2, 0),\n },\n cardLocationIcon: {\n height: 20,\n verticalAlign: 'middle',\n },\n cardViewProfile: {\n marginLeft: 'auto',\n },\n container: {\n float: 'left',\n width: '100%',\n },\n}));\n\nexport default function SpeakerCard({ post, ...rest }) {\n const classes = useStyles();\n const altImage = `${process.env.PUBLIC_URL}/images/placeholder.png`;\n\n return (\n \n \n {\n e.target.onerror = null;\n e.target.src = altImage;\n }}\n />\n \n \n {post.name}\n \n \n \n {post.location}\n \n \n {post.description}\n \n
\n \n
\n
\n \n
\n
\n
\n \n
\n );\n}\n\nSpeakerCard.defaultProps = {\n post: null,\n};\n\nSpeakerCard.propTypes = {\n post: PropTypes.shape({\n name: PropTypes.string,\n slug: PropTypes.string,\n location: PropTypes.string,\n description: PropTypes.string,\n path: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.string),\n socialPlatforms: PropTypes.arrayOf(\n PropTypes.shape({ name: PropTypes.string, url: PropTypes.string }),\n ),\n }),\n};\n","import React, { useEffect } from 'react';\nimport * as PropTypes from 'prop-types';\n\nexport default function TwitterContent({ url }) {\n useEffect(() => {\n const anchor = document.createElement('a');\n anchor.setAttribute('class', 'twitter-timeline');\n anchor.setAttribute('data-tweet-limit', '3');\n anchor.setAttribute('data-chrome', 'noheader nofooter');\n anchor.setAttribute('data-cards', 'hidden');\n anchor.setAttribute('data-conversation', 'none');\n anchor.setAttribute('href', url);\n\n const twitterEmbed = document.getElementById('twitter-embed');\n if (twitterEmbed.hasChildNodes()) {\n twitterEmbed.innerHTML = '';\n }\n\n twitterEmbed.appendChild(anchor);\n\n const script = document.createElement('script');\n script.setAttribute('src', 'https://platform.twitter.com/widgets.js');\n twitterEmbed.appendChild(script);\n }, [url]);\n\n return (\n
\n
\n
\n );\n}\n\nTwitterContent.propTypes = {\n url: PropTypes.string.isRequired,\n};\n","import { CircularProgress } from '@material-ui/core';\nimport { Helmet } from 'react-helmet-async';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport Disqus from 'disqus-react';\nimport React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport BreadCrumbs from '../components/BreadCrumbs';\nimport SpeakerDetailTabs from '../components/SpeakerDetailTabs';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FeaturedSpeakers from '../components/FeaturedSpeakers';\nimport FindABanner from '../components/FindABanner';\nimport config from '../constants/config';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\nimport SpeakerCard from '../components/SpeakerCard';\nimport TwitterContent from '../components/TwitterContent';\n\nconst useStyles = makeStyles(theme => ({\n twitter: {\n [theme.breakpoints.down('sm')]: {\n display: 'none',\n },\n overflow: 'hidden',\n },\n}));\n\nexport default function SpeakerDetail() {\n const classes = useStyles();\n const { slug } = useParams();\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [speaker, setSpeaker] = useState(null);\n const disqusShortname = config.disqusShortName;\n const disqusConfig = {\n url: config.url,\n identifier: slug,\n title: slug,\n };\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(`${endpoints.speakers}/${slug}`);\n const result = await response.json();\n if (response.ok) {\n setSpeaker(result);\n } else {\n throw new Error(result);\n }\n } catch (e) {\n setSpeaker({\n id: '00000000-0000-0000-0000-000000000000',\n name: 'Not Found',\n socialPlatforms: [],\n tags: [],\n });\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, [slug]);\n\n return (\n <>\n \n SpeakerMeet | Speakers\n \n\n \n\n \n {!isLoaded ? (\n \n ) : (\n <>\n \n SpeakerMeet | {speaker.name}\n \n \n \n \n \n \n \n {speaker.socialPlatforms.find(x => x.name === 'Twitter') && (\n x.name === 'Twitter').url}\n />\n )}\n \n \n\n \n \n \n\n \n \n Comments\n \n\n \n \n\n \n \n )}\n \n\n \n \n );\n}\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport Container from '@material-ui/core/Container';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport BreadCrumbs from '../components/BreadCrumbs';\n\nconst useStyles = makeStyles({\n root: {\n flexGrow: 1,\n padding: 24,\n },\n});\n\nexport default function Privacy() {\n const classes = useStyles();\n\n return (\n <>\n \n SpeakerMeet | Privacy Policy\n \n\n \n \n \n \n PRIVACY NOTICE\n \n\n \n Last updated July 11, 2020\n \n\n \n Thank you for choosing to be part of our community at SpeakerMeet ("Company",\n "we", "us", or "our"). We are committed to protecting your\n personal information and your right to privacy. If you have any questions or concerns\n about this privacy notice, or our practices with regards to your personal information,\n please contact us at privacy@speakermeet.net.\n \n\n \n When you visit our website https://www.speakermeet.net (the "Website"), and\n more generally, use any of our services (the "Services", which include the\n Website), we appreciate that you are trusting us with your personal information. We take\n your privacy very seriously. In this privacy notice, we seek to explain to you in the\n clearest way possible what information we collect, how we use it and what rights you\n have in relation to it. We hope you take some time to read through it carefully, as it\n is important. If there are any terms in this privacy notice that you do not agree with,\n please discontinue use of our Services immediately.\n \n\n \n This privacy notice applies to all information collected through our Services (which, as\n described above, includes our Website), as well as any related services, sales,\n marketing or events.\n \n\n \n Please read this privacy notice carefully as it will help you understand what we do with\n the information that we collect.\n \n \n TABLE OF CONTENTS\n \n
    \n
  1. WHAT INFORMATION DO WE COLLECT?
  2. \n
  3. HOW DO WE USE YOUR INFORMATION?
  4. \n
  5. WILL YOUR INFORMATION BE SHARED WITH ANYONE?
  6. \n
  7. DO WE USE COOKIES AND OTHER TRACKING TECHNOLOGIES?
  8. \n
  9. DO WE USE GOOGLE MAPS?
  10. \n
  11. HOW DO WE HANDLE YOUR SOCIAL LOGINS?
  12. \n
  13. IS YOUR INFORMATION TRANSFERRED INTERNATIONALLY?
  14. \n
  15. WHAT IS OUR STANCE ON THIRD-PARTY WEBSITES?
  16. \n
  17. HOW LONG DO WE KEEP YOUR INFORMATION?
  18. \n
  19. HOW DO WE KEEP YOUR INFORMATION SAFE?
  20. \n
  21. WHAT ARE YOUR PRIVACY RIGHTS?
  22. \n
  23. CONTROLS FOR DO-NOT-TRACK FEATURES
  24. \n
  25. DO CALIFORNIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?
  26. \n
  27. DO WE MAKE UPDATES TO THIS NOTICE?
  28. \n
  29. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?
  30. \n
\n \n 1. WHAT INFORMATION DO WE COLLECT?\n \n\n Personal information you disclose to us\n\n \n In Short: We collect information that you provide to us.\n \n\n \n We collect personal information that you voluntarily provide to us when you register on\n the Website, express an interest in obtaining information about us or our products and\n Services, when you participate in activities on the Website (such as by posting messages\n in our online forums or entering competitions, contests or giveaways) or otherwise when\n you contact us.\n \n\n \n The personal information that we collect depends on the context of your interactions\n with us and the Website, the choices you make and the products and features you use. The\n personal information we collect may include the following:\n \n\n \n Personal Information Provided by You. We collect names; email addresses; job titles;\n usernames; passwords; contact preferences; contact or authentication data; and other\n similar information.\n \n\n \n Social Media Login Data. We may provide you with the option to register with us using\n your existing social media account details, like your Facebook, Twitter or other social\n media account. If you choose to register in this way, we will collect the information\n described in the section called "HOW DO WE HANDLE YOUR SOCIAL LOGINS" below.\n All personal information that you provide to us must be true, complete and accurate, and\n you must notify us of any changes to such personal information.\n \n \n Information automatically collected\n \n\n \n In Short: Some information — such as your Internet Protocol (IP) address and/or browser\n and device characteristics — is collected automatically when you visit our Website.\n \n\n \n We automatically collect certain information when you visit, use or navigate the\n Website. This information does not reveal your specific identity (like your name or\n contact information) but may include device and usage information, such as your IP\n address, browser and device characteristics, operating system, language preferences,\n referring URLs, device name, country, location, information about who and when you use\n our Website and other technical information. This information is primarily needed to\n maintain the security and operation of our Website, and for our internal analytics and\n reporting purposes.\n \n\n \n Like many businesses, we also collect information through cookies and similar\n technologies.\n \n\n The information we collect includes:\n\n \n Log and Usage Data. Log and usage data is service-related, diagnostic usage and\n performance information our servers automatically collect when you access or use our\n Website and which we record in log files. Depending on how you interact with us, this\n log data may include your IP address, device information, browser type and settings and\n information about your activity in the Website (such as the date/time stamps associated\n with your usage, pages and files viewed, searches and other actions you take such as\n which features you use), device event information (such as system activity, error\n reports (sometimes called 'crash dumps') and hardware settings).\n \n\n \n Device Data. We collect device data such as information about your computer, phone,\n tablet or other device you use to access the Website. Depending on the device used, this\n device data may include information such as your IP address (or proxy server), device\n application identification numbers, location, browser type, hardware model Internet\n service provider and/or mobile carrier, operating system configuration information.\n \n\n \n Location Data. We collect information data such as information about your device's\n location, which can be either precise or imprecise. How much information we collect\n depends on the type of settings of the device you use to access the Website. For\n example, we may use GPS and other technologies to collect geolocation data that tells us\n your current location (based on your IP address). You can opt out of allowing us to\n collect this information either by refusing access to the information or by disabling\n your Locations settings on your device. Note however, if you choose to opt out, you may\n not be able to use certain aspects of the Services.\n \n\n Information collected from other sources\n\n \n In Short: We may collect limited data from public databases, marketing partners, social\n media platforms, and other outside sources.\n \n\n \n In order to enhance our ability to provide relevant marketing, offers and services to\n you and update our records, we may obtain information about you from other sources, such\n as public databases, joint marketing partners, affiliate programs, data providers,\n social media platforms, as well as from other third parties. This information includes\n mailing addresses, job titles, email addresses, phone numbers, intent data (or user\n behavior data), Internet Protocol (IP) addresses, social media profiles, social media\n URLs and custom profiles, for purposes of targeted advertising and event promotion. If\n you interact with us on a social media platform using your social media account (e.g.\n Facebook or Twitter), we receive personal information about you such as your name, email\n address, and gender. Any personal information that we collect from your social media\n account depends on your social media account's privacy settings.\n \n \n 2. HOW DO WE USE YOUR INFORMATION?\n \n\n \n In Short: We process your information for purposes based on legitimate business\n interests, the fulfillment of our contract with you, compliance with our legal\n obligations, and/or your consent.\n \n\n \n We use personal information collected via our Website for a variety of business purposes\n described below. We process your personal information for these purposes in reliance on\n our legitimate business interests, in order to enter into or perform a contract with\n you, with your consent, and/or for compliance with our legal obligations. We indicate\n the specific processing grounds we rely on next to each purpose listed below.\n \n\n We use the information we collect or receive:\n\n \n To facilitate account creation and logon process. If you choose to link your account\n with us to a third-party account (such as your Google or Facebook account), we use the\n information you allowed us to collect from those third parties to facilitate account\n creation and logon process for the performance of the contract. See the section below\n headed "HOW DO WE HANDLE YOUR SOCIAL LOGINS" for further information.\n \n\n \n To post testimonials. We post testimonials on our Website that may contain personal\n information. Prior to posting a testimonial, we will obtain your consent to use your\n name and the consent of the testimonial. If you wish to update, or delete your\n testimonial, please contact us at privacy@speakermeet.net and be sure to include your\n name, testimonial location, and contact information.\n \n\n \n Request feedback. We may use your information to request feedback and to contact you\n about your use of our Website.\n \n\n \n To enable user-to-user communications. We may use your information in order to enable\n user-to-user communications with each user's consent.\n \n\n \n To manage user accounts. We may use your information for the purposes of managing our\n account and keeping it in working order.\n \n\n \n To send administrative information to you. We may use your personal information to send\n you product, service and new feature information and/or information about changes to our\n terms, conditions, and policies.\n \n\n \n To protect our Services. We may use your information as part of our efforts to keep our\n Website safe and secure (for example, for fraud monitoring and prevention).\n \n\n \n To enforce our terms, conditions and policies for business purposes, to comply with\n legal and regulatory requirements or in connection with our contract.\n \n\n \n To respond to legal requests and prevent harm. If we receive a subpoena or other legal\n request, we may need to inspect the data we hold to determine how to respond.\n \n\n \n To send you marketing and promotional communications. We and/or our third-party\n marketing partners may use the personal information you send to us for our marketing\n purposes, if this is in accordance with your marketing preferences. For example, when\n expressing an interest in obtaining information about us or our Website, subscribing to\n marketing or otherwise contacting us, we will collect personal information from you. You\n can opt-out of our marketing emails at any time (see the "WHAT ARE YOUR PRIVACY\n RIGHTS" below).\n \n\n \n Deliver targeted advertising to you. We may use your information to develop and display\n personalized content and advertising (and work with third parties who do so) tailored to\n your interests and/or location and to measure its effectiveness.\n \n \n 3. WILL YOUR INFORMATION BE SHARED WITH ANYONE?\n \n\n \n In Short: We only share information with your consent, to comply with laws, to provide\n you with services, to protect your rights, or to fulfill business obligations.\n \n\n \n We may process or share your data that we hold based on the following legal basis:\n \n\n \n Consent: We may process your data if you have given us specific consent to use your\n personal information in a specific purpose.\n \n\n \n Legitimate Interests: We may process your data when it is reasonably necessary to\n achieve our legitimate business interests.\n \n\n \n Performance of a Contract: Where we have entered into a contract with you, we may\n process your personal information to fulfill the terms of our contract.\n \n\n \n Legal Obligations: We may disclose your information where we are legally required to do\n so in order to comply with applicable law, governmental requests, a judicial proceeding,\n court order, or legal process, such as in response to a court order or a subpoena\n (including in response to public authorities to meet national security or law\n enforcement requirements).\n \n\n \n Vital Interests: We may disclose your information where we believe it is necessary to\n investigate, prevent, or take action regarding potential violations of our policies,\n suspected fraud, situations involving potential threats to the safety of any person and\n illegal activities, or as evidence in litigation in which we are involved.\n \n\n \n More specifically, we may need to process your data or share your personal information\n in the following situations:\n \n\n \n Business Transfers. We may share or transfer your information in connection with, or\n during negotiations of, any merger, sale of company assets, financing, or acquisition of\n all or a portion of our business to another company.\n \n \n 4. DO WE USE COOKIES AND OTHER TRACKING TECHNOLOGIES?\n \n\n \n In Short: We may use cookies and other tracking technologies to collect and store your\n information.\n \n\n \n We may use cookies and similar tracking technologies (like web beacons and pixels) to\n access or store information. Specific information about how we use such technologies and\n how you can refuse certain cookies is set out in our Cookie Notice.\n \n \n 5. DO WE USE GOOGLE MAPS?\n \n\n \n In Short: Yes, we use Google Maps for the purpose of providing better service.\n \n\n \n This Website uses Google Maps APIs which is subject to Google's Terms of Service.\n You may find the Google Maps APIs Terms of Service here. To find out more about Google’s\n Privacy Policy, please refer to this link. We obtain and store on your device\n ('cache') your location. You may revoke your consent anytime by contacting us\n at the contact details provided at the end of this document.\n \n \n 6. HOW DO WE HANDLE YOUR SOCIAL LOGINS?\n \n\n \n In Short: If you choose to register or log in to our services using a social media\n account, we may have access to certain information about you.\n \n\n \n Our Website offers you the ability to register and login using your third-party social\n media account details (like your Facebook or Twitter logins). Where you choose to do\n this, we will receive certain profile information about you from your social media\n provider. The profile Information we receive may vary depending on the social media\n provider concerned, but will often include your name, email address, friends list,\n profile picture as well as other information you choose to make public on such social\n media platform.\n \n\n \n We will use the information we receive only for the purposes that are described in this\n privacy notice or that are otherwise made clear to you on the relevant Website. Please\n note that we do not control, and are not responsible for, other uses of your personal\n information by your third-party social media provider. We recommend that you review\n their privacy notice to understand how they collect, use and share your personal\n information, and how you can set your privacy preferences on their sites and apps.\n \n \n 7. IS YOUR INFORMATION TRANSFERRED INTERNATIONALLY?\n \n\n \n In Short: We may transfer, store, and process your information in countries other than\n your own.\n \n\n \n Our servers are located in United States. If you are accessing our Website from outside\n United States, please be aware that your information may be transferred to, stored, and\n processed by us in our facilities and by those third parties with whom we may share your\n personal information (see "WILL YOUR INFORMATION BE SHARED WITH ANYONE?"\n above), in United States, and other countries.\n \n\n \n If you are a resident in the European Economic Area, then these countries may not\n necessarily have data protection laws or other similar laws as comprehensive as those in\n your country. We will however take all necessary measures to protect your personal\n information in accordance with this privacy notice and applicable law.\n \n \n 8. WHAT IS OUR STANCE ON THIRD-PARTY WEBSITES?\n \n\n \n In Short: We are not responsible for the safety of any information that you share with\n third-party providers who advertise, but are not affiliated with, our Website.\n \n\n \n The Website may contain advertisements from third parties that are not affiliated with\n us and which may link to other websites, online services or mobile applications. We\n cannot guarantee the safety and privacy of data you provide to any third parties. Any\n data collected by third parties is not covered by this privacy notice. We are not\n responsible for the content or privacy and security practices and policies of any third\n parties, including other websites, services or applications that may be linked to or\n from the Website. You should review the policies of such third parties and contact them\n directly to respond to your questions.\n \n \n 9. HOW LONG DO WE KEEP YOUR INFORMATION?\n \n\n \n In Short: We keep your information for as long as necessary to fulfill the purposes\n outlined in this privacy notice unless otherwise required by law.\n \n\n \n We will only keep your personal information for as long as it is necessary for the\n purposes set out in this privacy notice, unless a longer retention period is required or\n permitted by law (such as tax, accounting or other legal requirements). No purpose in\n this notice will require us keeping your personal information for longer than three (3)\n months past the termination of the user's account.\n \n\n \n When we have no ongoing legitimate business need to process your personal information,\n we will either delete or anonymize such information, or, if this is not possible (for\n example, because your personal information has been stored in backup archives), then we\n will securely store your personal information and isolate it from any further processing\n until deletion is possible.\n \n \n 10. HOW DO WE KEEP YOUR INFORMATION SAFE?\n \n\n \n In Short: We aim to protect your personal information through a system of organizational\n and technical security measures.\n \n\n \n We have implemented appropriate technical and organizational security measures designed\n to protect the security of any personal information we process. However, despite our\n safeguards and efforts to secure your information, no electronic transmission over the\n Internet or information storage technology can be guaranteed to be 100% secure, so we\n cannot promise or guarantee that hackers, cybercriminals, or other unauthorized third\n parties will not be able to defeat our security, and improperly collect, access, steal,\n or modify your information. Although we will do our best to protect your personal\n information, transmission of personal information to and from our Website is at your own\n risk. You should only access the Website within a secure environment.\n \n \n 11. WHAT ARE YOUR PRIVACY RIGHTS?\n \n\n \n In Short: In some regions, such as the European Economic Area, you have rights that\n allow you greater access to and control over your personal information. You may review,\n change, or terminate your account at any time.\n \n\n \n In some regions (like the European Economic Area), you have certain rights under\n applicable data protection laws. These may include the right (i) to request access and\n obtain a copy of your personal information, (ii) to request rectification or erasure;\n (iii) to restrict the processing of your personal information; and (iv) if applicable,\n to data portability. In certain circumstances, you may also have the right to object to\n the processing of your personal information. To make such a request, please use the\n contact details provided below. We will consider and act upon any request in accordance\n with applicable data protection laws.\n \n\n \n If we are relying on your consent to process your personal information, you have the\n right to withdraw your consent at any time. Please note however that this will not\n affect the lawfulness of the processing before its withdrawal, nor will it affect the\n processing of your personal information conducted in reliance on lawful processing\n grounds other than consent.\n \n\n \n If you are resident in the European Economic Area and you believe we are unlawfully\n processing your personal information, you also have the right to complain to your local\n data protection supervisory authority. You can find their contact details here:\n http://ec.europa.eu/justice/data-protection/bodies/authorities/index_en.htm.\n \n\n \n If you are resident in Switzerland, the contact details for the data protection\n authorities are available here: https://www.edoeb.admin.ch/edoeb/en/home.html.\n \n\n Account Information\n\n \n If you would at any time like to review or change the information in your account or\n terminate your account, you can:\n \n\n \n ■ Log in to your account settings and update your user account.\n \n\n \n Upon your request to terminate your account, we will deactivate or delete your account\n and information from our active databases. However, we may retain some information in\n our files to prevent fraud, troubleshoot problems, assist with any investigations,\n enforce our Terms of Use and/or comply with applicable legal requirements.\n \n\n \n Cookies and similar technologies: Most Web browsers are set to accept cookies by\n default. If you prefer, you can usually choose to set your browser to remove cookies and\n to reject cookies. If you choose to remove cookies or reject cookies, this could affect\n certain features or services of our Website. To opt-out of interest-based advertising by\n advertisers on our Website visit http://www.aboutads.info/choices/.\n \n\n \n Opting out of email marketing: You can unsubscribe from our marketing email list at any\n time by clicking on the unsubscribe link in the emails that we send or by contacting us\n using the details provided below. You will then be removed from the marketing email list\n – however, we may still communicate with you, for example to send you service-related\n emails that are necessary for the administration and use of your account, to respond to\n service requests, or for other non-marketing purposes. To otherwise opt-out, you may:\n \n\n \n ■ Access your account settings and update your preferences.\n \n \n 12. CONTROLS FOR DO-NOT-TRACK FEATURES\n \n\n \n Most web browsers and some mobile operating systems and mobile applications include a\n Do-Not-Track ("DNT") feature or setting you can activate to signal your\n privacy preference not to have data about your online browsing activities monitored and\n collected. At this stage, no uniform technology standard for recognizing and\n implementing DNT signals has been finalized. As such, we do not currently respond to DNT\n browser signals or any other mechanism that automatically communicates your choice not\n to be tracked online. If a standard for online tracking is adopted that we must follow\n in the future, we will inform you about that practice in a revised version of this\n privacy notice.\n \n \n 13. DO CALIFORNIA RESIDENTS HAVE SPECIFIC PRIVACY RIGHTS?\n \n\n \n In Short: Yes, if you are a resident of California, you are granted specific rights\n regarding access to your personal information.\n \n\n \n California Civil Code Section 1798.83, also known as the "Shine The Light"\n law, permits our users who are California residents to request and obtain from us, once\n a year and free of charge, information about categories of personal information (if any)\n we disclosed to third parties for direct marketing purposes and the names and addresses\n of all third parties with which we shared personal information in the immediately\n preceding calendar year. If you are a California resident and would like to make such a\n request, please submit your request in writing to us using the contact information\n provided below.\n \n\n \n If you are under 18 years of age, reside in California, and have a registered account\n with the Website, you have the right to request removal of unwanted data that you\n publicly post on the Website. To request removal of such data, please contact us using\n the contact information provided below, and include the email address associated with\n your account and a statement that you reside in California. We will make sure the data\n is not publicly displayed on the Website, but please be aware that the data may not be\n completely or comprehensively removed from all our systems (e.g. backups, etc.).\n \n\n CCPA Privacy Notice\n\n \n The California Code of Regulations defines a "resident" as:\n \n\n \n (1) every individual who is in the State of California for other than a temporary or\n transitory purpose and\n \n\n \n (2) every individual who is domiciled in the State of California who is outside the\n State of California for a temporary or transitory purpose All other individuals are\n defined as "non-residents."\n \n\n \n If this definition of "resident" applies to you, certain rights and\n obligations apply regarding your personal information.\n \n\n What categories of personal information do we collect?\n\n \n We have collected the following categories of personal information in the past twelve\n (12) months:\n \n\n Category Examples Collected\n\n \n A. Identifiers Contact details, such as real name, alias, postal address, telephone or\n mobile contact number, unique personal identifier, online identifier, Internet Protocol\n address, email address and account name\n \n\n NO\n\n \n B. Personal information categories listed in the California Customer Records statute\n Name, contact information, education, employment, employment history and financial\n information\n \n\n YES\n\n \n C. Protected classification characteristics under California or federal law Gender and\n date of birth\n \n\n NO\n\n \n D. Commercial information Transaction information, purchase history, financial details\n and payment information\n \n\n NO\n\n E. Biometric information Fingerprints and voiceprints\n\n NO\n\n \n F. Internet or other similar network activity Browsing history, search history, online\n behavior, interest data, and interactions with our and other websites, applications,\n systems and advertisements\n \n\n NO\n\n G. Geolocation data Device location\n\n NO\n\n \n H. Audio, electronic, visual, thermal, olfactory, or similar information Images and\n audio, video or call recordings created in connection with our business activities\n \n\n NO\n\n \n I. Professional or employment-related information Business contact details in order to\n provide you our services at a business level, job title as well as work history and\n professional qualifications if you apply for a job with us\n \n\n NO\n\n \n J. Education Information Student records and directory information\n \n\n NO\n\n \n K. Inferences drawn from other personal information Inferences drawn from any of the\n collected personal information listed above to create a profile or summary about, for\n example, an individual’s preferences and characteristics\n \n\n NO\n\n \n We may also collect other personal information outside of these categories in instances\n where you interact with us in-person, online, or by phone or mail in the context of:\n \n\n Receiving help through our customer support channels\n\n Participation in customer surveys or contests; and\n\n \n Facilitation in the delivery of our Services and to respond to your inquiries\n \n\n How do we use and share your personal information?\n\n \n More information about our data collection and sharing practices can be found in this\n privacy notice.\n \n\n \n You may contact us by email at privacy@speakermeet.net, by visiting\n https://www.speakermeet.net, or by referring to the contact details at the bottom of\n this document.\n \n\n \n If you are using an authorized agent to exercise your right to opt-out, we may deny a\n request if the authorized agent does not submit proof that they have been validly\n authorized to act on your behalf.\n \n\n Will your information be shared with anyone else?\n\n \n We may disclose your personal information with our service providers pursuant to a\n written contract between us and each service provider. Each service provider is a\n for-profit entity that processes the information on our behalf.\n \n\n \n We may use your personal information for our own business purposes, such as for\n undertaking internal research for technological development and demonstration. This is\n not considered to be "selling" of your personal data.\n \n\n \n SpeakerMeet has not disclosed or sold any personal information to third parties for a\n business or commercial purpose in the preceding twelve (12) months. SpeakerMeet will not\n sell personal information in the future belonging to website visitors, users and other\n consumers.\n \n\n Your rights with respect to your personal data\n\n \n Right to request deletion of the data - Request to delete\n \n\n \n You can ask for the deletion of your personal information. If you ask us to delete your\n personal information, we will respect your request and delete your personal information,\n subject to certain exceptions provided by law, such as (but not limited to) the exercise\n by another consumer of his or her right to free speech, our compliance requirements\n resulting from a legal obligation or any processing that may be required to protect\n against illegal activities.\n \n\n Right to be informed - Request to know\n\n \n Depending on the circumstances, you have a right to know:\n \n\n whether we collect and use your personal information;\n\n the categories of personal information that we collect;\n\n \n the purposes for which the collected personal information is used;\n \n\n \n whether we sell your personal information to third parties;\n \n\n \n the categories of personal information that we sold or disclosed for a business purpose;\n \n\n \n the categories of third parties to whom the personal information was sold or disclosed\n for a business purpose; and\n \n\n \n the business or commercial purpose for collecting or selling personal information.\n \n\n \n In accordance with applicable law, we are not obligated to provide or delete consumer\n information that is de-identified in response to a consumer request or to re-identify\n individual data to verify a consumer request.\n \n\n \n Right to Non-Discrimination for the Exercise of a Consumer's Privacy Rights\n \n\n \n We will not discriminate against you if you exercise your privacy rights.\n \n\n Verification process\n\n \n Upon receiving your request, we will need to verify your identity to determine you are\n the same person about whom we have the information in our system. These verification\n efforts require us to ask you to provide information so that we can match it with the\n information you have previously provided us. For instance, depending on the type of\n request you submit, we may ask you to provide certain information so that we can match\n the information you provide with the information we already have on file, or we may\n contact you through a communication method (e.g. phone or email) that you have\n previously provided to us. We may also use other verification methods as the\n circumstances dictate.\n \n\n \n We will only use personal information provided in your request to verify your identity\n or authority to make the request. To the extent possible, we will avoid requesting\n additional information from you for the purposes of verification. If, however, if we\n cannot verify your identity from the information already maintained by us, we may\n request that you provide additional information for the purposes of verifying your\n identity, and for security or fraud-prevention purposes. We will delete such\n additionally provided information as soon as we finish verifying you.\n \n\n Other privacy rights\n\n you may object to the processing of your personal data\n\n \n you may request correction of your personal data if it is incorrect or no longer\n relevant, or ask to restrict the processing of the data\n \n\n \n you can designate an authorized agent to make a request under the CCPA on your behalf.\n We may deny a request from an authorized agent that does not submit proof that they have\n been validly authorized to act on your behalf in accordance with the CCPA.\n \n\n \n you may request to opt-out from future selling of your personal information to third\n parties. Upon receiving a request to opt-out, we will act upon the request as soon as\n feasibly possible, but no later than 15 days from the date of the request submission.\n \n\n \n To exercise these rights, you can contact us by email at privacy@speakermeet.net, by\n visiting https://www.speakermeet.net, or by referring to the contact details at the\n bottom of this document. If you have a complaint about how we handle your data, we would\n like to hear from you.\n \n \n 14. DO WE MAKE UPDATES TO THIS NOTICE?\n \n\n \n In Short: Yes, we will update this notice as necessary to stay compliant with relevant\n laws.\n \n\n \n We may update this privacy notice from time to time. The updated version will be\n indicated by an updated "Revised" date and the updated version will be\n effective as soon as it is accessible. If we make material changes to this privacy\n notice, we may notify you either by prominently posting a notice of such changes or by\n directly sending you a notification. We encourage you to review this privacy notice\n frequently to be informed of how we are protecting your information.\n \n \n 15. HOW CAN YOU CONTACT US ABOUT THIS NOTICE?\n \n\n \n If you have questions or comments about this notice, you may email us at\n privacy@speakermeet.net or by post to:\n \n\n \n SpeakerMeet\n
\n Tampa, FL 33635\n
\n United States\n
\n privacy@speakermeet.net\n
\n\n \n HOW CAN YOU REVIEW, UPDATE, OR DELETE THE DATA WE COLLECT FROM YOU?\n \n\n \n Based on the applicable laws of your country, you may have the right to request access\n to the personal information we collect from you, change that information, or delete it\n in some circumstances. To request to review, update, or delete your personal\n information, please visit: https://www.speakermeet.net. We will respond to your request\n within 30 days.\n \n
\n
\n \n );\n}\n","import React from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport Container from '@material-ui/core/Container';\nimport Typography from '@material-ui/core/Typography';\nimport Paper from '@material-ui/core/Paper';\nimport { makeStyles } from '@material-ui/core/styles';\nimport BreadCrumbs from '../components/BreadCrumbs';\n\nconst useStyles = makeStyles({\n root: {\n flexGrow: 1,\n padding: 24,\n },\n});\n\nexport default function Terms() {\n const classes = useStyles();\n\n return (\n <>\n \n SpeakerMeet | Terms of Use\n \n\n \n \n \n \n TERMS OF USE\n \n\n \n Last updated July 11, 2020\n \n\n \n AGREEMENT TO TERMS\n \n\n \n These Terms of Use constitute a legally binding agreement made between you, whether\n personally or on behalf of an entity ("you") and SpeakerMeet\n ("Company", "we", "us", or "our"), concerning\n your access to and use of the https://www.speakermeet.net website as well as any other\n media form, media channel, mobile website or mobile application related, linked, or\n otherwise connected thereto (collectively, the "Site"). You agree that by\n accessing the Site, you have read, understood, and agreed to be bound by all of these\n Terms of Use. IF YOU DO NOT AGREE WITH ALL OF THESE TERMS OF USE, THEN YOU ARE EXPRESSLY\n PROHIBITED FROM USING THE SITE AND YOU MUST DISCONTINUE USE IMMEDIATELY.\n \n \n Supplemental terms and conditions or documents that may be posted on the Site from time\n to time are hereby expressly incorporated herein by reference. We reserve the right, in\n our sole discretion, to make changes or modifications to these Terms of Use at any time\n and for any reason. We will alert you about any changes by updating the "Last\n updated" date of these Terms of Use, and you waive any right to receive specific\n notice of each such change. It is your responsibility to periodically review these Terms\n of Use to stay informed of updates. You will be subject to, and will be deemed to have\n been made aware of and to have accepted, the changes in any revised Terms of Use by your\n continued use of the Site after the date such revised Terms of Use are posted.\n \n \n The information provided on the Site is not intended for distribution to or use by any\n person or entity in any jurisdiction or country where such distribution or use would be\n contrary to law or regulation or which would subject us to any registration requirement\n within such jurisdiction or country. Accordingly, those persons who choose to access the\n Site from other locations do so on their own initiative and are solely responsible for\n compliance with local laws, if and to the extent local laws are applicable.\n \n \n The Site is not tailored to comply with industry-specific regulations (Health Insurance\n Portability and Accountability Act (HIPAA), Federal Information Security Management Act\n (FISMA), etc.), so if your interactions would be subjected to such laws, you may not use\n this Site. You may not use the Site in a way that would violate the Gramm-Leach-Bliley\n Act (GLBA).\n \n \n The Site is intended for users who are at least 13 years of age. All users who are\n minors in the jurisdiction in which they reside (generally under the age of 18) must\n have the permission of, and be directly supervised by, their parent or guardian to use\n the Site. If you are a minor, you must have your parent or guardian read and agree to\n these Terms of Use prior to you using the Site.\n \n \n INTELLECTUAL PROPERTY RIGHTS\n \n \n Unless otherwise indicated, the Site is our proprietary property and all source code,\n databases, functionality, software, website designs, audio, video, text, photographs,\n and graphics on the Site (collectively, the "Content") and the trademarks,\n service marks, and logos contained therein (the "Marks") are owned or\n controlled by us or licensed to us, and are protected by copyright and trademark laws\n and various other intellectual property rights and unfair competition laws of the United\n States, international copyright laws, and international conventions. The Content and the\n Marks are provided on the Site "AS IS" for your information and personal use\n only. Except as expressly provided in these Terms of Use, no part of the Site and no\n Content or Marks may be copied, reproduced, aggregated, republished, uploaded, posted,\n publicly displayed, encoded, translated, transmitted, distributed, sold, licensed, or\n otherwise exploited for any commercial purpose whatsoever, without our express prior\n written permission.\n \n \n Provided that you are eligible to use the Site, you are granted a limited license to\n access and use the Site and to download or print a copy of any portion of the Content to\n which you have properly gained access solely for your personal, non-commercial use. We\n reserve all rights not expressly granted to you in and to the Site, the Content and the\n Marks.\n \n \n USER REPRESENTATIONS\n \n \n By using the Site, you represent and warrant that: (1) all registration information you\n submit will be true, accurate, current, and complete; (2) you will maintain the accuracy\n of such information and promptly update such registration information as necessary; (3)\n you have the legal capacity and you agree to comply with these Terms of Use; (4) you are\n not under the age of 13; (5) you are not a minor in the jurisdiction in which you\n reside, or if a minor, you have received parental permission to use the Site; (6) you\n will not access the Site through automated or non-human means, whether through a bot,\n script, or otherwise; (7) you will not use the Site for any illegal or unauthorized\n purpose; and (8) your use of the Site will not violate any applicable law or regulation.\n \n \n If you provide any information that is untrue, inaccurate, not current, or incomplete,\n we have the right to suspend or terminate your account and refuse any and all current or\n future use of the Site (or any portion thereof).\n \n \n USER REGISTRATION\n \n \n You may be required to register with the Site. You agree to keep your password\n confidential and will be responsible for all use of your account and password. We\n reserve the right to remove, reclaim, or change a username you select if we determine,\n in our sole discretion, that such username is inappropriate, obscene, or otherwise\n objectionable.\n \n \n PROHIBITED ACTIVITIES\n \n \n You may not access or use the Site for any purpose other than that for which we make the\n Site available. The Site may not be used in connection with any commercial endeavors\n except those that are specifically endorsed or approved by us.\n \n As a user of the Site, you agree not to:\n
    \n
  1. \n Systematically retrieve data or other content from the Site to create or compile,\n directly or indirectly, a collection, compilation, database, or directory without\n written permission from us.\n
  2. \n
  3. \n Trick, defraud, or mislead us and other users, especially in any attempt to learn\n sensitive account information such as user passwords.\n
  4. \n
  5. \n Circumvent, disable, or otherwise interfere with security-related Site, including\n features that prevent or restrict the use or copying of any Content or enforce\n limitations on the use of the Site and/or the Content contained therein.\n
  6. \n
  7. Disparage, tarnish, or otherwise harm, in our opinion, us and/or the Site.
  8. \n
  9. \n Use any information obtained from the Site in order to harass, abuse, or harm person.\n
  10. \n
  11. \n Make improper use of our support services or submit false reports of abuse or abuse or\n misconduct.\n
  12. \n
  13. Use the Site in a manner inconsistent with any applicable laws or regulations.
  14. \n
  15. Use the Site to advertise or offer to sell goods and services.
  16. \n
  17. Engage in unauthorized framing of or linking to the Site.
  18. \n
  19. \n Upload or transmit (or attempt to upload or to transmit) viruses, Trojan horses, or\n other material, including excessive use of capital letters and spamming posting\n posting of repetitive text), that interferes with any party’s uninterrupted use\n enjoyment of the Site or modifies, impairs, disrupts, alters, or interferes with use,\n features, functions, operation, or maintenance of the Site.\n
  20. \n
  21. \n Engage in any automated use of the system, such as using scripts to send comments\n using any data mining, robots, or similar data gathering and extraction tools.\n
  22. \n
  23. Delete the copyright or other proprietary rights notice from any Content.
  24. \n
  25. \n Attempt to impersonate another user or person or use the username of another user.\n
  26. \n
  27. Sell or otherwise transfer your profile.
  28. \n
  29. \n Upload or transmit (or attempt to upload or to transmit) any material that acts as a\n passive or active information collection or transmission mechanism, including without\n limitation, clear graphics interchange formats ("gifs"), 1×1 pixels, web\n bugs, cookies, or other similar devices (sometimes referred to as "spyware"\n or "passive collection mechanisms" or "pcms").\n
  30. \n
  31. \n Interfere with, disrupt, or create an undue burden on the Site or the networks or\n services connected to the Site. Site.\n
  32. \n
  33. \n Harass, annoy, intimidate, or threaten any of our employees or agents engaged in\n engaged in providing any portion of the Site to you.\n
  34. \n
  35. \n Attempt to bypass any measures of the Site designed to prevent or restrict access to\n the Site, or any portion of the Site.\n
  36. \n
  37. \n Copy or adapt the Site’s software, including but not limited to Flash, PHP, HTML,\n JavaScript, or other code.\n
  38. \n
  39. \n Decipher, decompile, disassemble, or reverse engineer any of the software comprising\n or in any way making up a part of the Site.\n
  40. \n
  41. \n Except as may be the result of standard search engine or Internet browser usage, use,\n launch, develop, or distribute any automated system, limitation, any spider, robot,\n cheat utility, scraper, or offline reader that reader that accesses the Site, or using\n or launching any unauthorized script or other software.\n
  42. \n
  43. Use a buying agent or purchasing agent to make purchases on the Site.
  44. \n
  45. \n Make any unauthorized use of the Site, including collecting usernames and/or email\n and/or email addresses of users by electronic or other means for the purpose of\n sending unsolicited email, or creating user accounts by automated means or under false\n pretenses.\n
  46. \n
  47. \n Use the Site as part of any effort to compete with us or otherwise use the Site and/or\n the Content for any revenue-generating endeavor or commercial enterprise.\n
  48. \n
\n \n USER GENERATED CONTRIBUTIONS\n \n \n The Site may invite you to chat, contribute to, or participate in blogs, message boards,\n online forums, and other functionality, and may provide you with the opportunity to\n create, submit, post, display, transmit, perform, publish, distribute, or broadcast\n content and materials to us or on the Site, including but not limited to text, writings,\n video, audio, photographs, graphics, comments, suggestions, or personal information or\n other material (collectively, "Contributions"). Contributions may be viewable\n by other users of the Site and through third-party websites. As such, any Contributions\n you transmit may be treated as non-confidential and non-proprietary. When you create or\n make available any Contributions, you thereby represent and warrant that:\n \n \n 1. The creation, distribution, transmission, public display, or performance, and the\n accessing, downloading, or copying of your Contributions do not and will not infringe\n the proprietary rights, including but not limited to the copyright, patent, trademark,\n trade secret, or moral rights of any third party. 2. You are the creator and owner of or\n have the necessary licenses, rights, consents, releases, and permissions to use and to\n authorize us, the Site, and other users of the Site to use your Contributions in any\n manner contemplated by the Site and these Terms of Use. 3. You have the written consent,\n release, and/or permission of each and every identifiable individual person in your\n Contributions to use the name or likeness of each and every such identifiable individual\n person to enable inclusion and use of your Contributions in any manner contemplated by\n the Site and these Terms of Use. 4. Your Contributions are not false, inaccurate, or\n misleading. 5. Your Contributions are not unsolicited or unauthorized advertising,\n promotional materials, pyramid schemes, chain letters, spam, mass mailings, or other\n forms of solicitation. 6. Your Contributions are not obscene, lewd, lascivious, filthy,\n violent, harassing, libelous, slanderous, or otherwise objectionable (as determined by\n us). 7. Your Contributions do not ridicule, mock, disparage, intimidate, or abuse\n anyone. 8. Your Contributions do not advocate the violent overthrow of any government or\n incite, encourage, or threaten physical harm against another. 9. Your Contributions do\n not violate any applicable law, regulation, or rule. 10. Your Contributions do not\n violate the privacy or publicity rights of any third party. 11. Your Contributions do\n not contain any material that solicits personal information from anyone under the age of\n 18 or exploits people under the age of 18 in a sexual or violent manner. 12. Your\n Contributions do not violate any applicable law concerning child pornography, or\n otherwise intended to protect the health or well-being of minors; 13. Your Contributions\n do not include any offensive comments that are connected to race, national origin,\n gender, sexual preference, or physical handicap. 14. Your Contributions do not otherwise\n violate, or link to material that violates, any provision of these Terms of Use, or any\n applicable law or regulation.\n \n \n Any use of the Site in violation of the foregoing violates these Terms of Use and may\n result in, among other things, termination or suspension of your rights to use the Site.\n \n \n CONTRIBUTION LICENSE\n \n \n By posting your Contributions to any part of the Site or making Contributions accessible\n to the Site by linking your account from the Site to any of your social networking\n accounts, you automatically grant, and you represent and warrant that you have the right\n to grant, to us an unrestricted, unlimited, irrevocable, perpetual, non-exclusive,\n transferable, royalty-free, fully-paid, worldwide right, and license to host, use, copy,\n reproduce, disclose, sell, resell, publish, broadcast, retitle, archive, store, cache,\n publicly perform, publicly display, reformat, translate, transmit, excerpt (in whole or\n in part), and distribute such Contributions (including, without limitation, your image\n and voice) for any purpose, commercial, advertising, or otherwise, and to prepare\n derivative works of, or incorporate into other works, such Contributions, and grant and\n authorize sublicenses of the foregoing. The use and distribution may occur in any media\n formats and through any media channels.\n \n \n This license will apply to any form, media, or technology now known or hereafter\n developed, and includes our use of your name, company name, and franchise name, as\n applicable, and any of the trademarks, service marks, trade names, logos, and personal\n and commercial images you provide. You waive all moral rights in your Contributions, and\n you warrant that moral rights have not otherwise been asserted in your Contributions.\n \n \n We do not assert any ownership over your Contributions. You retain full ownership of all\n of your Contributions and any intellectual property rights or other proprietary rights\n associated with your Contributions. We are not liable for any statements or\n representations in your Contributions provided by you in any area on the Site. You are\n solely responsible for your Contributions to the Site and you expressly agree to\n exonerate us from any and all responsibility and to refrain from any legal action\n against us regarding your Contributions.\n \n \n We have the right, in our sole and absolute discretion, (1) to edit, redact, or\n otherwise change any Contributions; (2) to re-categorize any Contributions to place them\n in more appropriate locations on the Site; and (3) to pre-screen or delete any\n Contributions at any time and for any reason, without notice. We have no obligation to\n monitor your Contributions.\n \n \n GUIDELINES FOR REVIEWS\n \n \n We may provide you areas on the Site to leave reviews or ratings. When posting a review,\n you must comply with the following criteria: (1) you should have firsthand experience\n with the person/entity being reviewed; (2) your reviews should not contain offensive\n profanity, or abusive, racist, offensive, or hate language; (3) your reviews should not\n contain discriminatory references based on religion, race, gender, national origin, age,\n marital status, sexual orientation, or disability; (4) your reviews should not contain\n references to illegal activity; (5) you should not be affiliated with competitors if\n posting negative reviews; (6) you should not make any conclusions as to the legality of\n conduct; (7) you may not post any false or misleading statements; and (8) you may not\n organize a campaign encouraging others to post reviews, whether positive or negative.\n \n \n We may accept, reject, or remove reviews in our sole discretion. We have absolutely no\n obligation to screen reviews or to delete reviews, even if anyone considers reviews\n objectionable or inaccurate. Reviews are not endorsed by us, and do not necessarily\n represent our opinions or the views of any of our affiliates or partners. We do not\n assume liability for any review or for any claims, liabilities, or losses resulting from\n any review. By posting a review, you hereby grant to us a perpetual, non-exclusive,\n worldwide, royalty-free, fully-paid, assignable, and sublicensable right and license to\n reproduce, modify, translate, transmit by any means, display, perform, and/or distribute\n all content relating to reviews.\n \n \n SOCIAL MEDIA\n \n \n As part of the functionality of the Site, you may link your account with online accounts\n you have with third-party service providers (each such account, a "Third-Party\n Account") by either: (1) providing your Third-Party Account login information\n through the Site; or (2) allowing us to access your Third-Party Account, as is permitted\n under the applicable terms and conditions that govern your use of each Third-Party\n Account. You represent and warrant that you are entitled to disclose your Third-Party\n Account login information to us and/or grant us access to your Third-Party Account,\n without breach by you of any of the terms and conditions that govern your use of the\n applicable Third-Party Account, and without obligating us to pay any fees or making us\n subject to any usage limitations imposed by the third-party service provider of the\n Third-Party Account. By granting us access to any Third-Party Accounts, you understand\n that (1) we may access, make available, and store (if applicable) any content that you\n have provided to and stored in your Third-Party Account (the "Social Network\n Content") so that it is available on and through the Site via your account,\n including without limitation any friend lists and (2) we may submit to and receive from\n your Third-Party Account additional information to the extent you are notified when you\n link your account with the Third-Party Account. Depending on the Third-Party Accounts\n you choose and subject to the privacy settings that you have set in such Third-Party\n Accounts, personally identifiable information that you post to your Third-Party Accounts\n may be available on and through your account on the Site. Please note that if a\n Third-Party Account or associated service becomes unavailable or our access to such\n Third Party Account is terminated by the third-party service provider, then Social\n Network Content may no longer be available on and through the Site. You will have the\n ability to disable the connection between your account on the Site and your Third-Party\n Accounts at any time. PLEASE NOTE THAT YOUR RELATIONSHIP WITH THE THIRD-PARTY SERVICE\n PROVIDERS ASSOCIATED WITH YOUR THIRD-PARTY ACCOUNTS IS GOVERNED SOLELY BY YOUR\n AGREEMENT(S) WITH SUCH THIRD-PARTY SERVICE PROVIDERS. We make no effort to review any\n Social Network Content for any purpose, including but not limited to, for accuracy,\n legality, or non-infringement, and we are not responsible for any Social Network\n Content. You acknowledge and agree that we may access your email address book associated\n with a Third-Party Account and your contacts list stored on your mobile device or tablet\n computer solely for purposes of identifying and informing you of those contacts who have\n also registered to use the Site. You can deactivate the connection between the Site and\n your Third-Party Account by contacting us using the contact information below or through\n your account settings (if applicable). We will attempt to delete any information stored\n on our servers that was obtained through such Third-Party Account, except the username\n and profile picture that become associated with your account.\n \n \n SUBMISSIONS\n \n \n You acknowledge and agree that any questions, comments, suggestions, ideas, feedback, or\n other information regarding the Site ("Submissions") provided by you to us are\n non-confidential and shall become our sole property. We shall own exclusive rights,\n including all intellectual property rights, and shall be entitled to the unrestricted\n use and dissemination of these Submissions for any lawful purpose, commercial or\n otherwise, without acknowledgment or compensation to you. You hereby waive all moral\n rights to any such Submissions, and you hereby warrant that any such Submissions are\n original with you or that you have the right to submit such Submissions. You agree there\n shall be no recourse against us for any alleged or actual infringement or\n misappropriation of any proprietary right in your Submissions.\n \n \n THIRD-PARTY WEBSITE AND CONTENT\n \n \n The Site may contain (or you may be sent via the Site) links to other websites\n ("Third-Party Websites") as well as articles, photographs, text, graphics,\n pictures, designs, music, sound, video, information, applications, software, and other\n content or items belonging to or originating from third parties ("Third-Party\n Content"). Such Third-Party Websites and Third-Party Content are not investigated,\n monitored, or checked for accuracy, appropriateness, or completeness by us, and we are\n not responsible for any Third-Party Websites accessed through the Site or any\n Third-Party Content posted on, available through, or installed from the Site, including\n the content, accuracy, offensiveness, opinions, reliability, privacy practices, or other\n policies of or contained in the Third-Party Websites or the Third-Party Content.\n Inclusion of, linking to, or permitting the use or installation of any Third-Party\n Websites or any Third-Party Content does not imply approval or endorsement thereof by\n us. If you decide to leave the Site and access the Third-Party Websites or to use or\n install any Third-Party Content, you do so at your own risk, and you should be aware\n these Terms of Use no longer govern. You should review the applicable terms and\n policies, including privacy and data gathering practices, of any website to which you\n navigate from the Site or relating to any applications you use or install from the Site.\n Any purchases you make through Third-Party Websites will be through other websites and\n from other companies, and we take no responsibility whatsoever in relation to such\n purchases which are exclusively between you and the applicable third party. You agree\n and acknowledge that we do not endorse the products or services offered on Third-Party\n Websites and you shall hold us harmless from any harm caused by your purchase of such\n products or services. Additionally, you shall hold us harmless from any losses sustained\n by you or harm caused to you relating to or resulting in any way from any Third-Party\n Content or any contact with Third-Party Websites.\n \n \n ADVERTISERS\n \n \n We allow advertisers to display their advertisements and other information in certain\n areas of the Site, such as sidebar advertisements or banner advertisements. If you are\n an advertiser, you shall take full responsibility for any advertisements you place on\n the Site and any services provided on the Site or products sold through those\n advertisements. Further, as an advertiser, you warrant and represent that you possess\n all rights and authority to place advertisements on the Site, including, but not limited\n to, intellectual property rights, publicity rights, and contractual rights. We simply\n provide the space to place such advertisements, and we have no other relationship with\n advertisers.\n \n \n SITE MANAGEMENT\n \n \n We reserve the right, but not the obligation, to: (1) monitor the Site for violations of\n these Terms of Use; (2) take appropriate legal action against anyone who, in our sole\n discretion, violates the law or these Terms of Use, including without limitation,\n reporting such user to law enforcement authorities; (3) in our sole discretion and\n without limitation, refuse, restrict access to, limit the availability of, or disable\n (to the extent technologically feasible) any of your Contributions or any portion\n thereof; (4) in our sole discretion and without limitation, notice, or liability, to\n remove from the Site or otherwise disable all files and content that are excessive in\n size or are in any way burdensome to our systems; and (5) otherwise manage the Site in a\n manner designed to protect our rights and property and to facilitate the proper\n functioning of the Site.\n \n \n PRIVACY POLICY\n \n \n We care about data privacy and security. By using the Site, you agree to be bound by our\n Privacy Policy posted on the Site, which is incorporated into these Terms of Use. Please\n be advised the Site is hosted in the United States. If you access the Site from any\n other region of the world with laws or other requirements governing personal data\n collection, use, or disclosure that differ from applicable laws in the United States,\n then through your continued use of the Site, you are transferring your data to the\n United States, and you agree to have your data transferred to and processed in the\n United States. Further, we do not knowingly accept, request, or solicit information from\n children or knowingly market to children. Therefore, in accordance with the U.S.\n Children’s Online Privacy Protection Act, if we receive actual knowledge that anyone\n under the age of 13 has provided personal information to us without the requisite and\n verifiable parental consent, we will delete that information from the Site as quickly as\n is reasonably practical.\n \n \n COPYRIGHT INFRINGEMENTS\n \n \n We respect the intellectual property rights of others. If you believe that any material\n available on or through the Site infringes upon any copyright you own or control, please\n immediately notify us using the contact information provided below (a\n "Notification"). A copy of your Notification will be sent to the person who\n posted or stored the material addressed in the Notification. Please be advised that\n pursuant to applicable law you may be held liable for damages if you make material\n misrepresentations in a Notification. Thus, if you are not sure that material located on\n or linked to by the Site infringes your copyright, you should consider first contacting\n an attorney.\n \n \n TERM AND TERMINATION\n \n \n These Terms of Use shall remain in full force and effect while you use the Site. WITHOUT\n LIMITING ANY OTHER PROVISION OF THESE TERMS OF USE, WE RESERVE THE RIGHT TO, IN OUR SOLE\n DISCRETION AND WITHOUT NOTICE OR LIABILITY, DENY ACCESS TO AND USE OF THE SITE\n (INCLUDING BLOCKING CERTAIN IP ADDRESSES), TO ANY PERSON FOR ANY REASON OR FOR NO\n REASON, INCLUDING WITHOUT LIMITATION FOR BREACH OF ANY REPRESENTATION, WARRANTY, OR\n COVENANT CONTAINED IN THESE TERMS OF USE OR OF ANY APPLICABLE LAW OR REGULATION. WE MAY\n TERMINATE YOUR USE OR PARTICIPATION IN THE SITE OR DELETE YOUR ACCOUNT AND ANY CONTENT\n OR INFORMATION THAT YOU POSTED AT ANY TIME, WITHOUT WARNING, IN OUR SOLE DISCRETION.\n \n \n If we terminate or suspend your account for any reason, you are prohibited from\n registering and creating a new account under your name, a fake or borrowed name, or the\n name of any third party, even if you may be acting on behalf of the third party. In\n addition to terminating or suspending your account, we reserve the right to take\n appropriate legal action, including without limitation pursuing civil, criminal, and\n injunctive redress.\n \n \n MODIFICATIONS AND INTERRUPTIONS\n \n \n We reserve the right to change, modify, or remove the contents of the Site at any time\n or for any reason at our sole discretion without notice. However, we have no obligation\n to update any information on our Site. We also reserve the right to modify or\n discontinue all or part of the Site without notice at any time. We will not be liable to\n you or any third party for any modification, price change, suspension, or discontinuance\n of the Site.\n \n \n We cannot guarantee the Site will be available at all times. We may experience hardware,\n software, or other problems or need to perform maintenance related to the Site,\n resulting in interruptions, delays, or errors. We reserve the right to change, revise,\n update, suspend, discontinue, or otherwise modify the Site at any time or for any reason\n without notice to you. You agree that we have no liability whatsoever for any loss,\n damage, or inconvenience caused by your inability to access or use the Site during any\n downtime or discontinuance of the Site. Nothing in these Terms of Use will be construed\n to obligate us to maintain and support the Site or to supply any corrections, updates,\n or releases in connection therewith.\n \n \n GOVERNING LAW\n \n \n These Terms of Use and your use of the Site are governed by and construed in accordance\n with the laws of the State of Florida applicable to agreements made and to be entirely\n performed within the State of Florida, without regard to its conflict of law principles.\n \n \n DISPUTE RESOLUTION\n \n Informal Negotiations\n \n To expedite resolution and control the cost of any dispute, controversy, or claim\n related to these Terms of Use (each a "Dispute" and collectively, the\n "Disputes") brought by either you or us (individually, a "Party" and\n collectively, the "Parties"), the Parties agree to first attempt to negotiate\n any Dispute (except those Disputes expressly provided below) informally for at least\n thirty (30) days before initiating arbitration. Such informal negotiations commence upon\n written notice from one Party to the other Party.\n \n Binding Arbitration\n \n If the Parties are unable to resolve a Dispute through informal negotiations, the\n Dispute (except those Disputes expressly excluded below) will be finally and exclusively\n resolved through binding arbitration. YOU UNDERSTAND THAT WITHOUT THIS PROVISION, YOU\n WOULD HAVE THE RIGHT TO SUE IN COURT AND HAVE A JURY TRIAL. The arbitration shall be\n commenced and conducted under the Commercial Arbitration Rules of the American\n Arbitration Association ("AAA") and, where appropriate, the AAA’s\n Supplementary Procedures for Consumer Related Disputes ("AAA Consumer Rules"),\n both of which are available at the AAA website: www.adr.org. Your arbitration fees and\n your share of arbitrator compensation shall be governed by the AAA Consumer Rules and,\n where appropriate, limited by the AAA Consumer Rules. The arbitration may be conducted\n in person, through the submission of documents, by phone, or online. The arbitrator will\n make a decision in writing, but need not provide a statement of reasons unless requested\n by either Party. The arbitrator must follow applicable law, and any award may be\n challenged if the arbitrator fails to do so. Except where otherwise required by the\n applicable AAA rules or applicable law, the arbitration will take place in Hillsborough,\n Florida. Except as otherwise provided herein, the Parties may litigate in court to\n compel arbitration, stay proceedings pending arbitration, or to confirm, modify, vacate,\n or enter judgment on the award entered by the arbitrator.\n \n \n If for any reason, a Dispute proceeds in court rather than arbitration, the Dispute\n shall be commenced or prosecuted in the state and federal courts located in\n Hillsborough, Florida, and the Parties hereby consent to, and waive all defenses of lack\n of personal jurisdiction, and forum non conveniens with respect to venue and\n jurisdiction in such state and federal courts. Application of the United Nations\n Convention on Contracts for the International Sale of Goods and the the Uniform Computer\n Information Transaction Act (UCITA) is excluded from these Terms of Use.\n \n \n In no event shall any Dispute brought by either Party related in any way to the Site be\n commenced more than one (1) years after the cause of action arose. If this provision is\n found to be illegal or unenforceable, then neither Party will elect to arbitrate any\n Dispute falling within that portion of this provision found to be illegal or\n unenforceable, and such Dispute shall be decided by a court of competent jurisdiction\n within the courts listed for jurisdiction above, and the Parties agree to submit to the\n personal jurisdiction of that court.\n \n Restrictions\n \n The Parties agree that any arbitration shall be limited to the Dispute between the\n Parties individually. To the full extent permitted by law, (a) no arbitration shall be\n joined with any other proceeding; (b) there is no right or authority for any Dispute to\n be arbitrated on a class-action basis or to utilize class action procedures; and (c)\n there is no right or authority for any Dispute to be brought in a purported\n representative capacity on behalf of the general public or any other persons.\n \n Exceptions to Informal Negotiations and Arbitration\n \n The Parties agree that the following Disputes are not subject to the above provisions\n concerning informal negotiations and binding arbitration: (a) any Disputes seeking to\n enforce or protect, or concerning the validity of, any of the intellectual property\n rights of a Party; (b) any Dispute related to, or arising from, allegations of theft,\n piracy, invasion of privacy, or unauthorized use; and (c) any claim for injunctive\n relief. If this provision is found to be illegal or unenforceable, then neither Party\n will elect to arbitrate any Dispute falling within that portion of this provision found\n to be illegal or unenforceable and such Dispute shall be decided by a court of competent\n jurisdiction within the courts listed for jurisdiction above, and the Parties agree to\n submit to the personal jurisdiction of that court.\n \n \n CORRECTIONS\n \n \n There may be information on the Site that contains typographical errors, inaccuracies,\n or omissions, including descriptions, pricing, availability, and various other\n information. We reserve the right to correct any errors, inaccuracies, or omissions and\n to change or update the information on the Site at any time, without prior notice.\n \n \n DISCLAIMER\n \n \n THE SITE IS PROVIDED ON AN AS-IS AND AS-AVAILABLE BASIS. YOU AGREE THAT YOUR USE OF THE\n SITE AND OUR SERVICES WILL BE AT YOUR SOLE RISK. TO THE FULLEST EXTENT PERMITTED BY LAW,\n WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, IN CONNECTION WITH THE SITE AND YOUR USE\n THEREOF, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. WE MAKE NO WARRANTIES OR\n REPRESENTATIONS ABOUT THE ACCURACY OR COMPLETENESS OF THE SITE’S CONTENT OR THE CONTENT\n OF ANY WEBSITES LINKED TO THE SITE AND WE WILL ASSUME NO LIABILITY OR RESPONSIBILITY FOR\n ANY (1) ERRORS, MISTAKES, OR INACCURACIES OF CONTENT AND MATERIALS, (2) PERSONAL INJURY\n OR PROPERTY DAMAGE, OF ANY NATURE WHATSOEVER, RESULTING FROM YOUR ACCESS TO AND USE OF\n THE SITE, (3) ANY UNAUTHORIZED ACCESS TO OR USE OF OUR SECURE SERVERS AND/OR ANY AND ALL\n PERSONAL INFORMATION AND/OR FINANCIAL INFORMATION STORED THEREIN, (4) ANY INTERRUPTION\n OR CESSATION OF TRANSMISSION TO OR FROM THE SITE, (5) ANY BUGS, VIRUSES, TROJAN HORSES,\n OR THE LIKE WHICH MAY BE TRANSMITTED TO OR THROUGH THE SITE BY ANY THIRD PARTY, AND/OR\n (6) ANY ERRORS OR OMISSIONS IN ANY CONTENT AND MATERIALS OR FOR ANY LOSS OR DAMAGE OF\n ANY KIND INCURRED AS A RESULT OF THE USE OF ANY CONTENT POSTED, TRANSMITTED, OR\n OTHERWISE MADE AVAILABLE VIA THE SITE. WE DO NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUME\n RESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OR OFFERED BY A THIRD PARTY THROUGH\n THE SITE, ANY HYPERLINKED WEBSITE, OR ANY WEBSITE OR MOBILE APPLICATION FEATURED IN ANY\n BANNER OR OTHER ADVERTISING, AND WE WILL NOT BE A PARTY TO OR IN ANY WAY BE RESPONSIBLE\n FOR MONITORING ANY TRANSACTION BETWEEN YOU AND ANY THIRD-PARTY PROVIDERS OF PRODUCTS OR\n SERVICES. AS WITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUM OR IN ANY\n ENVIRONMENT, YOU SHOULD USE YOUR BEST JUDGMENT AND EXERCISE CAUTION WHERE APPROPRIATE.\n \n \n LIMITATIONS OF LIABILITY\n \n \n IN NO EVENT WILL WE OR OUR DIRECTORS, EMPLOYEES, OR AGENTS BE LIABLE TO YOU OR ANY THIRD\n PARTY FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, EXEMPLARY, INCIDENTAL, SPECIAL, OR\n PUNITIVE DAMAGES, INCLUDING LOST PROFIT, LOST REVENUE, LOSS OF DATA, OR OTHER DAMAGES\n ARISING FROM YOUR USE OF THE SITE, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF\n SUCH DAMAGES. NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED HEREIN, OUR LIABILITY\n TO YOU FOR ANY CAUSE WHATSOEVER AND REGARDLESS OF THE FORM OF THE ACTION, WILL AT ALL\n TIMES BE LIMITED TO THE LESSER OF THE AMOUNT PAID, IF ANY, BY YOU TO US DURING THE one\n (1) MONTH PERIOD PRIOR TO ANY CAUSE OF ACTION ARISING OR $100.00 USD. CERTAIN US STATE\n LAWS AND INTERNATIONAL LAWS DO NOT ALLOW LIMITATIONS ON IMPLIED WARRANTIES OR THE\n EXCLUSION OR LIMITATION OF CERTAIN DAMAGES. IF THESE LAWS APPLY TO YOU, SOME OR ALL OF\n THE ABOVE DISCLAIMERS OR LIMITATIONS MAY NOT APPLY TO YOU, AND YOU MAY HAVE ADDITIONAL\n RIGHTS.\n \n \n INDEMNIFICATION\n \n \n You agree to defend, indemnify, and hold us harmless, including our subsidiaries,\n affiliates, and all of our respective officers, agents, partners, and employees, from\n and against any loss, damage, liability, claim, or demand, including reasonable\n attorneys’ fees and expenses, made by any third party due to or arising out of: (1) your\n Contributions; (2) use of the Site; (3) breach of these Terms of Use; (4) any breach of\n your representations and warranties set forth in these Terms of Use; (5) your violation\n of the rights of a third party, including but not limited to intellectual property\n rights; or (6) any overt harmful act toward any other user of the Site with whom you\n connected via the Site. Notwithstanding the foregoing, we reserve the right, at your\n expense, to assume the exclusive defense and control of any matter for which you are\n required to indemnify us, and you agree to cooperate, at your expense, with our defense\n of such claims. We will use reasonable efforts to notify you of any such claim, action,\n or proceeding which is subject to this indemnification upon becoming aware of it.\n \n \n USER DATA\n \n \n We will maintain certain data that you transmit to the Site for the purpose of managing\n the performance of the Site, as well as data relating to your use of the Site. Although\n we perform regular routine backups of data, you are solely responsible for all data that\n you transmit or that relates to any activity you have undertaken using the Site. You\n agree that we shall have no liability to you for any loss or corruption of any such\n data, and you hereby waive any right of action against us arising from any such loss or\n corruption of such data.\n \n \n ELECTRONIC COMMUNICATIONS, TRANSACTIONS, AND SIGNATURES\n \n \n Visiting the Site, sending us emails, and completing online forms constitute electronic\n communications. You consent to receive electronic communications, and you agree that all\n agreements, notices, disclosures, and other communications we provide to you\n electronically, via email and on the Site, satisfy any legal requirement that such\n communication be in writing. YOU HEREBY AGREE TO THE USE OF ELECTRONIC SIGNATURES,\n CONTRACTS, ORDERS, AND OTHER RECORDS, AND TO ELECTRONIC DELIVERY OF NOTICES, POLICIES,\n AND RECORDS OF TRANSACTIONS INITIATED OR COMPLETED BY US OR VIA THE SITE. You hereby\n waive any rights or requirements under any statutes, regulations, rules, ordinances, or\n other laws in any jurisdiction which require an original signature or delivery or\n retention of non-electronic records, or to payments or the granting of credits by any\n means other than electronic means.\n \n \n CALIFORNIA USERS AND RESIDENTS\n \n \n If any complaint with us is not satisfactorily resolved, you can contact the Complaint\n Assistance Unit of the Division of Consumer Services of the California Department of\n Consumer Affairs in writing at 1625 North Market Blvd., Suite N 112, Sacramento,\n California 95834 or by telephone at (800) 952-5210 or (916) 445-1254.\n \n \n MISCELLANEOUS\n \n \n These Terms of Use and any policies or operating rules posted by us on the Site or in\n respect to the Site constitute the entire agreement and understanding between you and\n us. Our failure to exercise or enforce any right or provision of these Terms of Use\n shall not operate as a waiver of such right or provision. These Terms of Use operate to\n the fullest extent permissible by law. We may assign any or all of our rights and\n obligations to others at any time. We shall not be responsible or liable for any loss,\n damage, delay, or failure to act caused by any cause beyond our reasonable control. If\n any provision or part of a provision of these Terms of Use is determined to be unlawful,\n void, or unenforceable, that provision or part of the provision is deemed severable from\n these Terms of Use and does not affect the validity and enforceability of any remaining\n provisions. There is no joint venture, partnership, employment or agency relationship\n created between you and us as a result of these Terms of Use or use of the Site. You\n agree that these Terms of Use will not be construed against us by virtue of having\n drafted them. You hereby waive any and all defenses you may have based on the electronic\n form of these Terms of Use and the lack of signing by the parties hereto to execute\n these Terms of Use.\n \n \n CONTACT US\n \n \n In order to resolve a complaint regarding the Site or to receive further information\n regarding use of the Site, please contact us at:\n \n \n SpeakerMeet\n
\n Tampa, FL 33635\n
\n United States\n
\n terms@speakermeet.net\n
\n
\n
\n
\n \n );\n}\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport TabContext from '@material-ui/lab/TabContext';\nimport TabPanel from '@material-ui/lab/TabPanel';\n\nconst useStyles = makeStyles({\n root: {\n flexGrow: 1,\n minHeight: 500,\n },\n});\n\nexport default function CommunityDetailTabs() {\n const classes = useStyles();\n const [value, setValue] = React.useState('0');\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n Item One\n Item Two\n Item Three\n Item Four\n \n \n \n );\n}\n","import { useEffect, useState } from 'react';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nexport default function useCommunitiesFeatured() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [communities, setCommunities] = useState([]);\n\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.communitiesFeatured);\n const data = await response.json();\n if (response.ok) {\n const result = data.map(x => ({\n ...x,\n path: `${routes.communities.path}/${x.slug}`,\n }));\n setCommunities(result);\n } else {\n throw new Error(data);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n\n useEffect(() => {\n fetchData();\n }, []);\n\n return {\n error,\n isLoaded,\n communities,\n };\n}\n","import React from 'react';\nimport { CircularProgress } from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport ErrorSnackbar from './ErrorSnackbar';\nimport FeaturedPost from './FeaturedPost';\nimport useCommunitiesFeatured from '../hooks/useCommunitiesFeatured';\n\nexport default function FeaturedCommunities() {\n const { error, isLoaded, communities } = useCommunitiesFeatured();\n\n return (\n <>\n \n Featured Communities\n \n\n \n\n \n {!isLoaded ? (\n \n \n \n ) : (\n communities.map(post => (\n \n \n \n ))\n )}\n \n \n );\n}\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Typography } from '@material-ui/core';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardActions from '@material-ui/core/CardActions';\nimport LocationOn from '@material-ui/icons/LocationOn';\nimport config from '../constants/config';\nimport SocialLinks from './SocialLinks';\nimport Tags from './Tags';\n\nconst useStyles = makeStyles(theme => ({\n card: {\n maxWidth: 345,\n textAlign: 'left',\n },\n cardTitle: {\n textAlign: 'center',\n },\n cardLocation: {\n height: 20,\n verticalAlign: 'middle',\n margin: theme.spacing(2, 0),\n },\n cardLocationIcon: {\n height: 20,\n verticalAlign: 'middle',\n },\n cardViewProfile: {\n marginLeft: 'auto',\n },\n container: {\n float: 'left',\n width: '100%',\n },\n}));\n\nexport default function CommunityCard({ post, ...rest }) {\n const classes = useStyles();\n const altImage = `${process.env.PUBLIC_URL}/images/placeholder.png`;\n\n return (\n \n \n {\n e.target.onerror = null;\n e.target.src = altImage;\n }}\n />\n \n \n {post.name}\n \n \n \n {post.location}\n \n \n {post.description}\n \n
\n \n
\n
\n \n
\n
\n
\n \n
\n );\n}\n\nCommunityCard.defaultProps = {\n post: null,\n};\n\nCommunityCard.propTypes = {\n post: PropTypes.shape({\n name: PropTypes.string,\n slug: PropTypes.string,\n location: PropTypes.string,\n description: PropTypes.string,\n path: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.string),\n socialPlatforms: PropTypes.arrayOf(\n PropTypes.shape({ name: PropTypes.string, url: PropTypes.string }),\n ),\n }),\n};\n","import { CircularProgress } from '@material-ui/core';\nimport { Helmet } from 'react-helmet-async';\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport Disqus from 'disqus-react';\nimport React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport BreadCrumbs from '../components/BreadCrumbs';\nimport CommunityDetailTabs from '../components/CommunityDetailTabs';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FeaturedCommunities from '../components/FeaturedCommunities';\nimport FindABanner from '../components/FindABanner';\nimport config from '../constants/config';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\nimport CommunityCard from '../components/CommunityCard';\n\nexport default function CommunityDetail() {\n const { slug } = useParams();\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [community, setCommunity] = useState(null);\n const disqusShortname = config.disqusShortName;\n const disqusConfig = {\n url: config.url,\n identifier: slug,\n title: slug,\n };\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(`${endpoints.communities}/${slug}`);\n const result = await response.json();\n if (response.ok) {\n setCommunity(result);\n } else {\n throw new Error(result);\n }\n } catch (e) {\n setCommunity({\n id: '00000000-0000-0000-0000-000000000000',\n name: 'Not Found',\n socialPlatforms: [],\n tags: [],\n });\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, [slug]);\n\n return (\n <>\n \n SpeakerMeet | Communities\n \n\n \n\n \n {!isLoaded ? (\n \n ) : (\n <>\n \n SpeakerMeet | {community.name}\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n Comments\n \n\n \n \n\n \n \n )}\n \n\n \n \n );\n}\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport TabContext from '@material-ui/lab/TabContext';\nimport TabPanel from '@material-ui/lab/TabPanel';\n\nconst useStyles = makeStyles({\n root: {\n flexGrow: 1,\n minHeight: 500,\n },\n});\n\nexport default function ConferenceDetailTabs() {\n const classes = useStyles();\n const [value, setValue] = React.useState('0');\n\n const handleChange = (event, newValue) => {\n setValue(newValue);\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n Item One\n Item Two\n Item Three\n Item Four\n \n \n \n );\n}\n","import { useEffect, useState } from 'react';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nexport default function useConferencesFeatured() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [conferences, setConferences] = useState([]);\n\n const fetchData = async () => {\n try {\n const response = await fetch(endpoints.conferencesFeatured);\n const data = await response.json();\n if (response.ok) {\n const result = data.map(x => ({\n ...x,\n path: `${routes.conferences.path}/${x.slug}`,\n }));\n setConferences(result);\n } else {\n throw new Error(data);\n }\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n\n useEffect(() => {\n fetchData();\n }, []);\n\n return {\n error,\n isLoaded,\n conferences,\n };\n}\n","import React from 'react';\nimport { CircularProgress } from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport ErrorSnackbar from './ErrorSnackbar';\nimport FeaturedPost from './FeaturedPost';\nimport useConferencesFeatured from '../hooks/useConferencesFeatured';\n\nexport default function FeaturedConferences() {\n const { error, isLoaded, conferences } = useConferencesFeatured();\n\n return (\n <>\n \n Featured Conferences\n \n\n \n\n \n {!isLoaded ? (\n \n \n \n ) : (\n conferences.map(post => (\n \n \n \n ))\n )}\n \n \n );\n}\n","import React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Typography } from '@material-ui/core';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardActions from '@material-ui/core/CardActions';\nimport LocationOn from '@material-ui/icons/LocationOn';\nimport config from '../constants/config';\nimport SocialLinks from './SocialLinks';\nimport Tags from './Tags';\n\nconst useStyles = makeStyles(theme => ({\n card: {\n maxWidth: 345,\n textAlign: 'left',\n },\n cardTitle: {\n textAlign: 'center',\n },\n cardLocation: {\n height: 20,\n verticalAlign: 'middle',\n margin: theme.spacing(2, 0),\n },\n cardLocationIcon: {\n height: 20,\n verticalAlign: 'middle',\n },\n cardViewProfile: {\n marginLeft: 'auto',\n },\n container: {\n float: 'left',\n width: '100%',\n },\n}));\n\nexport default function ConferenceCard({ post, ...rest }) {\n const classes = useStyles();\n const altImage = `${process.env.PUBLIC_URL}/images/placeholder.png`;\n\n return (\n \n \n {\n e.target.onerror = null;\n e.target.src = altImage;\n }}\n />\n \n \n {post.name}\n \n \n \n {post.location}\n \n \n {post.description}\n \n
\n \n
\n
\n \n
\n
\n
\n \n
\n );\n}\n\nConferenceCard.defaultProps = {\n post: null,\n};\n\nConferenceCard.propTypes = {\n post: PropTypes.shape({\n name: PropTypes.string,\n slug: PropTypes.string,\n location: PropTypes.string,\n description: PropTypes.string,\n path: PropTypes.string,\n tags: PropTypes.arrayOf(PropTypes.string),\n socialPlatforms: PropTypes.arrayOf(\n PropTypes.shape({ name: PropTypes.string, url: PropTypes.string }),\n ),\n }),\n};\n","import { CircularProgress } from '@material-ui/core';\nimport { Helmet } from 'react-helmet-async';\nimport Container from '@material-ui/core/Container';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport Disqus from 'disqus-react';\nimport React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport BreadCrumbs from '../components/BreadCrumbs';\nimport ConferenceDetailTabs from '../components/ConferenceDetailTabs';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FeaturedConferences from '../components/FeaturedConferences';\nimport FindABanner from '../components/FindABanner';\nimport config from '../constants/config';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\nimport ConferenceCard from '../components/ConferenceCard';\n\nexport default function ConferenceDetail() {\n const { slug } = useParams();\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [conference, setConference] = useState(null);\n const disqusShortname = config.disqusShortName;\n const disqusConfig = {\n url: config.url,\n identifier: slug,\n title: slug,\n };\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(`${endpoints.conferences}/${slug}`);\n const result = await response.json();\n if (response.ok) {\n setConference(result);\n } else {\n throw new Error(result);\n }\n } catch (e) {\n setConference({\n id: '00000000-0000-0000-0000-000000000000',\n name: 'Not Found',\n socialPlatforms: [],\n tags: [],\n });\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, [slug]);\n\n return (\n <>\n \n SpeakerMeet | Conferences\n \n\n \n\n \n {!isLoaded ? (\n \n ) : (\n <>\n \n SpeakerMeet | {conference.name}\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n Comments\n \n\n \n \n\n \n \n )}\n \n\n \n \n );\n}\n","import { CircularProgress } from '@material-ui/core';\nimport { Helmet } from 'react-helmet-async';\nimport Container from '@material-ui/core/Container';\nimport React, { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport ErrorSnackbar from '../components/ErrorSnackbar';\nimport FindABanner from '../components/FindABanner';\nimport ResultList from '../components/ResultList';\nimport endpoints from '../constants/endpoints';\nimport routes from '../constants/routes';\nimport { trackException } from '../services/telemetry.service';\n\nfunction useQuery() {\n return new URLSearchParams(useLocation().search);\n}\n\nexport default function Search() {\n const [error, setError] = useState(null);\n const [isLoaded, setLoaded] = useState(false);\n const [results, setResults] = useState([]);\n const query = useQuery();\n const terms = query.get('terms');\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const response = await fetch(`${endpoints.search}?terms=${terms}`);\n const json = await response.json();\n const result = json.results.map(x => ({\n ...x.document,\n score: x.score,\n path: `${\n // eslint-disable-next-line no-nested-ternary\n x.document.type === 'Speaker'\n ? routes.speakers.path\n : x.document.type === 'Conference'\n ? routes.conferences.path\n : routes.communities.path\n }/${x.document.slug}`,\n }));\n setResults(result);\n } catch (e) {\n setError(e);\n trackException(e);\n }\n setLoaded(true);\n };\n fetchData();\n }, [terms]);\n\n return (\n <>\n \n SpeakerMeet | Search Results\n \n\n \n\n \n {!isLoaded ? : }\n \n\n \n \n );\n}\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport Home from '../pages/Home';\nimport routes from '../constants/routes';\nimport Speakers from '../pages/Speakers';\nimport Communities from '../pages/Communities';\nimport Conferences from '../pages/Conferences';\nimport SpeakerDetail from '../pages/SpeakerDetail';\nimport Privacy from '../pages/Privacy';\nimport Terms from '../pages/Terms';\nimport CommunityDetail from '../pages/CommunityDetail';\nimport ConferenceDetail from '../pages/ConferenceDetail';\nimport Search from '../pages/Search';\n\nfunction Router() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n {/* Render component given un-found route */}\n \n \n );\n}\n\nexport default Router;\n","import { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nexport default function ScrollToTop() {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n}\r\n","import React from 'react';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport Container from '@material-ui/core/Container';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport Router from './components/Router';\nimport routes from './constants/routes';\nimport ScrollToTop from './components/ScrollToTop';\n\nconst useStyles = makeStyles(theme => ({\n offset: theme.mixins.toolbar,\n container: {\n padding: 0,\n },\n}));\n\nconst sections = [\n { title: routes.root.name, url: routes.root.path },\n { title: routes.speakers.name, url: routes.speakers.path },\n { title: routes.communities.name, url: routes.communities.path },\n { title: routes.conferences.name, url: routes.conferences.path },\n];\n\nexport default function Main() {\n const classes = useStyles();\n\n return (\n <>\n \n \n \n
\n
\n
\n \n
\n \n