From 9c0677615496c9ba5c75dc2e59ffd3848f289cb4 Mon Sep 17 00:00:00 2001
From: Angelina Filippova <linakirsanova@gmail.com>
Date: Thu, 30 Apr 2020 20:32:37 +0300
Subject: [PATCH] Create action for fetching single status

---
 src/store/modules/status.js | 13 ++++++++++++-
 src/views/statuses/show.vue | 39 +++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+), 1 deletion(-)
 create mode 100644 src/views/statuses/show.vue

diff --git a/src/store/modules/status.js b/src/store/modules/status.js
index 8847e8bf..78646b12 100644
--- a/src/store/modules/status.js
+++ b/src/store/modules/status.js
@@ -1,7 +1,8 @@
-import { changeStatusScope, deleteStatus, fetchStatuses, fetchStatusesCount, fetchStatusesByInstance } from '@/api/status'
+import { changeStatusScope, deleteStatus, fetchStatus, fetchStatuses, fetchStatusesCount, fetchStatusesByInstance } from '@/api/status'
 
 const status = {
   state: {
+    fetchedStatus: {},
     fetchedStatuses: [],
     loading: false,
     statusesByInstance: {
@@ -28,6 +29,9 @@ const status = {
     CHANGE_SELECTED_INSTANCE: (state, instance) => {
       state.statusesByInstance.selectedInstance = instance
     },
+    SET_STATUS: (state, status) => {
+      state.fetchedStatus = status
+    },
     SET_STATUSES_BY_INSTANCE: (state, statuses) => {
       state.fetchedStatuses = statuses
     },
@@ -68,6 +72,13 @@ const status = {
         dispatch('FetchStatusesByInstance')
       }
     },
+    async FetchStatus({ commit, getters }, id) {
+      commit('SET_LOADING', true)
+      const status = await fetchStatus(id, getters.authHost, getters.token)
+      console.log(status)
+      commit('SET_STATUS', status.data)
+      commit('SET_LOADING', false)
+    },
     async FetchStatusesCount({ commit, getters }) {
       commit('SET_LOADING', true)
       const { data } = await fetchStatusesCount(getters.authHost, getters.token)
diff --git a/src/views/statuses/show.vue b/src/views/statuses/show.vue
new file mode 100644
index 00000000..60a6cfe7
--- /dev/null
+++ b/src/views/statuses/show.vue
@@ -0,0 +1,39 @@
+<template>
+  <main>
+    {{ status }}
+    <!-- <status :status="status" :account="status.account" :show-checkbox="false" :godmode="showPrivate"/> -->
+  </main>
+</template>
+
+<script>
+import Status from '@/components/Status'
+
+export default {
+  name: 'UsersShow',
+  components: { Status },
+  data() {
+    return {
+      showPrivate: false
+    }
+  },
+  computed: {
+    isDesktop() {
+      return this.$store.state.app.device === 'desktop'
+    },
+    isMobile() {
+      return this.$store.state.app.device === 'mobile'
+    },
+    isTablet() {
+      return this.$store.state.app.device === 'tablet'
+    },
+    status() {
+      return this.$store.state.status.fetchedStatus
+    }
+  },
+  mounted: function() {
+    this.$store.dispatch('NeedReboot')
+    this.$store.dispatch('GetNodeInfo')
+    this.$store.dispatch('FetchStatus', this.$route.params.id)
+  }
+}
+</script>
-- 
GitLab