@live-change/user-frontend 0.9.116 → 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.
|
@@ -7,19 +7,19 @@ export function routes(config = {}) {
|
|
|
7
7
|
component: () => import("./Connected.vue"), meta: { signedIn: true } }),
|
|
8
8
|
|
|
9
9
|
route({ name: 'user:connect-email', path: prefix + 'connect-email',
|
|
10
|
-
component: () => import("./ConnectEmail.vue") }),
|
|
10
|
+
component: () => import("./ConnectEmail.vue"), meta: { signedIn: true } }),
|
|
11
11
|
route({ name: 'user:connect-phone', path: prefix + 'connect-phone',
|
|
12
|
-
component: () => import("./ConnectPhone.vue") }),
|
|
12
|
+
component: () => import("./ConnectPhone.vue"), meta: { signedIn: true } }),
|
|
13
13
|
|
|
14
14
|
/// redirect user:connect-google to google auth
|
|
15
15
|
route({ name: 'user:connect-google', path: prefix + 'connect-google',
|
|
16
|
-
redirect: { name: 'user:googleAuth', params: { action: 'connectGoogle' } } }),
|
|
16
|
+
redirect: { name: 'user:googleAuth', params: { action: 'connectGoogle' } }, meta: { signedIn: true } }),
|
|
17
17
|
|
|
18
18
|
route({ name: 'user:connect-linkedin', path: prefix + 'connect-linkedin',
|
|
19
|
-
redirect: { name: 'user:linkedinAuth', params: { action: 'connectLinkedin' } } }),
|
|
19
|
+
redirect: { name: 'user:linkedinAuth', params: { action: 'connectLinkedin' } }, meta: { signedIn: true } }),
|
|
20
20
|
|
|
21
21
|
route({ name: 'user:connectFinished', path: prefix + 'connect-finished',
|
|
22
|
-
component: () => import("./ConnectFinished.vue") }),
|
|
22
|
+
component: () => import("./ConnectFinished.vue"), meta: { signedIn: true } }),
|
|
23
23
|
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -53,7 +53,12 @@
|
|
|
53
53
|
import { useRoute } from "vue-router"
|
|
54
54
|
const route = useRoute()
|
|
55
55
|
|
|
56
|
-
const savedRoute =
|
|
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 =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
let finished = false
|
|
80
|
+
|
|
81
|
+
onMounted(() => {
|
|
82
|
+
if(!finished) doRedirect()
|
|
57
83
|
})
|
|
58
84
|
|
|
59
85
|
const path = usePath()
|
package/front/vite.config.js
CHANGED
|
@@ -1,11 +1,47 @@
|
|
|
1
1
|
import { defineConfig } from 'vite'
|
|
2
|
+
import Pages from 'vite-plugin-pages'
|
|
2
3
|
|
|
4
|
+
import { fileURLToPath } from 'url'
|
|
5
|
+
import { dirname, join } from 'path'
|
|
6
|
+
import { accessSync, readFileSync } from 'fs'
|
|
7
|
+
|
|
8
|
+
const packageJsonPath = dirname(fileURLToPath(import.meta.url))
|
|
9
|
+
.split('/').map((part, i, arr) =>
|
|
10
|
+
join(arr.slice(0, arr.length - i).join('/'), 'package.json')
|
|
11
|
+
).find(p => { try { accessSync(p); return true } catch(e) { return false }})
|
|
12
|
+
const packageJson = packageJsonPath ? JSON.parse(readFileSync(packageJsonPath, 'utf-8')) : {}
|
|
13
|
+
const version = process.env.VERSION ?? packageJson.version ?? 'unknown'
|
|
14
|
+
|
|
15
|
+
// @ts-ignore
|
|
3
16
|
import baseViteConfig from '@live-change/frontend-base/vite-config.js'
|
|
4
17
|
|
|
5
18
|
export default defineConfig(async ({ command, mode }) => {
|
|
19
|
+
const baseConfig = (await baseViteConfig({ command, mode, version }))
|
|
6
20
|
return {
|
|
7
|
-
...
|
|
21
|
+
...baseConfig,
|
|
22
|
+
|
|
23
|
+
define: {
|
|
24
|
+
...baseConfig.define,
|
|
25
|
+
},
|
|
8
26
|
|
|
27
|
+
plugins: [
|
|
28
|
+
...baseConfig.plugins,
|
|
29
|
+
Pages({
|
|
30
|
+
dirs: [
|
|
31
|
+
// basic
|
|
32
|
+
{ dir: 'src/pages', baseRoute: '' },
|
|
33
|
+
// blog
|
|
34
|
+
// { dir: 'src/blog', baseRoute: 'blog' },
|
|
35
|
+
],
|
|
36
|
+
extensions: ['vue', 'md'],
|
|
37
|
+
}),
|
|
38
|
+
],
|
|
9
39
|
|
|
40
|
+
resolve: {
|
|
41
|
+
...baseConfig.resolve,
|
|
42
|
+
alias: [
|
|
43
|
+
...baseConfig.resolve.alias,
|
|
44
|
+
]
|
|
45
|
+
}
|
|
10
46
|
}
|
|
11
47
|
})
|
package/package.json
CHANGED
|
@@ -1,50 +1,64 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/user-frontend",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.118",
|
|
4
4
|
"scripts": {
|
|
5
|
-
"memDev": "
|
|
6
|
-
"localDevInit": "
|
|
7
|
-
"localDev": "
|
|
8
|
-
"dev": "
|
|
9
|
-
"ssrDev": "
|
|
10
|
-
"serveAllMem": "cross-env NODE_ENV=production
|
|
11
|
-
"serveAll": "cross-env NODE_ENV=production
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
5
|
+
"memDev": "tsx --inspect --expose-gc server/start.js memDev --enableSessions --initScript ./init.js --dbAccess",
|
|
6
|
+
"localDevInit": "tsx server/start.js localDev --enableSessions --initScript ./init.js --dbAccess",
|
|
7
|
+
"localDev": "tsx server/start.js localDev --enableSessions --dbAccess",
|
|
8
|
+
"dev": "tsx --inspect --expose-gc server/start.js dev --enableSessions",
|
|
9
|
+
"ssrDev": "tsx server/start.js ssrDev --enableSessions",
|
|
10
|
+
"serveAllMem": "cross-env NODE_ENV=production node dist/server/start.js ssrServer --withApi --withServices --updateServices --enableSessions --withDb --dbBackend mem --createDb",
|
|
11
|
+
"serveAll": "cross-env NODE_ENV=production node dist/server/start.js ssrServer --withApi --withServices --updateServices --enableSessions",
|
|
12
|
+
"serveAllLocal": "cross-env NODE_ENV=production node dist/server/start.js ssrServer --withApi --withServices --updateServices --enableSessions --withDb --createDb",
|
|
13
|
+
"serve": "cross-env NODE_ENV=production node dist/server/start.js ssrServer --enableSessions",
|
|
14
|
+
"memDev:spa": "tsx server/start.js memDev --enableSessions --initScript ./init.js --dbAccess --spa",
|
|
15
|
+
"localDevInit:spa": "rm tmp.db; tsx server/start.js localDev --enableSessions --initScript ./init.js --spa",
|
|
16
|
+
"localDev:spa": "tsx server/start.js localDev --enableSessions --spa",
|
|
17
|
+
"dev:spa": "tsx server/start.js dev --enableSessions --spa",
|
|
18
|
+
"ssrDev:spa": "tsx server/start.js ssrDev --enableSessions --spa",
|
|
19
|
+
"serveAllMem:spa": "cross-env NODE_ENV=production node dist/server/start.js server --withApi --withServices --updateServices --enableSessions --withDb --dbBackend mem --createDb --spa",
|
|
20
|
+
"serveAll:spa": "cross-env NODE_ENV=production node dist/server/start.js server --withApi --withServices --updateServices --enableSessions --spa",
|
|
21
|
+
"serve:spa": "cross-env NODE_ENV=production node dist/server/start.js server --enableSessions --spa",
|
|
22
|
+
"apiServer": "node dist/server/start.js apiServer --enableSessions",
|
|
23
|
+
"devApiServer": "tsx server/start.js devApiServer --enableSessions",
|
|
24
|
+
"memApiServer": "tsx server/start.js memApiServer --enableSessions",
|
|
25
|
+
"localApiServer": "tsx server/start.js localApiServer --enableSessions",
|
|
26
|
+
"localApiServerInit": "tsx server/start.js localApiServer --enableSessions --initScript ./init.js",
|
|
27
|
+
"build": "yarn build:client && yarn build:ssr && yarn build:server",
|
|
28
|
+
"build:client": "cd front; dotenvx run -f ../.env -- vite build --ssrManifest --outDir dist/client",
|
|
29
|
+
"build:ssr": "cd front; dotenvx run -f ../.env -- vite build --ssr src/entry-server.js --outDir dist/server",
|
|
30
|
+
"build:server": "tsc --allowJs && copyfiles node_modules/@live-change/*-service/package.json dist && copyfiles node_modules/@live-change/framework/package.json dist && copyfiles node_modules/@live-change/cli/package.json dist && copyfiles node_modules/@live-change/relations-plugin/package.json dist && copyfiles node_modules/@live-change/server/package.json dist",
|
|
31
|
+
"build:spa": "cd front; dotenvx run -f ../.env -- vite build --outDir dist/spa",
|
|
32
|
+
"generate": "vite build --ssrManifest --outDir dist/static && yarn build:server && tsx prerender",
|
|
33
|
+
"debug": "tsx --inspect-brk server",
|
|
34
|
+
"describe": "tsx server/start.js describe",
|
|
35
|
+
"changes": "tsx server/start.js changes"
|
|
22
36
|
},
|
|
23
37
|
"type": "module",
|
|
24
38
|
"dependencies": {
|
|
25
|
-
"@live-change/cli": "^0.9.
|
|
26
|
-
"@live-change/dao": "^0.9.
|
|
27
|
-
"@live-change/dao-vue3": "^0.9.
|
|
28
|
-
"@live-change/dao-websocket": "^0.9.
|
|
29
|
-
"@live-change/email-service": "^0.9.
|
|
30
|
-
"@live-change/framework": "^0.9.
|
|
31
|
-
"@live-change/identicon-service": "^0.9.
|
|
32
|
-
"@live-change/image-frontend": "^0.9.
|
|
33
|
-
"@live-change/message-authentication-service": "^0.9.
|
|
34
|
-
"@live-change/notification-service": "^0.9.
|
|
35
|
-
"@live-change/password-authentication-service": "^0.9.
|
|
36
|
-
"@live-change/pattern": "^0.9.
|
|
37
|
-
"@live-change/secret-code-service": "^0.9.
|
|
38
|
-
"@live-change/secret-link-service": "^0.9.
|
|
39
|
-
"@live-change/security-frontend": "^0.9.
|
|
40
|
-
"@live-change/security-service": "^0.9.
|
|
41
|
-
"@live-change/session-service": "^0.9.
|
|
42
|
-
"@live-change/timer-service": "^0.9.
|
|
43
|
-
"@live-change/upload-service": "^0.9.
|
|
44
|
-
"@live-change/user-identification-service": "^0.9.
|
|
45
|
-
"@live-change/user-service": "^0.9.
|
|
46
|
-
"@live-change/vue3-components": "^0.9.
|
|
47
|
-
"@live-change/vue3-ssr": "^0.9.
|
|
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",
|
|
48
62
|
"@vueuse/core": "^12.3.0",
|
|
49
63
|
"codeceptjs-assert": "^0.0.5",
|
|
50
64
|
"codeceptjs-video-helper": "0.1.3",
|
|
@@ -65,7 +79,7 @@
|
|
|
65
79
|
"wtfnode": "^0.9.1"
|
|
66
80
|
},
|
|
67
81
|
"devDependencies": {
|
|
68
|
-
"@live-change/codeceptjs-helper": "^0.9.
|
|
82
|
+
"@live-change/codeceptjs-helper": "^0.9.118",
|
|
69
83
|
"codeceptjs": "^3.6.10",
|
|
70
84
|
"generate-password": "1.7.1",
|
|
71
85
|
"playwright": "1.49.1",
|
|
@@ -76,5 +90,5 @@
|
|
|
76
90
|
"author": "Michał Łaszczewski <michal@laszczewski.pl>",
|
|
77
91
|
"license": "BSD-3-Clause",
|
|
78
92
|
"description": "",
|
|
79
|
-
"gitHead": "
|
|
93
|
+
"gitHead": "bacf9b3b71c1bc883d650f3fa4baba0257099629"
|
|
80
94
|
}
|