├── DEV (2).png ├── favicon.png ├── DEVVY (1).mp4 ├── static ├── css │ ├── main.8d8781d3.chunk.css │ └── main.8d8781d3.chunk.css.map └── js │ ├── runtime-main.03887cff.js │ ├── 2.0a5f3e49.chunk.js.LICENSE.txt │ ├── runtime-main.03887cff.js.map │ ├── main.b73ac370.chunk.js.map │ └── main.b73ac370.chunk.js ├── README.md ├── asset-manifest.json ├── LICENSE └── index.html /DEV (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ashutosh102/build-version_of_DevCall_web_app/HEAD/DEV (2).png -------------------------------------------------------------------------------- /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ashutosh102/build-version_of_DevCall_web_app/HEAD/favicon.png -------------------------------------------------------------------------------- /DEVVY (1).mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ashutosh102/build-version_of_DevCall_web_app/HEAD/DEVVY (1).mp4 -------------------------------------------------------------------------------- /static/css/main.8d8781d3.chunk.css: -------------------------------------------------------------------------------- 1 | body{background:linear-gradient(#070564,#1114a3,#0f1170),url(https://i.pinimg.com/originals/8f/14/57/8f14578ef69a4c53352955d1e072eda6.png);background-repeat:no-repeat;background-attachment:fixed;background-size:cover}body,wrapper{font-family:"Gill Sans","Gill Sans MT",Calibri,"Trebuchet MS",sans-serif}*{margin:0;padding:0} 2 | /*# sourceMappingURL=main.8d8781d3.chunk.css.map */ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # build-version_of_DevCall_web_app 2 | Build version of DevCall 3 | - Check it out here:- http://devcall.vercel.app/ 4 | # Getting Started with Create React App 5 | 6 | This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). 7 | 8 | ## Available Scripts 9 | 10 | In the project directory, you can run: 11 | 12 | ### `npm start` 13 | 14 | Runs the app in the development mode.\ 15 | Open [http://localhost:3000](http://localhost:3000) to view it in the browser. 16 | 17 | The page will reload if you make edits.\ 18 | You will also see any lint errors in the console. 19 | 20 | 21 | https://user-images.githubusercontent.com/75971776/128027340-b8a37e47-b639-471b-a2be-2a6a461a64d5.mp4 22 | 23 | -------------------------------------------------------------------------------- /static/css/main.8d8781d3.chunk.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack://src/styles.css"],"names":[],"mappings":"AAAA,KACI,qIAMiF,CACjF,2BAA4B,CAC5B,2BAA4B,CAC5B,qBAEJ,CAEA,aAHI,wEAKJ,CAEA,EACI,QAAS,CACT,SACJ","file":"main.8d8781d3.chunk.css","sourcesContent":["body {\n background:\n linear-gradient(\n rgb(7, 5, 100), \n rgb(17, 20, 163),\n rgb(15, 17, 112)\n ),\n url(https://i.pinimg.com/originals/8f/14/57/8f14578ef69a4c53352955d1e072eda6.png);\n background-repeat: no-repeat;\n background-attachment: fixed;\n background-size: cover;\n font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;\n}\n\nwrapper{\n font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;\n}\n\n* {\n margin: 0;\n padding: 0;\n}\n"]} -------------------------------------------------------------------------------- /asset-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": { 3 | "main.css": "/static/css/main.8d8781d3.chunk.css", 4 | "main.js": "/static/js/main.b73ac370.chunk.js", 5 | "main.js.map": "/static/js/main.b73ac370.chunk.js.map", 6 | "runtime-main.js": "/static/js/runtime-main.03887cff.js", 7 | "runtime-main.js.map": "/static/js/runtime-main.03887cff.js.map", 8 | "static/js/2.0a5f3e49.chunk.js": "/static/js/2.0a5f3e49.chunk.js", 9 | "static/js/2.0a5f3e49.chunk.js.map": "/static/js/2.0a5f3e49.chunk.js.map", 10 | "index.html": "/index.html", 11 | "static/css/main.8d8781d3.chunk.css.map": "/static/css/main.8d8781d3.chunk.css.map", 12 | "static/js/2.0a5f3e49.chunk.js.LICENSE.txt": "/static/js/2.0a5f3e49.chunk.js.LICENSE.txt" 13 | }, 14 | "entrypoints": [ 15 | "static/js/runtime-main.03887cff.js", 16 | "static/js/2.0a5f3e49.chunk.js", 17 | "static/css/main.8d8781d3.chunk.css", 18 | "static/js/main.b73ac370.chunk.js" 19 | ] 20 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Ashutosh Mohanty 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /static/js/runtime-main.03887cff.js: -------------------------------------------------------------------------------- 1 | !function(e){function t(t){for(var n,l,i=t[0],f=t[1],a=t[2],p=0,s=[];pDABcall

DABCall welcomes you😊

2 | -------------------------------------------------------------------------------- /static/js/2.0a5f3e49.chunk.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /* 2 | object-assign 3 | (c) Sindre Sorhus 4 | @license MIT 5 | */ 6 | 7 | /*! 8 | * The buffer module from node.js, for the browser. 9 | * 10 | * @author Feross Aboukhadijeh 11 | * @license MIT 12 | */ 13 | 14 | /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ 15 | 16 | /*! queue-microtask. MIT License. Feross Aboukhadijeh */ 17 | 18 | /*! safe-buffer. MIT License. Feross Aboukhadijeh */ 19 | 20 | /** 21 | * A better abstraction over CSS. 22 | * 23 | * @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present 24 | * @website https://github.com/cssinjs/jss 25 | * @license MIT 26 | */ 27 | 28 | /** @license React v0.20.2 29 | * scheduler.production.min.js 30 | * 31 | * Copyright (c) Facebook, Inc. and its affiliates. 32 | * 33 | * This source code is licensed under the MIT license found in the 34 | * LICENSE file in the root directory of this source tree. 35 | */ 36 | 37 | /** @license React v16.13.1 38 | * react-is.production.min.js 39 | * 40 | * Copyright (c) Facebook, Inc. and its affiliates. 41 | * 42 | * This source code is licensed under the MIT license found in the 43 | * LICENSE file in the root directory of this source tree. 44 | */ 45 | 46 | /** @license React v17.0.2 47 | * react-dom.production.min.js 48 | * 49 | * Copyright (c) Facebook, Inc. and its affiliates. 50 | * 51 | * This source code is licensed under the MIT license found in the 52 | * LICENSE file in the root directory of this source tree. 53 | */ 54 | 55 | /** @license React v17.0.2 56 | * react-is.production.min.js 57 | * 58 | * Copyright (c) Facebook, Inc. and its affiliates. 59 | * 60 | * This source code is licensed under the MIT license found in the 61 | * LICENSE file in the root directory of this source tree. 62 | */ 63 | 64 | /** @license React v17.0.2 65 | * react-jsx-runtime.production.min.js 66 | * 67 | * Copyright (c) Facebook, Inc. and its affiliates. 68 | * 69 | * This source code is licensed under the MIT license found in the 70 | * LICENSE file in the root directory of this source tree. 71 | */ 72 | 73 | /** @license React v17.0.2 74 | * react.production.min.js 75 | * 76 | * Copyright (c) Facebook, Inc. and its affiliates. 77 | * 78 | * This source code is licensed under the MIT license found in the 79 | * LICENSE file in the root directory of this source tree. 80 | */ 81 | -------------------------------------------------------------------------------- /static/js/runtime-main.03887cff.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","this","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime-main.03887cff.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = this[\"webpackJsonpclient\"] = this[\"webpackJsonpclient\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} -------------------------------------------------------------------------------- /static/js/main.b73ac370.chunk.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["Context.js","components/VideoPlayer.jsx","components/Sidebar.jsx","components/Notifications.jsx","App.js","index.js"],"names":["SocketContext","createContext","socket","io","ContextProvider","children","useState","callAccepted","setCallAccepted","callEnded","setCallEnded","stream","setStream","name","setName","call","setCall","me","setMe","myVideo","useRef","userVideo","connectionRef","useEffect","navigator","mediaDevices","getUserMedia","video","audio","then","currentStream","current","srcObject","on","id","from","callerName","signal","isReceivingCall","Provider","value","callUser","peer","Peer","initiator","trickle","data","emit","userToCall","signalData","leaveCall","destroy","window","location","reload","answerCall","to","useStyles","makeStyles","theme","width","breakpoints","down","gridContainer","justifyContent","flexDirection","paper","padding","border","margin","VideoPlayer","useContext","classes","Grid","container","className","Paper","item","xs","md","Typography","variant","gutterBottom","playsInline","muted","ref","autoPlay","root","display","marginTop","Sidebar","idToCall","setIdToCall","Container","elevation","noValidate","autoComplete","TextField","label","onChange","e","target","fullWidth","text","Button","color","startIcon","Assignment","fontSize","PhoneDisabled","onClick","Phone","Notifications","style","appBar","borderRadius","alignItems","image","marginLeft","wrapper","App","AppBar","position","align","ReactDOM","render","document","getElementById"],"mappings":"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","file":"static/js/main.b73ac370.chunk.js","sourcesContent":["import React, { createContext, useState, useRef, useEffect } from 'react';\nimport { io } from 'socket.io-client';\nimport Peer from 'simple-peer';\n\nconst SocketContext = createContext();\n\n// const socket = io('http://localhost:5000');\nconst socket = io('https://webrtc-back-new.onrender.com/);\n\nconst ContextProvider = ({ children }) => {\n const [callAccepted, setCallAccepted] = useState(false);\n const [callEnded, setCallEnded] = useState(false);\n const [stream, setStream] = useState();\n const [name, setName] = useState('');\n const [call, setCall] = useState({});\n const [me, setMe] = useState('');\n\n const myVideo = useRef();\n const userVideo = useRef();\n const connectionRef = useRef();\n\n useEffect(() => {\n navigator.mediaDevices.getUserMedia({ video: true, audio: true })\n .then((currentStream) => {\n setStream(currentStream);\n\n myVideo.current.srcObject = currentStream;\n });\n\n socket.on('me', (id) => setMe(id));\n\n socket.on('callUser', ({ from, name: callerName, signal }) => {\n setCall({ isReceivingCall: true, from, name: callerName, signal });\n });\n }, []);\n\n const answerCall = () => {\n setCallAccepted(true);\n\n const peer = new Peer({ initiator: false, trickle: false, stream });\n\n peer.on('signal', (data) => {\n socket.emit('answerCall', { signal: data, to: call.from });\n });\n\n peer.on('stream', (currentStream) => {\n userVideo.current.srcObject = currentStream;\n });\n\n peer.signal(call.signal);\n\n connectionRef.current = peer;\n };\n\n const callUser = (id) => {\n const peer = new Peer({ initiator: true, trickle: false, stream });\n\n peer.on('signal', (data) => {\n socket.emit('callUser', { userToCall: id, signalData: data, from: me, name });\n });\n\n peer.on('stream', (currentStream) => {\n userVideo.current.srcObject = currentStream;\n });\n\n socket.on('callAccepted', (signal) => {\n setCallAccepted(true);\n\n peer.signal(signal);\n });\n\n connectionRef.current = peer;\n };\n\n const leaveCall = () => {\n setCallEnded(true);\n\n connectionRef.current.destroy();\n\n window.location.reload();\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport { ContextProvider, SocketContext };\n","import React, { useContext } from 'react';\nimport { Grid, Typography, Paper, makeStyles } from '@material-ui/core';\n\nimport { SocketContext } from '../Context';\n\nconst useStyles = makeStyles((theme) => ({\n video: {\n width: '550px',\n [theme.breakpoints.down('xs')]: {\n width: '300px',\n },\n },\n gridContainer: {\n justifyContent: 'center',\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n },\n },\n paper: {\n padding: '10px',\n border: '2px solid black',\n margin: '10px',\n },\n}));\n\nconst VideoPlayer = () => {\n const { name, callAccepted, myVideo, userVideo, callEnded, stream, call } = useContext(SocketContext);\n const classes = useStyles();\n\n return (\n \n {stream && (\n \n \n {name || 'Name'}\n \n \n )}\n {callAccepted && !callEnded && (\n \n \n {call.name || 'Name'}\n \n \n )}\n \n );\n};\n\nexport default VideoPlayer;\n","import React, { useState, useContext } from 'react';\nimport { Button, TextField, Grid, Typography, Container, Paper } from '@material-ui/core';\nimport { CopyToClipboard } from 'react-copy-to-clipboard';\nimport { Assignment, Phone, PhoneDisabled } from '@material-ui/icons';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport { SocketContext } from '../Context';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'column',\n },\n gridContainer: {\n width: '100%',\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n },\n },\n container: {\n width: '600px',\n margin: '35px 0',\n padding: 0,\n [theme.breakpoints.down('xs')]: {\n width: '80%',\n },\n },\n margin: {\n marginTop: 20,\n },\n padding: {\n padding: 20,\n },\n paper: {\n padding: '10px 20px',\n border: '2px solid black',\n },\n}));\n\nconst Sidebar = ({ children }) => {\n const { me, callAccepted, name, setName, callEnded, leaveCall, callUser } = useContext(SocketContext);\n const [idToCall, setIdToCall] = useState('');\n const classes = useStyles();\n\n return (\n \n \n
\n \n \n Account Info\n setName(e.target.value)} fullWidth />\n \n \n \n \n \n Make a call\n setIdToCall(e.target.value)} fullWidth />\n {callAccepted && !callEnded ? (\n \n ) : (\n \n )}\n \n \n
\n {children}\n
\n
\n );\n};\n\nexport default Sidebar;\n","import React, { useContext } from 'react';\nimport { Button } from '@material-ui/core';\n\nimport { SocketContext } from '../Context';\n\nconst Notifications = () => {\n const { answerCall, call, callAccepted } = useContext(SocketContext);\n\n return (\n <>\n {call.isReceivingCall && !callAccepted && (\n
\n

{call.name} is calling:

\n \n
\n )}\n \n );\n};\n\nexport default Notifications;\n","import React from 'react';\nimport { Typography, AppBar } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/core/styles';\n\nimport VideoPlayer from './components/VideoPlayer';\nimport Sidebar from './components/Sidebar';\nimport Notifications from './components/Notifications';\n\nconst useStyles = makeStyles((theme) => ({\n appBar: {\n borderRadius: 15,\n margin: '30px 100px',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n width: '600px',\n border: '2px solid black',\n\n [theme.breakpoints.down('xs')]: {\n width: '90%',\n },\n },\n image: {\n marginLeft: '15px',\n },\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100%',\n },\n}));\n\nconst App = () => {\n const classes = useStyles();\n\n return (\n
\n \n DEVcall\n \n \n \n \n \n
\n );\n};\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport App from './App';\nimport { ContextProvider } from './Context';\n\nimport './styles.css';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root'),\n);\n"],"sourceRoot":""} 2 | -------------------------------------------------------------------------------- /static/js/main.b73ac370.chunk.js: -------------------------------------------------------------------------------- 1 | (this.webpackJsonpclient = this.webpackJsonpclient || []).push([ 2 | [0], 3 | { 4 | 131: function (e, t) {}, 5 | 133: function (e, t) {}, 6 | 151: function (e, t, a) {}, 7 | 152: function (e, t, a) { 8 | "use strict"; 9 | a.r(t); 10 | var n = a(0), 11 | c = a(9), 12 | i = a.n(c), 13 | r = a(22), 14 | l = a(192), 15 | s = a(187), 16 | o = a(182), 17 | d = a(185), 18 | j = a(153), 19 | u = a(19), 20 | b = a(82), 21 | m = a(54), 22 | x = a.n(m), 23 | p = a(4), 24 | O = Object(n.createContext)(), 25 | f = Object(b.io)("https://webrtc-back-new.onrender.com/"), 26 | h = function (e) { 27 | var t = e.children, 28 | a = Object(n.useState)(!1), 29 | c = Object(u.a)(a, 2), 30 | i = c[0], 31 | r = c[1], 32 | l = Object(n.useState)(!1), 33 | s = Object(u.a)(l, 2), 34 | o = s[0], 35 | d = s[1], 36 | j = Object(n.useState)(), 37 | b = Object(u.a)(j, 2), 38 | m = b[0], 39 | h = b[1], 40 | g = Object(n.useState)(""), 41 | v = Object(u.a)(g, 2), 42 | w = v[0], 43 | C = v[1], 44 | y = Object(n.useState)({}), 45 | N = Object(u.a)(y, 2), 46 | k = N[0], 47 | I = N[1], 48 | D = Object(n.useState)(""), 49 | S = Object(u.a)(D, 2), 50 | A = S[0], 51 | B = S[1], 52 | E = Object(n.useRef)(), 53 | R = Object(n.useRef)(), 54 | U = Object(n.useRef)(); 55 | Object(n.useEffect)(function () { 56 | navigator.mediaDevices 57 | .getUserMedia({ video: !0, audio: !0 }) 58 | .then(function (e) { 59 | h(e), (E.current.srcObject = e); 60 | }), 61 | f.on("me", function (e) { 62 | return B(e); 63 | }), 64 | f.on("callUser", function (e) { 65 | var t = e.from, 66 | a = e.name, 67 | n = e.signal; 68 | I({ isReceivingCall: !0, from: t, name: a, signal: n }); 69 | }); 70 | }, []); 71 | return Object(p.jsx)(O.Provider, { 72 | value: { 73 | call: k, 74 | callAccepted: i, 75 | myVideo: E, 76 | userVideo: R, 77 | stream: m, 78 | name: w, 79 | setName: C, 80 | callEnded: o, 81 | me: A, 82 | callUser: function (e) { 83 | var t = new x.a({ initiator: !0, trickle: !1, stream: m }); 84 | t.on("signal", function (t) { 85 | f.emit("callUser", { 86 | userToCall: e, 87 | signalData: t, 88 | from: A, 89 | name: w, 90 | }); 91 | }), 92 | t.on("stream", function (e) { 93 | R.current.srcObject = e; 94 | }), 95 | f.on("callAccepted", function (e) { 96 | r(!0), t.signal(e); 97 | }), 98 | (U.current = t); 99 | }, 100 | leaveCall: function () { 101 | d(!0), U.current.destroy(), window.location.reload(); 102 | }, 103 | answerCall: function () { 104 | r(!0); 105 | var e = new x.a({ initiator: !1, trickle: !1, stream: m }); 106 | e.on("signal", function (e) { 107 | f.emit("answerCall", { signal: e, to: k.from }); 108 | }), 109 | e.on("stream", function (e) { 110 | R.current.srcObject = e; 111 | }), 112 | e.signal(k.signal), 113 | (U.current = e); 114 | }, 115 | }, 116 | children: t, 117 | }); 118 | }, 119 | g = Object(o.a)(function (e) { 120 | return { 121 | video: Object(r.a)({ width: "550px" }, e.breakpoints.down("xs"), { 122 | width: "300px", 123 | }), 124 | gridContainer: Object(r.a)( 125 | { justifyContent: "center" }, 126 | e.breakpoints.down("xs"), 127 | { flexDirection: "column" } 128 | ), 129 | paper: { 130 | padding: "10px", 131 | border: "2px solid black", 132 | margin: "10px", 133 | }, 134 | }; 135 | }), 136 | v = function () { 137 | var e = Object(n.useContext)(O), 138 | t = e.name, 139 | a = e.callAccepted, 140 | c = e.myVideo, 141 | i = e.userVideo, 142 | r = e.callEnded, 143 | l = e.stream, 144 | o = e.call, 145 | u = g(); 146 | return Object(p.jsxs)(d.a, { 147 | container: !0, 148 | className: u.gridContainer, 149 | children: [ 150 | l && 151 | Object(p.jsx)(j.a, { 152 | className: u.paper, 153 | children: Object(p.jsxs)(d.a, { 154 | item: !0, 155 | xs: 12, 156 | md: 6, 157 | children: [ 158 | Object(p.jsx)(s.a, { 159 | variant: "h5", 160 | gutterBottom: !0, 161 | children: t || "Name", 162 | }), 163 | Object(p.jsx)("video", { 164 | playsInline: !0, 165 | muted: !0, 166 | ref: c, 167 | autoPlay: !0, 168 | className: u.video, 169 | }), 170 | ], 171 | }), 172 | }), 173 | a && 174 | !r && 175 | Object(p.jsx)(j.a, { 176 | className: u.paper, 177 | children: Object(p.jsxs)(d.a, { 178 | item: !0, 179 | xs: 12, 180 | md: 6, 181 | children: [ 182 | Object(p.jsx)(s.a, { 183 | variant: "h5", 184 | gutterBottom: !0, 185 | children: o.name || "Name", 186 | }), 187 | Object(p.jsx)("video", { 188 | playsInline: !0, 189 | ref: i, 190 | autoPlay: !0, 191 | className: u.video, 192 | }), 193 | ], 194 | }), 195 | }), 196 | ], 197 | }); 198 | }, 199 | w = a(188), 200 | C = a(193), 201 | y = a(194), 202 | N = a(88), 203 | k = a(189), 204 | I = a(190), 205 | D = a(191), 206 | S = Object(o.a)(function (e) { 207 | return { 208 | root: { display: "flex", flexDirection: "column" }, 209 | gridContainer: Object(r.a)( 210 | { width: "100%" }, 211 | e.breakpoints.down("xs"), 212 | { flexDirection: "column" } 213 | ), 214 | container: Object(r.a)( 215 | { width: "600px", margin: "35px 0", padding: 0 }, 216 | e.breakpoints.down("xs"), 217 | { width: "80%" } 218 | ), 219 | margin: { marginTop: 20 }, 220 | padding: { padding: 20 }, 221 | paper: { padding: "10px 20px", border: "2px solid black" }, 222 | }; 223 | }), 224 | A = function (e) { 225 | var t = e.children, 226 | a = Object(n.useContext)(O), 227 | c = a.me, 228 | i = a.callAccepted, 229 | r = a.name, 230 | l = a.setName, 231 | o = a.callEnded, 232 | b = a.leaveCall, 233 | m = a.callUser, 234 | x = Object(n.useState)(""), 235 | f = Object(u.a)(x, 2), 236 | h = f[0], 237 | g = f[1], 238 | v = S(); 239 | return Object(p.jsx)(w.a, { 240 | className: v.container, 241 | children: Object(p.jsxs)(j.a, { 242 | elevation: 10, 243 | className: v.paper, 244 | children: [ 245 | Object(p.jsx)("form", { 246 | className: v.root, 247 | noValidate: !0, 248 | autoComplete: "off", 249 | children: Object(p.jsxs)(d.a, { 250 | container: !0, 251 | className: v.gridContainer, 252 | children: [ 253 | Object(p.jsxs)(d.a, { 254 | item: !0, 255 | xs: 12, 256 | md: 6, 257 | className: v.padding, 258 | children: [ 259 | Object(p.jsx)(s.a, { 260 | gutterBottom: !0, 261 | variant: "h6", 262 | children: "Account Info", 263 | }), 264 | Object(p.jsx)(C.a, { 265 | label: "Name", 266 | value: r, 267 | onChange: function (e) { 268 | return l(e.target.value); 269 | }, 270 | fullWidth: !0, 271 | }), 272 | Object(p.jsx)(N.CopyToClipboard, { 273 | text: c, 274 | className: v.margin, 275 | children: Object(p.jsx)(y.a, { 276 | variant: "contained", 277 | color: "primary", 278 | fullWidth: !0, 279 | startIcon: Object(p.jsx)(k.a, { 280 | fontSize: "large", 281 | }), 282 | children: "Copy Your ID", 283 | }), 284 | }), 285 | ], 286 | }), 287 | Object(p.jsxs)(d.a, { 288 | item: !0, 289 | xs: 12, 290 | md: 6, 291 | className: v.padding, 292 | children: [ 293 | Object(p.jsx)(s.a, { 294 | gutterBottom: !0, 295 | variant: "h6", 296 | children: "Make a call", 297 | }), 298 | Object(p.jsx)(C.a, { 299 | label: "ID to call", 300 | value: h, 301 | onChange: function (e) { 302 | return g(e.target.value); 303 | }, 304 | fullWidth: !0, 305 | }), 306 | i && !o 307 | ? Object(p.jsx)(y.a, { 308 | variant: "contained", 309 | color: "secondary", 310 | startIcon: Object(p.jsx)(I.a, { 311 | fontSize: "large", 312 | }), 313 | fullWidth: !0, 314 | onClick: b, 315 | className: v.margin, 316 | children: "Hang Up", 317 | }) 318 | : Object(p.jsx)(y.a, { 319 | variant: "contained", 320 | color: "primary", 321 | startIcon: Object(p.jsx)(D.a, { 322 | fontSize: "large", 323 | }), 324 | fullWidth: !0, 325 | onClick: function () { 326 | return m(h); 327 | }, 328 | className: v.margin, 329 | children: "Call", 330 | }), 331 | ], 332 | }), 333 | ], 334 | }), 335 | }), 336 | t, 337 | ], 338 | }), 339 | }); 340 | }, 341 | B = function () { 342 | var e = Object(n.useContext)(O), 343 | t = e.answerCall, 344 | a = e.call, 345 | c = e.callAccepted; 346 | return Object(p.jsx)(p.Fragment, { 347 | children: 348 | a.isReceivingCall && 349 | !c && 350 | Object(p.jsxs)("div", { 351 | style: { display: "flex", justifyContent: "space-around" }, 352 | children: [ 353 | Object(p.jsxs)("h1", { children: [a.name, " is calling:"] }), 354 | Object(p.jsx)(y.a, { 355 | variant: "contained", 356 | color: "primary", 357 | onClick: t, 358 | children: "Answer", 359 | }), 360 | ], 361 | }), 362 | }); 363 | }, 364 | E = Object(o.a)(function (e) { 365 | return { 366 | appBar: Object(r.a)( 367 | { 368 | borderRadius: 15, 369 | margin: "30px 100px", 370 | display: "flex", 371 | flexDirection: "row", 372 | justifyContent: "center", 373 | alignItems: "center", 374 | width: "600px", 375 | border: "2px solid black", 376 | }, 377 | e.breakpoints.down("xs"), 378 | { width: "90%" } 379 | ), 380 | image: { marginLeft: "15px" }, 381 | wrapper: { 382 | display: "flex", 383 | flexDirection: "column", 384 | alignItems: "center", 385 | width: "100%", 386 | }, 387 | }; 388 | }), 389 | R = function () { 390 | var e = E(); 391 | return Object(p.jsxs)("div", { 392 | className: e.wrapper, 393 | children: [ 394 | Object(p.jsx)(l.a, { 395 | className: e.appBar, 396 | position: "static", 397 | color: "inherit", 398 | children: Object(p.jsx)(s.a, { 399 | variant: "h2", 400 | align: "center", 401 | children: "DEVcall", 402 | }), 403 | }), 404 | Object(p.jsx)(v, {}), 405 | Object(p.jsx)(A, { children: Object(p.jsx)(B, {}) }), 406 | ], 407 | }); 408 | }; 409 | a(151); 410 | i.a.render( 411 | Object(p.jsx)(h, { children: Object(p.jsx)(R, {}) }), 412 | document.getElementById("root") 413 | ); 414 | }, 415 | }, 416 | [[152, 1, 2]], 417 | ]); 418 | //# sourceMappingURL=main.b73ac370.chunk.js.map 419 | --------------------------------------------------------------------------------