{"version":3,"sources":["components/WebRecorder/js/WebUtil.js","components/WebRecorder/index.js","components/NavMenu.js","components/Layout.js","components/Home.js","components/js/login.js","components/settingsOps/DialogContaincer.js","components/settingsOps/RoomsGrid.js","components/settingsOps/js/RoomsGridJs.js","components/settingsOps/cellWithEditing.js","components/Rooms.js","components/js/JRoom.js","components/JitsiMeetComponent.js","components/WaitingRoom.js","App.js","registerServiceWorker.js","index.js"],"names":["stopRecordingCallback","blob","url","window","URL","createObjectURL","WebRecorder","url_callback","props","start_recording","event","setState","disableStartBtn","disableStopBtn","showDownload","options","state","recorder","getSupoortedFormats","startRecording","e","stop_recording","stopRecording","showComponent","showExtDownload","undefined","srcUrl","showMsg","clicklink","bind","close_msg","RecordRTC_Extension","this","open","style","minWidth","Row","Col","Button","onClick","id","disabled","href","download","target","rel","className","Component","displayName","name","NavMenu","ui","cookie","load","utype","toggleNavbar","collapsed","room","probs","user_type","location","search","_room_id","qs","ignoreQueryPrefix","Navbar","dark","Container","NavbarToggler","Collapse","isOpen","navbar","NavItem","NavLink","tag","Link","to","Layout","width","height","children","Home","handle_visitor_login_click","t","parameters","room_guid","room_id","$","ajax","type","data","JSON","stringify","contentType","dataType","async","success","response","console","log","redirect_waiting","AlertMessage","AlertType","updateAlertMessage","error","a","loginutils","tomorrow","Date","setDate","getDate","toug","toog","tofl","vflname","domain","accvalid","save","path","expires","history","push","handle_login_click","userName","userPass","tuser","userGuid","userOrg","userFullname","meet_domain","org_valid","LoginAthenticateComplete","handle_login_enter","key","msg","toastId","toast","transition","Slide","closeButton","autoClose","position","vuser","remeberCheck","hide","remove","Card","CardHeader","src","alt","marginLeft","fontSize","CardBody","Form","FormGroup","Label","for","Input","placeholder","value","onChange","buttonText","cookieName","background","buttonStyle","color","DialogContaincer","onDialogInputChange","checked","edited","roomInEdit","roomNameBox","room_type","room_name","dataItem","preventDefault","onClose","cancel","onSubmit","handleSubmit","marginBottom","nroom_guid","room_password","room_allow_guests","React","RoomsGrid","cdata","slice","unshift","AddNewItem","index","findIndex","p","splice","item","org_guid","room_allow_record","user_guid","RoomsJS","getUserAllRooms","edit","cloneitem","insert","iniNewItem","deleted_item","visible","removenow","filter","removecancel","editID","source","newItem","reduce","current","Math","max","Object","assign","ids","require","generate","field","title","editable","cell","editor","remove_section","GridCell","margin","textAlign","LinkStyle","cellPadding","Rooms","user_flname","navLinkShow","Tabs","activeKey","onSelect","k","Tab","eventKey","myInterval","adminInterval","check_room_exist","pagetype","user_first_last_name","meet_room_pass","room_title","show_password","showpassword","redirect_meetroom","setInterval","clearInterval","check_admin_exist","iosLink","iosAppUrl","init_complete","_room_guid","check_admin_alive","redirect_home","update_admin_alive","_user_guid","JitsiMeetComponent","isIOS","useEffect","startConference","roomName","meet_room","innerHeight","parentNode","document","getElementById","interfaceConfigOverwrite","filmStripOnly","SHOW_JITSI_WATERMARK","configOverwrite","disableSimulcast","disableDeepLinking","api","JitsiMeetExternalAPI","executeCommand","addEventListener","setLoading","loading","JRoom","on","dispose","alert","account_valid","participants","apple_app","show","containerStyle","jitsiContainerStyle","display","justifyContent","paddingLeft","border","WaitingRoom","upassword","lime","accvali","App","pathname","exact","component","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","then","registration","onupdatefound","installingWorker","installing","onstatechange","controller","catch","baseUrl","getElementsByTagName","getAttribute","rootElement","ReactDOM","render","basename","process","origin","fetch","status","headers","get","indexOf","ready","unregister","reload","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.30a02617.chunk.js","sourcesContent":["\r\n\r\n\r\n\r\nexport function stop_now(t) {\r\n\r\n t.state.recorder.stopRecording(stopRecordingCallback);\r\n\r\n}\r\n\r\nexport function stopRecordingCallback(blob) {\r\n\r\n let url = window.URL.createObjectURL(blob);\r\n window.WebRecorder.url_callback(url);\r\n\r\n}\r\n","import React, { Component } from 'react';\r\nimport * as util from '../WebRecorder/js/WebUtil';\r\nimport { Button, Row,Col } from 'reactstrap';\r\n\r\n\r\n\r\nexport class WebRecorder extends Component {\r\n static displayName = WebRecorder.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showComponent: true,\r\n showExtDownload: false,\r\n showDownload: false,\r\n recorder: undefined,\r\n srcUrl: '',\r\n disableStartBtn: false,\r\n disableStopBtn: true,\r\n showMsg: true\r\n };\r\n\r\n window.WebRecorder = this;\r\n this.clicklink = this.clicklink.bind(this);\r\n this.close_msg = this.close_msg.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n\r\n if (typeof window.RecordRTC_Extension === 'undefined') {\r\n this.setState({ showExtDownload: true, showMsg: true });\r\n } else {\r\n\r\n this.setState({ recorder: new window.RecordRTC_Extension() });\r\n }\r\n }\r\n static getDerivedStateFromProps(props, state) {\r\n\r\n }\r\n\r\n start_recording = (event) => {\r\n this.setState({ disableStartBtn: true, disableStopBtn: false, showDownload: false });\r\n var options = this.state.recorder.getSupoortedFormats()[\"Screen + Microphone + Speakers\"];\r\n this.state.recorder.startRecording(options, function (e) {\r\n //disable start button\r\n \r\n });\r\n\r\n\r\n }\r\n\r\n stop_recording = (event) => {\r\n this.setState({ disableStartBtn: false, disableStopBtn:true, showDownload: true});\r\n util.stop_now(this);\r\n }\r\n\r\n cancel_recording() {\r\n this.setState({ disableStartBtn: false, disableStopBtn:true, showDownload: false});\r\n }\r\n\r\n url_callback(url) {\r\n this.setState({ srcUrl: url,recorder: new window.RecordRTC_Extension() });\r\n }\r\n\r\n clicklink() {\r\n window.open('https://chrome.google.com/webstore/detail/recordrtc/ndcljioonkecdnaaihodjgiliohngojp?hl=en', '_blank');\r\n }\r\n\r\n close_msg() {\r\n this.setState({ showMsg: false });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.showComponent ?\r\n
\r\n
\r\n {this.state.showExtDownload ?\r\n \r\n {this.state.showMsg ?\r\n \r\n

Chrome extension is either disabled or not installed. Please enable the extention or Download   \r\n  \r\n

\r\n \r\n :\r\n null\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.showDownload ?\r\n \r\n \r\n \r\n : null}\r\n \r\n \r\n }\r\n\r\n
\r\n
\r\n : null}\r\n
\r\n );\r\n }\r\n}\r\n \r\n\r\n","import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarToggler, NavItem, NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport * as qs from 'query-string';\r\nimport cookie from 'react-cookies';\r\nimport './NavMenu.css';\r\nimport { WebRecorder } from '../components/WebRecorder/index';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n var ui = cookie.load('dvmeet');\r\n var utype = \"user\";\r\n if (ui !== null & ui !== undefined) {\r\n utype = ui.utype;\r\n }\r\n\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true,\r\n room: this.props.room,\r\n showComponent: this.props.showComponent === true ? this.probs.showComponent : false,\r\n user_type: utype,\r\n };\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (this.state.user_type === \"admin\") {\r\n this.setState({ showComponent: true }, () => {\r\n if (window.location.search) {\r\n var _room_id = qs.parse(window.location.search, { ignoreQueryPrefix: true }).id;\r\n\r\n if (_room_id) {\r\n this.setState({ room: \"Rooms?id=\" + _room_id });\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n if (window.location.search) {\r\n var _room_id = qs.parse(window.location.search, { ignoreQueryPrefix: true }).id;\r\n\r\n if (_room_id) {\r\n this.setState({ room: \"Rooms?id=\" + _room_id });\r\n }\r\n }\r\n }\r\n }\r\n\r\n toggleNavbar() {\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n\r\n\r\n render() {\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 Home\r\n \r\n \r\n My Rooms\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { NavMenu } from './NavMenu';\r\n\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n showDownload: false\r\n };\r\n\r\n }\r\n render() {\r\n const containerStyle = {\r\n width: '100%',\r\n height: '100%',\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n {this.props.children} \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Form,FormGroup,Label,Input,Button,Container,Row,Col,Card,CardHeader, CardBody } from 'reactstrap';\r\nimport {ToastContainer, toast, Slide } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport * as loginutils from './js/login.js';\r\nimport * as qs from 'query-string';\r\nimport cookie from 'react-cookies';\r\nimport CookieConsent from \"react-cookie-consent\";\r\nimport $ from 'jquery';\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n constructor(props) {\r\n super(props);\r\n\r\n var _room_id = qs.parse(this.props.location.search, { ignoreQueryPrefix: true }).id;\r\n\r\n var ui = cookie.load('dvmeet');\r\n var vuser = '';\r\n\r\n if (ui !== null && ui !== undefined) {\r\n vuser = ui.tuser;\r\n }\r\n\r\n this.state = {\r\n ui: [],\r\n userName: vuser,\r\n userPass:'',\r\n remeberCheck: false,\r\n AlertMessage: '',\r\n AlertType: 'info',\r\n room_id: _room_id !== null ? _room_id : '',\r\n vflname: ''\r\n };\r\n\r\n this.handle_visitor_login_click = this.handle_visitor_login_click.bind(this);\r\n this.handle_login_click = this.handle_login_click.bind(this);\r\n this.LoginAthenticateComplete = this.LoginAthenticateComplete.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n $(\"#recordingdiv\").hide();\r\n cookie.remove('dvmeet', { path: '/' });\r\n $(\"#setting_link\").hide();\r\n if (this.state.vuser) {\r\n\r\n }\r\n }\r\n\r\n\r\n LoginAthenticateComplete() {\r\n var tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n\r\n cookie.save('dvmeet', this.state.ui, { path: '/', expires: tomorrow })\r\n\r\n if (this.state.room_id) {\r\n\r\n this.props.history.push(\"/MeetRoom?id=\" + this.state.room_id);\r\n } else {\r\n //if there is a room requested in the header if not goto settings\r\n this.props.history.push(\"/Rooms\");\r\n }\r\n }\r\n\r\n\r\n handle_visitor_login_click = (event) => {\r\n loginutils.check_room_exist(this);\r\n }\r\n \r\n\r\n\r\n redirect_waiting = () => {\r\n var tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n\r\n var data = {\r\n toug: '',\r\n toog: '',\r\n tofl: this.state.vflname,\r\n utype: 'user',\r\n domain: '',\r\n accvalid: 'false'\r\n };\r\n\r\n cookie.save('dvmeet', data, { path: '/', expires: tomorrow })\r\n\r\n if (!this.state.room_id) {\r\n this.setState({ AlertMessage: 'Enter Room ID', AlertType: 'error' }, () => {\r\n this.updateAlertMessage(this.state.AlertMessage,this.state.AlertType);\r\n });\r\n\r\n }\r\n else if(!this.state.vflname) {\r\n this.setState({ AlertMessage: 'Enter Your Name', AlertType: 'error' }, () => {\r\n this.updateAlertMessage(this.state.AlertMessage,this.state.AlertType);\r\n });\r\n } else {\r\n\r\n this.props.history.push(\"/WaitingRoom?id=\" + this.state.room_id);\r\n }\r\n\r\n }\r\n handle_login_click = () => {\r\n loginutils.get_user_info(this);\r\n }\r\n\r\n\r\n handle_login_enter = (event) => {\r\n if (event.key === 'Enter') {\r\n this.handle_login_click();\r\n }\r\n }\r\n\r\n updateAlertMessage = (msg, AlertType) => {\r\n\r\n this.toastId = toast(msg, {\r\n transition: Slide,\r\n closeButton: true,\r\n autoClose: 5000,\r\n position: 'bottom-center',\r\n type: AlertType,\r\n });\r\n }\r\n\r\n\r\n render() {\r\n \r\n return (\r\n \r\n \r\n \r\n \"\"\r\n

