@live-change/user-frontend 0.9.117 → 0.9.118

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.
@@ -53,7 +53,12 @@
53
53
  import { useRoute } from "vue-router"
54
54
  const route = useRoute()
55
55
 
56
- const savedRoute = route.fullPath
56
+ const savedRoute = {
57
+ name: route.name,
58
+ params: route.params,
59
+ query: route.query,
60
+ hash: route.hash
61
+ }
57
62
 
58
63
  const props = defineProps({
59
64
  scopes: {
@@ -40,20 +40,46 @@
40
40
  import { useRouter } from 'vue-router'
41
41
  const router = useRouter()
42
42
 
43
- import { usePath, live } from "@live-change/vue3-ssr"
43
+ import { usePath, live, useApi } from "@live-change/vue3-ssr"
44
+ const api = useApi()
45
+
46
+ const userClientConfig = api.getServiceDefinition('user')?.clientConfig
44
47
 
45
48
  import pluralize from 'pluralize'
46
49
 
47
- const afterGoogleAccessGained = computed( () => isMounted.value && localStorage.afterGoogleAccessGained )
48
- let redirectTime
49
- onMounted(() => {
50
- redirectTime = new Date(Date.now() + 10 * 1000)
51
- setTimeout(() => {
52
- if (afterGoogleAccessGained.value) {
53
- localStorage.removeItem('afterGoogleAccessGained')
54
- router.push(JSON.parse(afterGoogleAccessGained.value))
50
+ const afterGoogleAccessGained = ref()
51
+ const redirectTime = ref()
52
+ let redirectTimeout
53
+ function doRedirect() {
54
+ if(localStorage.afterGoogleAccessGained) {
55
+ const route = JSON.parse(localStorage.afterGoogleAccessGained)
56
+ localStorage.removeItem('afterGoogleAccessGained')
57
+ const delay = route?.meta?.afterGoogleAccessGainedRedirectDelay
58
+ ?? userClientConfig?.afterGoogleAccessGainedRedirectDelay
59
+ ?? 10
60
+ delete route.meta
61
+ afterGoogleAccessGained.value = route
62
+ if(delay) {
63
+ redirectTime.value = new Date(Date.now() + delay * 1000).getTime()
64
+ redirectTimeout = setTimeout(() => {
65
+ if(!finished) router.push(route)
66
+ }, redirectTime.value - currentTime.value)
67
+ } else {
68
+ setTimeout(() => { // it could be next tick
69
+ toast.add({
70
+ severity: 'info', life: 6000,
71
+ summary: 'Signed in',
72
+ detail: 'Congratulations! You have successfully logged in to your account.'
73
+ })
74
+ router.push(route)
75
+ }, 100)
55
76
  }
56
- }, redirectTime - Date.now())
77
+ }
78
+ }
79
+ let finished = false
80
+
81
+ onMounted(() => {
82
+ if(!finished) doRedirect()
57
83
  })
58
84
 
59
85
  const path = usePath()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/user-frontend",
3
- "version": "0.9.117",
3
+ "version": "0.9.118",
4
4
  "scripts": {
5
5
  "memDev": "tsx --inspect --expose-gc server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
6
6
  "localDevInit": "tsx server/start.js localDev --enableSessions --initScript ./init.js --dbAccess",
@@ -36,29 +36,29 @@
36
36
  },
37
37
  "type": "module",
38
38
  "dependencies": {
39
- "@live-change/cli": "^0.9.117",
40
- "@live-change/dao": "^0.9.117",
41
- "@live-change/dao-vue3": "^0.9.117",
42
- "@live-change/dao-websocket": "^0.9.117",
43
- "@live-change/email-service": "^0.9.117",
44
- "@live-change/framework": "^0.9.117",
45
- "@live-change/identicon-service": "^0.9.117",
46
- "@live-change/image-frontend": "^0.9.117",
47
- "@live-change/message-authentication-service": "^0.9.117",
48
- "@live-change/notification-service": "^0.9.117",
49
- "@live-change/password-authentication-service": "^0.9.117",
50
- "@live-change/pattern": "^0.9.117",
51
- "@live-change/secret-code-service": "^0.9.117",
52
- "@live-change/secret-link-service": "^0.9.117",
53
- "@live-change/security-frontend": "^0.9.117",
54
- "@live-change/security-service": "^0.9.117",
55
- "@live-change/session-service": "^0.9.117",
56
- "@live-change/timer-service": "^0.9.117",
57
- "@live-change/upload-service": "^0.9.117",
58
- "@live-change/user-identification-service": "^0.9.117",
59
- "@live-change/user-service": "^0.9.117",
60
- "@live-change/vue3-components": "^0.9.117",
61
- "@live-change/vue3-ssr": "^0.9.117",
39
+ "@live-change/cli": "^0.9.118",
40
+ "@live-change/dao": "^0.9.118",
41
+ "@live-change/dao-vue3": "^0.9.118",
42
+ "@live-change/dao-websocket": "^0.9.118",
43
+ "@live-change/email-service": "^0.9.118",
44
+ "@live-change/framework": "^0.9.118",
45
+ "@live-change/identicon-service": "^0.9.118",
46
+ "@live-change/image-frontend": "^0.9.118",
47
+ "@live-change/message-authentication-service": "^0.9.118",
48
+ "@live-change/notification-service": "^0.9.118",
49
+ "@live-change/password-authentication-service": "^0.9.118",
50
+ "@live-change/pattern": "^0.9.118",
51
+ "@live-change/secret-code-service": "^0.9.118",
52
+ "@live-change/secret-link-service": "^0.9.118",
53
+ "@live-change/security-frontend": "^0.9.118",
54
+ "@live-change/security-service": "^0.9.118",
55
+ "@live-change/session-service": "^0.9.118",
56
+ "@live-change/timer-service": "^0.9.118",
57
+ "@live-change/upload-service": "^0.9.118",
58
+ "@live-change/user-identification-service": "^0.9.118",
59
+ "@live-change/user-service": "^0.9.118",
60
+ "@live-change/vue3-components": "^0.9.118",
61
+ "@live-change/vue3-ssr": "^0.9.118",
62
62
  "@vueuse/core": "^12.3.0",
63
63
  "codeceptjs-assert": "^0.0.5",
64
64
  "codeceptjs-video-helper": "0.1.3",
@@ -79,7 +79,7 @@
79
79
  "wtfnode": "^0.9.1"
80
80
  },
81
81
  "devDependencies": {
82
- "@live-change/codeceptjs-helper": "^0.9.117",
82
+ "@live-change/codeceptjs-helper": "^0.9.118",
83
83
  "codeceptjs": "^3.6.10",
84
84
  "generate-password": "1.7.1",
85
85
  "playwright": "1.49.1",
@@ -90,5 +90,5 @@
90
90
  "author": "Michał Łaszczewski <michal@laszczewski.pl>",
91
91
  "license": "BSD-3-Clause",
92
92
  "description": "",
93
- "gitHead": "c6cd3d2e3c7312f95d0cca0609b7c0f8fff48ead"
93
+ "gitHead": "bacf9b3b71c1bc883d650f3fa4baba0257099629"
94
94
  }