Skip to content

Commit bbf6486

Browse files
authored
FIX: login (stereum-dev#1682)
* FIX: login * FIX: add new server
1 parent 19fecfe commit bbf6486

File tree

5 files changed

+53
-37
lines changed

5 files changed

+53
-37
lines changed

launcher/src/components/UI/server-management/MultiServerScreen.vue

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import ServerHeader from './components/ServerHeader.vue';
55
>
66
<ServerHeader @tab-picker="tabPicker" />
77
<ServerBody
8+
@server-login="loginHandler"
89
@select-server="serverHandler"
910
@change-password="acceptChangePass"
1011
@file-upload="addExistingKeyHandler"
@@ -32,15 +33,15 @@ import PasswordModal from "./components/modals/PasswordModal.vue";
3233
import GenerateKey from "./components/modals/GenerateKey.vue";
3334
import { ref, onMounted, watchEffect } from "vue";
3435
import ControlService from "@/store/ControlService";
35-
import { useControlStore } from "@/store/theControl";
3636
import { useServers } from "@/store/servers";
3737
import RemoveModal from "./components/modals/RemoveModal.vue";
3838
import ErrorModal from "./components/modals/ErrorModal.vue";
3939
import { useServerLogin } from "@/composables/useLogin";
40+
import { useRouter } from "vue-router";
4041
41-
const controlStore = useControlStore();
4242
const serverStore = useServers();
43-
const { remove } = useServerLogin();
43+
const { login, remove, loadStoredConnections } = useServerLogin();
44+
const router = useRouter();
4445
4546
const keyLocation = ref("");
4647
@@ -87,20 +88,22 @@ onMounted(async () => {
8788
8889
//Methods
8990
91+
//Server Management Login Handler
92+
93+
const loginHandler = async () => {
94+
if (router.currentRoute.value.path === "/login") {
95+
await login();
96+
} else {
97+
await ControlService.logout();
98+
await login();
99+
}
100+
};
101+
90102
//Server Management Tab Picker
91103
const tabPicker = (tab) => {
92104
serverStore.setActiveTab(tab);
93105
};
94106
95-
//Load stored connections
96-
97-
const loadStoredConnections = async () => {
98-
const savedConnections = await ControlService.readConfig();
99-
serverStore.selectedServerConnection = savedConnections.savedConnections.find(
100-
(item) => item.host === controlStore.ipAddress
101-
);
102-
};
103-
104107
//Click handling on a server in the saved servers list
105108
const serverHandler = (server) => {
106109
serverStore.tabs.forEach((tab) => {
@@ -145,6 +148,7 @@ const closeWindow = () => {
145148
146149
const closeErrorDialog = () => {
147150
serverStore.errorMsgExists = false;
151+
serverStore.connectingProcess = false;
148152
};
149153
150154
const removeServerHandler = async () => {

launcher/src/components/UI/server-management/components/ServerBody.vue

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<div
66
class="col-start-14 col-span-full row-start-1 row-span-full p-1 grid grid-cols-12 grid-rows-12 bg-[#1b3231] rounded-md"
77
>
8-
<LoginPanel v-if="isLoginActive" />
8+
<LoginPanel v-if="isLoginActive" @server-login="serverLogin" />
99
<DetailsPanel v-if="isDetailsActive" @change-password="changePassword" @set-avatar="setServerAvatar" />
1010
<UpdatePanel v-if="isUpdateActive" />
1111
<SshPanel v-if="isSSHActive" @file-upload="fileUpload" @delete-key="deleteKey" />
@@ -27,7 +27,7 @@ import SshPanel from "./ssh-management/SshPanel.vue";
2727
import ControlService from "@/store/ControlService";
2828
import { useServers } from "@/store/servers";
2929
import { useControlStore } from "@/store/theControl";
30-
import { computed } from "vue";
30+
import { computed, watch } from "vue";
3131
import { useRoute } from "vue-router";
3232
3333
const emit = defineEmits(["selectServer", "serverLogin", "changePassword", "fileUpload", "deleteKey"]);
@@ -41,15 +41,15 @@ const isSSHActive = computed(() => route.path !== "/login" && serverStore.isServ
4141
const isDetailsActive = computed(() => route.path !== "/login" && serverStore.isServerDetailsActive);
4242
const isUpdateActive = computed(() => route.path !== "/login" && serverStore.isServerUpdateActive);
4343
44-
// watch(
45-
// () => serverStore.selectedServerConnection,
46-
// async (newVal) => {
47-
// if (newVal) {
48-
// serverStore.isServerLoginActive = false;
49-
// serverStore.isServerManagementActive = true;
50-
// }
51-
// }
52-
// );
44+
watch(
45+
() => serverStore.selectedServerConnection,
46+
async (newVal) => {
47+
if (newVal) {
48+
serverStore.isServerLoginActive = false;
49+
serverStore.isServerManagementActive = true;
50+
}
51+
}
52+
);
5353
5454
//Methods
5555
@@ -86,6 +86,8 @@ const addNewServer = () => {
8686
}
8787
serverStore.addNewServer = true;
8888
serverStore.isServerLoginActive = true;
89+
serverStore.isServerDetailsActive = false;
90+
serverStore.setActiveTab("login");
8991
serverStore.isServerManagementActive = false;
9092
};
9193
@@ -100,4 +102,8 @@ const fileUpload = (file) => {
100102
const deleteKey = (key) => {
101103
emit("deleteKey", key);
102104
};
105+
106+
const serverLogin = () => {
107+
emit("serverLogin");
108+
};
103109
</script>

launcher/src/components/UI/server-management/components/login-form/LoginForm.vue

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -248,14 +248,15 @@ import { V2_MetaFunction } from "@remix-run/react"; import { computed, onMounted
248248
</template>
249249

250250
<script setup>
251-
import { computed, ref, onMounted, watchEffect } from "vue";
251+
import { computed, ref, watchEffect } from "vue";
252252
import { useServers } from "@/store/servers";
253-
import ControlService from "@/store/ControlService";
254253
import { useServerLogin } from "@/composables/useLogin";
255254
255+
const emit = defineEmits(["serverLogin"]);
256+
256257
const serverStore = useServers();
257258
258-
const { login, add, loadStoredConnections } = useServerLogin();
259+
const { add } = useServerLogin();
259260
260261
const hovered = ref(false);
261262
const removeHovered = ref(false);
@@ -318,10 +319,6 @@ watchEffect(() => {
318319
319320
// Lifecycle
320321
321-
onMounted(async () => {
322-
await loadStoredConnections();
323-
});
324-
325322
// Methods
326323
const handleFileSelect = (event) => {
327324
const selectedFile = event.target.files[0];
@@ -383,11 +380,15 @@ const internalLogin = async () => {
383380
if (!validateServerName() || !validateIPorHostname() || !validateUsername()) {
384381
return;
385382
}
386-
387-
await ControlService.logout();
388-
await login();
389-
serverStore.connectingProcess = false;
390-
serverStore.isServerAccessManagementActive = false;
383+
emit("serverLogin");
384+
// if (router.currentRoute.value.fullPath === "/login") {
385+
// await login();
386+
// } else {
387+
// await ControlService.logout();
388+
// await login();
389+
// serverStore.connectingProcess = false;
390+
// serverStore.isServerAccessManagementActive = false;
391+
// }
391392
};
392393
393394
const saveServer = async () => {

launcher/src/components/UI/server-management/components/login-form/LoginPanel.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22
<div
33
class="w-full h-full col-start-1 col-span-full row-start-1 row-span-full grid grid-cols-12 grid-rows-12 p-2 gap-y-1"
44
>
5-
<LoginForm />
5+
<LoginForm @server-login="serverLogin" />
66
</div>
77
</template>
88

99
<script setup>
1010
import LoginForm from "./LoginForm.vue";
11+
12+
const emit = defineEmits(["serverLogin"]);
13+
const serverLogin = () => {
14+
emit("serverLogin");
15+
};
1116
</script>

launcher/src/components/UI/welcome-page/WelcomeScreen.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<ServerDetails />
55
<WelcomeBody />
66
<WelcomeFooter />
7-
<LogoutModal @logout-handler="loggingOut" @close-window="closeModal" />
7+
<LogoutModal v-if="isLogoutModalActive" @logout-handler="loggingOut" @close-window="closeModal" />
88
</installation-layout>
99
</template>
1010

0 commit comments

Comments
 (0)