From 0b2647554eb6d94913227aeaf3d971d1554b491c Mon Sep 17 00:00:00 2001 From: CoolElectronics Date: Tue, 15 Aug 2023 21:31:00 -0400 Subject: [PATCH] move firebase auth into SignalFirebase.ts --- client/src/SignalFirebase.ts | 26 ++++++++++++ frontend/src/App.svelte | 77 +++++++++--------------------------- frontend/src/entry.ts | 3 ++ 3 files changed, 47 insertions(+), 59 deletions(-) diff --git a/client/src/SignalFirebase.ts b/client/src/SignalFirebase.ts index b4944cb..60791d4 100644 --- a/client/src/SignalFirebase.ts +++ b/client/src/SignalFirebase.ts @@ -3,6 +3,7 @@ import { getDatabase, onValue, ref, set, remove } from "firebase/database"; import { v4 as uuid } from "uuid"; import { Answer } from "./RTCTransport"; +import { getAuth, signInWithEmailAndPassword } from "firebase/auth"; export async function signalSwarm(offer: string): Promise { @@ -38,4 +39,29 @@ export async function signalSwarm(offer: string): Promise { }); }); +} +export async function signalAccount(offer: string, email: string, password: string): Promise { + + let auth = getAuth(); + let creds = await signInWithEmailAndPassword(auth, email, password); + + const db = getDatabase(); + let peer = ref(db, `/peers/${creds.user.uid}`); + + + + set(peer, offer); + return new Promise((resolve, reject) => { + + onValue(peer, async (snapshot) => { + const str = snapshot.val(); + if (str) { + let data = JSON.parse(str); + if (data && data.answer && data.candidates) { + remove(peer); + resolve(data); + } + } + }); + }); } \ No newline at end of file diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index a8faaaa..dafc715 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -1,9 +1,5 @@ {#if state == ReadyState.Connected} diff --git a/frontend/src/entry.ts b/frontend/src/entry.ts index d7e8ce1..9e604f1 100644 --- a/frontend/src/entry.ts +++ b/frontend/src/entry.ts @@ -1,3 +1,4 @@ +import { registerRemoteListener } from "bare-client-custom"; import App from "./App.svelte"; import "./index.css"; if (import.meta.env.VITE_ADRIFT_DEV) { @@ -18,5 +19,7 @@ const app = new App({ if (!import.meta.env.VITE_ADRIFT_SINGLEFILE) { navigator.serviceWorker.register("/sw.js"); + console.log("registering bare-client-custom"); + registerRemoteListener(); } export default app;