diff --git a/src/assets/transparentLogo.svg b/src/assets/transparentLogo.svg new file mode 100644 index 0000000..25daaad --- /dev/null +++ b/src/assets/transparentLogo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/components/app/ConnectingScreen copy.vue b/src/components/app/ConnectingScreen copy.vue new file mode 100644 index 0000000..8bfa57b --- /dev/null +++ b/src/components/app/ConnectingScreen copy.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/components/app/ConnectingScreen.vue b/src/components/app/ConnectingScreen.vue index 8bfa57b..b974f3c 100644 --- a/src/components/app/ConnectingScreen.vue +++ b/src/components/app/ConnectingScreen.vue @@ -2,71 +2,85 @@
-
-
+
- Connecting... + {{ message }} +
+
+ Logout
- diff --git a/src/store/index.js b/src/store/index.js index ee81831..b8b5006 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -30,14 +30,33 @@ export const store = new Vuex.Store({ members: membersModule }, state: { - currentTab: 0 + currentTab: 0, + // 0 : connecting + // 1: connected + // 2: authenticated + // 3: error + connectionStatus: 0, + connectionErrorMessage: null }, getters: { currentTab(state) { return state.currentTab; + }, + connectionStatus(state) { + return state.connectionStatus; + }, + connectionErrorMessage(state) { + return state.connectionErrorMessage; } }, actions: { + setConnectionStatus({ commit }, status) { + commit("SET_CONNECTION_STATUS", status); + }, + setConnectionErrorMessage({ commit }, message) { + commit("SET_CONNECTION_ERROR_MESSAGE", message); + commit("SET_CONNECTION_STATUS", 3); + }, setCurrentTab({ commit }, currentTab) { localStorage.setItem("currentTab", currentTab); commit("SET_CURRENT_TAB", currentTab); @@ -46,6 +65,12 @@ export const store = new Vuex.Store({ mutations: { SET_CURRENT_TAB(state, currentTab) { state.currentTab = currentTab; + }, + SET_CONNECTION_STATUS(state, status) { + state.connectionStatus = status; + }, + SET_CONNECTION_ERROR_MESSAGE(state, message) { + state.connectionErrorMessage = message; } } }); diff --git a/src/store/modules/socketIOModule.js b/src/store/modules/socketIOModule.js index 94fd66a..15d2ef6 100644 --- a/src/store/modules/socketIOModule.js +++ b/src/store/modules/socketIOModule.js @@ -1,28 +1,36 @@ import config from "@/config"; import { bus } from "../../main"; -import { router } from "./../../router"; +//import { router } from "./../../router"; import DesktopNotification from "@/utils/ElectronJS/DesktopNotification"; import isElectron from "@/utils/ElectronJS/isElectron"; import { isMobile } from "@/utils/Mobile"; const actions = { - socket_authErr(context) { - context.dispatch("logout"); - router.push({ path: "/" }); + socket_authErr(context, message) { + context.dispatch("setConnectionErrorMessage", message, { + root: true + }); }, - socket_connect() { + socket_connect(context) { + context.dispatch("setConnectionStatus", 1, { root: true }); this._vm.$socket.client.emit("authentication", { token: localStorage.getItem("hauthid") }); }, + socket_disconnect(context) { + context.dispatch("setConnectionStatus", 0, { root: true }); + context.commit("user", null); + }, socket_error(context, error) { - // if the token is invalid. - if (error === "Authentication error") { - context.dispatch("logout"); - router.push({ path: "/" }); - } + console.log(error); + context.dispatch( + "setConnectionErrorMessage", + "Something went wrong. Reload the page.", + { root: true } + ); }, socket_success(context, data) { + context.dispatch("setConnectionStatus", 2, { root: true }); const { user, serverMembers, @@ -270,9 +278,6 @@ const actions = { socket_multiDeviceStatus(context, data) { context.commit("changeStatus", data.status); }, - socket_disconnect(context) { - context.commit("user", null); - }, socket_multiDeviceUserAvatarChange(context, data) { context.commit("changeAvatar", data.avatarID); }, diff --git a/src/views/App.vue b/src/views/App.vue index 82772a9..84f4454 100644 --- a/src/views/App.vue +++ b/src/views/App.vue @@ -2,9 +2,9 @@
- - -
+ + +
@@ -84,7 +84,8 @@ export default { data() { return { title: "Nertivia", - isElectron: window && window.process && window.process.type + isElectron: window && window.process && window.process.type, + ready: false, }; }, methods: { @@ -162,6 +163,11 @@ export default { watch: { getWindowWidth(dimensions) { this.resizeEvent(dimensions); + }, + loggedIn(val) { + setTimeout(() => { + this.ready = val; + }); } }, async mounted() {