| 
									
										
										
										
											2024-02-03 20:30:00 -07:00
										 |  |  | import { DEV_USER_ID } from "@env"; | 
					
						
							| 
									
										
										
										
											2024-02-05 22:50:24 -08:00
										 |  |  | import React, { useEffect } from "react"; | 
					
						
							| 
									
										
										
										
											2024-02-03 18:23:46 -07:00
										 |  |  | import { ClientProvider, useAuthHeader } from "./graphql/client"; | 
					
						
							| 
									
										
										
										
											2024-02-03 20:30:00 -07:00
										 |  |  | import AppNavigator from "./navigation/app-navigator"; | 
					
						
							| 
									
										
										
										
											2024-02-05 22:50:24 -08:00
										 |  |  | import { getCurrentUserToken } from "./auth"; | 
					
						
							| 
									
										
										
										
											2024-02-03 18:23:46 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:50:24 -08:00
										 |  |  | // TODO: can be done when we go with a src top level directory -- should live on cofig
 | 
					
						
							| 
									
										
										
										
											2024-02-03 18:23:46 -07:00
										 |  |  | const SetAuthHeaderBasedOnEnv = () => { | 
					
						
							|  |  |  | 	const { setAuthHeader } = useAuthHeader(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-02-05 22:50:24 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	useEffect(() => { | 
					
						
							|  |  |  | 		const setAuthAsync = async () => { | 
					
						
							|  |  |  | 			// if (DEV_USER_ID) {
 | 
					
						
							|  |  |  | 			// 	console.log("Setting fake authorization user to: ", DEV_USER_ID);
 | 
					
						
							|  |  |  | 			// 	setAuthHeader({ key: "user_id", value: DEV_USER_ID });
 | 
					
						
							|  |  |  | 			// } else {
 | 
					
						
							|  |  |  | 			// Fetch token for authenticated users in production
 | 
					
						
							|  |  |  | 			const token = await getCurrentUserToken(); | 
					
						
							|  |  |  | 			if (token) { | 
					
						
							|  |  |  | 				console.log("Setting firebase auth token"); | 
					
						
							|  |  |  | 				setAuthHeader({ key: "Authorization", value: `Bearer ${token}` }); | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			// }
 | 
					
						
							|  |  |  | 		}; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		setAuthAsync(); | 
					
						
							| 
									
										
										
										
											2024-02-03 18:23:46 -07:00
										 |  |  | 	}, [setAuthHeader]); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return null; | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2024-01-06 18:51:59 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | const App: React.FC = () => { | 
					
						
							| 
									
										
										
										
											2024-01-06 19:25:17 -07:00
										 |  |  | 	return ( | 
					
						
							| 
									
										
										
										
											2024-01-31 15:55:33 -08:00
										 |  |  | 		<ClientProvider> | 
					
						
							| 
									
										
										
										
											2024-02-03 18:23:46 -07:00
										 |  |  | 			<SetAuthHeaderBasedOnEnv /> | 
					
						
							| 
									
										
										
										
											2024-01-31 15:55:33 -08:00
										 |  |  | 			<AppNavigator /> | 
					
						
							|  |  |  | 		</ClientProvider> | 
					
						
							| 
									
										
										
										
											2024-01-06 19:25:17 -07:00
										 |  |  | 	); | 
					
						
							| 
									
										
										
										
											2024-01-06 18:51:59 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-01-06 23:58:54 -07:00
										 |  |  | export default function Root() { | 
					
						
							|  |  |  | 	return ( | 
					
						
							|  |  |  | 		<React.StrictMode> | 
					
						
							|  |  |  | 			<App /> | 
					
						
							|  |  |  | 		</React.StrictMode> | 
					
						
							|  |  |  | 	); | 
					
						
							|  |  |  | } |