diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index d43786a9..775073b9 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -15,7 +15,8 @@ export default {
latestSession: {},
volunteerStats: {},
isFirstDashboardVisit: false,
- isSessionConnectionAlive: false
+ isSessionConnectionAlive: false,
+ isSessionPartnerConnectionAlive: false
},
mutations: {
setUser: (state, user = {}) => (state.user = user),
@@ -60,6 +61,13 @@ export default {
setIsSessionConnectionAlive: (state, isSessionConnectionAlive) => {
state.isSessionConnectionAlive = isSessionConnectionAlive;
+ },
+
+ setIsSessionPartnerConnectionAlive: (
+ state,
+ isSessionPartnerConnectionAlive
+ ) => {
+ state.isSessionPartnerConnectionAlive = isSessionPartnerConnectionAlive;
}
},
actions: {
@@ -129,6 +137,16 @@ export default {
commit("setSession", sessionData);
},
+ updateSessionPartnerStatus: (
+ { commit },
+ isSessionPartnerConnectionAlive
+ ) => {
+ commit(
+ "setIsSessionPartnerConnectionAlive",
+ isSessionPartnerConnectionAlive
+ );
+ },
+
updateAvailability: ({ commit }, availability, date = Date.now()) => {
commit("setAvailability", availability, date);
},
diff --git a/src/views/SessionView/SessionHeader.vue b/src/views/SessionView/SessionHeader.vue
index 1ae6a60b..b8595107 100644
--- a/src/views/SessionView/SessionHeader.vue
+++ b/src/views/SessionView/SessionHeader.vue
@@ -11,7 +11,18 @@
- {{ sessionPartner.firstname }}
+ {{ sessionPartner.firstname }}
+
+
+
+ Online
+
+
+ Offline
+
+
+
@@ -89,7 +100,10 @@ export default {
computed: {
...mapState({
user: state => state.user.user,
- session: state => state.user.session
+ session: state => state.user.session,
+ isSessionConnectionAlive: state => state.user.isSessionConnectionAlive,
+ isSessionPartnerConnectionAlive: state =>
+ state.user.isSessionPartnerConnectionAlive
}),
...mapGetters({
sessionPartner: "user/sessionPartner",
@@ -280,6 +294,11 @@ h1 {
font-size: 18px;
}
+.partner-status {
+ font-weight: 400;
+ font-size: 14px;
+}
+
.button-container {
display: flex;
align-items: center;
diff --git a/src/views/SessionView/index.vue b/src/views/SessionView/index.vue
index a1d544ce..acfba133 100644
--- a/src/views/SessionView/index.vue
+++ b/src/views/SessionView/index.vue
@@ -205,6 +205,12 @@ export default {
} else if (this.$route.params.sessionId) {
this.joinSession(this.$route.params.sessionId);
}
+ },
+ "partner-status"(data) {
+ this.$store.dispatch(
+ "user/updateSessionPartnerStatus",
+ data.isSessionPartnerConnectionAlive
+ );
}
},
methods: {