diff --git a/development/src/app/layout.js b/development/src/app/layout.js
index 79cae4b3..07bec60c 100644
--- a/development/src/app/layout.js
+++ b/development/src/app/layout.js
@@ -1,20 +1,23 @@
-'use client';
+"use client";
-import './globals.css';
-import { nohemi } from '@/app/localFont';
-import { ThemeProvider } from 'next-themes';
-import { TabProvider } from '@/composables/tabContext';
-import { SessionContextProvider } from '@/composables/sessionContext';
+import "./globals.css";
+import { nohemi } from "@/app/localFont";
+import { ThemeProvider } from "next-themes";
+import { TabProvider } from "@/composables/tabContext";
+import { SessionContextProvider } from "@/composables/sessionContext";
+import { AuthProvider } from "@/composables/authContext";
export default function RootLayout({ children }) {
return (
-
-
- {children}
-
-
+
+
+
+ {children}
+
+
+
);
diff --git a/development/src/components/navbar_components/editorNavbar_comp.js b/development/src/components/navbar_components/editorNavbar_comp.js
index b3118fd6..e0a48e51 100644
--- a/development/src/components/navbar_components/editorNavbar_comp.js
+++ b/development/src/components/navbar_components/editorNavbar_comp.js
@@ -1,29 +1,22 @@
-'use client';
-import { useState, useContext, useEffect } from 'react';
-import AuthNavControls from './authNavControls_comp';
-import Image from 'next/image';
-import moon from '../../../public/assets/onboardingIcons/moon.png';
-import sun from '../../../public/assets/onboardingIcons/sun.png';
-import { useTheme } from 'next-themes';
-import { useTabContext } from '@/composables/tabContext';
-import { Suspense } from 'react';
-import userIcon from '../../../public//assets/authNavBarControls/peers-2.png';
-import { isUserSignedIn } from '@/composables/verifySignedIn';
-import { appAuth } from '@/composables/firebaseConfig/config';
-import Link from 'next/link';
+"use client";
+import { useState, useContext, useEffect } from "react";
+import AuthNavControls from "./authNavControls_comp";
+import Image from "next/image";
+import moon from "../../../public/assets/onboardingIcons/moon.png";
+import sun from "../../../public/assets/onboardingIcons/sun.png";
+import { useTheme } from "next-themes";
+import { useTabContext } from "@/composables/tabContext";
+import { Suspense } from "react";
+import userIcon from "../../../public//assets/authNavBarControls/peers-2.png";
+import { isUserSignedIn } from "@/composables/verifySignedIn";
+import { appAuth } from "@/composables/firebaseConfig/config";
+import Link from "next/link";
+import { useAuthContext } from "@/composables/authContext";
function EditorNavBar() {
- const [auth, setAuth] = useState(true);
const { theme, setTheme } = useTheme();
const { items } = useTabContext();
-
- useEffect(() => {
- if (isUserSignedIn()) {
- setAuth(true);
- } else {
- setAuth(false);
- }
- }, [appAuth]);
+ const { currentUser } = useAuthContext();
return (
@@ -32,7 +25,7 @@ function EditorNavBar() {
Carai
- {auth ? (
+ {currentUser ? (
- {!isUserSignedIn() && (items.length > 1 || items[0]?.title !== "Welcome") && (
- <>
-
- Sign Up
-
-
- Log In
-
- >
- )}
+ {!currentUser &&
+ (items.length > 1 || items[0]?.title !== "Welcome") && (
+ <>
+
+ Sign Up
+
+
+ Log In
+
+ >
+ )}
)}
diff --git a/development/src/components/signup_comp.js b/development/src/components/signup_comp.js
index 82794b9f..81c7ae6b 100644
--- a/development/src/components/signup_comp.js
+++ b/development/src/components/signup_comp.js
@@ -53,7 +53,6 @@ function SignUpComponent() {
const [usernameAvailable, setUsernameAvailable] = useState(null);
const [showVerificationOverlay, setShowVerificationOverlay] = useState(false);
const [showForm, setShowForm] = useState(true);
- const router = useRouter();
const handleCloseForm = () => {
setShowForm(false);
diff --git a/development/src/composables/authContext.js b/development/src/composables/authContext.js
new file mode 100644
index 00000000..8f3717d2
--- /dev/null
+++ b/development/src/composables/authContext.js
@@ -0,0 +1,32 @@
+import { useEffect } from "react";
+import { useState } from "react";
+import { useContext, createContext } from "react";
+import { appAuth } from "./firebaseConfig/config";
+
+export const AuthContext = createContext();
+
+export const AuthProvider = ({ children }) => {
+ const [currentUser, setCurrentUser] = useState("");
+
+ useEffect(() => {
+ const persistUser = localStorage.getItem("user");
+
+ setCurrentUser(JSON.parse(persistUser));
+ }, []);
+
+ useEffect(() => {
+ appAuth.onAuthStateChanged((user) => {
+ setCurrentUser(user);
+ });
+ }, []);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useAuthContext = () => {
+ return useContext(AuthContext);
+};
diff --git a/development/src/composables/sessionContext.js b/development/src/composables/sessionContext.js
index 8e8132dc..63fdc780 100644
--- a/development/src/composables/sessionContext.js
+++ b/development/src/composables/sessionContext.js
@@ -1,14 +1,22 @@
-import { useEffect } from 'react';
-import { useState } from 'react';
-import { useContext, createContext } from 'react';
+import { useEffect } from "react";
+import { useState } from "react";
+import { useContext, createContext } from "react";
export const SessionContext = createContext();
export const SessionContextProvider = ({ children }) => {
const [sessionData, setSessionData] = useState({});
+ const [storeSession, setStoreSession] = useState({});
return (
-
+
{children}
);
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index bb552997..00000000
--- a/package-lock.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "P2PCoder",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {}
-}