Forráskód Böngészése

개인 피드 삭제

yongun 5 éve
szülő
commit
d0d52dfc74
2 módosított fájl, 14 hozzáadás és 2 törlés
  1. 3 0
      pages/index.vue
  2. 11 2
      store/index.js

+ 3 - 0
pages/index.vue

@@ -226,6 +226,9 @@ export default {
     logoutUser () {
       this.$store.dispatch('logoutUser')
     },
+    async removeHeadlineFromFeed (headline) {
+      await this.$store.dispatch('removeHeadlineFromFeed', headline)
+    },
     async addHeadlineToFeed (headline) {
       if (this.user) {
         await this.$store.dispatch('addHeadlineToFeed', headline)

+ 11 - 2
store/index.js

@@ -80,6 +80,10 @@ const createStore = () => {
           // console.log(error)
         }
       },
+      async removeHeadlineFromFeed ({ state }, headline) {
+        const headlineRef = db.collection(`users/${state.user.email}/feed`).doc(headline.title)
+        await headlineRef.delete()
+      },
       async addHeadlineToFeed ({ state }, headline) {
         const feedRef = db.collection(`users/${state.user.email}/feed`).doc(headline.title)
         await feedRef.set(headline)
@@ -87,14 +91,19 @@ const createStore = () => {
       async loadUserFeed ({ state, commit }) {
         if (state.user) {
           const feedRef = db.collection(`users/${state.user.email}/feed`)
-          // feedRef.onSnapshot now work
-          await feedRef.get().then((querySnapshot) => {
+
+          await feedRef.onSnapshot((querySnapshot) => {
             // eslint-disable-next-line prefer-const
             let headlines = []
             querySnapshot.forEach((doc) => {
               headlines.push(doc.data())
               commit('setFeed', headlines)
             })
+
+            if (querySnapshot.empty) {
+              headlines = []
+              commit('setFeed', headlines)
+            }
           })
         }
       },