From 6f5594e649b5dd2da02b0ecc8844f7a55642b519 Mon Sep 17 00:00:00 2001 From: AlexanderWangY Date: Wed, 3 Apr 2024 21:07:10 -0400 Subject: [PATCH 1/2] added general structure for navigation --- client/App.tsx | 44 ++++- client/package-lock.json | 185 ++++++++++++------- client/package.json | 9 +- client/src/components/Home/WelcomeScreen.tsx | 120 +++++++----- server/firebase-secrets.json | 13 ++ 5 files changed, 250 insertions(+), 121 deletions(-) create mode 100644 server/firebase-secrets.json diff --git a/client/App.tsx b/client/App.tsx index cd2a5f69d..e0222d60d 100644 --- a/client/App.tsx +++ b/client/App.tsx @@ -1,14 +1,44 @@ import React from "react"; import { StyleSheet, View, Text } from "react-native"; +import { AuthStore } from "./src/services/store"; +import { NavigationContainer } from "@react-navigation/native"; +import { createStackNavigator } from "@react-navigation/stack"; +import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; +import WelcomeScreen from "./src/components/Home/WelcomeScreen"; +import SignUpScreen from "./src/components/Auth/SignUpScreen"; +import LoginScreen from "./src/components/Auth/LoginScreen"; +import ChatScreen from "./src/components/Chat/ChatScreen"; +import SettingsScreen from "./src/components/Settings/SettingsScreen"; + +const Stack = createStackNavigator(); +const Tab = createBottomTabNavigator(); + +const App = () => { + const { initialized, isLoggedin } = AuthStore.useState(); + + if (!initialized) return Loading...; -export default function App() { return ( - - This Componenet is DEPRECATED. - DO NOT TOUCH. THE NEW ENTRY POINT IS AT 'app/index.tsx' - + + {isLoggedin ? ( + + + + + ) : ( + + + + + + )} + ); -} +}; const styles = StyleSheet.create({ container: { @@ -18,3 +48,5 @@ const styles = StyleSheet.create({ justifyContent: "center", }, }); + +export default App; diff --git a/client/package-lock.json b/client/package-lock.json index eb11d1b71..a1a0f0199 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -12,6 +12,9 @@ "@react-native-async-storage/async-storage": "1.18.2", "@react-native-firebase/app": "^18.7.3", "@react-native-firebase/auth": "^18.7.3", + "@react-navigation/bottom-tabs": "^6.5.20", + "@react-navigation/native": "^6.1.17", + "@react-navigation/stack": "^6.3.29", "expo": "~49.0.12", "expo-cli": "^6.3.10", "expo-constants": "~14.4.2", @@ -6736,11 +6739,11 @@ } }, "node_modules/@react-navigation/bottom-tabs": { - "version": "6.5.11", - "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.11.tgz", - "integrity": "sha512-CBN/NOdxnMvmjw+AJQI1kltOYaClTZmGec5pQ3ZNTPX86ytbIOylDIITKMfTgHZcIEFQDymx1SHeS++PIL3Szw==", + "version": "6.5.20", + "resolved": "https://registry.npmjs.org/@react-navigation/bottom-tabs/-/bottom-tabs-6.5.20.tgz", + "integrity": "sha512-ow6Z06iS4VqBO8d7FP+HsGjJLWt2xTWIvuWjpoCvsM/uQXzCRDIjBv9HaKcXbF0yTW7IMir0oDAbU5PFzEDdgA==", "dependencies": { - "@react-navigation/elements": "^1.3.21", + "@react-navigation/elements": "^1.3.30", "color": "^4.2.3", "warn-once": "^0.1.0" }, @@ -6753,16 +6756,16 @@ } }, "node_modules/@react-navigation/core": { - "version": "6.4.10", - "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.10.tgz", - "integrity": "sha512-oYhqxETRHNHKsipm/BtGL0LI43Hs2VSFoWMbBdHK9OqgQPjTVUitslgLcPpo4zApCcmBWoOLX2qPxhsBda644A==", + "version": "6.4.16", + "resolved": "https://registry.npmjs.org/@react-navigation/core/-/core-6.4.16.tgz", + "integrity": "sha512-UDTJBsHxnzgFETR3ZxhctP+RWr4SkyeZpbhpkQoIGOuwSCkt1SE0qjU48/u6r6w6XlX8OqVudn1Ab0QFXTHxuQ==", "dependencies": { "@react-navigation/routers": "^6.1.9", "escape-string-regexp": "^4.0.0", "nanoid": "^3.1.23", "query-string": "^7.1.3", "react-is": "^16.13.0", - "use-latest-callback": "^0.1.7" + "use-latest-callback": "^0.1.9" }, "peerDependencies": { "react": "*" @@ -6780,9 +6783,9 @@ } }, "node_modules/@react-navigation/elements": { - "version": "1.3.21", - "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.21.tgz", - "integrity": "sha512-eyS2C6McNR8ihUoYfc166O1D8VYVh9KIl0UQPI8/ZJVsStlfSTgeEEh+WXge6+7SFPnZ4ewzEJdSAHH+jzcEfg==", + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@react-navigation/elements/-/elements-1.3.30.tgz", + "integrity": "sha512-plhc8UvCZs0UkV+sI+3bisIyn78wz9O/BiWZXpounu72k/R/Sj5PuZYFJ1fi6psvriUveMCGh4LeZckAZu2qiQ==", "peerDependencies": { "@react-navigation/native": "^6.0.0", "react": "*", @@ -6791,11 +6794,11 @@ } }, "node_modules/@react-navigation/native": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.9.tgz", - "integrity": "sha512-AMuJDpwXE7UlfyhIXaUCCynXmv69Kb8NzKgKJO7v0k0L+u6xUTbt6xvshmJ79vsvaFyaEH9Jg5FMzek5/S5qNw==", + "version": "6.1.17", + "resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-6.1.17.tgz", + "integrity": "sha512-mer3OvfwWOHoUSMJyLa4vnBH3zpFmCwuzrBPlw7feXklurr/ZDiLjLxUScOot6jLRMz/67GyilEYMmP99LL0RQ==", "dependencies": { - "@react-navigation/core": "^6.4.10", + "@react-navigation/core": "^6.4.16", "escape-string-regexp": "^4.0.0", "fast-deep-equal": "^3.1.3", "nanoid": "^3.1.23" @@ -6806,11 +6809,11 @@ } }, "node_modules/@react-navigation/native-stack": { - "version": "6.9.17", - "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.17.tgz", - "integrity": "sha512-X8p8aS7JptQq7uZZNFEvfEcPf6tlK4PyVwYDdryRbG98B4bh2wFQYMThxvqa+FGEN7USEuHdv2mF0GhFKfX0ew==", + "version": "6.9.26", + "resolved": "https://registry.npmjs.org/@react-navigation/native-stack/-/native-stack-6.9.26.tgz", + "integrity": "sha512-++dueQ+FDj2XkZ902DVrK79ub1vp19nSdAZWxKRgd6+Bc0Niiesua6rMCqymYOVaYh+dagwkA9r00bpt/U5WLw==", "dependencies": { - "@react-navigation/elements": "^1.3.21", + "@react-navigation/elements": "^1.3.30", "warn-once": "^0.1.0" }, "peerDependencies": { @@ -6840,6 +6843,24 @@ "nanoid": "^3.1.23" } }, + "node_modules/@react-navigation/stack": { + "version": "6.3.29", + "resolved": "https://registry.npmjs.org/@react-navigation/stack/-/stack-6.3.29.tgz", + "integrity": "sha512-tzlGkoRgB6P7vgw7rHuWo3TL7Gzu6xh5LMf+zSdCuEiKp/qASzxYfnTEr9tOLbVs/gf+qeukEDheCSAJKVpBXw==", + "dependencies": { + "@react-navigation/elements": "^1.3.30", + "color": "^4.2.3", + "warn-once": "^0.1.0" + }, + "peerDependencies": { + "@react-navigation/native": "^6.0.0", + "react": "*", + "react-native": "*", + "react-native-gesture-handler": ">= 1.0.0", + "react-native-safe-area-context": ">= 3.0.0", + "react-native-screens": ">= 3.0.0" + } + }, "node_modules/@segment/loosely-validate-event": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz", @@ -8408,13 +8429,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9567,16 +9593,19 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -9966,6 +9995,25 @@ "node": ">= 0.8" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", @@ -11247,9 +11295,9 @@ } }, "node_modules/expo-router": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-2.0.14.tgz", - "integrity": "sha512-F5dP4WMe+zQLzlGSbC+NT9/67FGgwmUCJuPGD4BkK0eRt0uga+y53vQ59m5MCOebqE0N9Ukr/Jz8Num16iGqZA==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/expo-router/-/expo-router-2.0.15.tgz", + "integrity": "sha512-6TZKWG6nVne5kGjTPOInAEsSmWy2K4DxXp96OoNUXKoRbJYIZyB++0VQRhXcUCGQSXZRfUa0z2ud8CusF+axNA==", "dependencies": { "@bacons/react-views": "^1.1.3", "@expo/metro-runtime": "2.2.16", @@ -11267,10 +11315,6 @@ "peerDependencies": { "@react-navigation/drawer": "^6.5.8", "expo": "^49.0.0", - "expo-constants": "*", - "expo-linking": "*", - "expo-status-bar": "*", - "metro": "~0.76.7", "react-native-gesture-handler": "*", "react-native-reanimated": "*", "react-native-safe-area-context": "*", @@ -12015,15 +12059,19 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12207,20 +12255,20 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" }, @@ -17639,9 +17687,9 @@ } }, "node_modules/react-native-gesture-handler": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.14.1.tgz", - "integrity": "sha512-YiM1BApV4aKeuwsM6O4C2ufwewYEKk6VMXOt0YqEZFMwABBFWhXLySFZYjBSNRU2USGppJbfHP1q1DfFQpKhdA==", + "version": "2.16.0", + "resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.16.0.tgz", + "integrity": "sha512-1hFkx7RIfeJSyTQQ0Nkv4icFVZ5+XjQkd47OgZMBFzoB7ecL+nFSz8KLi3OCWOhq+nbHpSPlSG5VF3CQNCJpWA==", "peer": true, "dependencies": { "@egjs/hammerjs": "^2.0.17", @@ -18420,15 +18468,16 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/set-function-length": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", - "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { - "define-data-property": "^1.1.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -18488,13 +18537,17 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -19920,11 +19973,11 @@ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" }, "node_modules/url/node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" diff --git a/client/package.json b/client/package.json index 995d4e31d..a41d23021 100644 --- a/client/package.json +++ b/client/package.json @@ -1,7 +1,7 @@ { "name": "osc-proximity-chat-app", "version": "1.0.0", - "main": "expo-router/entry", + "main": "node_modules/expo/AppEntry.js", "scripts": { "start": "expo start", "android": "expo start --android", @@ -13,6 +13,9 @@ "@react-native-async-storage/async-storage": "1.18.2", "@react-native-firebase/app": "^18.7.3", "@react-native-firebase/auth": "^18.7.3", + "@react-navigation/bottom-tabs": "^6.5.20", + "@react-navigation/native": "^6.1.17", + "@react-navigation/stack": "^6.3.29", "expo": "~49.0.12", "expo-cli": "^6.3.10", "expo-constants": "~14.4.2", @@ -35,10 +38,10 @@ "react-native-fs": "^2.20.0", "react-native-safe-area-context": "4.6.3", "react-native-screens": "~3.22.0", + "react-native-svg": "13.9.0", "react-native-uuid": "^2.0.1", "react-native-web": "~0.19.6", - "socket.io-client": "^4.7.4", - "react-native-svg": "13.9.0" + "socket.io-client": "^4.7.4" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/client/src/components/Home/WelcomeScreen.tsx b/client/src/components/Home/WelcomeScreen.tsx index 2a63a624d..3c77105e6 100644 --- a/client/src/components/Home/WelcomeScreen.tsx +++ b/client/src/components/Home/WelcomeScreen.tsx @@ -1,24 +1,40 @@ -import React, { useState, useCallback, useEffect } from 'react' -import { View, Text, Image, StyleSheet, Dimensions, TouchableOpacity, TouchableWithoutFeedback, Keyboard, Platform, KeyboardAvoidingView, SafeAreaView } from 'react-native'; -import { useFonts } from 'expo-font'; -import { Link, router } from 'expo-router'; -import * as SplashScreen from 'expo-splash-screen'; -import { WelcomeEmailInput } from '../Common/CustomInputs'; -import { AuthenticationErrorMessage, AuthenticationResponse, inValidEmailResponse } from '../Auth/AuthenticationResponse'; -import { FirebaseError } from 'firebase/app'; +import React, { useState, useCallback, useEffect } from "react"; +import { + View, + Text, + Image, + StyleSheet, + Dimensions, + TouchableOpacity, + TouchableWithoutFeedback, + Keyboard, + Platform, + KeyboardAvoidingView, + SafeAreaView, +} from "react-native"; +import { useFonts } from "expo-font"; +import { Link, router } from "expo-router"; +import * as SplashScreen from "expo-splash-screen"; +import { WelcomeEmailInput } from "../Common/CustomInputs"; +import { + AuthenticationErrorMessage, + AuthenticationResponse, + inValidEmailResponse, +} from "../Auth/AuthenticationResponse"; +import { FirebaseError } from "firebase/app"; const WelcomeScreen = () => { - const keyboardVerticalOffest = Platform.OS === "ios" ? 0 : 0; const keyboardBehavior = Platform.OS === "ios" ? "padding" : undefined; const [fontsLoaded, fontError] = useFonts({ - 'Gilroy-ExtraBold': require('../../../assets/fonts/Gilroy-ExtraBold.otf'), - 'Gilroy-Light': require('../../../assets/fonts/Gilroy-Light.otf'), + "Gilroy-ExtraBold": require("../../../assets/fonts/Gilroy-ExtraBold.otf"), + "Gilroy-Light": require("../../../assets/fonts/Gilroy-Light.otf"), }); - const [email, setEmail] = useState(''); - const [authResponse, setAuthResponse] = React.useState(); + const [email, setEmail] = useState(""); + const [authResponse, setAuthResponse] = + React.useState(); if (!fontsLoaded && !fontError) { return null; @@ -26,15 +42,17 @@ const WelcomeScreen = () => { const handleLogin = () => { const preparedEmail = email.trim(); - if ((preparedEmail.length !== 0) && isValidEmail(preparedEmail)) { - router.push( { pathname: '/login', params: { inputEmail: preparedEmail } } ); - setAuthResponse(undefined) + if (preparedEmail.length !== 0 && isValidEmail(preparedEmail)) { + router.push({ + pathname: "/login", + params: { inputEmail: preparedEmail }, + }); + setAuthResponse(undefined); } else { - console.log('Invalid email'); - setAuthResponse({user: undefined, error: inValidEmailResponse}) + console.log("Invalid email"); + setAuthResponse({ user: undefined, error: inValidEmailResponse }); } - } - + }; const isValidEmail = (email: string) => { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; @@ -43,53 +61,65 @@ const WelcomeScreen = () => { return ( - - + - - - - - - + Welcome to Proximity Chat! - Login - setEmail(text)} /> - - - + setEmail(text)} + /> + + + - - setAuthResponse(undefined)} /> + setAuthResponse(undefined)} + /> - Don't have an account? Sign up! + Don't have an account?{" "} + + Sign up! + - - ) -} + ); +}; const styles = StyleSheet.create({ image: { @@ -120,10 +150,10 @@ const styles = StyleSheet.create({ display: "flex", flexDirection: "column", alignItems: "center", - height: '100%', - width: '100%', + height: "100%", + width: "100%", justifyContent: "flex-end", - + backgroundColor: "white", }, sub_container: { @@ -142,7 +172,6 @@ const styles = StyleSheet.create({ alignItems: "center", justifyContent: "space-evenly", minHeight: Dimensions.get("window").height * 0.35, - }, login_container: { @@ -188,8 +217,7 @@ const styles = StyleSheet.create({ link: { color: "#5dbea3", textDecorationLine: "underline", - } - + }, }); -export default WelcomeScreen +export default WelcomeScreen; diff --git a/server/firebase-secrets.json b/server/firebase-secrets.json new file mode 100644 index 000000000..c0067aaa4 --- /dev/null +++ b/server/firebase-secrets.json @@ -0,0 +1,13 @@ +{ + "type": "service_account", + "project_id": "fir-auth-89462", + "private_key_id": "56de1a661f9382e9609d3c5d2267b8fd2eb51cf1", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2nIj9GtQTnVnV\nLgcKKKDTWXxbZetqCf1G3Ioad49zgY0+KW5kBGA5wxXJFYarPl3GLhbHr/15h2Y9\n74AFuen7MsXniBZYcT18k05R0yr2PVBTQsMj1DfwPt/XSjuXbLac0th5V07Xslpw\nJt3la3+NAlwThiRaCRz0q8R6pRcbwGmwefOG4K7J9DpNOCdgvYAcZvm6mo3QYUgX\nz8ve+MUmuuF1l6XEOicXVAuO6iOOCRJOXnteOl5ewls3z0gRan7/KqnHr2zTKSzS\nqJz8FZrKABuAWt7blKIhevTwyAr5gK+PWEU3mbUsmFk9792J44jDEtiy4tCdCxQQ\n0TFaWuzxAgMBAAECggEAJIQsY5qmDo8QW/ASkc46jNDv7HH2z7NULcOjrTO74J/n\nL+dGjyMN3/caJ+YRUjSMOXlVblSLxi3UfO2j5uE8wBHw38IHn+NzJXJqfrPQu0Fb\nCu9GiOdi0Tytc8aBIKBpavZBuhACsODWM2eeR0aGENtIMNJJ+iQo4WdoyJKzSoXK\nXXAAaCf2PucHQlTm/pHjLYEpxcHssSOgQHlOgkr6w3ODHM4DtitAcv8nvzUcUpPT\nCmULpPG1n25uc6vsjQxYP35WGA17Y85IrO7+H4losyqRqRRsfuNGwNEjLJowmrYB\nwKBryxgFvl60zKN8MOeCZ47cTgS+AOPYRe6Cl5BUTQKBgQDvvsEO1FiPx/mRFBvc\nezf/KpQ0OdqfsIj4gooTrlIogsAdJaChyi+jCH+Qu6jnYDSFUYM/N2bK2H6FIo7o\neh/uU0ng8VIRYlOZMO+J4nXzF/iWi/+cUu67vfkb+T252l3eKwUDAlpXlP/3nFAN\npZlwIboLYdpu+5IvFjOZ7oDAtQKBgQDC/h1ITIlkjA5MqckG2FGXerjH4LyZwBAS\nwHTSUeXvhTt3tTZ8j/dovUwaKcJ986UZlx2t/La0Fw0UVNtqohm/lLk7JMX2tk8a\nmoa1perWYC5OzEzQGztfYGYGs5VogsXOiEyC2eKOnsAnjLAXnRLhu6s6pE0RYwFG\nG26sxAuszQKBgHUDgpDtXYhXz1xbFzomve8B5jITZrx4WnIIrMHsXFc/cesH+X3e\nBCArvq9ymH7NuvSzEz8gmEA7KI1sj5myObGF31I2Fps7hZgIhXGkIXOT6JX6ILk4\n1SK3F0XrAZCbnyMXliug011Z8RD2ry/p+pj7LSXvDcELco8e4/KmsRrdAoGAKMhT\nQYrYdZIhb4FXTTozHnaJbSyg5ZtZAUMFa/O7HrSD8o6RHc5SlbJ510MCrasmzcpg\nZ8JiSBpGHwl8drn+nqYxc6BGU0pgExVctWNFUZ7+MHbkXeZELbeQvzgSOLCZRJAX\nSIrfqqqjT+JJ9jZg+5tvva0dfVRysMIODM5YDsUCgYEA6+iuShc+RhD3FIqog3gd\nk6oSedhiRaJy9guEjaRFsQpXUXwQ9fd3aqdFmN3j2oFNKQxK7d+TBtoAI2KFgcLf\n8BtHflz1gnY6+hPtQJNSnxkPMzvVcSydQ35xRlkEJ0jpmaoLbafrFaI0lA+Htc+2\nxPMXsbecDxzC+jsStleMLF0=\n-----END PRIVATE KEY-----\n", + "client_email": "firebase-adminsdk-f0nzi@fir-auth-89462.iam.gserviceaccount.com", + "client_id": "102183968562626917121", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-f0nzi%40fir-auth-89462.iam.gserviceaccount.com", + "universe_domain": "googleapis.com" +} From 258223eb62048ce72984d8e947850960c1a9f866 Mon Sep 17 00:00:00 2001 From: Alexander Wang <98280966+AlexanderWangY@users.noreply.github.com> Date: Wed, 3 Apr 2024 21:08:58 -0400 Subject: [PATCH 2/2] fixing error --- server/firebase-secrets.json | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 server/firebase-secrets.json diff --git a/server/firebase-secrets.json b/server/firebase-secrets.json deleted file mode 100644 index c0067aaa4..000000000 --- a/server/firebase-secrets.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "service_account", - "project_id": "fir-auth-89462", - "private_key_id": "56de1a661f9382e9609d3c5d2267b8fd2eb51cf1", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC2nIj9GtQTnVnV\nLgcKKKDTWXxbZetqCf1G3Ioad49zgY0+KW5kBGA5wxXJFYarPl3GLhbHr/15h2Y9\n74AFuen7MsXniBZYcT18k05R0yr2PVBTQsMj1DfwPt/XSjuXbLac0th5V07Xslpw\nJt3la3+NAlwThiRaCRz0q8R6pRcbwGmwefOG4K7J9DpNOCdgvYAcZvm6mo3QYUgX\nz8ve+MUmuuF1l6XEOicXVAuO6iOOCRJOXnteOl5ewls3z0gRan7/KqnHr2zTKSzS\nqJz8FZrKABuAWt7blKIhevTwyAr5gK+PWEU3mbUsmFk9792J44jDEtiy4tCdCxQQ\n0TFaWuzxAgMBAAECggEAJIQsY5qmDo8QW/ASkc46jNDv7HH2z7NULcOjrTO74J/n\nL+dGjyMN3/caJ+YRUjSMOXlVblSLxi3UfO2j5uE8wBHw38IHn+NzJXJqfrPQu0Fb\nCu9GiOdi0Tytc8aBIKBpavZBuhACsODWM2eeR0aGENtIMNJJ+iQo4WdoyJKzSoXK\nXXAAaCf2PucHQlTm/pHjLYEpxcHssSOgQHlOgkr6w3ODHM4DtitAcv8nvzUcUpPT\nCmULpPG1n25uc6vsjQxYP35WGA17Y85IrO7+H4losyqRqRRsfuNGwNEjLJowmrYB\nwKBryxgFvl60zKN8MOeCZ47cTgS+AOPYRe6Cl5BUTQKBgQDvvsEO1FiPx/mRFBvc\nezf/KpQ0OdqfsIj4gooTrlIogsAdJaChyi+jCH+Qu6jnYDSFUYM/N2bK2H6FIo7o\neh/uU0ng8VIRYlOZMO+J4nXzF/iWi/+cUu67vfkb+T252l3eKwUDAlpXlP/3nFAN\npZlwIboLYdpu+5IvFjOZ7oDAtQKBgQDC/h1ITIlkjA5MqckG2FGXerjH4LyZwBAS\nwHTSUeXvhTt3tTZ8j/dovUwaKcJ986UZlx2t/La0Fw0UVNtqohm/lLk7JMX2tk8a\nmoa1perWYC5OzEzQGztfYGYGs5VogsXOiEyC2eKOnsAnjLAXnRLhu6s6pE0RYwFG\nG26sxAuszQKBgHUDgpDtXYhXz1xbFzomve8B5jITZrx4WnIIrMHsXFc/cesH+X3e\nBCArvq9ymH7NuvSzEz8gmEA7KI1sj5myObGF31I2Fps7hZgIhXGkIXOT6JX6ILk4\n1SK3F0XrAZCbnyMXliug011Z8RD2ry/p+pj7LSXvDcELco8e4/KmsRrdAoGAKMhT\nQYrYdZIhb4FXTTozHnaJbSyg5ZtZAUMFa/O7HrSD8o6RHc5SlbJ510MCrasmzcpg\nZ8JiSBpGHwl8drn+nqYxc6BGU0pgExVctWNFUZ7+MHbkXeZELbeQvzgSOLCZRJAX\nSIrfqqqjT+JJ9jZg+5tvva0dfVRysMIODM5YDsUCgYEA6+iuShc+RhD3FIqog3gd\nk6oSedhiRaJy9guEjaRFsQpXUXwQ9fd3aqdFmN3j2oFNKQxK7d+TBtoAI2KFgcLf\n8BtHflz1gnY6+hPtQJNSnxkPMzvVcSydQ35xRlkEJ0jpmaoLbafrFaI0lA+Htc+2\nxPMXsbecDxzC+jsStleMLF0=\n-----END PRIVATE KEY-----\n", - "client_email": "firebase-adminsdk-f0nzi@fir-auth-89462.iam.gserviceaccount.com", - "client_id": "102183968562626917121", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-f0nzi%40fir-auth-89462.iam.gserviceaccount.com", - "universe_domain": "googleapis.com" -}