Version: Beta 2

\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n

Visitor Access

\r\n
\r\n \r\n \r\n { this.setState({ room_id: e.target.value }); }} />\r\n \r\n \r\n \r\n { this.setState({ vflname: e.target.value }); }} placeholder=\"Enter Your Name\" />\r\n \r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n \r\n

Admin Access

\r\n
\r\n \r\n \r\n { this.setState({ userName: e.target.value }); }} placeholder=\"Enter Username/Email\" />\r\n \r\n \r\n \r\n { this.setState({ userPass: e.target.value }); }} placeholder=\"Enter Your Access Code\" />\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import $ from 'jquery';\r\n\r\n\r\nexport function get_user_info(t) {\r\n //TODO: validation username and passowrd is here\r\n var parameters = { userName: t.state.userName, userPass: t.state.userPass};\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/login_cloud_account/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n //set the state from the response\r\n console.log(response);\r\n\r\n if (response !== null && response !== undefined) {\r\n var data = {\r\n tuser: t.state.userName,\r\n toug: response.userGuid,\r\n toog: response.userOrg,\r\n tofl: response.userFullname,\r\n utype: 'admin',\r\n domain: response.meet_domain,\r\n accvalid: response.org_valid\r\n }\r\n\r\n t.setState({ ui: data }, () => {\r\n t.LoginAthenticateComplete();\r\n\r\n });\r\n \r\n } else {\r\n t.setState({ AlertMessage: 'Oops, Check your username or password.', AlertType: 'error' }, () => {\r\n t.updateAlertMessage(t.state.AlertMessage,t.state.AlertType);\r\n });\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\nexport function check_room_exist(t) {\r\n\r\n var parameters = {\r\n room_guid: t.state.room_id,\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/check_room_exist/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n async: true,\r\n success: function (response) {\r\n console.log(response);\r\n if (response) {\r\n\r\n t.redirect_waiting();\r\n } else {\r\n t.setState({ AlertMessage: 'Oops, Room ID not found.', AlertType: 'error' }, () => {\r\n t.updateAlertMessage(t.state.AlertMessage,t.state.AlertType);\r\n });\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n\r\n}","import React from 'react';\r\n\r\nimport { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';\r\nimport { Input } from '@progress/kendo-react-inputs';\r\n\r\n\r\nexport default class DialogContaincer extends React.Component {\r\n \r\n \r\n\r\n constructor(props) {\r\n\r\n\r\n super(props);\r\n this.state = {\r\n roomInEdit: this.props.dataItem || null,\r\n \r\n };\r\n\r\n this.roomNameBox = this.roomNameBox.bind(this);\r\n }\r\n handleSubmit(event) {\r\n\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onDialogInputChange = (event) => {\r\n\r\n\r\n\r\n let target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.props ? target.props.name : target.name;\r\n\r\n const edited = this.state.roomInEdit;\r\n edited[name] = value;\r\n\r\n this.setState({\r\n roomInEdit: edited\r\n });\r\n }\r\n\r\n roomNameBox = ()=> {\r\n\r\n if (this.state.roomInEdit.room_type === \"devos\") {\r\n return (\r\n \r\n );\r\n } else {\r\n return(\r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n\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
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Cancel\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport '@progress/kendo-theme-default/dist/all.css';\r\nimport { Grid, GridColumn as Column,GridToolbar } from '@progress/kendo-react-grid';\r\nimport {ToastContainer, toast, Slide } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';\r\nimport * as RoomsJS from '../../components/settingsOps/js/RoomsGridJs.js';\r\n\r\nimport DialogContainer from '../settingsOps/DialogContaincer';\r\nimport cellWithEditing from '../settingsOps/cellWithEditing.js';\r\n\r\n\r\nexport default class RoomsGrid extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n\r\n this.state = {\r\n data: [],\r\n user_guid: this.props.user_guid,\r\n org_guid: this.props.org_guid,\r\n editID: null,\r\n roomInEdit: undefined,\r\n AlertMessage: '',\r\n AlertType: 'info',\r\n visible: false,\r\n deleted_item: [],\r\n\r\n };\r\n\r\n this.removenow = this.removenow.bind(this);\r\n this.removecancel = this.removecancel.bind(this);\r\n }\r\n\r\n\r\n updateAlertMessage = (msg, AlertType) => {\r\n\r\n this.toastId = toast(msg, {\r\n transition: Slide,\r\n closeButton: true,\r\n autoClose: 5000,\r\n position: 'bottom-center',\r\n type: AlertType,\r\n });\r\n }\r\n\r\n save = () => {\r\n\r\n\r\n const dataItem = this.state.roomInEdit;\r\n const cdata = this.state.data.slice();\r\n const isNewItem = dataItem.room_id === undefined;\r\n\r\n if (isNewItem) {\r\n cdata.unshift(this.AddNewItem(dataItem));\r\n } else {\r\n const index = cdata.findIndex(p => p.room_id === dataItem.room_id);\r\n cdata.splice(index, 1, dataItem);\r\n }\r\n\r\n this.setState({\r\n data: cdata,\r\n roomInEdit: undefined\r\n }, () => {\r\n\r\n RoomsJS.saveDB(dataItem, this.state.org_guid, this);\r\n\r\n });\r\n }\r\n\r\n \r\n AddNewItem(source) {\r\n const id = this.state.data.reduce((item, current) => Math.max(item, current.room_id || 0), 0) + 1;\r\n const newItem = {\r\n room_id: id,\r\n org_guid: this.state.org_guid,\r\n user_guid: this.state.user_guid,\r\n room_guid: source.room_guid,\r\n room_name: source.room_name,\r\n room_password: source.room_password,\r\n room_allow_guests: source.room_allow_guests,\r\n room_allow_record: 'false',\r\n room_type: 'custom',\r\n };\r\n\r\n return Object.assign(newItem, source);\r\n }\r\n\r\n\r\n iniNewItem() {\r\n\r\n var ids = require('short-id');\r\n\r\n const newItem = {\r\n room_id: undefined,\r\n org_guid: this.state.org_guid,\r\n user_guid: this.state.user_guid,\r\n room_guid: ids.generate(),\r\n room_name: '',\r\n room_password: '',\r\n room_allow_guests: false,\r\n room_allow_record: false,\r\n room_type: 'custom',\r\n };\r\n\r\n return newItem;\r\n }\r\n\r\n componentDidMount() {\r\n this.getUserAllRooms();\r\n }\r\n\r\n getUserAllRooms = () => {\r\n RoomsJS.get_user_all_rooms(this);\r\n }\r\n\r\n dialogTitle() {\r\n return `${this.state.roomInEdit.room_id === undefined ? 'Add' : 'Edit'} item`;\r\n }\r\n cloneitem(item) {\r\n return Object.assign({}, item);\r\n }\r\n\r\n edit = (dataItem) => {\r\n this.setState({ roomInEdit: this.cloneitem(dataItem) });\r\n }\r\n\r\n insert = () => {\r\n\r\n this.setState({ roomInEdit: this.iniNewItem() });\r\n }\r\n\r\n cancel = () => {\r\n this.setState({ roomInEdit: undefined });\r\n }\r\n remove = (dataItem) => {\r\n\r\n this.setState({\r\n deleted_item: dataItem, visible: true\r\n });\r\n }\r\n\r\n removenow = () => {\r\n\r\n RoomsJS.deleteDB(this.state.deleted_item);\r\n\r\n this.setState({\r\n data: this.state.data.filter(p => p.room_guid !== this.state.deleted_item.room_guid)\r\n }, () => {\r\n this.setState({\r\n deleted_item: undefined, visible: false\r\n });\r\n });\r\n }\r\n\r\n removecancel = () => {\r\n this.setState({\r\n deleted_item: undefined, visible: false\r\n });\r\n \r\n }\r\n\r\n render() {\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 { props.dataItem.room_name}\r\n \r\n \r\n }\r\n /> \r\n \r\n \r\n \r\n\r\n \r\n {this.state.roomInEdit && }\r\n\r\n {this.state.visible && \r\n

