xxxxxxxxxx
98
// Your web app's Firebase configuration
// const firebaseConfig = {
// apiKey: "AIzaSyC5zF0tw9R-lXo5-iu8yu-it31m8GIMWsk",
// authDomain: "sharedmindstest-494a3.firebaseapp.com",
// projectId: "sharedmindstest-494a3",
// storageBucket: "sharedmindstest-494a3.appspot.com",
// messagingSenderId: "503547670857",
// appId: "1:503547670857:web:47671b356415c17115aa98",
// measurementId: "G-J7S4SDS4P4"
// };
const firebaseConfig = {
apiKey: "AIzaSyChcgzb83UhkfKUqAAzQtt-Zv5PIDURtBk",
authDomain: "sharedminds-2024.firebaseapp.com",
projectId: "sharedminds-2024",
storageBucket: "sharedminds-2024.appspot.com",
messagingSenderId: "396588916766",
appId: "1:396588916766:web:91b8cfa945d94e31fdce0f",
measurementId: "G-SNTELZ85H3"
};
let group = "mySillyRoomName";
let typeOfThing = "strokes"
let db;
let strokeDots = [];
let allStrokesLocal = {};
function setup() {
createCanvas(400, 400);
connectToFirebase();
}
function draw() {
}
function drawStrokes() {
background(255);
// go through key value pairs
for (var key in allStrokesLocal) {
let thisStroke = allStrokesLocal[key];
for (var i = 0; i < thisStroke.locations.length; i++) {
thisLoc = thisStroke.locations[i];
ellipse(thisLoc.x, thisLoc.y, 10, 10);
}
}
}
function mousePressed() {
strokeDots = [];
}
function mouseDragged() {
//if they have moved some distance add to dots
if (dist(mouseX, mouseY, pmouseX, pmouseY) > 2) {
strokeDots.push({ x: mouseX, y: mouseY });
ellipse(mouseX, mouseY, 10, 10);
}
}
function mouseReleased() {
addStrokeToDB();
}
function addStrokeToDB() {
let mydata = {
locations: strokeDots,
};
//add a stroke
let dbInfo = db.ref("group/" + group + "/" + typeOfThing +"/").push(mydata);
}
function connectToFirebase() {
const app = firebase.initializeApp(firebaseConfig);
db = app.database();
var myRef = db.ref("group/" + group+ "/" + typeOfThing +"/");
myRef.on("child_added", (data) => {
console.log("add", data.key, data.val());
let key = data.key;
let value = data.val();
//update our local variable
allStrokesLocal[key] = value;
drawStrokes();
//console.log(allStrokesLocal);
});
//not used
myRef.on("child_changed", (data) => {
console.log("changed", data.key, data.val());
});
//not used
myRef.on("child_removed", (data) => {
console.log("removed", data.key);
});
}