Nessuna descrizione

App.js 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. // import { StatusBar } from 'expo-status-bar';
  2. // import React, {useState} from 'react';
  3. // import { StyleSheet, Text, View } from 'react-native';
  4. // import * as Google from "expo-google-app-auth";
  5. // import {SocialIcon, socialIcon} from 'react-native-elements'
  6. // import {createDrawerNavigator} from '@react-navigation/drawer'
  7. // import { NavigationContainer } from '@react-navigation/native';
  8. // import * as SecureStore from 'expo-secure-store';
  9. // import HomeScreen from './Screens/HomeScreen'
  10. // import NotificationsScreen from './Screens/NotificationScreen'
  11. // import SettingScreen from './Screens/SettingScreen'
  12. // import AddTakenCourse from './Screens/AddTakenCourse'
  13. // import MyCurriculum from './Screens/MyCurriculum'
  14. // import EnrollNextSemester from './Screens/EnrollNextSemester'
  15. // const Drawer = createDrawerNavigator()
  16. // const IOS_CLIENT_ID =
  17. // "116415331974-tf6sehooctplmmn7j0gt831mdf1oqipl.apps.googleusercontent.com";
  18. // export default function App() {
  19. // const [hasToken, setHasToken] = useState(false)
  20. // const signInWithGoogle = async ()=>{
  21. // try {
  22. // const result = await Google.logInAsync({
  23. // iosClientId: IOS_CLIENT_ID,
  24. // scopes: ["profile", "email"]
  25. // })
  26. // if (result.type == "success"){
  27. // console.log(result.accessToken)
  28. // try {
  29. // // login user in backend
  30. // let response = await fetch('http://5ce95b6ddcbd.ngrok.io/rest-auth/google/', {
  31. // method: 'POST',
  32. // headers: {
  33. // 'content-type': 'application/json'
  34. // },
  35. // body: JSON.stringify({
  36. // access_token: `${result.accessToken}`
  37. // })
  38. // })
  39. // // storing our token
  40. // let responseJson = await response.json()
  41. // if (responseJson){
  42. // if (responseJson.key){
  43. // await SecureStore.setItemAsync('token', responseJson.key)
  44. // }
  45. // }
  46. // const token = await SecureStore.getItemAsync('token')
  47. // // storing our id
  48. // let id = await fetch('http://5ce95b6ddcbd.ngrok.io/api/get_user_id', {
  49. // method: 'GET',
  50. // headers: {
  51. // 'content-type': 'application/json',
  52. // Authorization: `Token ${token}`
  53. // }
  54. // })
  55. // let idJson = await id.json()
  56. // if (idJson){
  57. // if(idJson.user_id){
  58. // idJson = idJson.user_id
  59. // let id = idJson.toString()
  60. // await SecureStore.setItemAsync('id', id)
  61. // }
  62. // }
  63. // } catch(error){
  64. // console.log(error)
  65. // }
  66. // setHasToken(true) // update states and redirect
  67. // }
  68. // else {
  69. // console.log("no")
  70. // }
  71. // } catch(error){
  72. // console.log(error)
  73. // }
  74. // }
  75. // if (!hasToken){
  76. // return (
  77. // <View style={styles.container}>
  78. // <SocialIcon title="Login With Google" button={true} type={"google"} onPress={signInWithGoogle}/>
  79. // </View>
  80. // );
  81. // }
  82. // return (
  83. // <NavigationContainer>
  84. // <Drawer.Navigator initialRouteName="Home">
  85. // <Drawer.Screen name="Home" component={HomeScreen}/>
  86. // <Drawer.Screen name="Notifications" component={NotificationsScreen} />
  87. // <Drawer.Screen name="Settings" component={SettingScreen} />
  88. // <Drawer.Screen name="Add Taken Courses" component={AddTakenCourse} />
  89. // <Drawer.Screen name="My Curriculum" component={MyCurriculum} />
  90. // <Drawer.Screen name="Enroll Next Semester" component={EnrollNextSemester} />
  91. // </Drawer.Navigator>
  92. // </NavigationContainer>
  93. // )
  94. // }
  95. // const styles = StyleSheet.create({
  96. // container: {
  97. // flex: 1,
  98. // backgroundColor: '#fff',
  99. // alignItems: 'center',
  100. // justifyContent: 'center',
  101. // },
  102. // });
  103. import { StatusBar } from 'expo-status-bar';
  104. import React, {useState} from 'react';
  105. import { StyleSheet, Text, View } from 'react-native';
  106. import * as Google from "expo-google-app-auth";
  107. import {SocialIcon, socialIcon} from 'react-native-elements'
  108. import {createDrawerNavigator} from '@react-navigation/drawer'
  109. import { NavigationContainer } from '@react-navigation/native';
  110. import { createStackNavigator } from '@react-navigation/stack';
  111. import * as SecureStore from 'expo-secure-store';
  112. import Login from './Screens/Login'
  113. import Logout from './Screens/Logout'
  114. import HomeScreen from './Screens/HomeScreen';
  115. export default function App() {
  116. const Stack = createStackNavigator();
  117. return (
  118. <NavigationContainer>
  119. <Stack.Navigator
  120. screenOptions={{headerShown: false}}
  121. initialRouteName = "Login"
  122. >
  123. <Stack.Screen name = "Login" component={Login}/>
  124. <Stack.Screen name = "Logout" component={Logout}/>
  125. </Stack.Navigator>
  126. </NavigationContainer>
  127. )
  128. }
  129. const styles = StyleSheet.create({
  130. container: {
  131. flex: 1,
  132. backgroundColor: '#fff',
  133. alignItems: 'center',
  134. justifyContent: 'center',
  135. },
  136. });