Confirm Delete Room {this.state.deleted_item.room_name}?

\r\n \r\n \r\n \r\n \r\n
}\r\n\r\n \r\n
\r\n );\r\n }\r\n\r\n}","import $ from 'jquery';\r\n\r\nexport function get_user_all_rooms(t) {\r\n\r\n var parameters = {\r\n user_guid: t.state.user_guid,\r\n org_guid: t.state.org_guid,\r\n };\r\n $.ajax({\r\n url: '/api/dvmeet/get_all_rooms_by_user_orgs_guid/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n\r\n if (response) {\r\n t.setState({\r\n data: response,\r\n });\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\nexport function saveDB(item, org_guid,t) {\r\n var parameters = {\r\n room_guid: item.room_guid,\r\n room_name: item.room_name,\r\n room_password: item.room_password,\r\n room_allow_guests: item.room_allow_guests,\r\n room_allow_record: item.room_allow_record,\r\n org_guid: org_guid,\r\n user_guid: t.state.user_guid,\r\n room_type: item.room_type,\r\n };\r\n $.ajax({\r\n url: '/api/dvmeet/update_room_settings/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n\r\n if (response === true) {\r\n t.setState({ AlertMessage: 'Update Succefully', AlertType: 'info' }, () => {\r\n t.updateAlertMessage(t.state.AlertMessage,t.state.AlertType);\r\n });\r\n } else {\r\n t.setState({ AlertMessage: 'Update Fail Contact Support', AlertType: 'error' }, () => {\r\n t.updateAlertMessage(t.state.AlertMessage,t.state.AlertType);\r\n });\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\nexport function deleteDB(item) {\r\n var parameters = {\r\n room_guid: item.room_guid,\r\n org_guid: item.org_guid,\r\n };\r\n $.ajax({\r\n url: '/api/dvmeet/delete_room_settings/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}","\r\nimport React from 'react';\r\nimport { GridCell } from '@progress/kendo-react-grid';\r\n\r\nexport default function cellWithEditing(edit, remove) {\r\n return class extends GridCell {\r\n\r\n remove_section() {\r\n\r\n if (this.props.dataItem.room_type === \"custom\") {\r\n return (\r\n {\r\n remove(this.props.dataItem);\r\n }}\r\n >\r\n Remove\r\n \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n\r\n\r\n\r\n return (\r\n
\r\n { edit(this.props.dataItem); }}\r\n >\r\n Edit\r\n \r\n  \r\n {this.remove_section()}\r\n
\r\n );\r\n }\r\n };\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Container, Card, CardHeader, CardBody } from 'reactstrap';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport * as qs from 'query-string';\r\nimport RoomsGrid from '../../src/components/settingsOps/RoomsGrid';\r\nimport cookie from 'react-cookies';\r\nimport $ from 'jquery';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nconst LinkStyle = {\r\n color: '#fff',\r\n fontSize: '16px',\r\n cellPadding: '10'\r\n};\r\n\r\nexport class Rooms extends Component {\r\n static displayName = Rooms.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n var ui = cookie.load('dvmeet');\r\n\r\n if (ui === null || ui === undefined) {\r\n this.state = {\r\n key: \"general\",\r\n user_guid: '',\r\n org_guid: '',\r\n user_flname: ''\r\n };\r\n\r\n }else {\r\n this.state = {\r\n key: \"general\",\r\n user_guid: ui.toug,\r\n org_guid: ui.toog,\r\n user_flname: ui.tofl,\r\n room:''\r\n };\r\n }\r\n\r\n }\r\n\r\n\r\n componentDidMount() {\r\n\r\n if (window.location.search) {\r\n var _room_id = qs.parse(window.location.search, { ignoreQueryPrefix: true }).id;\r\n\r\n if (_room_id) {\r\n this.setState({ room: \"Meetroom?id=\" + _room_id });\r\n }\r\n }\r\n $(\"#recordingdiv\").hide();\r\n $(\"#setting_link\").hide();\r\n if (!this.state.user_guid) {\r\n\r\n this.props.history.push(\"/\");\r\n }\r\n\r\n\r\n }\r\n navLinkShow() {\r\n if (this.state.room) {\r\n return (\r\n Back to Room\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n {this.navLinkShow()}\r\n this.setState({ key: k })}\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 $ from 'jquery';\r\nvar myInterval;\r\nvar adminInterval;\r\nexport function check_add_admin(t) {\r\n\r\n var parameters = {\r\n room_guid: t.state.room_id,\r\n user_first_last_name: t.state.user_flname,\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/check_add_admin/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n console.log(response);\r\n\r\n if (response !== null && response !== undefined) {\r\n\r\n t.setState({ iosLink: response.iosAppUrl, room_title: response.room_name }, () => {\r\n t.init_complete();\r\n\r\n\r\n });\r\n\r\n } else {\r\n\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\nexport function after_init(t) {\r\n\r\n update_admin_alive(t.state.room_id, t.state.user_guid);\r\n adminInterval = setInterval(function () { update_admin_alive(t.state.room_id, t.state.user_guid); }, 30000);//30 seconds\r\n\r\n}\r\n\r\nexport function logout_room_admin(t) {\r\n\r\n var parameters = {\r\n room_guid: t.state.room_id,\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/room_logout_admin/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n console.log(response);\r\n if (response !== null && response !== undefined && response === true) {\r\n\r\n }\r\n clearInterval(adminInterval);\r\n t.redirect_home();\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\n\r\nexport function ExiteUser(t) {\r\n clearInterval(myInterval);\r\n t.redirect_home();\r\n}\r\n\r\nexport function check_admin_exist(t) {\r\n var parameters = {\r\n room_guid: t.state.room_id,\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/check_admin_exist/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n async: true,\r\n success: function (response) {\r\n console.log(response);\r\n if (response === true) {\r\n clearInterval(myInterval);\r\n\r\n if (!t.state.meet_room_pass) {\r\n t.redirect_meetroom();\r\n } else {\r\n\r\n t.setState({ show_password: true }, () => {\r\n t.showpassword();\r\n });\r\n }\r\n } \r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\nexport function check_password(t) {\r\n\r\n var parameters = {\r\n room_password: t.state.meet_room_pass,\r\n upassword: t.state.upassword\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/check_room_password/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n async: true,\r\n success: function (response) {\r\n console.log(response);\r\n if (response === true) {\r\n t.redirect_meetroom();\r\n }\r\n else {\r\n //show password is wrong\r\n t.setState({ AlertMessage: 'Oops, Check room password and try again', AlertType: 'error' }, () => {\r\n t.updateAlertMessage(t.state.AlertMessage,t.state.AlertType);\r\n });\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\n\r\nexport function check_room_exist(t,pagetype) {\r\n\r\n var parameters = {\r\n room_guid: t.state.room_id,\r\n user_first_last_name: t.state.user_flname\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/check_room_exist/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n async: true,\r\n success: function (response) {\r\n console.log(response);\r\n if (!response) {\r\n\r\n t.redirect_home();\r\n } else {\r\n if (pagetype === 'waiting') {\r\n\r\n t.setState({ meet_room_pass: response.room_password, room_title: response.room_name}, () => {\r\n\r\n if (response.room_allow_guests === true) {\r\n\r\n if (!t.state.meet_room_pass) {\r\n t.redirect_meetroom();\r\n } else {\r\n\r\n t.setState({ show_password: true }, () => {\r\n t.showpassword();\r\n });\r\n }\r\n\r\n } else {\r\n myInterval = setInterval(function () { check_admin_exist(t); }, 5000);\r\n }\r\n });\r\n\r\n } else if (pagetype === 'room') {\r\n\r\n t.setState({ domain: response.meet_domain,room_title: response.room_name,iosLink: response.iosAppUrl }, () => {\r\n t.init_complete();\r\n\r\n myInterval = setInterval(function () { check_admin_alive(t.state.room_id); }, 60000);\r\n\r\n });\r\n \r\n }\r\n\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n\r\n}\r\n\r\n\r\nfunction update_admin_alive(_room_guid,_user_guid) {\r\n var parameters = {\r\n room_guid: _room_guid,\r\n user_guid: _user_guid\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/update_admin_alive/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n console.log(response);\r\n if (response !== null && response !== undefined && response === \"true\") {\r\n\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n\r\nfunction check_admin_alive(_room_guid) {\r\n var parameters = {\r\n room_guid: _room_guid\r\n };\r\n\r\n $.ajax({\r\n url: '/api/dvmeet/check_admin_alive/data',\r\n type: 'POST',\r\n data: JSON.stringify(parameters),\r\n async: true,\r\n contentType: 'application/json',\r\n dataType: \"json\",\r\n success: function (response) {\r\n console.log(response);\r\n if (response !== null && response !== undefined && response === false) {\r\n window.location.href = \"https://meet.discovervideo.com\";\r\n }\r\n },\r\n error: function (e, a, t) {\r\n console.log(e);\r\n }\r\n });\r\n}\r\n","import React, { Component } from 'react';\r\nimport ProgressComponent from '@material-ui/core/CircularProgress';\r\nimport * as qs from 'query-string';\r\nimport { isIOS } from \"react-device-detect\";\r\nimport cookie from 'react-cookies';\r\nimport $ from 'jquery';\r\n\r\nimport * as JRoom from '../components/js/JRoom';\r\n\r\nexport class JitsiMeetComponent extends Component {\r\n static displayName = JitsiMeetComponent.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n var ui = cookie.load('dvmeet');\r\n var _room_id = qs.parse(window.location.search, { ignoreQueryPrefix: true }).id;\r\n\r\n if (ui === null || ui === undefined) {\r\n\r\n this.state = {\r\n ui: undefined,\r\n room_id: _room_id,\r\n loading: true,\r\n setLoading: true,\r\n };\r\n }\r\n else {\r\n this.state = {\r\n id: '',\r\n ui: 'valid',\r\n user_guid: ui.toug,\r\n org_guid: ui.toog,\r\n user_flname: ui.tofl,\r\n user_type: ui.utype,\r\n loading: true,\r\n setLoading: true,\r\n domain: ui.domain,\r\n account_valid: ui.accvalid,\r\n meet_room: _room_id,\r\n room_id: _room_id,\r\n room_title: '',\r\n participants: [],\r\n iosLink: '',\r\n apple_app: 'https://apps.apple.com/us/app/dvmeet/id1518588589'\r\n };\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n\r\n if (this.state.ui === null || this.state.ui === undefined) {\r\n if (this.state.room_id) {\r\n this.props.history.push(\"/?id=\" + this.state.room_id);\r\n } else {\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n else if (!this.state.room_id) {\r\n this.props.history.push(\"/\");\r\n } else {\r\n if (this.state.user_type === \"admin\") {\r\n // this.props.changeRoomLink('Rooms?id=' + this.state.room_id);\r\n $(\"#recordingdiv\").show();\r\n $(\"#setting_link\").show();\r\n JRoom.check_add_admin(this);\r\n\r\n\r\n }\r\n else {\r\n $(\"#recordingdiv\").hide();\r\n $(\"#setting_link\").hide();\r\n JRoom.check_room_exist(this, 'room');\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n init_complete = () => {\r\n\r\n //Show IOS info\r\n if (isIOS) {\r\n //ios device\r\n\r\n } else {\r\n //if not IOS then \r\n this.useEffect();\r\n\r\n if (this.state.user_type === \"admin\") {\r\n JRoom.after_init(this);\r\n }\r\n }\r\n }\r\n\r\n\r\n redirect_home = () => {\r\n if (this.state.room_id) {\r\n this.props.history.push(\"/?id=\" + this.state.room_id);\r\n } else {\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n\r\n redirect_waiting = () => {\r\n this.props.history.push(\"/WaitingRoom?id=\" + this.state.room_id);\r\n }\r\n\r\n startConference = () => {\r\n try {\r\n const options = {\r\n roomName: this.state.meet_room,\r\n width: window.width,\r\n height: window.innerHeight - 68,\r\n parentNode: document.getElementById('jitsi-container'),\r\n interfaceConfigOverwrite: {\r\n filmStripOnly: false,\r\n SHOW_JITSI_WATERMARK: false,\r\n },\r\n configOverwrite: {\r\n disableSimulcast: false,\r\n disableDeepLinking: true\r\n },\r\n\r\n };\r\n\r\n const api = new window.JitsiMeetExternalAPI(this.state.domain, options);\r\n api.executeCommand('subject', this.state.room_title);\r\n\r\n api.addEventListener('videoConferenceJoined', (data) => {\r\n\r\n\r\n console.log('Local User Joined');\r\n if (data.displayName === this.state.user_flname) {\r\n this.setState({ id: data.id });\r\n }\r\n\r\n this.setState({ setLoading: false, loading: false });\r\n api.executeCommand('displayName', this.state.user_flname);\r\n\r\n\r\n });\r\n\r\n api.addEventListener('videoConferenceLeft', (data) => {\r\n\r\n if (this.state.user_type === \"admin\") {\r\n JRoom.logout_room_admin(this);\r\n } else {\r\n JRoom.ExiteUser(this);\r\n }\r\n\r\n });\r\n\r\n api.addEventListener('participantJoined', (data) => {\r\n\r\n //if (this.state.user_type === \"admin\") {\r\n // var ulist = this.state.participants.concat(data.id);\r\n // this.setState({ participants: ulist });\r\n //}\r\n //else {\r\n\r\n // if (data.displayName === this.state.user_flname) {\r\n // this.setState({ id: data.id });\r\n // }\r\n //}\r\n\r\n });\r\n\r\n api.addEventListener('participantLeft', (data) => {\r\n //if (this.state.id === data.id) {\r\n // console.log('Local User left');\r\n // if (this.state.user_type === \"admin\") {\r\n // JRoom.logout_room_admin(this);\r\n // }\r\n // else {\r\n\r\n // this.props.history.push(\"/\");\r\n // }\r\n //} \r\n });\r\n\r\n\r\n\r\n api.addEventListener('participantKickedOut', (data) => {\r\n\r\n });\r\n\r\n api.on('readyToClose', () => {\r\n console.log('dispose');\r\n api.dispose();\r\n });\r\n } catch (error) {\r\n console.error('Failed to load Jitsi API', error);\r\n }\r\n }\r\n\r\n useEffect = () => {\r\n // verify the JitsiMeetExternalAPI constructor is added to the global..\r\n if (window.JitsiMeetExternalAPI) { this.startConference(); }\r\n else { alert('Jitsi Meet API script not loaded'); }\r\n };\r\n\r\n render() {\r\n\r\n const iosstyle = {\r\n display: 'flex', justifyContent: 'center'\r\n };\r\n const containerStyle = {\r\n width: '100%',\r\n height: '100%',\r\n\r\n };\r\n\r\n const jitsiContainerStyle = {\r\n display: (this.state.loading ? 'none' : 'block'),\r\n width: '100%',\r\n height: '100%',\r\n }\r\n\r\n if (isIOS) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \"DV\r\n \r\n
\r\n Launch DV Meet App\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 \"W3Schools\"\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n {this.state.loading && }\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, { Component } from 'react';\r\nimport '@progress/kendo-theme-default/dist/all.css';\r\nimport {Button, Input, Container, Card, CardHeader, CardBody } from 'reactstrap';\r\nimport {ToastContainer, toast, Slide } from 'react-toastify';\r\nimport cookie from 'react-cookies';\r\nimport * as qs from 'query-string';\r\nimport * as JRoom from '../components/js/JRoom';\r\nimport { lime } from '@material-ui/core/colors';\r\nimport $ from 'jquery';\r\n\r\nexport class WaitingRoom extends Component {\r\n static displayName = WaitingRoom.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n var ui = cookie.load('dvmeet');\r\n var _room_id = qs.parse(this.props.location.search, { ignoreQueryPrefix: true }).id;\r\n\r\n if (ui === null || ui === undefined) {\r\n this.props.history.push(\"/\");\r\n }\r\n else {\r\n this.state = {\r\n user_guid: ui.toug !== null ? ui.toug : '',\r\n org_guid: ui.toog !== null ? ui.toog : '',\r\n user_flname: ui.tofl !== null ? ui.tofl : '',\r\n user_type: ui.utype !== null ? ui.utype : 'user',\r\n domain: ui.domain !== null ? ui.domain : '',\r\n account_valid: ui.accvalid !== null ? ui.accvali : 'false',\r\n meet_room: _room_id,\r\n room_id: _room_id,\r\n meet_room_pass: undefined,\r\n show_password: false,\r\n upassword: '',\r\n AlertMessage: '',\r\n AlertType: 'info',\r\n };\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n\r\n $(\"#setting_link\").hide();\r\n\r\n if (!this.state.room_id) {\r\n\r\n this.props.history.push(\"/\");\r\n }\r\n else {\r\n JRoom.check_room_exist(this,'waiting');\r\n }\r\n\r\n }\r\n\r\n updateAlertMessage = (msg, AlertType) => {\r\n\r\n this.toastId = toast(msg, {\r\n transition: Slide,\r\n closeButton: true,\r\n autoClose: 5000,\r\n position: 'bottom-center',\r\n type: AlertType,\r\n });\r\n }\r\n\r\n redirect_meetroom = () => {\r\n this.props.history.push(\"/MeetRoom?id=\" + this.state.room_id);\r\n }\r\n\r\n redirect_home = () => {\r\n this.props.history.push(\"/\");\r\n }\r\n\r\n handle_visitor_login_click = (event) => {\r\n\r\n if (this.state.meet_room_pass) {\r\n JRoom.check_password(this);\r\n } else {\r\n\r\n if (this.state.room_id) {\r\n this.props.history.push(\"/?id=\" + this.state.room_id);\r\n }\r\n else {\r\n this.props.history.push(\"/\");\r\n }\r\n }\r\n }\r\n \r\n showpassword = () => {\r\n if (this.state.show_password === false) {\r\n return (\r\n
\r\n

Waiting for Room Admin

\r\n
Please wait till we redirect
\r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n

Waiting for You

\r\n
Enter Room Password
\r\n { this.setState({ upassword: e.target.value }); }} placeholder=\"Enter Room Password\" />
\r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n { this.showpassword() }\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './components/Home';\r\nimport { Rooms } from './components/Rooms';\r\nimport { JitsiMeetComponent } from './components/JitsiMeetComponent';\r\nimport { WaitingRoom } from './components/WaitingRoom';\r\nimport { WebRecorder } from './components/WebRecorder';\r\nimport './custom.css'\r\n\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n this.state = {\r\n showComponent: false,\r\n };\r\n\r\n }\r\n componentDidMount() {\r\n\r\n var pathname = '';\r\n\r\n if (window.location) {\r\n pathname = window.location.pathname;\r\n }\r\n\r\n if (pathname !== \"/Meetroom\") {\r\n this.setState({ showComponent: false });\r\n }\r\n }\r\n\r\n render() {\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","// In production, we register a service worker to serve assets from local cache.\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 the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\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 default function register () {\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);\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/facebookincubator/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. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\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 }\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) {\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 if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').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);\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 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\nregisterServiceWorker();\r\n\r\n"],"sourceRoot":""}