Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
DevanshPaliwal authored Aug 8, 2024
1 parent 1f8f7f9 commit df06aea
Show file tree
Hide file tree
Showing 6 changed files with 12,487 additions and 0 deletions.
20 changes: 20 additions & 0 deletions Video Calling App/App.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import React from 'react'
import { Text } from 'react-native'
import { NavigationContainer } from '@react-navigation/native'
import { createNativeStackNavigator } from '@react-navigation/native-stack'
import HomePage from './components/HomePage'
import CallPage from './components/CallPage'


const Stack = createNativeStackNavigator()

export default function App() {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="HomePage" component={HomePage} />
<Stack.Screen name="CallPage" component={CallPage} />
</Stack.Navigator>
</NavigationContainer>
)
}
79 changes: 79 additions & 0 deletions Video Calling App/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).

# Getting Started

>**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding.
## Step 1: Start the Metro Server

First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native.

To start Metro, run the following command from the _root_ of your React Native project:

```bash
# using npm
npm start

# OR using Yarn
yarn start
```

## Step 2: Start your Application

Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app:

### For Android

```bash
# using npm
npm run android

# OR using Yarn
yarn android
```

### For iOS

```bash
# using npm
npm run ios

# OR using Yarn
yarn ios
```

If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.

## Step 3: Modifying your App

Now that you have successfully run the app, let's modify it.

1. Open `App.tsx` in your text editor of choice and edit some lines.
2. For **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Developer Menu** (<kbd>Ctrl</kbd> + <kbd>M</kbd> (on Window and Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (on macOS)) to see your changes!

For **iOS**: Hit <kbd>Cmd ⌘</kbd> + <kbd>R</kbd> in your iOS Simulator to reload the app and see your changes!

## Congratulations! :tada:

You've successfully run and modified your React Native App. :partying_face:

### Now what?

- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started).

# Troubleshooting

If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.

# Learn More

To learn more about React Native, take a look at the following resources:

- [React Native Website](https://reactnative.dev) - learn more about React Native.
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.
45 changes: 45 additions & 0 deletions Video Calling App/components/CallPage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import React from 'react'
import { Text,StyleSheet,View } from "react-native"
import {ZegoUIKitPrebuiltCall, ONE_ON_ONE_VIDEO_CALL_CONFIG } from '@zegocloud/zego-uikit-prebuilt-call-rn'
import HomePage from './HomePage'
import { LogBox } from 'react-native';
LogBox.ignoreAllLogs();


const CallPage=(props,{navigation})=>{
console.log(props.route.params)
const name=props.route.params.data
const id=props.route.params.id
return (
<View style={styles.container}>
<ZegoUIKitPrebuiltCall
appID={618790259}
appSign={'5fae635116eb3b1ae60fa10ca0ef773cf286b0f62ffc79dab42546f18e17b6b2'}
userID={name} // userID can be something like a phone number or the user id on your own user system.
userName={name}
callID={id} // callID can be any unique string.

config={{
// You can also use ONE_ON_ONE_VOICE_CALL_CONFIG/GROUP_VIDEO_CALL_CONFIG/GROUP_VOICE_CALL_CONFIG to make more types of calls.
...ONE_ON_ONE_VIDEO_CALL_CONFIG,
onOnlySelfInRoom: () => {
props.navigation.navigate('HomePage',{})
},
onHangUp: () => {
props.navigation.navigate('HomePage',{})
},
}}
/>
</View>
);
}

const styles=StyleSheet.create({
container:{
flex:1,
justifyContent:'center',
alignItems:'center',
},
})

export default CallPage
63 changes: 63 additions & 0 deletions Video Calling App/components/HomePage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import React,{useState,useEffect} from 'react'
import { Button, StyleSheet, Text, TextInput,Touchable,TouchableOpacity,View } from "react-native"
import { NavigationContainer } from '@react-navigation/native'
import { createNativeStackNavigator } from '@react-navigation/native-stack'
import { LogBox } from 'react-native';
LogBox.ignoreAllLogs();

const HomePage=({navigation})=>{

const[name,setName]=useState('')
const[callid,setCallid]=useState(0)
return(
<View style={styles.container}>
<Text style={{fontSize:40,marginBottom:50,color:'white',fontWeight:'bold'}}>Video Calling App</Text>
<TextInput
style={styles.input}
placeholder='Enter your name '
onChangeText={e=>setName(e)}
>
</TextInput>
<TextInput
style={styles.input}
placeholder='Enter call id '
onChangeText={x=>setCallid(x)}
>
</TextInput>
<TouchableOpacity style={styles.joinbtn} onPress={()=>{navigation.navigate('CallPage',{data:name,id:callid})}}>
<Text style={{textAlign:'center',marginTop:14,color:'black'}}>Join Call</Text>
</TouchableOpacity>
</View>
)
}

const styles=StyleSheet.create({
container:{
flex:1,
justifyContent:'center',
alignItems:'center',
backgroundColor:'#ddd5f3',
},
input:{
height:40,
margin:8,
width:'90%',
color:'black',
borderColor:'black',
borderWidth:1.6,
borderRadius:10,
},
joinbtn:{
height:50,
width:'25%',
borderWidth:1,
borderRadius:10,
backgroundColor:'#cec2eb',
margin:10,
elevation:10,
shadowColor:'black',
},
})


export default HomePage
Loading

0 comments on commit df06aea

Please sign in to comment.