@live-change/user-frontend 0.9.25 → 0.9.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,8 +46,8 @@
46
46
 
47
47
  const afterSignIn = ref()
48
48
  const redirectTime = ref()
49
- let timeout
50
- onMounted(() => {
49
+ let redirectTimeout
50
+ function doRedirect() {
51
51
  if(localStorage.redirectAfterSignIn) {
52
52
  const route = JSON.parse(localStorage.redirectAfterSignIn)
53
53
  localStorage.removeItem('redirectAfterSignIn')
@@ -56,7 +56,7 @@
56
56
  afterSignIn.value = route
57
57
  if(delay) {
58
58
  redirectTime.value = new Date(Date.now() + delay * 1000)
59
- timeout = setTimeout(() => {
59
+ redirectTimeout = setTimeout(() => {
60
60
  if(afterSignIn.value) {
61
61
  router.push(route)
62
62
  }
@@ -70,9 +70,18 @@
70
70
  router.push(route)
71
71
  }
72
72
  }
73
+ }
74
+ let finished = false
75
+ onMounted(async () => {
76
+ while(!finished && !api.client.value.user) {
77
+ console.log("WAITING FOR USER...")
78
+ await new Promise(resolve => setTimeout(resolve, 200))
79
+ }
80
+ if(!finished) doRedirect()
73
81
  })
74
82
  onUnmounted(() => {
75
- clearTimeout(timeout)
83
+ finished = true
84
+ if(redirectTime.value) clearTimeout(redirectTimeout)
76
85
  })
77
86
 
78
87
  </script>
@@ -12,7 +12,7 @@
12
12
  You can now set password to secure your account.
13
13
  </span>
14
14
  <div v-else-if="afterSignIn" class="flex flex-row justify-content-center align-items-center">
15
- <router-link :to="JSON.parse(afterSignIn)" class="no-underline">
15
+ <router-link :to="afterSignIn" class="no-underline">
16
16
  <Button label="Next" v-ripple />
17
17
  </router-link>
18
18
  <p class="ml-4" v-if="isMounted && redirectTime">
@@ -87,7 +87,8 @@
87
87
  import Divider from "primevue/divider"
88
88
  import Password from "../password/Password.vue"
89
89
 
90
- import { live, path } from '@live-change/vue3-ssr'
90
+ import { live, path, useApi } from '@live-change/vue3-ssr'
91
+ const api = useApi()
91
92
  import { computed, ref, onMounted, onUnmounted } from 'vue'
92
93
 
93
94
  import { currentTime } from "@live-change/frontend-base"
@@ -120,8 +121,8 @@
120
121
 
121
122
  const afterSignIn = ref()
122
123
  const redirectTime = ref()
123
- let timeout
124
- onMounted(() => {
124
+ let redirectTimeout
125
+ function doRedirect() {
125
126
  if(localStorage.redirectAfterSignIn) {
126
127
  const route = JSON.parse(localStorage.redirectAfterSignIn)
127
128
  localStorage.removeItem('redirectAfterSignIn')
@@ -130,7 +131,7 @@
130
131
  afterSignIn.value = route
131
132
  if(delay) {
132
133
  redirectTime.value = new Date(Date.now() + delay * 1000)
133
- timeout = setTimeout(() => {
134
+ redirectTimeout = setTimeout(() => {
134
135
  if(afterSignIn.value) {
135
136
  router.push(route)
136
137
  }
@@ -144,9 +145,18 @@
144
145
  router.push(route)
145
146
  }
146
147
  }
148
+ }
149
+ let finished = false
150
+ onMounted(async () => {
151
+ while(!finished && !api.client.value.user) {
152
+ console.log("WAITING FOR USER...")
153
+ await new Promise(resolve => setTimeout(resolve, 200))
154
+ }
155
+ if(!finished) doRedirect()
147
156
  })
148
157
  onUnmounted(() => {
149
- clearTimeout(timeout)
158
+ finished = true
159
+ if(redirectTime.value) clearTimeout(redirectTimeout)
150
160
  })
151
161
 
152
162
  const needPassword = computed(() => (!passwordExists.value
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/user-frontend",
3
- "version": "0.9.25",
3
+ "version": "0.9.27",
4
4
  "scripts": {
5
5
  "memDev": "node --inspect --expose-gc server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
6
6
  "localDevInit": "rm tmp.db; node server/start.js localDev --enableSessions --initScript ./init.js",
@@ -22,29 +22,29 @@
22
22
  },
23
23
  "type": "module",
24
24
  "dependencies": {
25
- "@live-change/cli": "^0.9.25",
26
- "@live-change/dao": "^0.9.25",
27
- "@live-change/dao-vue3": "^0.9.25",
28
- "@live-change/dao-websocket": "^0.9.25",
29
- "@live-change/email-service": "^0.9.25",
30
- "@live-change/framework": "^0.9.25",
31
- "@live-change/identicon-service": "^0.9.25",
32
- "@live-change/image-frontend": "^0.9.25",
33
- "@live-change/message-authentication-service": "^0.9.25",
34
- "@live-change/notification-service": "^0.9.25",
35
- "@live-change/password-authentication-service": "^0.9.25",
36
- "@live-change/pattern": "^0.9.25",
37
- "@live-change/secret-code-service": "^0.9.25",
38
- "@live-change/secret-link-service": "^0.9.25",
39
- "@live-change/security-frontend": "^0.9.25",
40
- "@live-change/security-service": "^0.9.25",
41
- "@live-change/session-service": "^0.9.25",
42
- "@live-change/timer-service": "^0.9.25",
43
- "@live-change/upload-service": "^0.9.25",
44
- "@live-change/user-identification-service": "^0.9.25",
45
- "@live-change/user-service": "^0.9.25",
46
- "@live-change/vue3-components": "^0.9.25",
47
- "@live-change/vue3-ssr": "^0.9.25",
25
+ "@live-change/cli": "^0.9.27",
26
+ "@live-change/dao": "^0.9.27",
27
+ "@live-change/dao-vue3": "^0.9.27",
28
+ "@live-change/dao-websocket": "^0.9.27",
29
+ "@live-change/email-service": "^0.9.27",
30
+ "@live-change/framework": "^0.9.27",
31
+ "@live-change/identicon-service": "^0.9.27",
32
+ "@live-change/image-frontend": "^0.9.27",
33
+ "@live-change/message-authentication-service": "^0.9.27",
34
+ "@live-change/notification-service": "^0.9.27",
35
+ "@live-change/password-authentication-service": "^0.9.27",
36
+ "@live-change/pattern": "^0.9.27",
37
+ "@live-change/secret-code-service": "^0.9.27",
38
+ "@live-change/secret-link-service": "^0.9.27",
39
+ "@live-change/security-frontend": "^0.9.27",
40
+ "@live-change/security-service": "^0.9.27",
41
+ "@live-change/session-service": "^0.9.27",
42
+ "@live-change/timer-service": "^0.9.27",
43
+ "@live-change/upload-service": "^0.9.27",
44
+ "@live-change/user-identification-service": "^0.9.27",
45
+ "@live-change/user-service": "^0.9.27",
46
+ "@live-change/vue3-components": "^0.9.27",
47
+ "@live-change/vue3-ssr": "^0.9.27",
48
48
  "@vueuse/core": "^12.3.0",
49
49
  "codeceptjs-assert": "^0.0.5",
50
50
  "codeceptjs-video-helper": "0.1.3",
@@ -65,7 +65,7 @@
65
65
  "wtfnode": "^0.9.1"
66
66
  },
67
67
  "devDependencies": {
68
- "@live-change/codeceptjs-helper": "^0.9.25",
68
+ "@live-change/codeceptjs-helper": "^0.9.27",
69
69
  "codeceptjs": "^3.6.10",
70
70
  "generate-password": "1.7.1",
71
71
  "playwright": "1.49.1",
@@ -76,5 +76,5 @@
76
76
  "author": "Michał Łaszczewski <michal@laszczewski.pl>",
77
77
  "license": "BSD-3-Clause",
78
78
  "description": "",
79
- "gitHead": "04e2869238087adc1a48784048614e1ee738ad1e"
79
+ "gitHead": "110f38f6d6a07310e7bf5ba0eaa15426795624e8"
80
80
  }