Skip to content

Commit 27e9178

Browse files
committed
consolidate reset logic and logout #878
1 parent 9730137 commit 27e9178

File tree

5 files changed

+21
-41
lines changed

5 files changed

+21
-41
lines changed

web-client/src/App.vue

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,10 @@ async function handleGlobalLogin(): Promise<void> {
184184
185185
async function resetToPublicCluster() {
186186
legacyJwtStore.clearAllJwts()
187-
sysConfigStore.$reset()
187+
await sysConfigStore.resetToPublicCluster()
188188
loginUsername.value = ''
189189
loginPassword.value = ''
190190
authDialogStore.hide()
191-
// Fetch public cluster server version
192-
await sysConfigStore.fetchServerVersionInfo()
193-
await sysConfigStore.fetchCurrentNodes()
194191
toast.add({
195192
severity: 'info',
196193
summary: 'Reset Complete',

web-client/src/components/SrAppBar.vue

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -49,22 +49,6 @@ function handleGitHubLogin() {
4949
githubAuthStore.initiateLogin()
5050
}
5151
52-
async function handleGitHubLogout() {
53-
githubAuthStore.logout()
54-
legacyJwtStore.clearAllJwts()
55-
sysConfigStore.$reset()
56-
sysConfigStore.domain = 'slideruleearth.io'
57-
sysConfigStore.cluster = 'sliderule'
58-
await sysConfigStore.fetchServerVersionInfo()
59-
await sysConfigStore.fetchCurrentNodes()
60-
toast.add({
61-
severity: 'info',
62-
summary: 'Logged Out',
63-
detail: 'You have been logged out successfully',
64-
life: srToastStore.getLife()
65-
})
66-
}
67-
6852
const displayTour = computed(() => {
6953
return route.name === 'home' || route.name === 'request'
7054
})
@@ -214,7 +198,7 @@ const userMenuItems = computed(() => {
214198
label: 'Log Out',
215199
icon: 'pi pi-sign-out',
216200
command: () => {
217-
void handleGitHubLogout()
201+
void handleLogout()
218202
}
219203
})
220204
@@ -436,13 +420,9 @@ const toggleOrgMenu = (event: Event) => {
436420
async function handleLogout() {
437421
// Log out from GitHub if authenticated
438422
githubAuthStore.logout()
439-
// Reset to public cluster
423+
// Clear legacy JWT and reset to public cluster
440424
legacyJwtStore.clearAllJwts()
441-
sysConfigStore.$reset()
442-
sysConfigStore.domain = 'slideruleearth.io'
443-
sysConfigStore.cluster = 'sliderule'
444-
await sysConfigStore.fetchServerVersionInfo()
445-
await sysConfigStore.fetchCurrentNodes()
425+
await sysConfigStore.resetToPublicCluster()
446426
toast.add({
447427
severity: 'info',
448428
summary: 'Logged Out',
@@ -452,10 +432,9 @@ async function handleLogout() {
452432
}
453433
454434
async function resetToPublicCluster() {
435+
// Reset to public cluster without logging out of GitHub
455436
legacyJwtStore.clearAllJwts()
456-
sysConfigStore.$reset()
457-
await sysConfigStore.fetchServerVersionInfo()
458-
await sysConfigStore.fetchCurrentNodes()
437+
await sysConfigStore.resetToPublicCluster()
459438
toast.add({
460439
severity: 'info',
461440
summary: 'Reset Complete',

web-client/src/components/SrGitHubOrgAuth.vue

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,8 @@ function handleLogin() {
6060
6161
async function handleLogout() {
6262
githubAuthStore.logout()
63-
// Reset to public cluster
6463
legacyJwtStore.clearAllJwts()
65-
sysConfigStore.$reset()
66-
sysConfigStore.domain = 'slideruleearth.io'
67-
sysConfigStore.cluster = 'sliderule'
68-
await sysConfigStore.fetchServerVersionInfo()
69-
await sysConfigStore.fetchCurrentNodes()
64+
await sysConfigStore.resetToPublicCluster()
7065
}
7166
</script>
7267

web-client/src/components/SrLegacyProvSys.vue

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,10 +223,7 @@ function updateDesiredNodes() {
223223
224224
async function resetToDefaults() {
225225
legacyJwtStore.clearAllJwts()
226-
sysConfigStore.$reset()
227-
// Fetch public cluster server version
228-
await sysConfigStore.fetchServerVersionInfo()
229-
await sysConfigStore.fetchCurrentNodes()
226+
await sysConfigStore.resetToPublicCluster()
230227
toast.add({
231228
severity: 'info',
232229
summary: 'Reset Complete',

web-client/src/stores/sysConfigStore.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ export const useSysConfigStore = defineStore(
4646
return result.success && result.nodes >= 0 ? result.nodes.toString() : 'Unknown'
4747
}
4848

49+
async function resetToPublicCluster(): Promise<void> {
50+
// Set values directly (don't use $reset due to persistence plugin restoring old values)
51+
domain.value = 'slideruleearth.io'
52+
cluster.value = 'sliderule'
53+
desired_nodes.value = 1
54+
time_to_live.value = 720
55+
resetStatus()
56+
await fetchServerVersionInfo()
57+
await fetchCurrentNodes()
58+
}
59+
4960
return {
5061
domain,
5162
cluster,
@@ -59,7 +70,8 @@ export const useSysConfigStore = defineStore(
5970
canConnectNodes,
6071
resetStatus,
6172
fetchServerVersionInfo,
62-
fetchCurrentNodes
73+
fetchCurrentNodes,
74+
resetToPublicCluster
6375
}
6476
},
6577
{

0 commit comments

Comments
 (0)