summaryrefslogtreecommitdiff
path: root/packages/client/src/scripts/please-login.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/client/src/scripts/please-login.ts')
-rw-r--r--packages/client/src/scripts/please-login.ts19
1 files changed, 13 insertions, 6 deletions
diff --git a/packages/client/src/scripts/please-login.ts b/packages/client/src/scripts/please-login.ts
index aeaafa124b..e21a6d2ed3 100644
--- a/packages/client/src/scripts/please-login.ts
+++ b/packages/client/src/scripts/please-login.ts
@@ -1,14 +1,21 @@
+import { defineAsyncComponent } from 'vue';
import { $i } from '@/account';
import { i18n } from '@/i18n';
-import { alert } from '@/os';
+import { popup } from '@/os';
-export function pleaseLogin() {
+export function pleaseLogin(path?: string) {
if ($i) return;
- alert({
- title: i18n.ts.signinRequired,
- text: null
- });
+ popup(defineAsyncComponent(() => import('@/components/signin-dialog.vue')), {
+ autoSet: true,
+ message: i18n.ts.signinRequired
+ }, {
+ cancelled: () => {
+ if (path) {
+ window.location.href = path;
+ }
+ },
+ }, 'closed');
throw new Error('signin required');
}