diff --git a/src/FirebaseController.ts b/src/FirestoreController.ts similarity index 70% rename from src/FirebaseController.ts rename to src/FirestoreController.ts index fa8383c..4d8cf1e 100644 --- a/src/FirebaseController.ts +++ b/src/FirestoreController.ts @@ -1,18 +1,17 @@ +import { Firestore } from 'firebase/firestore'; import {ReactiveController, ReactiveControllerHost} from 'lit'; -import { FirebaseApp, initializeApp } from "firebase/app"; -import {FIREBASE_CONFIG} from "./constants.js"; -export class FirebaseController implements ReactiveController { +export class FirestoreController implements ReactiveController { host: ReactiveControllerHost; - - value = []; - - private firebaseApp: FirebaseApp; - constructor(host: ReactiveControllerHost) { - (this.host = host).addController(this); - this.firebaseApp = initializeApp(FIREBASE_CONFIG); + firestore: Firestore; + + constructor(host: ReactiveControllerHost, firestore : Firestore) { + this.host = host; + host.addController(this); + + this.firestore = firestore; } hostConnected() { diff --git a/src/WebBrain.ts b/src/WebBrain.ts index cb29e2d..42931bb 100644 --- a/src/WebBrain.ts +++ b/src/WebBrain.ts @@ -31,7 +31,7 @@ export class WebBrain extends LitElement { @property({ type: Object }) user: User | null = null; - @property({type: Array}) persons : Array | null = null; + @property({type: Object}) persons : Map = new Map(); public firebaseApp: FirebaseApp; @@ -43,7 +43,6 @@ export class WebBrain extends LitElement { private peopleCollection; - constructor() { super(); this.firebaseApp = initializeApp(FIREBASE_CONFIG); @@ -61,8 +60,10 @@ export class WebBrain extends LitElement { const unsub = onSnapshot(this.peopleCollection, (querySnapshot) => { // const cities = []; querySnapshot.forEach((doc) => { - console.log(doc.data()); + this.persons.set(doc.id, doc.data() as IPerson); }); + this.requestUpdate(); + console.log('plop'); }); } @@ -96,6 +97,7 @@ export class WebBrain extends LitElement { try { const docRef = await addDoc(this.peopleCollection, this.newPerson); + this.newPerson = null; console.log("Document written with ID: ", docRef.id); } catch (e) { console.error("Error adding document: ", e); @@ -139,7 +141,7 @@ export class WebBrain extends LitElement { @@ -149,7 +151,16 @@ export class WebBrain extends LitElement { -
The content will come here
+
+

The content will come here

+ +
    + ${this.persons.forEach((person: IPerson, id: string) => + html`
  • ${id} aaa
  • ` + )} +
+ +
`; diff --git a/src/models/people.ts b/src/models/people.ts index 10b4098..70fd314 100644 --- a/src/models/people.ts +++ b/src/models/people.ts @@ -2,4 +2,5 @@ export interface IPerson { name: string, createdAt?: Date | null, updatedAt?: Date | null, + owner: string, } \ No newline at end of file