{"version":3,"sources":["modules/contexts/SearchContext.js","modules/views/AppMenuBar.js","modules/views/AppTab.js","modules/views/FeatureItem.js","modules/views/FeatureGrid.js","modules/views/ReleaseItem.js","modules/views/ReleaseGrid.js","modules/views/PreviewItem.js","modules/views/VisionGrid.js","modules/views/WelcomeTutorialModal.js","modules/views/VideoModal.js","modules/theme.js","App.js","Embed.js","serviceWorker.js","index.js"],"names":["SearchContext","createContext","SearchProvider","props","state","searchFilter","categoryFilter","dataURL","featureView","features","welcomeModalVisible","videoModalVisible","videoURL","loading","setSearchFilter","value","setState","getFeatures","setCategoryFilter","switchSingleCategoryFilter","currentFilter","indexOf","splice","push","setDataURL","setFeatureView","AsyncStorage","setItem","e","console","log","checkCategoryInFilter","includes","setWelcomeModalVisible","setVideoModalVisible","url","getItem","then","b","search_filter","category_filter","fetch","method","body","JSON","stringify","headers","response","window","location","href","get","json","Error","data","posts","sort","sortFeatures","catch","error","message","a","eta","Date","Provider","this","children","React","Component","useStyles","makeStyles","theme","container","display","logo","padding","spacing","width","height","title","marginTop","breakpoints","up","search","position","marginLeft","searchIcon","pointerEvents","alignItems","justifyContent","inputRoot","color","inputInput","transition","transitions","create","feedback","margin","paddingTop","feedbackText","help","flexGrow","AppMenuBar","classes","useState","anchorEl","setAnchorEl","handleClick","currentTarget","handleClose","className","root","AppBar","Toolbar","src","alt","Typography","variant","noWrap","Consumer","context","IconButton","onClick","minLength","debounceTimeout","element","InputBase","placeholder","input","inputProps","onChange","target","Button","aria-controls","aria-haspopup","Icon","Menu","id","elevation","open","Boolean","onClose","MenuItem","Checkbox","checked","Box","xs","md","m","AppTab","pathname","split","slice","join","Tabs","event","newValue","indicatorColor","textColor","scrollButtons","Tab","label","icon","component","Link","to","withRouter","FeatureItem","Grid","item","lg","sm","Card","CardActionArea","feature","CardMedia","image","imageURLs","CardContent","gutterBottom","paragraph","Badge","badgeContent","score","details","CardActions","size","Chip","board","name","FeatureGrid","handleViewChange","bind","direction","CircularProgress","needsGovernanceModule","tags","gridBody","FeatureGridList","FeatureGridItems","ToggleButtonGroup","exclusive","ToggleButton","aria-label","featureList","reduce","result","currentValue","Object","keys","map","key","length","Divider","class","DomainGridList","Paper","dense","disablePadding","ListItem","Avatar","Tooltip","contextType","ReleaseItem","videoClick","dataUrl","majorFeatures","inPreview","tag","Container","format","release","releaseDate","webinarDate","videoUrlWebinar","fontSize","parse","valueOf","webinarSubscribeUrl","ReleaseInformation","preview","setValue","urlCH","markdown","setMarkdown","setRelease","useEffect","DomainList","ReleaseDetails","undefined","videoUrlProv","videoUrlSA","videoUrlAM","markdownDetails","ReleaseGrid","releases","selectedRelease","drawerOpen","handleChange","toggleDrawer","history","embed","r","match","params","releaseName","Drawer","anchor","orientation","v","PreviewItem","VisionGrid","visionList","milestoneModalVisible","relatedRequests","selectedMilestone","milestoneLoading","dialogClose","dialogOpen","milestone","urlMilestone","list","list_name","Timeline","align","cards","card","TimelineItem","TimelineSeparator","TimelineDot","hasOwnProperty","labels","some","el","TimelineConnector","TimelineContent","desc","Dialog","fullWidth","maxWidth","aria-labelledby","DialogContent","dividers","FeatureList","DialogActions","compareStates","status","scoreA","scoreB","dateScoreA","getTime","dateScoreB","WelcomeTutorialModal","ListItemText","VideoModal","frameBorder","allow","allowFullScreen","rawTheme","createMuiTheme","palette","main","primary","light","dark","secondary","warning","xLight","success","background","default","common","white","App","ThemeProvider","exact","path","Embed","hostname","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.1ecf5dda.chunk.js","sourcesContent":["import React, { createContext } from 'react';\r\nimport AsyncStorage from '@react-native-community/async-storage';\r\n\r\nconst SearchContext = createContext({});\r\n\r\nclass SearchProvider extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n let featureView = \"list\"\r\n this.state = {\r\n searchFilter:'',\r\n categoryFilter:[\"General\",\"Access Management\", \"Service Automation\", \"Provisioning\"],\r\n dataURL:'',\r\n featureView: featureView,\r\n features:[],\r\n welcomeModalVisible:true,\r\n videoModalVisible:false,\r\n videoURL:'',\r\n loading: false,\r\n setSearchFilter: (value) => {\r\n this.setState({searchFilter:value})\r\n this.getFeatures(this.state.dataURL, value, this.state.categoryFilter)\r\n },\r\n setCategoryFilter: (value) => {\r\n this.setState({categoryFilter:value})\r\n this.getFeatures(this.state.dataURL, this.state.searchFilter, value)\r\n },\r\n switchSingleCategoryFilter: (value) => {\r\n let currentFilter = this.state.categoryFilter\r\n if (currentFilter.indexOf(value) > -1){\r\n currentFilter.splice(currentFilter.indexOf(value),1)\r\n }else{\r\n currentFilter.push(value)\r\n }\r\n this.state.setCategoryFilter(currentFilter)\r\n },\r\n setDataURL: (value) => {\r\n this.setState({loading:true})\r\n this.setState({dataURL:value})\r\n this.getFeatures(value, this.state.searchFilter, this.state.categoryFilter)\r\n },\r\n setFeatureView: (value) => {\r\n this.setState({featureView:value})\r\n try {\r\n AsyncStorage.setItem('FEATURE_VIEW', value)\r\n } catch (e) {\r\n console.log(\"Error storing feature view value in localStorage\")\r\n }\r\n },\r\n checkCategoryInFilter: (value) => {\r\n return this.state.categoryFilter.includes(value)\r\n },\r\n setWelcomeModalVisible: (value) => {\r\n this.setState({welcomeModalVisible:value})\r\n },\r\n setVideoModalVisible: (value, url) => {\r\n this.setState({videoModalVisible:value})\r\n this.setState({videoURL:url})\r\n }\r\n }\r\n\r\n AsyncStorage.getItem('FEATURE_VIEW').then((value) => {\r\n if(value !== null) {\r\n this.state.setFeatureView(value)\r\n }\r\n });\r\n }\r\n\r\n getFeatures(dataURL, searchFilter, categoryFilter){\r\n let b = {search_filter: searchFilter,category_filter: categoryFilter}\r\n fetch(\"/api\" + dataURL,{\r\n method: \"post\",\r\n body: JSON.stringify(b),\r\n headers : { \r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Expose-Headers': 'Referer'\r\n }\r\n })\r\n .then(response => {\r\n if(window.location.href === response.headers.get(\"Referer\")){\r\n return response.json()\r\n }else{\r\n throw new Error('referer and location mismatch');\r\n }\r\n \r\n })\r\n .then(data => {\r\n this.setState({features: data.posts.sort(this.sortFeatures)})\r\n this.setState({loading:false})\r\n })\r\n .catch((error) => {\r\n if(error.message !== 'referer and location mismatch'){\r\n console.log(error)\r\n }\r\n\r\n });\r\n }\r\n\r\n sortFeatures(a,b) {\r\n if (a.eta === ''){\r\n return new Date(\"1 December 2099\") - new Date(\"1 \"+ b.eta)\r\n }\r\n if (b.eta === ''){\r\n return new Date(\"1 \"+ a.eta) - new Date(\"1 December 2099\") \r\n }\r\n return new Date(\"1 \"+ a.eta) - new Date(\"1 \"+ b.eta) \r\n }\r\n\r\n\r\n\r\n render() {\r\n return ({this.props.children})\r\n }\r\n};\r\n\r\nexport { SearchContext, SearchProvider };","import React, { Fragment } from 'react';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport InputBase from '@material-ui/core/InputBase';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\nimport {DebounceInput} from 'react-debounce-input';\r\nimport { Button, Box, Icon,IconButton, Menu, MenuItem } from '@material-ui/core';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\n\r\n\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n container:{\r\n display:'flex',\r\n },\r\n logo: {\r\n padding: theme.spacing(2),\r\n width: '36px',\r\n height: '36px',\r\n },\r\n title: {\r\n display: 'none',\r\n marginTop:'0',\r\n [theme.breakpoints.up('sm')]: {\r\n display: 'block',\r\n marginTop:'16px',\r\n },\r\n },\r\n search: {\r\n position: 'relative',\r\n marginLeft: 0,\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(1),\r\n width: 'auto',\r\n },\r\n },\r\n searchIcon: {\r\n width: theme.spacing(7),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n inputRoot: {\r\n color: 'inherit',\r\n marginTop: theme.spacing(2),\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 7),\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('sm')]: {\r\n width: 120,\r\n '&:focus': {\r\n width: 200,\r\n },\r\n },\r\n },\r\n feedback: {\r\n margin:0,\r\n paddingTop:\"15px\",\r\n marginLeft:\"10px\"\r\n },\r\n feedbackText: {\r\n margin:0,\r\n marginLeft:\"5px\",\r\n },\r\n help: {\r\n margin:0,\r\n flexGrow:\"1\",\r\n paddingTop:\"3px\"\r\n },\r\n}));\r\n\r\nexport default function AppMenuBar() {\r\n const classes = useStyles();\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const handleClick = e => {\r\n setAnchorEl(e.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \"logo\"/\r\n \r\n HelloID Roadmap\r\n \r\n \r\n {context => \r\n \r\n
\r\n context.state.setWelcomeModalVisible(true)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n context.state.setSearchFilter(e.target.value)}\r\n /> \r\n
\r\n
\r\n \r\n \r\n context.state.switchSingleCategoryFilter(\"General\")}>General \r\n context.state.switchSingleCategoryFilter(\"Access Management\")}>Access Management\r\n context.state.switchSingleCategoryFilter(\"Service Automation\")}>Service Automation\r\n context.state.switchSingleCategoryFilter(\"Provisioning\")}>Provisioning\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n","import React from 'react';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport Icon from '@material-ui/core/Icon';\r\nimport {Link} from 'react-router-dom';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\n\r\nclass AppTab extends React.Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n value: this.props.location.pathname === \"/\" ? \"/planned\": this.props.location.pathname.split('/').slice(0, 2).join('/'),\r\n }\r\n }\r\n\r\n render(){\r\n const handleChange = (event, newValue) => {\r\n this.setState({value: newValue});\r\n };\r\n\r\n return (\r\n \r\n feedback} value=\"/under-consideration\" component={Link} to=\"/under-consideration\"/>\r\n timelapse} value=\"/milestones\" component={Link} to=\"/milestones\"/>\r\n schedule} value=\"/planned\" component={Link} to=\"/planned\"/>\r\n open_in_browser} value=\"/preview\" component={Link} to=\"/preview\"/>\r\n launch} value=\"/launched\" component={Link} to=\"/launched\"/>\r\n\r\n \r\n );\r\n }\r\n \r\n}\r\n\r\nexport default withRouter(AppTab)\r\n","import React, {Component} from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardActionArea from '@material-ui/core/CardActionArea';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport CardMedia from '@material-ui/core/CardMedia';\r\nimport Button from '@material-ui/core/Button';\r\nimport Chip from '@material-ui/core/Chip';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport './FeatureGrid.css';\r\nimport { Icon, Badge } from '@material-ui/core';\r\n\r\nclass FeatureItem extends Component {\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {this.props.feature.title}\r\n \r\n \r\n
\r\n
\r\n schedule\r\n \r\n {this.props.feature.eta === '' ? \"No estimate\": \"Estimate: \" + this.props.feature.eta}\r\n \r\n \r\n person\r\n
\r\n \r\n {this.props.feature.details}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default FeatureItem","import React, {Component} from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport FeatureItem from './FeatureItem';\r\nimport './FeatureGrid.css';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\nimport ViewListIcon from '@material-ui/icons/ViewList';\r\nimport ListIcon from '@material-ui/icons/List';\r\nimport ToggleButton from '@material-ui/lab/ToggleButton';\r\nimport ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';\r\nimport { List, ListItem, Typography, Divider, Link, Paper } from '@material-ui/core';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport AccountBalanceIcon from '@material-ui/icons/AccountBalance';\r\n\r\n\r\n\r\nclass FeatureGrid extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.handleViewChange = this.handleViewChange.bind(this);\r\n }\r\n \r\n componentDidMount(){\r\n this.context.state.setDataURL(this.props.dataURL)\r\n }\r\n\r\n handleViewChange(event, value){\r\n this.context.state.setFeatureView(value)\r\n }\r\n\r\n render() {\r\n if(this.context.state.loading){\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n if(this.context.state.features){\r\n for(let feature of this.context.state.features){\r\n feature.needsGovernanceModule = false;\r\n if(feature.tags){\r\n for(let tag of feature.tags){\r\n if(tag.name === \"Governance module\"){\r\n feature.needsGovernanceModule = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n let gridBody\r\n if(this.context.state.featureView === 'list'){\r\n gridBody = \r\n }else{\r\n gridBody = \r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {gridBody}\r\n \r\n );\r\n }\r\n}\r\n\r\nfunction FeatureGridItems(props){\r\n let key = 'eta'\r\n let featureList = props.features.reduce((result, currentValue) => {\r\n (result[currentValue[key]] = result[currentValue[key]] || []).push(currentValue) \r\n return result\r\n },{})\r\n return (\r\n {Object.keys(featureList).map(key =>\r\n \r\n \r\n {key.length>0? key:\"No estimate\"}\r\n \r\n \r\n \r\n {featureList[key].map(feature=>\r\n \r\n )}\r\n \r\n \r\n )}\r\n )\r\n}\r\n\r\nfunction FeatureGridList(props){\r\n let key = 'eta'\r\n let featureList = props.features.reduce((result, currentValue) => {\r\n (result[currentValue[key]] = result[currentValue[key]] || []).push(currentValue) \r\n return result\r\n },{})\r\n\r\n return (\r\n {Object.keys(featureList).map(key =>\r\n \r\n \r\n \r\n {key.length>0? key:\"No estimate\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n )\r\n}\r\n\r\nfunction DomainGridList(props){\r\n let featureList = props.features.reduce((result, currentValue) => {\r\n (result[currentValue['board']['name']] = result[currentValue['board']['name']] || []).push(currentValue) \r\n return result\r\n },{})\r\n\r\n return (\r\n \r\n \r\n {Object.keys(featureList).sort().map(key =>\r\n \r\n \r\n {key.length>0? key:\"General\"}\r\n \r\n \r\n \r\n {featureList[key].map(feature=>\r\n \r\n \r\n {feature.needsGovernanceModule ? : \"\"}\r\n {feature.title}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nFeatureGrid.contextType = SearchContext\r\n\r\nexport default FeatureGrid","import React, {Component, useEffect} from 'react';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\nimport {Typography, Grid, Container, Paper, Button, List, ListItem, Link, Avatar, Box, Chip, Tabs, Tab, Divider} from '@material-ui/core';\r\nimport Moment from 'react-moment';\r\nimport ReactMarkdown from 'react-markdown'\r\nimport PlayCircleFilledRoundedIcon from '@material-ui/icons/PlayCircleFilledRounded';\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport AccountBalanceIcon from '@material-ui/icons/AccountBalance';\r\n\r\n\r\n\r\nclass ReleaseItem extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n \r\n this.videoClick = this.videoClick.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n this.context.state.setDataURL(this.props.dataUrl)\r\n }\r\n\r\n videoClick(url){\r\n if(url !== ''){\r\n this.context.state.setVideoModalVisible(true, url);\r\n }\r\n }\r\n\r\n render() {\r\n let majorFeatures=[]\r\n\r\n if(this.context.state.features){\r\n for(let feature of this.context.state.features){\r\n feature.inPreview = false;\r\n feature.needsGovernanceModule = false;\r\n if(feature.tags){\r\n for(let tag of feature.tags){\r\n if(tag.name === \"MajorChange\"){\r\n majorFeatures.push(feature)\r\n }\r\n if(tag.name === \"Preview\"){\r\n feature.inPreview = true;\r\n }\r\n if(tag.name === \"Governance module\"){\r\n feature.needsGovernanceModule = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n General\r\n \r\n \r\n \r\n \r\n \r\n \r\n General information\r\n \r\n \r\n Release date\r\n {this.props.release.releaseDate}\r\n \r\n \r\n Webinar date\r\n {this.props.release.webinarDate}\r\n \r\n \r\n Major Changes\r\n {majorFeatures &&\r\n \r\n {majorFeatures.map(feature=>\r\n \r\n {feature.title}\r\n \r\n )}\r\n \r\n }\r\n \r\n {this.props.release.videoUrlWebinar !== '' &&\r\n \r\n \r\n \r\n this.videoClick(this.props.release.videoUrlWebinar)}>\r\n this.videoClick(this.props.release.videoUrlWebinar)}>Webinar video\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Release {this.props.release.name}\r\n \r\n {Date.parse(this.props.release.webinarDate) > (new Date().valueOf() - 86400000) && this.props.release.webinarSubscribeUrl &&\r\n \r\n \r\n \r\n \r\n Subscribe for the webinar\r\n \r\n \r\n \r\n We offer new functionalities within HelloID every month. Are you curious? Would you like to stay informed? Then follow our monthly webinar! The new functionalities will be explained and there will be time for you to ask questions.\r\n \r\n \r\n \r\n \r\n Germany@ 16.00 CET\r\n The Netherlands@ 16.00 CET\r\n France@ 16.00 CET\r\n United Kingdom @ 15.00 BST\r\n New York@ 10.00 AM EDT\r\n Seattle @ 07.00 AM PDT\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n }\r\n}\r\n\r\nfunction ReleaseInformation(props){\r\n const [value, setValue] = React.useState(\"Features\");\r\n const urlCH = \"/api/changelog/release/\" + props.release.name\r\n const [markdown, setMarkdown] = React.useState({});\r\n const [release, setRelease] = React.useState(\"latest\");\r\n\r\n const handleChange = (event, newValue) => {\r\n setValue(newValue);\r\n };\r\n\r\n function fetchData(){\r\n fetch(urlCH,{\r\n method: \"post\",\r\n headers : { \r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n setMarkdown(data)\r\n setRelease(props.release.name)\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (props.release.name !== release) {\r\n fetchData();\r\n }\r\n \r\n })\r\n if(props.context.state.loading){\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n {value === \"Features\" ? \r\n \r\n : \r\n \r\n }\r\n \r\n )\r\n}\r\n\r\n\r\nfunction DomainList(props){\r\n\r\n let featureList = undefined\r\n if(props.features){\r\n featureList = props.features.reduce((result, currentValue) => {\r\n (result[currentValue['board']['name']] = result[currentValue['board']['name']] || []).push(currentValue) \r\n return result\r\n },{})\r\n }\r\n\r\n function videoClick(url){\r\n if(url !== ''){\r\n props.context.state.setVideoModalVisible(true, url);\r\n }\r\n }\r\n return (\r\n \r\n {featureList && featureList[\"Provisioning\"] &&\r\n \r\n \r\n \r\n Provisioning\r\n \r\n {props.release.videoUrlProv !== '' &&\r\n videoClick(props.release.videoUrlProv)}>\r\n \r\n
\r\n \"Provisioning\r\n
\r\n

Play release video

\r\n

This video shows all the new Provisioning features available in the {props.release.name} release

\r\n
\r\n
\r\n
\r\n \r\n }\r\n \r\n \r\n {featureList[\"Provisioning\"].map(feature=>\r\n \r\n \r\n \r\n {feature.needsGovernanceModule ? : \"\"}\r\n {feature.title}\r\n {props.preview ? feature.inPreview ? : \"\" : \"\"}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n }\r\n \r\n {featureList && featureList[\"Service Automation\"] &&\r\n \r\n \r\n \r\n Service Automation\r\n \r\n {props.release.videoUrlSA !== '' &&\r\n videoClick(props.release.videoUrlSA)}>\r\n \r\n
\r\n \"Service\r\n
\r\n

Play release video

\r\n

This video shows all the new Service Automation features available in the {props.release.name} release

\r\n
\r\n
\r\n
\r\n \r\n }\r\n \r\n \r\n {featureList[\"Service Automation\"].map(feature=>\r\n \r\n \r\n \r\n {feature.needsGovernanceModule ? : \"\"}\r\n {feature.title}\r\n {props.preview ? feature.inPreview ? : \"\" : \"\"}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n }\r\n {featureList && featureList[\"Access Management\"] &&\r\n \r\n \r\n \r\n Access Management\r\n \r\n {props.release.videoUrlAM !== '' &&\r\n videoClick(props.release.videoUrlAM)}>\r\n \r\n
\r\n \"Access\r\n
\r\n

Play release video

\r\n

This video shows all the new Access Management features available in the {props.release.name} release

\r\n
\r\n
\r\n
\r\n \r\n }\r\n \r\n \r\n {featureList[\"Access Management\"].map(feature=>\r\n \r\n \r\n \r\n {feature.needsGovernanceModule ? : \"\"}\r\n {feature.title}\r\n {props.preview ? feature.inPreview ? : \"\" : \"\"}\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n }\r\n\r\n
\r\n )\r\n}\r\n\r\nfunction ReleaseDetails(props){\r\n return(\r\n \r\n \r\n {props.markdown.markdownDetails}\r\n \r\n \r\n )\r\n\r\n}\r\n\r\nReleaseItem.contextType = SearchContext\r\n\r\nexport default ReleaseItem","import React, {Component} from 'react';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tabs from '@material-ui/core/Tabs';\r\nimport Tab from '@material-ui/core/Tab';\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport Button from '@material-ui/core/Button';\r\nimport { withRouter } from 'react-router-dom';\r\nimport ReleaseItem from './ReleaseItem';\r\nimport './ReleaseGrid.css';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\nimport Drawer from '@material-ui/core/Drawer';\r\n\r\n\r\nclass ReleaseGrid extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n releases:[],\r\n selectedRelease:undefined,\r\n drawerOpen: false,\r\n loading: true\r\n }\r\n\r\n this.handleChange = this.handleChange.bind(this);\r\n this.toggleDrawer = this.toggleDrawer.bind(this);\r\n }\r\n\r\n handleChange(e, value) {\r\n for(let release of this.state.releases){\r\n if(release.name === value){\r\n this.setState({selectedRelease: release});\r\n }\r\n }\r\n this.props.history.push(this.props.embed?'/embed/launched/'+ value:'/launched/' + value)\r\n this.context.state.setDataURL(\"/posts/released/\" + value)\r\n }\r\n\r\n toggleDrawer(open) {\r\n if (open !== undefined){\r\n this.setState({drawerOpen:open})\r\n }\r\n }\r\n\r\n componentDidMount(){\r\n this.setState({loading:true})\r\n fetch(\"/api/releases\",{\r\n headers : { \r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Expose-Headers': 'Referer'\r\n }})\r\n .then(response => {\r\n if(window.location.href === response.headers.get(\"Referer\")){\r\n return response.json()\r\n }else{\r\n throw new Error('referer and location mismatch');\r\n }\r\n \r\n })\r\n .then(data => {\r\n this.setState({releases: data.releases})\r\n let release = undefined\r\n for(let r of this.state.releases){\r\n if(r.name === this.props.match.params.releaseName){\r\n release = r\r\n }\r\n }\r\n if(!release){release = this.state.releases[0]}\r\n this.setState({selectedRelease: release})\r\n this.setState({loading: false})\r\n this.context.state.setDataURL(\"/posts/released/\" + release.name)\r\n });\r\n }\r\n\r\n render() {\r\n if(this.state.loading){return (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n if(!this.state.selectedRelease){return null}\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {this.toggleDrawer(false)}}>\r\n \r\n Releases\r\n \r\n {this.handleChange(e,v);this.toggleDrawer(false);}} indicatorColor=\"primary\">\r\n {this.state.releases.map((release)=> \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nReleaseGrid.contextType = SearchContext\r\n\r\nexport default withRouter(ReleaseGrid)","import React, {Component} from 'react';\r\nimport ReleaseItem from './ReleaseItem';\r\n\r\n\r\n\r\nclass PreviewItem extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n selectedRelease:undefined\r\n }\r\n }\r\n\r\n componentDidMount(){\r\n fetch(\"/api/releases/preview\",{\r\n headers : { \r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Expose-Headers': 'Referer'\r\n }})\r\n .then(response => {\r\n if(window.location.href === response.headers.get(\"Referer\")){\r\n return response.json()\r\n }else{\r\n throw new Error('referer and location mismatch');\r\n }\r\n \r\n })\r\n .then(data => {\r\n this.setState({selectedRelease: data});\r\n });\r\n }\r\n\r\n render() {\r\n if(!this.state.selectedRelease){return null}\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nexport default PreviewItem","import React, {Component} from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport './VisionGrid.css';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\nimport Timeline from '@material-ui/lab/Timeline';\r\nimport TimelineItem from '@material-ui/lab/TimelineItem';\r\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\r\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\r\nimport TimelineContent from '@material-ui/lab/TimelineContent';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport Chip from '@material-ui/core/Chip';\r\nimport {CardContent, Tooltip } from '@material-ui/core';\r\nimport CircularProgress from '@material-ui/core/CircularProgress'\r\nimport ListItem from '@material-ui/core/ListItem'\r\nimport DialogContent from '@material-ui/core/DialogContent'\r\nimport DialogActions from '@material-ui/core/DialogActions'\r\nimport Button from '@material-ui/core/Button'\r\nimport Link from '@material-ui/core/Link'\r\nimport Avatar from '@material-ui/core/Avatar'\r\nimport TimelineDot from '@material-ui/lab/TimelineDot'\r\nimport Card from '@material-ui/core/Card'\r\nimport CardActions from '@material-ui/core/CardActions'\r\nimport Icon from '@material-ui/core/Icon'\r\nimport Badge from '@material-ui/core/Badge'\r\nimport AccountBalanceIcon from '@material-ui/icons/AccountBalance';\r\n\r\n\r\n\r\nclass VisionGrid extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = { \r\n visionList:[],\r\n loading: true,\r\n milestoneModalVisible:false,\r\n relatedRequests:[],\r\n selectedMilestone:\"\",\r\n milestoneLoading:false,\r\n }\r\n\r\n this.dialogClose = this.dialogClose.bind(this);\r\n this.dialogOpen = this.dialogOpen.bind(this);\r\n }\r\n\r\n \r\n \r\n componentDidMount(){\r\n this.setState({loading:true})\r\n const urlVision = \"/api/vision\"\r\n fetch(urlVision,{\r\n method: \"post\",\r\n headers : { \r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n this.setState({visionList:data})\r\n this.setState({loading: false})\r\n });\r\n\r\n \r\n }\r\n\r\n dialogClose (event) {\r\n this.setState({milestoneModalVisible:false})\r\n }\r\n\r\n dialogOpen (milestone){\r\n this.setState({milestoneLoading:true})\r\n this.setState({selectedMilestone: milestone})\r\n this.setState({milestoneModalVisible:true})\r\n\r\n const urlMilestone = \"/api/posts/milestone/\" + milestone.name\r\n fetch(urlMilestone,{\r\n method: \"post\",\r\n headers : { \r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n let relatedRequests = data.posts\r\n if(relatedRequests == undefined){\r\n relatedRequests= []\r\n }\r\n this.setState({relatedRequests:relatedRequests})\r\n this.setState({milestoneLoading:false})\r\n });\r\n }\r\n\r\n\r\n render() {\r\n \r\n if(this.state.loading){\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {this.state.visionList.sort().map(list =>\r\n \r\n \r\n \r\n \r\n \r\n {list.list_name}\r\n \r\n \r\n \r\n {list.cards.map(card=>\r\n \r\n \r\n \r\n el.name === \"In progress\") ? \"default\" : \"outlined\": \"outlined\"} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {card.name}\r\n \r\n {card.desc}\r\n \r\n \r\n \r\n \r\n {card.hasOwnProperty(\"labels\")? card.labels.some(el => el.name === \"In progress\") ? : \"\" : \"\"}\r\n {card.hasOwnProperty(\"labels\")? card.labels.some(el => el.name === \"Governance Module\") ? } /> : \"\" : \"\"} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.selectedMilestone.name}\r\n \r\n \r\n {this.state.selectedMilestone.desc}\r\n \r\n\r\n \r\n Related requests\r\n \r\n \r\n The following feature requests pertain to the selected milestone, providing an overview of the issues to be addressed during implementation. Please note that this list is subject to change, and no conclusions are binding based on this preliminary information\r\n \r\n \r\n {this.state.milestoneLoading? :}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction FeatureList(props){\r\n if(props.relatedRequests){\r\n for(let feature of props.relatedRequests){\r\n feature.needsGovernanceModule = false;\r\n if(feature.tags){\r\n for(let tag of feature.tags){\r\n if(tag.name === \"Governance module\"){\r\n feature.needsGovernanceModule = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return(\r\n \r\n {props.relatedRequests.sort(compareStates).map(feature=>\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {feature.needsGovernanceModule ? : \"\"}\r\n
\r\n \r\n {feature.title}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n {feature.eta === '' ? 'No estimate' : feature.status === 'complete'? {\"Release: \" + feature.eta} : \"Estimate: \" + feature.eta}\r\n \r\n \r\n \r\n\r\n \r\n \r\n person\r\n \r\n \r\n \r\n {feature.details}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {!props.relatedRequests.length >0?At present, there are no assigned feature requests associated with this milestone.:\"\"} \r\n
\r\n )\r\n}\r\n\r\nfunction compareStates(a, b){\r\n let scoreA = (a.status === 'planned' || a.status === 'in progress')? 3 : a.status === 'complete'? 1 : 2\r\n let scoreB = (b.status === 'planned' || b.status === 'in progress')? 3 : b.status === 'complete'? 1 : 2\r\n\r\n let dateScoreA = new Date(\"1 \"+ a.eta).getTime();\r\n let dateScoreB = new Date(\"1 \"+ b.eta).getTime();\r\n if(scoreA < scoreB){\r\n return 1;\r\n }else if(scoreA > scoreB){\r\n return -1;\r\n }else if(dateScoreA < dateScoreB){\r\n return 1;\r\n }else if (dateScoreA > dateScoreB){\r\n return -1\r\n }else{\r\n return 0\r\n }\r\n}\r\n\r\n\r\n\r\nVisionGrid.contextType = SearchContext\r\n\r\nexport default VisionGrid","import React, {Component} from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport {Typography,Button,Grid,Icon,List, ListItemText,Box} from '@material-ui/core';\r\nimport AsyncStorage from '@react-native-community/async-storage';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\nimport './WelcomeTutorial.css';\r\n\r\nclass WelcomeTutorialModal extends Component {\r\n constructor(props) {\r\n super(props)\r\n\r\n this.dialogClose = this.dialogClose.bind(this);\r\n}\r\n\r\ncomponentDidMount(){\r\n AsyncStorage.getItem('VISITED_PAGE').then((value) => {\r\n if(value !== null) {\r\n this.context.state.setWelcomeModalVisible(false);\r\n }\r\n });\r\n}\r\n\r\ndialogClose(event){\r\n this.context.state.setWelcomeModalVisible(false);\r\n try {\r\n AsyncStorage.setItem('VISITED_PAGE', true)\r\n } catch (e) {\r\n console.log(\"Error storing visited value in localStorage\")\r\n }\r\n}\r\n\r\nrender(){\r\n return (\r\n \r\n \r\n \r\n Welcome\r\n \r\n \r\n Before you proceed, please read the information below.\r\n \r\n \r\n The HelloID roadmap contains new features, the ability to vote on these features and the release of these features on the last Sunday of every month.\r\n \r\n \r\n The HelloID roadmap exists out of 5 destinations:\r\n \r\n \r\n \r\n \r\n feedbackUnder consideration\r\n \r\n \r\n Interesting Feature\r\n Not confirmed to be implemented\r\n Discussed for implementation so effort is estimated\r\n Assinged release version is a estimate and can change\r\n \r\n \r\n \r\n \r\n timelapseMilestones\r\n \r\n \r\n Topic which exists of multiple features\r\n Priority by order, no dates\r\n Subject to change in the future\r\n Long term\r\n \r\n \r\n \r\n \r\n schedulePlanned\r\n \r\n \r\n Feature is planned and confirmed\r\n Feature has a release version\r\n Short term\r\n Could be a feature of a larger milestone\r\n \r\n \r\n \r\n \r\n open_in_browserPreview\r\n \r\n \r\n HelloID preview for a release is available two weeks before the release\r\n Feature is done and available in HelloID preview\r\n Feedback is really appreciated and will be updated directly if possible\r\n \r\n \r\n \r\n \r\n launchLaunch\r\n \r\n \r\n Feature is available in production\r\n Shows all the features for the last 6 months ordered by release\r\n \r\n \r\n \r\n \r\n \r\n Feedback\r\n \r\n \r\n We welcome your feedback & thoughts. Do you have anything to share please click on the \"Give Feedback\" button.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n}\r\nWelcomeTutorialModal.contextType = SearchContext\r\n\r\nexport default WelcomeTutorialModal","import React, {Component} from 'react';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport {Button} from '@material-ui/core';\r\nimport {SearchContext} from '../contexts/SearchContext';\r\n\r\nclass VideoModal extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.dialogClose = this.dialogClose.bind(this);\r\n}\r\n\r\ncomponentDidMount(){\r\n}\r\n\r\ndialogClose(event){\r\n this.context.state.setVideoModalVisible(false);\r\n}\r\n\r\nrender(){\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\n}\r\nVideoModal.contextType = SearchContext\r\n\r\nexport default VideoModal","import { createMuiTheme } from '@material-ui/core/styles';\r\n\r\n\r\nconst rawTheme = createMuiTheme({\r\n palette: {\r\n main:'rgba(37, 124, 225, 0.61)',\r\n primary: {\r\n light: 'rgba(37, 124, 225, 0.61)',\r\n main: 'rgba(37, 124, 225, 1)',\r\n dark: 'rgba(37, 114, 225, 1)',\r\n },\r\n secondary: {\r\n light: '#fff5f8',\r\n main: '#ff3366',\r\n dark: '#e62958',\r\n },\r\n warning: {\r\n main: '#ffc071',\r\n dark: '#ffb25e',\r\n },\r\n error: {\r\n xLight: '#ffebee',\r\n main: '#f44336',\r\n dark: '#d32f2f',\r\n },\r\n success: {\r\n main: '#e8f5e9',\r\n dark: '#388e3c',\r\n },\r\n }\r\n});\r\n\r\nconst theme = {\r\n ...rawTheme,\r\n palette: {\r\n ...rawTheme.palette,\r\n background: {\r\n ...rawTheme.palette.background,\r\n default: rawTheme.palette.common.white,\r\n placeholder: '#eeeeee',\r\n },\r\n }\r\n};\r\n\r\nexport default theme;","import React from 'react';\r\nimport AppMenuBar from './modules/views/AppMenuBar';\r\nimport AppTab from './modules/views/AppTab';\r\nimport {Route, BrowserRouter, Redirect} from 'react-router-dom';\r\nimport FeatureGrid from './modules/views/FeatureGrid';\r\nimport ReleaseGrid from './modules/views/ReleaseGrid';\r\nimport PreviewItem from './modules/views/PreviewItem';\r\nimport VisionGrid from './modules/views/VisionGrid';\r\nimport WelcomeTutorialModal from './modules/views/WelcomeTutorialModal';\r\nimport VideoModal from './modules/views/VideoModal';\r\nimport theme from './modules/theme';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\nimport { SearchProvider } from './modules/contexts/SearchContext';\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;","import React from 'react';\r\nimport {Route, BrowserRouter} from 'react-router-dom';\r\nimport FeatureGrid from './modules/views/FeatureGrid';\r\nimport ReleaseGrid from './modules/views/ReleaseGrid';\r\nimport PreviewItem from './modules/views/PreviewItem';\r\nimport theme from './modules/theme';\r\nimport { ThemeProvider } from '@material-ui/styles';\r\nimport { SearchProvider } from './modules/contexts/SearchContext';\r\n\r\nfunction Embed() {\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Embed;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport Embed from './Embed';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nif(window.location.href.indexOf(\"embed\") > -1){\r\n ReactDOM.render(, document.getElementById('root'));\r\n}else{\r\n ReactDOM.render(, document.getElementById('root'));\r\n}\r\n\r\n\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}