Spaces:
Running
Running
| import {getFirestore, collection, addDoc, onSnapshot, query, serverTimestamp} from "https://www.gstatic.com/firebasejs/11.6.1/firebase-firestore.js"; | |
| import {getDB} from './firebase.js'; | |
| export async function saveNeuron(n){ | |
| const db=getDB(); | |
| if(!db) return; | |
| const ref=collection(db,'artifacts',n.appId,'public','data','neurons'); | |
| await addDoc(ref,{userId:n.userId,username:n.username,label:n.label,level:n.level,position:{x:n.position.x,y:n.position.y,z:n.position.z},topic:n.topic||null,createdAt:serverTimestamp()}); | |
| } | |
| export function subscribeNeurons(appId,cb){ | |
| const db=getDB(); | |
| if(!db){ | |
| setTimeout(()=>{ try{ cb({ empty:true, forEach:()=>{} }); }catch{} },0); | |
| return ()=>{}; | |
| } | |
| const ref=query(collection(db,'artifacts',appId,'public','data','neurons')); | |
| return onSnapshot(ref,cb); | |
| } | |